It doesn't matter who he is, only that he needs help.

by jesse in


It doesn't matter what "community" he is part of, nor who he is. He's a hacker, a father of two beautiful girls and a husband. He's being robbed of his life, and his daughters robbed of their father.

What matters is we can help. All of us - some of us (me) have been lucky enough to get help and support when we needed it most from people we didn't expect it from. To this day, I can't think about that without tears coming to my eyes. I can not imagine his pain - and I can not put myself in his shoes - it is place I dare not go.

We can help him; we can help his family. Even if only a little, and even though we know what the future will hold.

Read what he has written; help him if you can and are able.

Even if you can not help him financially; help him with words: Sometimes words are all we can pass on, but they're powerful and they mean more than you could possibly imagine. When you're in a dark and hopeless place, kind words and wishes of hope can mean the difference between retaining hope and sanity and giving up.


A letter to my love, my friend, my wife.

by jesse in


IMG 0239

A letter to my love, my friend, my wife and my partner - Dusty:

I know it's the day before Valentines - some things can't wait just for a day.

Ten years - that's how long we've been with one another. Ten years feels like a lifetime - so much has changed - our lives altered in subtle - and not so subtle ways by the gentle currents of each other. In the time I've known you, we have both changed for the better - we compliment and act as one another's confidant, friend, partner and lovers.

"The most powerful symptom of love is a tenderness which becomes at times almost insupportable." - Victor Hugo

 

Wedding 451 copy

We've been through our times of trial - little things like accidentally renting an apartment in a war zone (my bad!) - and much bigger things from health, to finances, to not know what we were doing or where we were going. We both know that this past year has been probably the one most filled with trials and tribulations.

We've sat across from one another not knowing what we were going to do, we've held each others hands watching our infant daughter laying in a hospital bed - I've held your hand at your bedside in watching your pain and not knowing what to do about it, except to sit there and watch your pain. We've been through a lot in ten years.

Despite the trials - we have made each other stronger. You have changed who I am in such fundamental and subtle ways, that I attribute much of who I am now, to you. You have made me happier, stronger, more empathetic - you have also given me the cherished gift of your love, your tears and support in my times of pain.

You have given me more than just your love; you gave me our first daughter Abby - who might as well be a tiny clone of myself in female form (god help us all), who despite her willfulness and strong personality makes my heart jump each time I hear her laugh, each time she runs to me and hugs me and tell me she loves me.

IMG 3690

Abby is almost five! Five years old! All parents gush about how smart their children are - but we both know there's something special and unique about her. There's more to her than a pushy 4.5 year old, there's something magical about her that we both see. I can not verbalize or put to words my thanks to you for her. She's a gift you've given to me.

Then there is Addison, our bubbling eight month old. What can I say about someone who greats me with a smile and a laugh whether it's five in the morning, or me just coming home from a hard day at work?

Addison is more than a gift; she's a blessing - the past year shows that even in our darkest hours, sitting there in a hospital not knowing what will happen, something watches over us. Addison's happiness and flourishing is not just due to doctors, or therapists - it's directly tied to the amazing love and care you provide to her.

Every time I look at Addison, I see an extension of you - your smile, your happiness (and when she giggles when she rams me with her walker, your sense of humor). Addison is again, a gift and blessing you've given me.

IMG 4457

You've given me so much; you've changed me so much. You've made me look outside of myself and think of others - you, our daughters, you've driven me to try to change the world and help as many people as I can. You've driven me to be better - a better man, a better husband, father and human.

Times change - people change. We have our hard times - we have those times when we both want to go lock ourselves in the bathroom just to get a moment of quiet. We have times when we just don't know what will come, and times when we wish what had came had not. We have persevered over the hard times we've faced until now, and those hard times we face now, we face together, as one.

You are beautiful - you always have been, you are strong - you are honest and critical. I might say half-jokingly that you're my better half some times - but you really and truly are (You are also better looking than me!).

Wedding 144

You, and the gifts have given me - our daughters, have given me more than a reason to just keep working, just to keep moving from day to day. You've given me a reason to truly live, to truly push myself beyond anything I could have imagined eleven years ago. You've given me a place and arms to cry in, to laugh in, and to grow in. You've given me a view of life, of living, of loving I never dreamed of having.

I know that once again we face hard times. I thought that perhaps this year might be a little easier on us - but so far, we both know it isn't, and there are probably harder times coming for us. I am sorry that I can not always give to you all the things you so richly deserve - I'd give you anything, I'd buy you anything if I could. I am sorry I don't have anything I can give you today other than my words - darn those hard times!

My gift to you is this - my expression of how much I truly value you, cherish you and how grateful I am - in spite of all the hard times - the good times, the memories, our daughters and most importantly our love. I am but a broken man, but with you I am whole.

Thank you for being who you are.

Thank you for being with me.

Thank you for loving me.

Thank you for letting me love you in return.

Jesse

p.s. Churchill loves you too:

IMG 4461


2011 In Review: The Python Portion

by jesse in , , ,


As I said in my post this morning - "2011 in Review: The Personal Portion" - it's that time where we're all taking stock and reflecting back on 2011.

In this post's case, I'm taking stock of the things that changed for me - things that stick out in my mind and projects I've either started, floundered or run completely into ground.

Design and Experience Matter

Perhaps the biggest shift for me in Python-as-a-whole is a movement more towards the social / management aspects. I'm a Python Software Foundation board member, so obviously me needing to take a "bigger view" isn't that surprising. What has been surprising to me is that everywhere I turn, I see things we as a whole can do better.

Now, before you think I'm about to go off the deep end; let me assure you - I wouldn't trade the community I'm lucky to be part of for anything, as I've said more eloquently before. However, only a fool believes that anything is perfect, and only the insane only focus on the flaws.

Taking a step back, I've seen more and more things that I think we can do a better job at, and these realizations all revolve around my continued "transition" from more back-end to more front-end design and coding. As I've become more focused on the users/community and those who are new, I've grown to internalize the fact that design and experience matter not only in code, and in a GUI, but they matter to a community and language as a whole.

I've spent the better part of this past year focused on issues around this - encouraging people to get involved in the "softer" side of things - helping out with documentation, mentorship and education, trying to get people to think more about one another and those just getting started and introduced to things.

I think that we as a community - and I mean everyone - from Django to Plone, from Twisted to Tornado, from PyPy to cPython can take a look at the "more human" aspects and find things to improve. Sometimes it requires fresh eyes to show you what's broken - people who do code reviews regularly know this.

For an example, look at Kenneth Reitz' Requests module - billed as "HTTP for Humans" - this might be a perfect example of the point I'm trying to get across. Built on top of "less friendly" libraries, it's API is a joy to use. It's simple, it's clear - the documentation is well done and the entire project feels very welcoming. Perhaps "Welcoming" is the best word for what I'm looking for.

I get stuck in wanting to fix "all the things" - and I can't help but get mired down in the details of how we make everything more welcoming and the experience better, how do we lower the barrier and reduce friction. The result is that I've broken my promises to myself and taken on more things than I can possibly hope to do justice.

How do we make things more welcoming, how do we help the new people, how do we help those of us growing stuck in our ways to find and explore new things? How can we do this as a community to lift us all up? What I think we need is a series of small, positive changes. Little things like, say:

  • User friendly READMEs and Documentation. Yes - I said friendly - don't assume your users are magical super smart engineers and users. While the article is more web focused, I enjoyed "The Myth of the Sophisticated User" - please don't assume people are running bleeding edge version of everything, and please don't assume everyone knows 20 years of Python package development.
  • Mentorship! Set up something within your project or team that is focused on mentoring people to a point where that person is comfortable to be a contributor.
  • Stop the vitriol. If you find yourself angry when you're typing that reply to a mailing list; walk away. If you see others being hostile or just flat out rude, call them out on it (privately first, no reason to be a jerk). Aim to be polite and welcoming.
  • The next time you're putting something up on the web? Take a moment to think about or learn about making something - yes - pretty and usable. Even if it's something simple, take a moment to realize that you're building something that may be your future user's first experience with you. It may be as simple as picking up "Design for Hackers" (which I quite liked) or just going with something with sane defaults - like twitter bootstrap.
  • Speaking of sane defaults - please be opinionated. When a new user wants to install something, don't give them the complete history of packaging, just gently explain to them how to do it. Even if I don't agree with the way you do that, it's a far cry from 20 years of development history being dumped on someone when a simple pip install <blah> could work. The same goes for your software: Pick sane, rational defaults and abstract away as much as you can. Put examples of usage before the API in documentation.
  • APIs and syntax matter: your communications channels to your users are APIs and syntax just as much as your actual code and libraries.

Moving on - I hate to say it this way; but think of the Users and target audience. Remember, you - the person reading this - and I - are in a tiny minority of the population where software (for the most part) isn't magic, we understand history and we're very tolerant of unfriendly things and failures because that's how we "grew up".

Not everyone knows how to build an interpreter; or a web framework - it doesn't mean they still can't contribute.

The Python Software Foundation

As most of you know - I am one of the directors of the Python Software Foundation, and have been the past two years. 2011 was another year where the PSF got to do some pretty cool things. I've been stressing and pushing more and more that the PSF has to be focused not just on the "IP" of Python, or just on cPython development - we have to take a larger view of the entire community - this means encouraging projects such as PyPy, outreach workshops, conferences, etc via grants and support.

You should really take a look at the Python Software Foundation's blog - Doug Hellmann, Brian Curtin and others have done their best to document and showcase what the PSF has been up to, and where we're trying to help.

My primary focus has been encouraging things such as the Outreach and Education committee, and working behind the scenes with a lot of people to improve the Python.org infrastructure. More recently I've been working on a project which should hopefully become public soon - but is tied to my first point about Design and Experience and the PSF.

I want the PSF to grow in the good works it performs - more grants as we can afford it, getting better hosting for things as needed, helping out projects like Read The Docs or helping push forward Python 3. The PSF is the Python Software Foundation - we need and should be supporting and helping everything from PyPy to PyPI, cPython to Scipy.

I think the best way for me to help here is to pick up where I left off documenting the PSF. Once again - the design and interface matter.

The Sprints Committee

As part of my board work back in 2010 I helped start the Python Sprints project - and under Brian Curtin's guidance in 2011, it has continued to make small donations in places it matters. In 2012, I'd like to see if I can spin back around and help it grow more and flourish, perhaps even be able to provide more money where it's needed. It's growth has been slow - but that's also due to us seeing less sprints overall it seems.

GetPython3.com

Started as a side project (yes. another one. sigh.) Get Python 3 is meant to serve as a pile of information and resources about Python 3 - and as many of the aspects of Python 3 as possible. Where to get funding, how to port, what is ported. I've actually gotten some excellent help from others (see github) and I'm hoping to grow it more. I've gotten pretty good feedback on it - and I never turn down a patch!

Python (Core) Mentorship

Driven from my experience with the first point about being welcoming, I've done my best to spin up the Python Core Mentorship group, a team / list focused on mentoring new people into contributing to core Python. To quote the home page:

The mission of the Python Core Mentor Program is to provide an open and welcoming place to connect students, programmers – and anyone interested in contributing to the Python Core development. This project is based on the idea that the best way to welcome new people into any project is a venue which connects them to a variety of mentors who can assist in guiding them through the contribution process, including discussions on lists such as python-dev, and python-ideas, the bug tracker, mercurial questions, code reviews, etc.

While traffic is low, I think it has done it's job - as with everything else on my list, I'd like to see growth - as it is, due to everything else on my plate, others have stepped up to help lead and guide the group. As it is, I've run into a case where as I've found with many other projects like this - people are already "tapped out" - myself included. More on resource contention later - and I should really do a poll and gauge the list for the relative level of success they feel the group has engendered.

Python Speed Project

Another side-burner project is the Speed.python.org project - this one makes me sad(der) than my other time-starved projects. While we have finally been able to set it up as a PyPy build slave and have it feeding results to speed.pypy.org (see the speed-python results), it has not taken off as much as I hoped. We have a beast of a machine (see my initial announcement) - but we've hit the resource wall like everything else. Not enough people with enough time and the right skills.

The Elephant in the room: PyCon 2012

My single biggest project this year has been getting PyCon 2012 ready to fly - everything from getting the new website launched, the staff assembled, writing a code of conduct, and providing white-glove service and support (and getting) our amazing list of sponsors.

I can't really estimate how many hours I've "worked" on Python - but I can tell you every hour has been worth it. Even though it's sucked my time from other things and projects, it looks like it's going to be an amazing conference. We have robots, we have amazing talks, amazing keynote and plenary speakers (Paul Graham and Stormy Peters for starters). We have awesome tutorials and even more to come.

PyCon represents the single biggest "community act" that the Python Software Foundation performs - not only does the PSF fund PyCon, but it manages it, assumes the risk, etc. I wrote about it in detail in my post "Making the Case for Sponsorship" and in the "Everybody Pays" post. I'm hoping to continue to write up more and more of the details of the inner workings of PyCon, as I think it's an important series of data points and lessons. Remember - any funds "left" from PyCon go the PSF which allow the foundation to issue grants to other conferences, to developers, groups and workshops. It helps us help you.

PyCon 2012 is the thing I am most proud of; we have 80 sponsors and partners (Such as OpenHatch and PyLadies), we have a solid team of organizers working together to bring PyCon 2012 to fruition. We have a robust financial aid program as is tradition. I can only hope that I have the tenacity and will to see it come together and be able to look at a sea of 1500 Pythonistas - new and old in Santa Clara.

ps: You can register here. :)

Blood from a Stone

How do you get more time from people who are busy? Time and Time again, I've found myself asking that question. Each one of the projects I've listed has hit the same issue over and over again. How do you get the volunteers necessary to help? Heck, even my call for help with multiprocessing in August fell on a mostly flat note - probably due to me.

I no longer feel "ok" asking for help with new projects simply due to the fact that I know everyone is busy - it's insane of me to ask people to take their time away from their projects or families or jobs.

What that means however is that I have completely failed in the not-taking-on-new-things department - and I don't see this changing much without me flat out learning to tell myself "no". I believe in this community - I believe in the people, the friends I have, the language and everything involved. It's not just another tool for me; it never has been. I'm still learning, and mostly failing (or flailing, depends on where I'm standing).

Finishing this one off

Looking at the list I've typed out above, I suddenly have the feeling that I didn't actually do much last year, I know thats wrong (a nasty look from my family members would easily remind me of that). I have been able to help out where I can making things more friendly, more welcoming and to reach out when and where I can to offer help, and support.

I've watched the community change in some dramatic ways, I've looked on as PyPy has gained amazing momentum, more and more vendors and companies have come out with Python support and stating that they're using Python (and are hiring). I've gotten to work with PSF members, the board, and many, many others - all I can do is keep at it, and hope I do things justice.


2011 in review: The Personal Portion

by jesse in ,


Yup; it's that time - everyone and their brother is doing a post looking back at 2011 and taking stock of the good, the bad and the ugly. I'm no different - 2011 was a year that largely represented a massive shift in my life's tectonic plates.

I've decided to break this reflection into two related parts - the more personal stuff (this one) and the big-P Python stuff - both have seen shifts and changes worth noting, and both are inextricably tied for me. I've intentionally skipped all of the Python** stuff (including PyCon) that I've been working on - that's going to come next.

Personal Changes

In late 2010 I was playing paintball - something which everyone should try at least once - it truly is a blast. However, at the time I was grossly overweight (280/285 lbs heading to 300) and running around outdoors with 20+ lbs of equipment. It was a normal Sunday game when I pivoted in the perfectly wrong way - my foot had gotten stuck in some tree roots and when I pivoted, my right knee dislocated and I collapsed face-first into a pile of tree branches.

I did not realize that my knee has dislocated, just that my leg wasn't working. I slapped my knee, hard, bent it and got up and kept playing. The adrenaline kept me going for several more hours while I continued to play on a knee of questionable veracity. When I got to my car a few hours later, all I knew is that my knee felt funny, and my cargo pants where tight where my knee was.

When I got home and changed, the truth came out. My knee had swollen to the size of a cantaloupe and turned several ugly colors. I figured I has injured it, and largely ignored it. Then the pain set in the next day.

Fast forward through many doctor appointments, MRIs, and two more dislocations - once getting my daughter out of the bathtub which required my wife to come in and put my knee back into place because I was busy crying on the floor, and the second just getting out of bed. My knee, from that initial dislocation had become very weak. The doctor told me flat out that I needed physical therapy and rehab, otherwise surgery was going to be required.

He told me I needed to change things. Looking at myself in the mirror, I realized that something had to be done - I was stressed, overweight and my path was out of whack. I couldn't deal with surgery with three year old and a now pregnant wife. I got a cortisone shot and went up the street to the local Bikram Yoga studio - I had never done yoga before - I walked in, slapped down some money and went into a 120 degree studio.

This is a photo of my from June 2010:

Geliu

 

I became a Bikram convert over night - the owner of the local studio Bob is an amazing man, friendly, kind - all of the instructors helped me through learning and growing and pushing through the pain, the heat and everything that comes with a grossly overweight ex-smoker who was drinking 2+ pots of coffee a day jumping in head first. I quickly ramped to doing classes 3 times a week.

Additionally, I completely altered my diet - I've long dabbled in low-carb/no-carb/ketogenic, but this time I jumped in no-holds barred. No sugar, I cut my coffee intake to one cup a day, no carbs/gluten, period. 2011 came quickly, and I kept it up. Yoga, diet - lather, rinse and repeat. I shed enough weight that people at PyCon 2011 didn't recognize me. Good. Not good enough. Throughout 2011 I kept this up - dropping from an easy 280 lbs to 165 at my lowest. Later in the year I added weight lifting with coworkers at lunch - even later I started the couch to 5k program to start running (even doing it the "barefoot" way).

Now, as the year turns, I weigh a healthy 175 lbs - I've put on muscle mass, kept my flexibility, kept on my diet which has shifted into a more Paleo form than what it had been (mainly adding fruit back in, but still skipping carbs/gluten/sugar - I still mostly only eat meat and vegetables). I can now run for 30 minutes without feeling like death and hit 4.2 miles. My knee still bothers me sometimes, but I've dodged surgery. I can now look at my daughters and wife and hope that I'll be around a lot longer than I would have been had I not done these things. I feel more alive than ever before.

Me, December 2011:

2011

 

During 2011, I also switched to an all standing desk setup (yup, despite the knee):

I'm happy to say that this continues - thanks to an excellent gift from my wife, I even have a nice standing setup at home now. It's been over 7 months since I last sat down at work to work. Sure, I sit at lunch, and in the car - I'm not that weird, but I continue to reap the benefits I outlined in those posts.

I also started working on my mental health, and focus. Trying to learn how to meditate, working on minimizing distractions and building small improvements to my workflow. Focusing on being open to change and criticism. Focusing on things I had ignored for a long time.

You can't go and just fix your physical self - you have to take care of the mental aspects as well. I've had to learn this over and over the hard way, and it is still a daily fight between what I was, and what I want to me. I have to focus on small changes and improvements constantly - otherwise it's deadly simple to fall back on old ways.

I did a post some time ago - "On Family, Cranking and Changing" - I still read this once in awhile to remind myself where I need to go and what I need to accomplish. I can't lose sight.

Now for the hard part.

Children

2011 also brought my family to the brink - and I mean that in the literal sense. There was a time where my wife and I would look at each other hopelessly, wondering what we would do and how we would pull through. In June, we had our second daughter Addison Joy. The pregnancy was really rough and my coworkers and boss supported me through the needed "disappearing". My wife spent a lot of time in the hospital, and there were many times where we were worried that things wouldn't work out.

Luckily, my wife - and Addison, pulled through. I don't know how they did it, and I suspect we've burnt a lifetime of karma and luck in just a few months, but they both came through. Addison was born, and I once again new the joys and pains of having a new born daughter. Throughout all of this, our oldest daughter Abigail trooped on through - it was a lot to ask for a 3/4 year old, but she continually amazed me. To look at her face and see how much she worships and loves her mother - to see how she loves Addison - that's to know something you'll never see anywhere else.

Not everything was well - and we didn't know it yet, but the worst storm was yet to come.

To quote my post - "Thank you - the impossibility of "It's going to be OK"":

But, so, AJ was born - and at first, everything seemed to be fine. 10 fingers, 10 toes and pooping - that's sort of what you hope for in a newborn. We took her home, she saw her pediatrician, and that was that.

Well, no. Around the time Addison was three weeks old (shortly before my first child's birthday) my wife Dusty started noticing that Addison was behaving erratically/oddly - and if you have any experience with infants, you'd know how hard it is to actually determine "odd" behavior. Almost everything they do is odd, down to timing exactly the worst moment when to spit up on you (point of fact - it is after you've showered, and are walking out the door).

In this case, the odd behavior my wife noticed was actually a pattern - and that's when you need to worry. You want consistency in certain areas, you want to see continual improvement, you want them to consistently eat, poop and sleep. However, a pattern of odd movements tipped my wife (who is a fantastic analyst) off that something was not quite right.

What my wife found was that Addison for periods of time anywhere from 1-2 minutes her eyes would slit and roll back and she would freeze up. The best way to describe it is it was almost as if she would just "check out" - as if someone hit a power switch.

It's still hard for me to read that post - it's difficult for me to communicate the emotions - the fear, the outright terror of not knowing what was wrong with our baby girl. More hospitals, more doctors. My new born daughter with a helmet of leads and electrodes coming off of her head. Sleeping in cots in hospital rooms. My wife eloquently wrote a series of posts:

Something I say in that thank you post is something that will stick in my mind forever. When my friends and people I barely knew in the Python community heard and saw what we were going through as a family, the support we got was flooring. It still makes me tear up thinking of all the cards, well wishes and other things - a little toy for Abigail, Doug Napoleone coming over to help me out with something, everything that the Python community did for our family. It is, and was amazing. I can never thank all of you enough for what you did for us, and how you helped us pull through.

The number of emails I got from other parents in the community who suffered through things like this, the well wishes - I, I can't even go into everything that happened. Words can not express it. All I can say is that many times, my wife and I found ourselves in tears, crying with one another because of some act or gift or email from someone in the community.

In October, I did a quick Google+ post, providing an update on how things had panned out - quoting that post:

Addison's diagnosis - if you want to call it that - is Cerebral Palsy - Hypertonia (http://en.wikipedia.org/wiki/Hypertonia). This means that she does have a disorder, but it's not one treated with drugs - just physical therapy and frequent checkups. We have a nurse and a physical therapist who come weekly and check on her thanks to early intervention. She's developing well - she's eating baby food, smiling and generally being a normal baby. All we have to do is keep up with the therapy and in theory her brain will "auto correct" as time goes on. She's 17lbs and counting at just about 5 months and just giving hints of crawling.

In addition to the hypertonia, she was diagnosed with non epileptic seizures - again, not something we can do much about other than to love her, keep up with checkups and wait.

So that's where we are - we have a happy, cooing, laughing, happy baby and just have to keep a close eye on her and work through things that come up. It's too early to tell if her problems will have long term consequences. The doctors all hope that she's "error correct" around these things and she'll be OK. But we won't know until we see her development at 6 months, 9 months and 1 year - we still have that "threat" that something could happen - her brain could stop developing, or conditions could get worse.

But its hard to think about that - because I don't see the problems - every day, I pick up and hold and play with a beautiful, cheerful baby who wants nothing more than to chew on my fingers (she's teething) and laugh. I don't think about the future much, because it's unknowable, and we'll cross that bridge when it comes. Sometimes it pops into my head - that worry, that doubt, and I push it to the side and think of what we've already gone through.

It's now December - almost January. Addison has continued to thrive - the fear and the worry aren't forgotten - we have regular visits from a physical therapist and nurse to continually check on her. She still has some issues we continue to work through, and we've got a series of appointments with neurology specialists, but its hard to think that anything is "wrong" with her at all.

She's almost 20lbs (huge baby!) - she's babbling, she's gotten her first tooth (on christmas eve to boot) - she loves her walker and worships her sister. She laughs more than any baby I've ever seen, and that laugh is angelic. I don't know what the future holds, and I don't know how long our luck will hold out, but what I do know is that I have two beautiful daughters who have changed my life forever.

I have found friends where I did not expect, compatriots and support. I have found that my coworkers, community and friends are more amazing than I could have ever expected. And Addison thanks you:

IMG 3672

 

Finally, Work

I love my job, what more is there to say? 2011 was a break out year for me personally - and a break out year for Nasuni - we've built something amazing, something that companies want. With any luck, we have begun to change how businesses will store their data and what they come to expect from an enterprise class product. I get to do what I love, with people that are awesome.

Of course, 2011 found me growing more into doing things I never really expected to be doing - I've continued a shift from the back end/glue and more into the front-end, spending most of my time working on user interfaces, beating my head against internet explorer. I've spent more time in JavaScript than I care to admit. Learning CSS, re-learning design, layout, thinking constantly about user experience, staring at color palettes for days.

And I - We - are far from done. I've mentally grown into a mindset that "UI" (user interface) doesn't just stand for the graphic design of a site - and that UX (user experience) isn't just about how things are laid out on a page. UI/UX has to be thought about from the part the user sees, feels and uses all the way down to the lowest level API of your system.

Good Design (notice the big D) means APIs matter. It means that everything from error messages, to documentation to customer support and care matter. You can't ignore any of it. You can't slap a CSS framework into place and think you're done with "Design". It means caring about the user completely, and without regard to your biases or skills.

Good Design also matters in communities - user experience, interfaces - thinking about others - of course, I'm getting ahead of myself and delving into the second post.

Wrapping this one up

On a personal level - 2011 was a year I doubt I'll forget any time soon. It's been a mixture of pain and pleasure and constant evolution and change. 2011 changed who I fundamentally am as a person, and I hope I'll never be the same.

Again, thank you all - you know who you are.

And to my family: Dusty, Addison, and Abigail (who is so smart it scares me) - I love you.

 


A Christmas Story

by jesse in


Preamble - Memories are strange.

Memories are strange things. You don't quite know where they come from - or why a particular one is more powerful than another. They pop up unbidden - some subconscious trigger, a smell, a sound, an event causes them to come to the forefront of your mind and take over your brain and emotions.

Memories, once ingrained, are impossible to rid yourself of, good or bad. You don't get to choose which ones fault in, and you don't get to choose which ones are the most powerful one attached to a trigger.

Sometimes, no matter how much you try, no matter how many new memories you try to make to replace, or subsume a given one - one memory will always stick. It can be good - or it can be bad. You don't get to choose. When that memory is a bad one, it doesn't matter how much you stack on top of it, no matter how much you try to forget - when it comes to the forefront, that is what you see, what you feel.

We don't get to control it. All we can do is try to forge new ones and hope that they are more powerful, more pertinent and more filled with love and hope than everything that came before it, so that even if the memory that comes up is a bad one - a horrible one - there's something warm, loving and caring to fall back on and hold on to when we lay awake at night staring at the ceiling trapped in throes of the past.

A story about a boy.

This is a story about a boy. It doesn't matter who the boy is - and it doesn't matter who he is now. It is about a boy and a memory, and this story is meant to get you to think about the people around you in your life, your community and your family, neighbors and friends.

This boy was young - perhaps five, perhaps six - who knows, the exact age is lost in the morass of time - it doesn't matter. This boy lived with some people who were bad, very, very bad. They were the most vile of people. This boy lived with them as, at this age, you don't get to pick who you live with. This boy, and these evil people lived together in a home filled with stink, filth and pain.

The boy was alone; the boy wasn't afraid in the common sense of the word - after all to understand fear you have to experience something other than that to appreciate the emotion itself. Loneliness however, is something all humans innately understand without context or teaching. We are social creatures, we crave attention - good or bad - we crave to walk in the lights of others eyes and be noticed.

The boy was not noticed.

The time was before Christmas time. More than anything in the world, the boy loved an old TV show - Fraggle Rock. This was something that brought him happiness no matter how brief. He loved that show more than anything else in the world.

One day, the boy was someplace else, with a different evil person. He was sitting on a bare floor in a bare apartment that stank of cigarette smoke and old people. He was watching the television - a cold, but constant friend - watching his favorite show.

An advertisement came on. This advertisement offered something magical, something special. It was something so exciting that he had to call now to take advantage of the special offer. It was a thing tied to his friend, his joy - Fraggle Rock.

The boy had no money or wealth, and inside he knew that the evil people around him were loath to give up that which they had. The boy knew that he must have the thing he saw, and while he had nothing he knew how to acquire it.

He calmly got up off the floor, knowing that no one was around to notice what he was about to do. He opened the purse of one of the people who ignored him - he may have been alone, and might have only known fear, but he was smart. He knew that the thing on TV asked for a credit card, and he knew where to get one. He stole it from the purse, and picked up the telephone.

Some how, perversely, that boy knew where he lived. Maybe it was because he had had to walk himself to school so often, or had to be driven home by the police or a teacher from the school he sometimes attended.

He called the number he had memorized in a span of seconds. The person at the other end of the telephone, again, in a strange alignment of perversion and oddity, did not question the fact that a child was on the other end of the phone.

The boy managed to order the magical thing on TV. Using a stolen credit card in an apartment that stank of cigarettes and old people.
Before you think the boy had gotten away with it - he hadn't. As he hung up the phone, one of the bad people came into the room and saw him with the phone and credit card in his hand.

Evil people do bad things to boy; the screen goes dark and the curtains go down. The boy knew that his brief glimpse of hope and joy in acquiring that thing from the TV was gone.

The boy went back to darkness.

Christmas Day

The boy did not know, or remember the thing from the TV he had gotten so severely punished for. He knew that it was Christmas time only because other children talked so eagerly about it. The house he lived in was barren, and filthy and undecorated except for a small pine tree in a corner that stood, undecorated.

There was no party, no family get together on Christmas eve. Yet still the boy lay in his bed charged with hope that somehow, somewhere, a gift might appear for him under that barren and sad tree the next day. He might not know - he was locked in his room again, but that hope stood out.

Not because he knew what it was, but because he knew what others had told him, he knew the emotions that others had about this "special" time.

The boy didn't sleep well - not just because it was Christmas. He never slept well.

Christmas morning, let's say at five o'clock in the morning, the boy was awake as he always was. He got up with trepidation and fear for waking the evil people with whom he lived. He tested the door knob - it was unlocked.

He opened the door and looked around - none of the evil people were around, there were someplace else. He was alone - and given that this was a state much preferable to the alternative, he was temporarily happy.

He walked to the barren tree, past the trash and cat waste scattered through the house and stood in front of it. At first, his eyes didn't perceive the box underneath it. He didn't see a stack of jauntily wrapped gifts, or stockings hung with care. The boy was filled with sadness.

There was, however, a bag - the type you might get nowadays from a supermarket for reuse. The boy's eyes caught the logo on that bad.

Fraggle. Rock.

Stunned beyond comprehension, the boy walked over slowly, he recognized the logo, and in fact, he recognized the bag from the commercial long forgotten. It was the magical thing he had been so severely punished for. He looked around, ensuring he was alone, and he pulled the thing out of the bag.

It was a Fraggle Rock record player. That was all - and a single, small record that contained but one song. Shaking, he opened the record player, and plugged it into the wall. Gingerly, he placed the record on the player and through trial and error, figured out how to make it turn on and play.

The boy cried as the first notes of the one song began to play. So joyful was he in this singular moment, listening to the theme song for a TV show that all the loneliness and pain he knew was forgotten, replaced with a joy so tangible he could hold it close.

In that moment, the boy knew sadness as well, as that joy was so powerful he knew the stark contrasts in the emotions he had known. He forgot loneliness, caught up in a moment so emotional that nothing else mattered.

In that moment, the boy was happy. The house was filled with that song for hours until the people he lived with came home, and took it away. In those hours, that boy knew nothing but joy, happiness and the dark contrast of sadness.

Back to the beginning.

The boy is now a man, which man is irrelevant. What is relevant is that when the first chords of the first Christmas song begin to play after Thanksgiving - when the first Christmas ornament go up that boy is thrown back to that memory of that single Christmas day.

No memories since that day matter; none of them come up and filter into his consciousness other than that one. It takes over his psyche at random, as said before - you don't get to choose how this works.

So, why?

Why am I sharing this story about a boy, or rambling about memories? Because, despite knowing that once ingrained a memory can not be forgotten, I feel that it is true that you can override memories with stronger ones with a more powerful emotion.

I feel that joy, hope and love are more powerful emotions than fear, loneliness and pain.

I share this boy's story so that I can get you to think for a moment about the people around you. Friends, colleagues, family - the person on the street, on the bus, the people in your community and the person you only know through email, IRC or on Twitter.

I share this to get you to think about those who you don't think about all that closely. The children who live as that boy did, or those children and families that have little or nothing during this supposed time of joy.

I'm not asking you to give up wealth, or toys, or food - those are all fine things, but they are simply tangental aspects of how a memory might be created. I'm asking you to think about all of these people, even those whom you disagree with or hate, or those you never think about at all, and I ask you to take a moment to reach out to them in some way.

Perhaps a toy, a book, a warm coat or meal for those that you do not know well - something that can give them the same joy that that boy felt when that song played. Maybe an email to someone you haven't heard from in a while, or warm words to someone who you normally spar with.

Thousands of people trudge through the holidays, no matter their faith, race or creed - their choice of forums, programming language, career or school depressed and alone during this time. They're trapped by memories that should have been replaced long, long ago. Maybe they never will be replaced, but maybe they can be supplemented and temporarily displaced.

I am asking you to reach out in any way that you can to help them make new memories, ones of joy, love and caring - even if it is over the internet, or as fleeting as being polite to them and thinking of them when you bump into them on the street or in the mall.

Reach out in all the ways you can, despite times of strife and division and economic depression. Help everyone you can be filled with a memory of joy, love and caring, give them that moment the boy had even if bittersweet. Show them your grace, humility, kindness and caring.

I still cry when I hear Fraggle Rock.


The Standing Desk Experiment, 5 Months in.

by jesse in , , ,


My original standing desk post - "Switching to a Standing Desk" has garnered a lot of attention - and a lot of questions. I've also seen a rise in the number of people trying out standing setups due to that post and the near onslaught of new articles and people converting to a standing setups in the months since. It seems to be quite the trend now. More studies have been coming out citing that sitting as long as we (programmers, writers, etc) do is fundamentally harmful - for me, switching to standing was less driven by those facts, than needing a change - leg pain, back pain - I needed something more. I sit enough throughout a normal day.

Studies and articles:

I figured since I'm rapidly approaching 6 months into the "experiment" - I should post a followup along with my current thoughts as well as even more information on how to setup your own rig, new studies, and other articles that have come up.

My original setup was a bit of a rig: I stole (borrowed) a table from one of the kitchens in our building and hacked together something that while serviceable, had a few obvious problems - the key one being it was wobbly (I'm not a light typist). Wobbly, while annoying, was still tolerable and preferable to the back pain, lethargy and other things that drove me to try it out in the first place. Other problems included not being at the optimal arm-height (it was close) and well - lack of desk space.

Several months ago, I was lucky enough to have my employer (Nasuni) notice my experiment and we made a deal - if I stuck to the rig for a month, and still wanted to stand, they would get me an official standing desk. I exceeded the goal a bit - not only did I stand at the setup for a month - I completely ditched sitting the first week. I haven't sat in a chair in my cube since I started standing months ago. So work pitched in and got me a GeekDesk 2.0 - victory!

Here's the "perfect" setup:

IMG 2784

The transition itself from sitting to standing was pretty easy for me - given the number of changes I've made in the past year in terms of weight loss, exercise, etc at this point I'm probably in the best physical condition I have been in my entire life. So ultimately I didn't have many of the transition issues people sometimes cite (foot / leg pain, tiredness, etc) with moving to a standing desk.

The minor issues I had mainly revolved around:

  • Feet: I had to find a non-bulky, well made pair of shoes. In my case, I started wearing New Balance Minimus Trail style "minimalist" shoes - they're form fitting (meaning no socks) and have almost no sole to them. Additionally, I had already picked up a good comfort mat to stand on - that way I had something more giving than the carpet covered concrete.
  • Getting things at the right height: I chose the Geekdesk because it's got hydraulic legs that allow you to set a perfect height - one where your elbows are at a 90 degree angle when your hands are resting on the keyboard, or slightly lower than that. This, plus my standard Microsoft Ergo keyboard means my typing posture is probably the best that it's ever been. Additionally, while I have a height adjustable monitor - I used an additional monitor stand to get my monitor position at roughly eye level (I prefer the horizontal center of the monitor to be slightly below eye level - use what's comfortable). This way I'm not looking down/tilting my head an extreme amount, in most cases I'm only looking slightly down.
  • Switching positions: When we hack/get involved in something we all have a tendency to hold dead still except for our hands - instinctually even though I was standing, I would sometimes find myself standing rigid, feet shoulder width apart with my back straight. While fundamentally not bad this can just cause your body to get tired/sore/whatever. I had to start letting my more rational brain allow my body to move, force yourself to gently shift your position. In my case I've even found myself dancing to music slightly, even when deep in coding or writing because my body now knows it can move freely.
    • I've actually found myself standing with one leg bent and my foot against the inside of the opposite knee. This means standing on one foot - I didn't notice it until someone asked me if I was doing yoga in my cube. Between this and the dancing at my desk, I think the weird-o-meter is maxed out.
  • Allowing myself a break: I set boundaries for myself - I'm no superhuman and genetic aberration. My body needs rest. My agreement with myself was this - if I stand during work sessions, I will sit during lunch and take an afternoon break of 15 minutes and sit, have a snack, something. This way I give my body a chance to relax.

Nothing groundbreaking, really. Allow yourself to move/change positions (my default is back straight, feet shoulder width apart, knees slightly bent) - get something nice to stand on / some good shoes and set expectations. Revolutionary science and advice, I know.

After just a few weeks I noticed a change - I had more energy, I felt more active and alive, I breathed better (not hunched), I was actually calmer, more reflective and able to focus when needed. My body felt great - my legs felt stronger, my back a thousand times better, my neck better, etc. I've had all the upsides and few downsides. I lost more weight/gained more muscle in my legs and back - good times!

I will say that people get confused - people walking by, when they see a programmer/hacker hunched over a keyboard in a chair, deep in thought see a giant "do not disturb" sign. When you're standing, hacking away deep in thought people tend to have the instinct that you're more approachable. And they like to pop in for a quick chat. Nothing bad in and of itself - a break never hurt anyone. But coworkers who don't notice your earbuds in your ears might get confused when they have an entire conversation with someone who is completely checked out, standing there.

No, I'm not being rude. While I do do yoga, I have not quite reached the level of being able to sense a disturbance in the force.

Approachability works both ways though: I find myself more approachable/less hostile to people dropping in to talk. I'm more relaxed, less aggressive and ultimately more at ease when someone interrupts me, or catches me in between things to talk. I enjoy white boarding with them more, I don't spin around in my chair and snarl at them because I was elbow deep in an epic yak shaving. I just take a breath, turn around and start talking.

I feel more refreshed; and switching "into work" and "out of work" (meaning, in and out of a task) is easier/more approachable. My body feels better - so much better that sitting actually feels awkward to me. Ask my wife, any time I work at home I whine because I end up sitting. Sitting has become something I do when I want to relax, or because I have to - not something I do automatically. Not to mention, you simply burn more calories standing than sitting still. It will help you pay down that debt you had for lunch!

Don't get me wrong - I like kicking up my legs with my laptop in my lap, and beating away on my keyboard. It's just those times are different now - almost more special and valuable to me rather than the default-of-lethargy that I had before sitting all the time. I can say sitting here on a plane typing this may quickly drive me insane however.

My two second review of the Geekdesk? It's awesome - it's the perfect height, and it can carry enough weight my four year old can ride it like something at a carnival. I've stacked my mac pro/books/etc on it and the hydraulic legs don't even flinch. I can set it at any height, or drop it down to sit (although I never have). It's well build, sturdy, and had a little cable runner thing attached to the bottom of the desk where I can squirrel cables away (but as you can see in the picture - I'm much to lazy for that). The desk space is enough for me to have my notebook to one side and my laptop to the other and keyboard on the center with room to spare. It really is great.

That said - is the Geekdesk for everyone? Yes!

Is it prohibitively expensive, hence why I don't have one at home right now? Also yes!

Most people (myself included) can't find it in our budgets to finance something like this - heck, it's the same thing with good chairs - they run serious cash. Most people will look to put together a more economical solution. In most cases, you can avoid building something yourself if you live anywhere close to an Ikea - the cheapest option I've found for something that comes close to a basic set of specs:

  • Decent amount of desk space
  • Doesn't look like crap
  • Can have the main work area set to the optimal height

Is the Ikea Fredrik desk - this used to be called the "Galant" desk, and its setup allows you to put together a standing rig approaching a rational price for your home. It's also ok for proposing to bosses who would beat you with a rolled up newspaper if you suggested spending 800$ on an ergonomic desk (although - why are you working for someone like that, Stockholm Syndrome?).

The Fredrick is the best option I've found that's "off the shelf" - there are plenty of plans out there that describe how to build one - and I applaud those who have the wood working skills needed. Here are some of the various plans and pre built desks floating around out there that I cite when asked:

Otherwise, if you're stuck in a cube or office where you can't chuck the existing decor for something more civilized (meaning, it's bolted to the walls or the cube farm would collapse like a hobo village built out of cardboard boxes if you removed your L shaped cube desk) here's a set of the best "hacks"  or attachments I've seen (feel free to share your own:

Now - remember, even if your stuck in a cube in most cases, the height of the main desk area can be changed/raised - you just need an office manager willing to listen. Most desks in cubes can easily be moved lower, or higher depending on needs. Sometimes you may have to get rid of your shelves - but what do you put there other than pretzels and books you don't read? Stability, stability, stability!

For the home? I'd start trolling craigslist for podiums or lecterns if you aren't good with tools or you lack an Ikea. Or, if you can forgo aesthetics you can go the home-depot-cinderblock route. This is the easiest if you just want to experiment. Just measure what height your current desk is, then measure the height from your bent-90-degrees and standing on a comfortable mat elbows to the floor. Subtract the height of your current desk and either go to Lowes or Home Depot and buy cinderblocks and a piece of nice, sanded and pre-finished or stained hardwood to stack on top of your current desk to raise your keyboard, mouse and monitor to the needed heights, or just buy the same to place under your desk legs to move it up.

In the latter case, if you have a desk with a keyboard tray, this works in your favor as you can get the keyboard at the 90 degree angle and give your monitor a quick boost. Cinderblocks or bricks, while not looking cool, are obviously sturdy and stable. Of course, if you have a glass-topped desk at home (as I do) I would recommend against putting it on top.

Me at my setup recently:

Jesse Aug 25 11  7 of 11

Fundamentally, it's just a matter of getting your hands and eyes at the right heights while standing. Everything else is aesthetics and noise. Switching has helped me immensely and for the better. Will I never be a "a sitter" again? Never say never. I will say that it's definitely not for everyone, and while I might sound like a card carrying cultist - even I realize it's a tough thing to swallow for most hackers.

As for the now notorious study that came out recently that stated that you would suddenly develop varicose veins and die if you stood all day? The data the researchers cited disagrees with them (take a look at the hacker news thread). While I don't disagree with the fundamental message: move regularly, stupid - I don't agree with the breathless results and reporting and age-old rehashing of "perfect keyboard angle and age old ergonomics". No one listens to ergonomics experts anyway, and most companies put +ignore on basic ergonomics. Standing while you work is a perfectly good way to improve yourself in a variety of ways, not just improving how long you can sit staring at a screen all day.

Try standing - seriously. It may not be for you, but you might be surprised. I didn't think I'd be doing yoga, didn't think I'd be standing at a desk, didn't think I'd be a dad, eating Paleo/Keto and listening to heavy metal. Sometimes a change or trying something out that seems crazy or daunting is just what you need.

Other good standing desk reads:


Thank you - The impossibility of "It's going to be ok".

by jesse in


Let me start off by saying that while this post is largely not Python related although it is slightly related in the fact that I talk about the Python community later on. Largely this post is about my family and some of the troubles that we've been going through, and how it has affected me.

If you're looking for a technical Python article then you should probably move on. I realize that it has been awhile since I've been able to do a deep post on a pure Python topic; for that I apologize. This post talks a lot about community towards the end; so it may remain of interest.

I've been writing, and re-writing this post in my head over and over again - some of it due to the fact that the problems we've been dealing with are just not something I've ever dealt with before, but also I didn't quite know how to put things into words. Throw in a healthy dose of "1 month old induced sleep deprivation" and you have a combination for scrambled brains and scattered thoughts.

Mostly, it is the emotional aspect - more importantly I've been sitting here rewriting this post over and over and over again because it is never easy for parents and it is especially not easy for me, just because of who I am, to sit down and put to words the experiences of the past month. My wife, Dusty has has organized and posted her views on what's happened over on her blog - I encourage you to go read those:

She's done an excellent job putting her thoughts down eloquently - far better than I've managed. I don't think I've stopped "working" in any sense of the word - you get busy just living, you get busier with one child - with a second child (especially an infant) - no one gets free time. Throw in a busy job at a startup, chairing PyCon, and a handful of other things and I'm pretty happy to be sitting here correcting a horribly dictated blog post.

So, backing up - on June 2nd, we welcomed Addison Joy to the world - she's the second of our beautiful children. As many of you might know - or - you've read my wife's posts - the pregancy was pretty hard on everyone involved, but especially my wife. It was touch and go and that is stressful enough.

But, so, AJ was born - and at first, everything seemed to be fine. 10 fingers, 10 toes and pooping - that's sort of what you hope for in a newborn. We took her home, she saw her pediatrician, and that was that.

Well, no. Around the time Addison was three weeks old (shortly before my first child's birthday) my wife Dusty started noticing that Addison was behaving erratically/oddly - and if you have any experience with infants, you'd know how hard it is to actually determine "odd" behavior. Almost everything they do is odd, down to timing exactly the worst moment when to spit up on you (point of fact - it is after you've showered, and are walking out the door).

In this case, the odd behavior my wife noticed was actually a pattern - and that's when you need to worry. You want consistency in certain areas, you want to see continual improvement, you want them to consistently eat, poop and sleep. However, a pattern of odd movements tipped my wife (who is a fantastic analyst) off that something was not quite right.

What my wife found was that Addison for periods of time anywhere from 1-2 minutes her eyes would slit and roll back and she would freeze up. The best way to describe it is it was almost as if she would just "check out" - as if someone hit a power switch.

Her eyes rolled back and her body would go stiff - her breathing would go robotic. My wife didn't want to scare anyone come off as the the crazy overprotective parent but it was happening more more frequently and it was happening in clusters. Basically, Addison would have these spells in groups of 3 to 4 and she was having them more frequently than you'd care to imagine through the day and night.

As this pattern began to emerge and my loving wife, the analyst, started to see the trends - she started to dig around search and ended up finding a video on YouTube of exactly what we were seeing. Unfortunately, the video matched what was happening - what we were both now seeing that the pattern had become clear - and the video was of a small infant having seizures. Patterns, especially hidden ones (like the arrow in the Fedex logo) are very hard to un-see once you've seen them, and this was no different. We knew something was up.

She passed that video, and all of our suspicions to our primary pediatrician - someone from the old-school of pediatrics. Within an hour, he had already set us up with a rush appointment at one of the best pediatric hospitals in the United States - Tufts Floating Hospital for Children. Luckily, it is about an hour away from where we live.

Within a few days, we were sitting and talking to some of the best child/infant neurologists in the area. No one was fooling around - the turnaround time to us identifying something and us sitting in a room with at least two top notch neurologists was amazing.

The staff has been amazing: from our first visit they have been kind, courteous, they have helped us manage our four year old Abby who had to come along for the ride. They answered all of our questions, encouraged us to get second opinions, etc. The first meeting we had with them, they looked us flat in the eyes and said "you're not leaving here without a plan". God help me, I could have hugged them at that point.

They watched some of the videos of the episodes my wife had captured on her iPhone - we'd been instructed to record as much as possible. We discussed the episodes and their "presentation" (what they look like, how Addison moves during them, which way do the eyes roll back, etc) and so on.

Then, in a flash, it was off to the EEG - this is where you, as a parent, feel largely like a useless appendage. They take your 4 week old daughter and stick little electrodes to her head and watch the electrical impulses in her brain fire. Shortly after the EEG my wife indicated to me that she knew they had seen something but they were being relatively tightlipped - they immediately sent us off to another department to get a sonogram of Addison head. A sonogram is essentially an ultrasound - they were looking for physical abnormalities, calcium deposits, water on the brain and tumors. Luckily, the sonogram came up clean.

Shortly after the sonogram the team of doctors that we been working with came in and told us flat-out that the EEG had been abnormal. What this means is that they noticed distinct abnormal electrical behavior in both sides of Addison's frontal lobe. Based on this, they would immediately assume she was having seizure activity and that epilepsy was a very real possibility. Therefore in order to get the situation under control we would immediately put Addison on to a drug to help control seizures - starting with a small dose, and working our way up until the seizures stopped.

Now when dealing with epilepsy in infants there are only two real drugs that doctors are willing to recommend the first is phenobarbital, which has some pretty awful side effects (and a tranquilizing affect on the infant), such as causing some serious liver problems, etc. The good news is that phenobarbital has about 150 years of use behind it - doctors know it pretty well, and it has known to help with epilepsy quite well. The problem is the side effects - well, Dusty and I agreed the side effects were too much.

The second drug is Keppra - this one is not as old as phenobarbital - but is also known to work on infants with seizures. The side effects on this one are less, but not entirely non-existent - one of the nastier ones is crankiness from the infant. Addison is a pretty chilled out baby and so giving her something that would make her angry all the time wasn't something we were looking forward to, but we went down that road.

So the plan was this: in about two weeks, bring Addison back for a 24 hour EEG so they could capture more data and record her on video for that time, so they would have as much data as they could compile. The following week would be an MRI so they could look deeply into things to verify everything was structurally sound

From the time we left the hospital, throughout the weekend, etc - the staff and doctors were emailing us, calling us and checking in on us. They were attentive, kind and making sure everything was going ok with Addison as we steadily increased her dosage of the drug - .2 mL, .4 mL - to eventually .6 mL.

As the hours passed - you could actually see the episodes changing - they were getting longer, but less "twitchy" - the clusters were shorter/different. It crazy - you could actually see her body's reaction in real-time. Unfortunately, we could also experience her attitude changing in real-time as well.

So here we are, two parents - two kids. I've got a full time job (and full time volunteer work on the side) and my wife had just been settling down to being the best damned stay at home mom you've ever seen. We're running on little to no sleep and bam. A bus slams into us. Epilepsy. Our beautiful newborn baby girl probably has a form of epilepsy.

What did we do? Did we cause this? Your fears, doubts and every little thing comes rushing into this mental void left by the explosion of this new reality.

And so there we are - drugging a newborn in hopes to kind of get these things under control and hoping for the best. As a dad, the typical thing you want to do - your typical guy response - is to fix the problem. You have to have an answer - any answer.

You want to fix your helpless daughter sitting there looking off into space.

That's not how it works though. You have to sit there and watch, and wait. You have to keep your poker face on when the doctors tell you your kid could have an incurable disease - or something she could grow out of in a few months - no one knows, and it is impossible to tell in children this young.

It is not the problem that kills you inside - it is the uncertainty - it is the not knowing and the feeling helpless to do anything. Throughout all of this, my wife - Dusty - has been my hero. She's pushed through, asked all the right questions, pushed the doctors - and me - to do better, answer more, to step up and beyond.

The following week, the MRI was shown to be clean - another exhale of breath - that means no surgery (but also, no "easy answer") - go home, keep her on the Keppra, the 24 hour EEG is coming up. Watch and wait.

Then, the Wednesday I finally decide to scrape my body out of bed at 5:30 in the morning (this is really hard with newborn) and go to Yoga, things go sideways. While I'm in yoga - my cellphone is shut off (it doesn't work well in the heat), and it is quiet. Little did I know, that while I was there, my wife was in the process of dialing 9-1-1 - Addison had fallen into a grand mal seizure, and she could not pull Addison from it/snap her out of it. The seizure went on for over 8 minutes. Warning signs.

By the time I was out of class I had a mailbox of messages and a lot of guilt - an hour had passed since my two daughters and wife had been taken via ambulance to a local hospital in their pajamas. The plan was to transfer Addison to Tufts in Boston ASAP. I had some catching up to do, and some apologies to make. I still don't feel right thinking about it - I let my family down, while I was off working out.

In the ambulance, the paramedics were able to snap Addison out of it, which was good news. Fast forward through Addison being transferred to tufts all by herself (family cannot travel in the transports if they have children - and I had yet to show up to the hospital) and me driving pretty illegally to come and get my wife and Abby and shoot downtown to see if we could beat Addison getting here.

Before this rush to the hospital visit - the diagnosis had been "general non-specific seizures" - doctor-speak for "she's too small for us to pinpoint it, but something ain't right". Then, here we are - rushed in, a video camera pointed at my 5 week old daughter's head, electrodes cemeted onto her head, rolling off the bed in a bundle to the EEG machine, an IV plugged into her foot.

Before we could say boo; they immeditely doubled the dose of the Keppra she had been on (from .6 mL to 1.2 mL) in hopes to bring the episodes under control. That started the clock - the first day there, my wife and I and Abby were there most of the day. I sent them home to get food, and a change of clothes for me - I'd be pulling the overnight shift - and so it went for the next 48 hours.

Sleeping two nights in a hospital cot with your newborn hooked up to crazy things next to you is pretty much a weird experience.

And herein lies the rub; they checked the first 24 hours of the EEG pretty quickly, and it came back up clean. They had video of Addison having the episodes, but they were not appearing on the EEG. Everyone pretty much assumed that the Keppra was keeping things under control - so for the second 24 hours - they took her off the Keppra, but kept recording. The problem of course, is that Keppra takes days to flush from your system.

So, another set of clean EEGs - this has all of us flummoxed - everyone there had video and had seen Addison slipping into these episodes. But without the EEG data to back it, there was nothing solid to poke at. It gets more frustrating when whatever small, painful answer you had is clouded over because they can't prove it (or even disprove it).

And so, they sent us home - off the Keppra, with Addison hooked up to all the electrodes cemented to her head, and a portable EEG machine recording the entire time, like a little black box. They removed that last Monday. Then last thursday, she was back in for another EEG that came up clean. The catch? They have video of her having the episodes right on camera while the EEG shows she's not asleep/out to lunch, just "frozen".

And now, here we are - diagnosed with a "seizure disorder" - we're no closer to an answer than we were before. it is hard - with children this young, it is actually really difficult to get reliable tests from them, and some of the other tests they can do - such as spinal taps - could cause more harm to her than good. We're in "wait and test more mode". Babies' brains and nervous system mature/change on a weekly basis  - so what might be true this week, may not be true the next. It makes it very, very hard to diagnose problems unless they're glaringly obvious.

Last week we involved early intervention which is actually a government program that will come and help out your child and help you with coping and identifying issues and making sure you know she's hitting all of her developmental milestones.

They did their initial evaluation - which, again, given Addison's early age means there's a lot of fudge in the numbers however, early intervention found that Addison is 30% behind the average on three of the key milestones (development stages). All of the milestones she is behind on happen to be ones controlled largely by the frontal lobe - where we have seen abnormal activity. Her physical milestones are on target - the others, well - 30% behind.

Now - that could be nothing. Babies develop at different rates all the time, Addison could just be slower developing in those three areas; however this coupled with the episodes she's been having could indicate a problem in her frontal lobe which may not fully present itself until she's older.

This also means a lot of work - we have to be a lot more focused on these milestones/stages than most parents. Talk, play music - things you already do as a parent with infants, but now we have to watch her reactions (with the help of doctors and nurses) like a hawk. We have to make sure she does not halt developing, and does not in fact go backwards in any way.

We are in for regular visits from nurses, regular visits (EEGs) with the Neurologists so that they can make sure she hasn't drastically changed. Right now, they can't put her back on the anti-seizure medication, without proof on the EEG, even with video and hands on proof of the episodes, having her on the medication without the EEG data to solidly back an epilepsy diagnoses could harm her more than help her - even if we know it does help the episodes she is having now.

So here we sit - everyone knowing - from her pediatrician, to the neurologists, to the nurses, that something is wrong. We can't ask Addison what's wrong, what she's feeling, or anything else. All we get to work on are facial expressions and crying. There's nothing you can do as a parent - we have to sit and watch her light switch shut off and her tiny hands shake, there's no drugs, there's nothing but testing, and waiting, and watching.

It brings us to an unpleasant place - a long road of doctor visits, not knowing, waiting and hoping. Hour long trips into the city to the hospital through Boston's lovely traffic. No answers, just negative ones - "it is not x, or y - right now". There's nothing proactive to be done - only reactionary. Watch and wait and react. If things get better - we rejoice, if things get worse, we react. Doctor visit after doctor visit, EEG after EEG.

So the reason I'm writing this post kind of a part catharsis and part update to a lot of friends I, and my family have out there. We're lucky - I have a great job I love, we have great medical insurance and the best hospitals in the country nearby. We have a lot of things going for us.

Despite that, it is still trying. Mentally, physically - time and attention - financially. It is not easy - but many people have it worse.

Now, if you've been following me on twitter, or google+ - much of this comes as no surprise to you. Many of you - well, most of you - are members of the Python community, the Python Software Foundation, you help with PyCon - somehow, I, or my family know you.

And we've been touched by you.

Something I didn't count on, baring my soul on twitter, or google+, or Facebook was the overwhelming and humbling support my family and I would receive from all of you. The well wishes, the emails - cards from all over the world wishing us well and offering us your hopes and prayers.

Some of you may have met me - almost none of you have met my wife and family - and yet the outpouring of support from the Python community has humbled me and brought me to my knees in thanks. It brings tears to my eyes just thinking about the generosity that has been bestowed on us by people inside of this community. Something as small as a card - a box of crayons and a coloring book for my oldest daughter - it has helped my family and I and touched us in a way I don't think we've ever been touched.

It is amazing to me that I can admit to hurting or going through something like this and people all over the world will immediately start sending the resources on where to look for information or who to talk to or specialists that they know, contact information for family members that they know who have experience with epilepsy or seizures.

It has been amazing to me the amount of support that I've gotten from a community that's based on a programming language; we are all engineers and it is not something that you'd necessarily expect.

Except for the fact that at the end of they we are all humans and as God as my witness I have to say that all of you Python hackers, and friends - both internet and in person are the best, most touching human people I've ever had the luxury of dealing with in my entire life.

I've had the honor of standing up on stage at PyCon addressing 1300 Python hackers and that was stunning and humbling in and of itself - but to have people who you mainly talk to on the Internet and primarily through mailing lists and code, twitter and google - who in one moment might be arguing with you violently about something about packaging, test syntax or concurrency - to have those same people turn around and lift your family up in your time of need - it is beyond words. This Python community - our community - is something to be cherished.

There have been several occasions where out of sight of my family and the rest the world I've cried because of what the community has done for us in how much it has supported us. Our friends, this community, our family - I can't describe it.

Something as small as getting a package in the mail that has a couple of stuffed animals for my oldest daughters - that just brightens thier day, a card wishing us well or an email or tweet to my wife - it makes the day brighter. In the past month those bright days have been rough and very hard to make as a father and it has been hard to get up in the morning in the face of "ship this code, ship this conference, figure out what's wrong with your daughter, keep the boat afloat". All of the support we have gotten has helped prop me, and my family, up. It has helped us make what could have been crushing days not so dark.

We don't have family in the area (at least none remotely close) and it has been amazing having people reach out to you from completely different countries when your next door neighbor doesn't even know something is going on.

It is amazing, it is humbling - and I just want to say thank you from the deepest part of my heart. There might be more tough times coming up ahead - I don't know - but it is my job as a father to get up everyday put on that game face and ship that code, fix those bugs, and ship a conference, make money and be a dad - it is my job as a father to do the impossible everyday because that is what I do.

Its my wife's job to get up, put on a game face and do the impossible everyday, she is my hero, she doesn't "get" to go to work, a small vacation I get every day. She is in the fray all day, every day, doing the impossible.

The impossible is already hard enough - raising children, holding down a full time job and juggling a hundred other things - things parents do every day is hard enough but it is our job as parents and our duty to stand up straight and do everything that we can for our children.
In the case of our child - it is our job to do the best damn job that we possibly can, give her the best care, the most love, and to hope and pray that everything will come out all right.

And that's the odd thing throughout all of this deep down inside - if you ask my wife - I'm a starry eyes optimist, for example I believe that everyone no matter who they are or their attitude or background can be a contributor to not just Python - but its community and vibrancy as well. I believe that human beings are intrinsically good creatures - I believe that we as people and as humans are capable of doing the impossible and the incredibly difficult every single day.

Being an optimist I have to look at the situation with my daughter Addison and tell myself that it will be okay. I have to keep telling myself this time and time again because I have to reinforce it in my head that that everything is going to be okay - you know she's still a fantastic baby, she still sleeping large chunks of the night, she's eating, she interacts with us.

She's a great baby and daughter - both my daughters are great and amazing - just every so often she checks out. It is a very real possibility that in three months Addison could grow out of this and all this fright and energy was "for nothing" - it is also a very real possibility that in three months things could get fantastically worse.

It is possible it is just due to the hard pregnancy that my wife had with the hospital stays and everything else and that Addison is just catching up developmentally to things that she should've had when she was born and now chalk it up to "weird baby things"

I have to keep telling myself that she is going to grow out of it, that she is just going to be fine, and you know some part of me when sitting in a dark room might whisper to me that I'm lying to myself that it is not going to be okay and things are only going to get worse but I know that's not the case.

Parents go through things every day that are much, much worse than what my wife and I have gone through. No one wants to go through that we've gone through but other parents go through much worse and they adapt and they raise some of the best children that you've ever seen. Some of my heroes have raised children with problems such as epilepsy or autism and their children are amazing, much more amazing than me. So despite what Addison may or may not have, despite not knowing and just having to sit back and watch as something happens that I have no power over - despite all that, I know things will be okay.

Because I know as a parent and as a human, it is my job to get up every day and do the impossible. It is my job as a parent to raise the best children - not perfect children - the best children that I can and do right by them. It is my job to teach them, to love them and do everything in my power to either heal them or help them cope with whatever may be wrong. It is hard, but it is not impossible - but the impossible is our job.

Reach out to those you know are hurting, or are scared - or heck, people with one month olds that keep them up all night - wish them well, send them a card, or an email. Even if you only know them through twitter, python or something else - maybe they're a kernel hacker, maybe they're someone working on the next big deployment tool - it doesn't matter who they are or what they're doing Engineers are Humans (as Ned so aptly put it) - and all of those people trying to achieve, and fight the impossible are even more than that.

So while some part of me is scared, is frightened, is angry - that's not the part that I can listen to at all - that's the part that's been pushed into the darker corner of my brain not only because of my optimism that's baked into my brain but also thanks to the support of our friends both inside of, and outside of the Python Community and our family.

Because of the support, because of the well wishes, because of the kind words because of everything that's been done for us, on behalf of us, and because we can do the impossible.

Because of all this I know everything's going to be okay.

Thank you. From my family, and the bottom of my heart.

 

p.s. There are many families out there - probably people you know - who have children with issues, or who are struggling with issues such as these who are much, much worse off than my wife and I. My family, while going through this, is very lucky. We've been blessed with wonderful friends, this community and our family. I encourage you again to look around and see those people who are much more deserving than perhaps I, or my family is, and to help them. Even if it's just a card; everything helps.

 

 


Welcome to Addison Joy

by jesse in


IMG 2514

Addison Joy Noller;  Born 11:50pm June 2nd - 19 3/4 inches, 7.8lbs

Yup, as I mentioned in On Family, Cranking and Changing - we've been in the home stretch of completing forking our second child process - Addison Joy Noller. Everyone who is crazy enough to be following me on twitter saw me "live tweeting" the events on the second. Interestingly, sharing it with all my friends and acquaintances made the difficulty and frustration and other crud that much more bearable for me, so another huge thank you to all of you who reached out to me there, and in private to give my wife Dusty and I well wishes. It meant/means a lot to our entire family.

Despite all of the problems, complications, hospital stays pain and risk, my wife and Addison are doing amazingly well, and we're already at home. There was a lot of very trying things leading up to this, and up until the moment when Addison finally joined us, there was a lot of fear and anxiety surrounding this. Birth can not just be risky for the infant, but also for the mother, and we has risk out the wazzoo. I think all of my Java programming knowledge was replaced with intricate knowledge of various pregnancy related complications and methods of managing a strong-willed child.

IMG 2557

Big Sister giving the thumbs up of approval.

That's all behind us; new challenges await - figuring out feeding/sleeping schedules, teaching our beautiful four year old who is incredibly excited to be a big sister how to be a big sister, figuring out the little 7lbs enigma sitting next me in the crib. Hopefully she'll like me reading K&R out loud to her as much as her big sister did. The entire process of birth, despite thousands of years of human evolution still remains a mixture of science, the unknown and a lot of guesswork. I know the term "it's a miracle" is beaten like my four year old's drum, but it really is a miracle - the amount we don't know and the amount of guessing that goes into the "process" is astounding and humbling.

Time to break out the Boppys, sanitize the bottles and explain to my pug what the heck this beautiful little creature is here in the bassinet. Maybe later she'll let me finish my blog post on vim and mow the lawn. Or we might just sit here on the couch and chill out. It's amazing how far we've all come since this post for my first daughter in 2007.

Obligatory Flickr set here.


On Family, Cranking and Changing.

by jesse in , ,


Introduction

Sometime on May 6th - over two weeks ago now - I shot out a innocuous tweet asking what might be a good blog topic. I think I said something like "python, family, ...." - the overwhelming majority of them responded with "write something on family", ironically, as I was reading those responses sitting at a stop light (yeah, I know - don't yell at me) I got a phone call from my wife asking me to come home immediately. You see, my wife is very, very pregnant with our second child, and it's not been an easy pregnancy for her. We've had a lot of scares, and we've spent a fair amount of time in and out of our local hospital - so when she said "come home right now" - you can expect that everything else pretty much evacuated my brain except that.

I guess the twitter responses acted as sort of a cosmic hint as to what was coming - the abbreviated version being that my wife, bless her soul, was deemed "high risk" and admitted to the hospital on the 6th - with the expectation that she would not leave until she gave birth. Fast forward two weeks in the hospital, a myriad of tests, blowing out budgets on gas (what the hell) and being a "Single Dad" for most of that that time, and I can happily report that mommy and baby are stable, but still hanging out inside my wife.

These past two weeks taught me a lot about myself, about my family - some things that I thought I knew were brought to task and tested - heck, some of the things I was going to write about were put to the ultimate test. You may not really care about any of this - I'd go someplace else at this point if that's the case. I do hope to outline my thoughts on balancing things (though I remain terrible at it) and finding the time. You're not going to find a cure all, or a hack that will "just make things work" - that doesn't exist.

Cranking

The original idea behind throwing the "family" topic out there to twitter was that I've been stewing a lot on a now (in)famous post by Merlin Mann (of 43 Folder fame) entitled "Cranking" that I've linked to a few times. In that post, Merlin gave me one of the best "perspective resets" ever. If you haven't read the piece, go, do it now - if you're not a parent, it still applies. If you are, I doubt you can make it through it without some tears in your eyes. It's as much about Merlin's own perspective reset as to "why am I doing this" as it is about taking a step back and looking down at the crank you've been turning and realizing it's not connected to anything.

"Cranking" refers to the idea of turning a crank (duh) - something that we all do - we wake up, flip on the computer and crank - we crank out code, documentation, we ship products and we build empires. We turn a crank to get the money, get some task done, we do it day in and day out - and then one day we may look around  and realize that maybe our daughter is grown up as asking for the keys to the car, or that we've just been turning a crank that really doesn't mean all that much. We're doing it for enjoyment, we're doing it because maybe we love it, but what else that we love are we missing out on? Do you really love it?

As a parent of a beautiful, impertinent, incredibly (frighteningly) intelligent and perceptive 3 turning 4 year old girl - Merlin's essay obviously struck my nerves like the hammers hitting the wires inside a piano. This quote hangs in my head still:

And, every single morning at almost exactly 6:00 AM Pacific Time, my three-year-old daughter wakes up, jumps out of her crank-free, regular, big-girl bed, tears out of her regular bedroom, and--even before she gets her hot milk or takes off her pull-up or tells us to turn on Toy Story 2--she dashes into our regular bedroom, runs up to our regular non-hospital bed, and screams, "DAD-dy! DAD-dy! DAD-dy!" until I wake up and say, "G'mornin', Sweet Bug! Did you have nice sleeps?"

...

Because an annoying, rambling, disagreeable little man like me gets to have this alarm clock in piggy-patterned footie jammies run up to a regular, crank-less, healthy-Dad, non-hospital bed and make him feel like he's The Greatest Thing in the Universe.

(Cranking, 2011, Merlin Mann)

So. Go, read it - if you're not a parent, it's still relevant - you know why? Because turning the crank has to have a purpose - I've spent most of the last year un-learning years of built up mental muscle memory trying to get this fact jammed into my tiny little lizard brain. You see, I'm Jesse - and I'm a workaholic. No, actually, I'm worse than that - I define myself by my works and how much those around me value them. Me without a "job" is not a "me" at all. I would happily sit there turning a crank as hard and as fast as I could if I believed in it, even if, in three years, it wouldn't matter.

Define "job" as loosely as you like - for me, it's as much the job that pays me money (something I am also "re-learning" how to use, manage and the true meaning of) - maybe it's working for the Python Software Foundation - maybe it's contributing to open source code. For me, I've got a number of cranks that I turn - some less effectively, others with more. Maybe this is part mental sweep (a  GTD term), it's certainly not meant to toot my own horn as you'll see soon enough, but the "high level" things are:

  • My Job - I get to do what I love, with awesome people, but I turn that crank. I turn it as hard and as fast as I can. It's a startup, and you win as a team, or you lose as one. You turn it hard and you turn it fast in hopes that you can build something amazing, something that changes some component of the (technology) world around you. I love it, I wouldn't trade it for anything. It is still, however, a crank.
  • Being a PSF board member. Another crank, one I volunteer for - one that I turn because I'm just as passionate about Python The Community as I am about Python the Language. This one has sub cranks - things that I spin because they (in my mind) must be done. Sprints work, outreach, funding things, work to get servers for projects, modernizing contributor agreements. I could cut out all of the other things and slow this one down - but why? If I'm not going to do the work that must be done, why am I there to begin with?
  • Being a Python Core contributor. This one, I am afraid, has suffered at the hands of the others. I've been terrible at turning the crank for the module I am the defacto maintainer for (though I have asked for help). I've managed to combine the PSF/Community and Core aspect into the mentorship program, something I value almost more than actually getting patches pushed in myself. In theory, the mentorship program will do more of Python as a project than anything I could ever hope to code.
  • Being PyCon chair. Last year, I was co-chair for the PyCon conference. For the next two years, I will be chairing the conference. I almost didn't. I still have my reservations - but again, I care, strongly about the community that welcomed me despite me being a horribly broken human being, and Van Lindberg, a good friend of mine showed me that it could be done without going insane. So I picked up that crank. I will be the chairman for PyCon 2012, and 2013 in Santa Clara. No seriously, I care about the community.
  • Being a "writer". Yes, I consider writing for my blog, and other things as much a crank as all of the above. I love writing - my wife things I'm good at it. I love doing it. I wish I could do it, in the way that I love to do it and get paid for it (oh well), but I love knowing that I've reached out and taught something, said something or helped someone. That, and I do it for me. My writing - turning this crank - is as much a selfish endeavor as it is a selfless one.
  • An outspoken community member. Also known as "someone is wrong on the internet" - I spend a lot of time staying up to date on thing involving everything I've listed above, and commenting on internet forums, mailing lists, etc trying to help and educate people. This crank is unhealthy - or rather - it can be. I can easily find myself feeding assholes or wasting time debating language semantics when, at the end of the day, it won't change a single thing in the universe. Like Jacob "I refuse to tolerate assholes" - but I pay the price in emotional currency.

I look at this not even close to exhaustive list of cranks (projects, themes, things) and in some ways, I'm proud. In others, I'm terrified. I am also ashamed. I look at them and then I look at the works of Jacob Kaplan-Moss, Raymond Hettinger, Kenneth Reitz, Georg Brandl, Armin Ronacher, Doug Hellmann and many others and I say to myself "I am not doing enough - I am not a good enough engineer" or I look at the things they have built and I worry my meager turning of the Python** cranks will be meaningless in the face of the ages (see also, "impostor syndrome"). So I turn those cranks harder.

And I turn. I love my job. I turn. I love my community, I turn. I love writing, discussing, debating. I love putting smile on peoples' faces and I love the people and the world around me. So I turn those cranks. My "expectational debt" (thanks again Merlin) load is so high as to be borderline insane. It's funny: I recently took on a project completed unrelated to all of this that's a paying gig because it felt like a mental vacation - and it has been, ironically keeping both me and my wife sane as we can work on it together. Cranks aren't bad. Cranks are cranks.

I've left something out - intentionally. I've left out the thing(s) that really matter - the things that should never, ever, ever be considered a "crank" - a duty, a job. I left out my family.

Family

IMG 2396

 

To some people, a family - a wife, a daughter, your mom, your dad, a brother or sister come naturally. For some people, your emotional ties to family run fast and deep naturally. I'm not one of those people. I have various reasons why (not something I'm willing to discuss in public) - but I have trouble turning the same passion, drive and energy into this one thing I know matters more than any of the other bullshit I've talked about. I have constant trouble knowing when to stop and simply watch my daughter grow up.

As I've worked to improve my awareness of this - I've noticed how bad I've been/gotten. This is why "Cranking" hit me so hard. My ability to balance my time and attention effectively, while also spending it on the things that matter most has been grossly out of alignment. My iPhone has been a surgical attachment - I reply almost in real time to email work, or non-work related. When I should be sitting on the couch comforting my wife, or watching a movie (even though we've seen Tinkerbell 900 times) with my daughter, I'm sitting on my laptop turning a crank of some sort (for what it's worth - I'm writing this while my wife and daughter are sleeping). Instead of focusing on them, though I love them dearly, I would do anything for them, I'm turning cranks because:

But, even when my shitty little crank was not attached to anything, I did keep cranking. Because, Dads do their job. It's what they do.

I've always allowed myself to be defined by my "job" - my cranks. My sense of self is derived from my works - that's just who I am. Family, for some reason, that emotional attachment is something that has always been broken in some way for me. So, while I've been here for my wife and daughter these past 4 years, and we've made some wonderful memories, and I love them dearly - I've not "been all I can be". I've not been there as I've needed to be, or I've let the shitstorms I run through stink things up for them. Nothing is worse, or more selfish than snapping at my wife or child because someone sent me an email on a mailing list that pissed me off.

My job is to run through the shitstorm, it is to be covered in poop, realize it will be stinky, but to keep running allowing my momentum to carry me through. Before I come home though - before I talk to my wife or my four year old daughter who knows the context and proper usage of the f-bomb for some odd reason, it's also my job to take a shower and rinse the poop off. Because they don't deserve it, and they are more important than any of the cranks I'm turning.

Along the same time of cranking - another post came along that was an additional sucker punch. I know you've read it - you had to have. It's called "The Last Post" - by Derek K. Miller - it was posted by his family, per his wishes, post-mortem. Derek knew he was dying, and so he wrote this piece in advance. It's a message to his family, his children - and to the world. It's the final post to his blog. When I read it, I was knocked on my ass. Despite all the changes I've made, and have been making (discussed later), this post also brought my failings, or rather, my priorities (or lack thereof) into a stark contrast.

Quoting Derek:

The world, indeed the whole universe, is a beautiful, astonishing, wondrous place. There is always more to find out. I don't look back and regret anything, and I hope my family can find a way to do the same.

I want to be able to say the same thing. In some dark, selfish place in my heart, I am jealous of Derek - for his ability to write those words, to come to that level of peace. His message - that post - is just another hammer blow on the bell in my head telling me to wake up. As I said on hacker news:

... and the fact I have a second child probably coming Very Soon Now, I have to admit I'm sitting back and thinking hard about where I've spent, and am spending my time. I'm thinking about all the wasted time and opportunities I've accrued over the past 31 years.

I'm thinking about all the time spent arguing with people on the internet and giving up my free time to change some small part of the world, and not playing with my almost four year old daughter, or talking with my beautiful wife.

Take stock in your life and make sure you're following your passions. Make sure you try to remember and capture every moment before it's gone. Change the world while you're still here.

Appreciate the world while you're still here.

My daughter is almost four. I love her and my wife more than anything, despite my frequent and persistent ability to lose focus or make that critical synaptic connection. The smile and laugh of my daughter - the smile and laugh of my wife. The sun poking through the trees while my daughter sits on a swing - these things are more beautiful than the code and community I crank so hard on - they're far more important. You say though - "But Jesse, you turn those cranks for them" - yes, I do. I work not just because I love it - but because it puts food on the table. I work on community building and efforts because I want to change some small part of the world my daughter will grow up in. I want to make programming/at least one programing community more welcoming for her. All of the things I do can be justified by self interest and in the name of supporting my family, and changing the "world" for them. Still though: It's not a justification to miss the laugh or smile or moment with her, or my soon-to-be-born second daughter or my wife.

So now, that I've admitted that no - I'm not super dad, I am a broken human being and I too am looking for that balance between cranking, work and everything else, I'll share some of what has helped, and some of what I've done and continue to do.

Changes

Changes are hard for me, sometimes they feel impossible. Especially when they require the fundamental re-wiring of things you've allowed to go on for over 30 years.

The process of change started for me about the same time I started at Nasuni - it was at that point I once again quit smoking (and haven't smoked since - anyone interested in buying my massive cigar collection?). So the process started with health. I'd grown tired of being sick, fat and edging towards death, especially watching the amount of life my daughter is infused with. Later, I picked up playing paintball for exercise/as a release - but then I ended up wrecking my knee, so after a cortisone shot and barely missing surgery on my knee I really kicked things into high gear. I needed exercise but it needed to be something low-impact. I chose Bikram Yoga which has turned out to be an amazingly good choice. The yoga not only helped my body (I've lost weight, become more flexible, etc) it's helped my mind. My focus and meditation has gotten better, and my mind has grown quieter - it's gotten much easier to focus on things, I'm calmer and generally more in control of my self.

I also changed my diet completely. No more carbs, no more sugar, proper vitamin supplements - it's part Ketogenic and part Paleo. Since I've started, I've gone from 275lbs (a year ago) to 181lbs (today). I feel better not only physically, but mentally (although, I can not drink so much as a drop of alcohol). I'm more healthy and prepared to tackle things in general, not only can I better engage with physical things, I'm less likely to die due to bad habits and miss out on my family. The mental aspects can't be lauded enough - I'm happier, more able to focus, more excited about life. More recently I've switched to (and am loving) a standing desk which has actually helped the physical aspects as well as the focus aspects (oddly enough).

The next step - the harder ones - have been mental/habit changes. I've started timing tasks - I work on just about everything in "sprints" or "pomodoros" - whatever you want to call them - I have a timer set for 45 minutes. When that timer is running, I close everything not related to that thing, that includes twitter, email, chat - everything. Total and complete blackout, if someone interrupts me, in person, I consider the sprint ended unless it was directly applicable to the task. When the time is up, I take a short break, and then set it again and go back to cranking on something. The important thing is to give up on multitasking.

I can juggle lots of things - I can't do it at once in the same window of time and hope to make any progress. Each 45 minute block is accounted for in a master spreadsheet - not only do I know what it was for (PyCon, Work, Personal) and how long, I also know what was done (Fix a bug, write a module, do research). I slip a lot - I forget to set the timer, or I get the urge to lie to myself on a spreadsheet only I will ever see, but by in large, it's helped me focus a hell of a lot more in general. Especially at work - I know where/what I'm tackling, and at what rate I'm making progress. The only things I tend not to time are writing sessions - like the one I am doing now - I still completely black everything else out though.

Things like Apimac Timer, or Rescuetime can help here. The important thing is a focused window - drop everything that is not part of the task your working on. Don't forget though, a given time window could be "deal with email". Being focused is no excuse to screwing the people you collaborate with by not being responsive. Breakup your tasks into digestible chunks - hell, pull the "Debt Snowball" method on projects/bigger tasks - do a bunch of the smaller things to reward yourself / give your brain the dopamine squirt of progress earlier in the cycle.

I know it may come off as vaguely fanboyish at this point - but listening to and reading lot of Merlin Mann's stuff has helped me - his time and attention talk is excellent. I really recommend listening to the 5x5 podcast - a lot of what he's said or mentioned has rung pretty loudly for me. I've cribbed some of his techniques, or rather - thoughts on how to approach things and applied them. Inbox Zero - Yup. I'm operating on the "respond, followup or nuke" method of email management. Track tasks / things you only intend on working on - the rest is junk you need to get rid of. It's emotional baggage.

Emotional control/reaction control is still the hard one for me. I'm a rocket-sled into the volcano type of guy. I react hot and fast to everyone, and everything. Getting that in check has been rough going - the yoga, writing, etc has helped in that regard, but it also takes a lot of pure willpower and effort. Lately, due to the higher stress levels, I've adopted the rubber band technique to stop myself / put myself in check - it's a rough, ugly hack, but it's better than snapping at someone, or reacting overly quickly. It's important to stay passionate about things, and I'll never stop sharing my opinion - just not in a way that shuts the people down around me.

So now, with all the emotional/project focus - a lot of which seems focused on getting things done rather than addressing the core problem of "not living" where does that leave the home front?

Being more effective when I do have time, more calm and meditative allows me to enjoy and connect with my wife, with my kid. It gives me the freedom to realize that the world won't burn down if I don't have my iPhone scream at me from across the house that I have a new email, or check twitter, or read my news feeds. No, those things will still be there when I am ready to engage them. I'm learning, the hard way, how not to be a slave to my cranks, my addictions, my passions.

No, instead, I've shut off automatic email checking on all my devices. I don't know when something comes in. When the laptop is open: I'm working on something, otherwise, the laptop is closed. I've muted all auto-notifications on my laptop, shut off growl, sounds, etc. I check email in between sprints, or once an hour (still working on that one) and when I do, I deal with the ones that must be dealt with, right then - or I do nothing, leaving it for a sprint. I batch my news reader gorging into blocks of time in the morning and afternoon (and make generous use of Instapaper and an iPad) . If I find myself hot under the collar about "something on the internet" - I'll stop, take a breath and remind myself that the people around me don't deserve that fire.

I've also set (small) goals to help me move certain things forward - something I've heard time and again is to "keep your hand moving" (from "Writing down the Bones") - so I've adopted a version of 750words - nothing hard and strict. Just a goal - write 750 words a day, on anything. This doesn't include code though it could be about code (maybe I should adopt a version for code). It could be about family, code, etc. It could be for the company blog, my own, or just in a journal (another thing I have started doing - keeping a physical journal).

As I've been doing all of the above, I've also been learning the components of personal finance and debt that I've been lacking (e.g. how to do a damned budget and stick to it, and that, yes - the borrower is in fact, slave to the lender) - this, plus all of this work has led me to the realization that time and attention are like money and a budget. They're finite resources you don't get back. You can grow them through discipline and you can control where they go, but it takes work. There is no get out of jail free card.

So; I've cut distractions - I'm focused on being a better Dad and husband when I am home, no more sitting there ignoring my daughter while I hack (unless of course, it is an agreed upon period of hacking). When I tackle projects, I do it sanely and on my own terms - and I do it on time I can afford to use, with the attention it deserves. I hack and work when my wife and daughter are sleeping, when they're out of the house, or when we've agreed it's "my time". All other time is off limits.

Unless I'm just sitting on the couch watching Tinkerbell for the 9000th time. Then I might read my news on my iPad while my daughter is curled up next to me. Maybe.

The Future

I don't know what the future holds: I've made a lot of changes in a short period of time: I'm literally half the man I used to be, and some days I don't stick to the path or the ideals I've laid out - I make mistakes, I forget to write, I get caught up in something and I miss my daughter trying to show me the fact she wrote her name (who is the asshole? This guy). I'm going to continue to turn the cranks I have adopted, maybe I'll turn them differently though, delegate more, push some tasks that come out of my mental grist mill off into the ether. I'm not sure.

More recently, I've started reading Mindfulness in Plain English - I don't know that I'll adopt meditation, but maybe some of the mental exercises involved can help me focus where I need to even more. Maybe it will help me realize new aspects of those cranks I turn. Hopefully, it would help me enjoy life - the life of my family that much more.

Who knows what's going to happen, I'm always interested in new approaches, thoughts, ideas and tools. Right now though, I'm going to push my fat pug off my couch and take my daughter to go see Barney live.

I think that's worth at least one hour of free time for Daddy later.

 


Getting to do what you love, with people that are awesome.

by jesse in , ,


On Friday of last week, a new post I wrote for my employer (Nasuni) went up - "Encryption Keys, User Data and Subpoenas". In that post, I got to outline, in clear "non slippery" language how my employer manages encryption keys, what data they have access to, etc. One of my favorite quotes:

If a customer has provided their own encryption key(s) - Nasuni, or the cloud provider, do not have those keys, and can not provide them as part of a subpoena or other legal process. We can not decrypt or access your data. We can not supply a key which we do not have. This is not policy or trust level protection: It’s impossible.

We offer auto-generated and escrowed keys as a convenience to the user - the benefits of having this feature outweigh the cost. A user or company who knows nothing about encryption keys and key escrow can still have strong data security and instantaneous disaster recovery, they can install a Filer in minutes and immediately be up and running.

Not only was I able to work with the team to get this post up - for those of you wondering how many layers of approval, legal cleansing or other "typical filtering" it went through - the answer is "none" (or close to it). We value honesty and being forthright above just about everything else, and so posts like this - or ones in the past on "5 Weaknesses of Cloud Storage Gateways", "Cloud Storage Isn’t Cheap: How the Price of Cloud Storage Compares to Traditional Storage", "What’s the Cost of a GB in the Cloud?" which are brutally honest and frankly, would probably never see the light of day in larger companies are actually encouraged, not discouraged. Does that mean that every little thing that could be controversial goes up? Obviously not, but we, as a team, have no problems  being honest with ourselves, our users and doing what we feel is the Right Thing.

It's one of those posts that makes me exceedingly proud to be part of a team that continually surprises me. Hence the actual subject of this post. I'm one of those lucky people who get to do something I really do love - actually, multiple things - with a team that surprises me on a daily basis. Of course we're a VC backed startup which means we're smaller and more intimate then most companies many people work for, and in turn means our interpersonal relationships are that much more amplified and intensified. You don't get into bed with a startup unless you know and trust the people (or at least a few of them people) involved - trust is an fundamentally critical component - it's akin to getting married.

I know - you've probably heard stuff like this before echoing from the west coast / silicon valley area - about how startups are magical lands of unicorns and fairies and how you're going to get a bajillion dollars data mining the social relationships of some poor floor waxing guy in south dakota - but these "families" - these startups where you can have these solid relationships with those you work with, and do multiple things exist well outside the silicon valley echo chamber (for example, we're Massachusetts based). You just have to look.

Sure, there's a lot of hype in tech about startups and getting rich quick - but having worked through the dot-com bubble, I've found that I value the team (the family) and the project much more than chasing down the latest IPO. The fact is, despite being at a startup that could fail at any moment (and many do) I feel more secure in my role, and with my paycheck than I would filed away in a cube at MegaCorp. I feel more secure in that I am not just another cog in a machine, and that it is within my power to change the face and direction of the company every single day.

Considering I've worked mainly for startups since I was 18 (some of which got acquired into much bigger companies) I have a bit of confirmation bias, admittedly. Sure, I could also find potentially even more freedom and go freelance, and build relationships that way, and sure - there's tons of people very happy working for massive companies, but right now, despite having one kid, and another on the way - I'm just not that type of person. I thrive on being able to go into work and find a new challenge every day, I thrive on trying on different roles, branching out into new things. Startups - especially ones where you trust those you work with, and those people support you and work with you are an excellent place to do these things.

For example - for some time now I've been leading the User Interface project for the product - we have an embedded web-based UI that allows for the management and administration of the device we sell (a data protection/storage device). Over two years ago, I was primarily focused on concurrency and parallel programming (fast is better) on a different team (this is when I was most active on multiprocessing) - now I'm writing a web application and a lot of middleware/management stuff on a device that has a much smaller amount of RAM and cores in most deployments. Before that, I was working on what is now called the HCP (Hitachi Content Platform) which is a ultra-large, highly scalable and distributed storage system (object store) which could be construed as a parent of the current cloud storage systems (it was originally built by Archivas).

Before that? I was doing work for Allaire/Macromedia on the ColdFusion and Flex teams.

You see, these startups, each in turn, has allowed me an amount of freedom to go places and learn things I don't think I would have otherwise had the opportunity to do. Sure, it's not all roses - there are hard times, layoffs, and sometimes outright failures. You know this (or you better know this) going into it.

I mention all this because as I was sitting here sipping my morning cup of coffee (only allowed one a day) - I was reading yet another visual design site and updating my list of books on my Amazon wish list and in looking at it, it struck me how much I, as a person and I, as an employee have changed due to the opportunities and challenges given to me. I get, on one hand, to learn UI/UX (and drool at the skills of someone like Idan Gazit). I get to think about distributed storage systems, CAP theorem, blocks versus files/objects, and the "cloud" every day - but then I get to sit down and work on images, CSS, user interface, experience and think about what analogies and abstractions work best for our users.

In less than two years, I went from "oh hai concurrency" to debating shades of blue and typography with Greg Newman. How awesome is that? That's not to say that the UI I'm leading/building/hacking on is a solo effort - it's not, we're a team, nor is to to say it's perfect (I'm still learning). It's just to show that a lot can change, and when you have a team you trust, management you trust and you work for a small, agile company you really can do just about anything. Our UI has clunky elements, and things we should clean up - but that is part of what's so great - I have the opportunity to do that. I can walk into my boss' office tomorrow and simply ask him "do you mind if I change X to Y, and here's why", and if it's a sound technical argument, about two minutes later I'll be doing it.

And that change will show up on every one of our customer and trial users boxes in pretty rapid succession. Did I mention I've also gotten to learn I enjoy writing a lot more than I thought I did before, and also - marketing is actually pretty damned interesting, and not such a filthy word as most hackers and programmers think (The joke is that I'm some sort of weird programming/marketing hybrid - not sure if it's an insult or not)? Yeah, I've gotten to do writing, UI/UX, learn web programming, and help out in marketing (and even sales and market strategy to a much lesser extent). It's a rocket sled flying through a forest of cool things to do and be a part of.

Interestingly, as an aside - this change of roles/changing of focus has also changed my focus and contributions in the Python Community - being part of the PSF Board, spinning up sprints/outreach, working on explaining what the PSF is, mentorship - taking on PyCon management - all of these things reflect a change in what my life is focused on, and it's pretty awesome.

Choose a job you love, and you will never have to work a day in your life. - Confucius

Find the right team - the team you trust, that knows what they're doing and where they're going (and that trusts you). Accept that you will probably fail - meaning, you will run out of money, or not get traction (and run out of money) but build that family, that team and have blast trying your best and just accepting all the new challenges and opportunities that come up. Find people who won't not challenge you - who won't ask you to adapt to new times and technology. Accept that you're no safer at MegaCorp because they literally only view you as a human resource and not as an individual.

Most of all - Find something you love doing, and do it with awesome people.

FWIW, here are some good design reads since I'm on the topic (feel free to mention ones you love):