December 30th, 2011 § § permalink
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.
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 ...
December 30th, 2011 § § permalink
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:

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:

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:

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.
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 ...
November 30th, 2011 § Comments Off § permalink
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.
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 ...
September 16th, 2011 § § permalink
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:

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:

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:
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 ...
July 28th, 2011 § § permalink
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.
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 ...
June 5th, 2011 § § permalink

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.

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.
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" ...
May 21st, 2011 § § permalink
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.
» Read the rest of this entry «
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 ...
May 1st, 2011 § § permalink
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.
» Read the rest of this entry «
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 ...
April 25th, 2011 § § permalink

For a 5 month update, check out: “The Standing Desk Experiment 5 Months in”
For about the past year or two, I’ve been working on improving my “state of being” for lack of a better term — focusing on more productivity, health, etc — I think everyone goes though this at one point or another. Various events of the past year — an incoming second kid, badly dislocating/injuring my knee and rehabilitating that, realizing that being an overweight, unhealthy geek probably wasn’t in my, or my families’ long term interest and seeing my little girl grow up faster than anything I’ve ever seen (see this excellent post by Merlin Mann — “Cranking”) has triggered me to make a series of changes, the most recent of which is directly interesting to a lot of you — I’ve switched over to a standing desk setup at work.
» Read the rest of this entry «
For a 5 month update, check out: "The Standing Desk Experiment 5 Months in"
For about the past year or two, I've been working on improving my "state of being" for lack of a better term - focusing on more productivity, health, etc - I think everyone goes though this at one point or another. ...
October 14th, 2010 § § permalink
The official announcement (well, the addition of a website for it) of Google’s goo.gl URL shortening service’s new website and features on the 11th got me thinking really hard about competition, and Google. Specifically — how do you compete against the biggest technological behemoth ever seen by man? Something I’m sure is on a lot of peoples’ minds at an increasing rate.
To be honest, many of these thoughts can probably be applied to many incumbents in the tech industry (including “enterprise” software/hardware giants), Google is an easy target for these thoughts though, because they are simply so bad at some of this. This is part rant, part thought experiment – it’s entirely possible I am entirely wrong.
What drove me to thinking about this (for well over a week) is a base terror I felt about the vague possibility of being in a market Google might whimsically enter at one point. Like, say I was bit.ly — and happily the most popular URL shortening and analytics firm with thousands of customers, millions of shortened links, etc, etc. How would I feel if Google coughed and suddenly entered an already tight (some would say artificial) market with all salvos aimed right at my business (bit.ly seems game)? Can an ecosystem of startups survive if Google pops into the room – can they still get VCs or Angel investors to listen and invest in them? (See also: whatifgoogledoesit.com).
It’s not that Google suddenly came out with a “better” thing then bit.ly — Google simply came out with something which “does the job” to the technical specifications they think are superior, sitting on Google’s nearly unbeatable infrastructure and then threw the weight of their brand behind it.
Does it have all the pretty analytics Bit.ly has? No. Does it have custom URLs? No. Does it need all of that? No, because it’s made by Google. The UI is perfectly functional, but nothing to write home to mom about. Millions of people will flock to the new service and happily use it because it is Google. Bit.ly could very well now be on life support, and will quickly run out of oxygen when/if Google ever decided to give preference to goo.gl within their sites and applications (see the security argument in the announcements – how long until the other shorteners are deemed “too insecure”?).
The very thought of this possibility happening on something I work on terrifies me. I’m pretty confident on the technical prowess of the teams I work with and of the products we make, but I’ll be damned if Google couldn’t wipe us out with a “product” with 25% of the features we have, simply because of who they are. Maybe we could scratch by – maybe we already have an established user base. Maybe Google would kill their implementation in a few months – who knows.
But Google has a flaw, several, in fact.
Competing with Google on a technological level is incredibly hard — it’s not impossible, just hard. They have more PHDs and engineers per square foot than just about anyone. I think that breathing the Googleplex air alone probably increases your IQ. I don’t know – I have some of the air on order. It’s easy for Google to build something fifty percent of the way and release it, therefore sucking the air out of the room. They don’t even need to “finish” it — the very fact they’ve made it and put it everywhere is enough to make a market dry up and users to flock to it. It will have enough functionality — and just enough — to get the job done (“perfectly functional, albeit Spartan”).
Google is good at raw functionality and utility. They solve a problem in normally the most efficient way possible, and Google is going to probably go down as the most successful technology company in history.
Where Google fails — time and again — is being human.
No one invites Vulcans from Star Trek to come and decorate cakes or entertain them at a party. No one accuses Vulcans of having “really good empathy and customer service skills”. No, people call Vulcans when they need to figure out a hard problem, or need some objective analysis. They don’t expect balloon animals and a Dora cake from them.
Google is a utility/commodity technology company (an exceedingly shrewd and powerful one) — but Android wins market share because it’s on more phones, not because the experience is better but simply because it’s everywhere – it’s on more and more phones every day. Plenty of the manufacturers who have adopted it spent millions designing UIs that sit on top of the default Android UI and make it “more friendly”. Every market they touch they fundamentally change the economics and expectations of.
Google has become top dog for a reason — their technology. It is really top notch and their search engine and adwords system changed the market (for the better), but it all shares the cold robotic embrace of the other Google products. Their technical skills are beyond reproach, but they still lose in many cases against smaller, “richer” applications and sites because they fail at being human.
Experience Matters.
To Google; you are a statistical note — something to be tracked, categorized and profiled. Why? Not though malice or ill intent — not even slightly — rather, it is how they aim their real business at you: Advertising. Google is not malicious, nor is it evil. Google is the logical robot who will tell you you’ve got cancer while asking for the time and not even blink. They continue interesting projects which could change humanity – but with the bedside manner of a toaster (note though — the cold, calculating nature of the projects doesn’t diminish the value).
When a competing company’s users are statistics: show those statistics love and a human face and they will follow you to the ends of the earth. Incite passion – give them a relationship. A wise man once told me “the only way you can succeed against an entrenched player is by loving your users to death”.
Love your customers — say you make a code hosting service — it’s hard to beat free (as is Google Code) and it’s hard to beat the fact that, yeah, they have all the basic features a code host should have — but you compete where Google can’t. You beat them in the User Interface department — you beat them with warm, inviting documentation and a well designed, inviting website. You beat them by hiring a support staff that actually answers emails and picks up the phone. (See also: “Google Gets a C– from the Better Business Bureau”)
You compete against them by not being a cold, Spartan feature robot. You make your thing usable, you make it pleasant. You make it so that users want to come back to you again and again because each time they do they don’t feel like they just got a hug from a Craftsman workbench. You make them feel like Mom just gave them a warm hug on a Christmas day every time they use your product. Not like making out with a socket set.
But, you say, Google can make a UI, right? Not quite — Google Wave may have been the best thing in the history of earth: but no one except a few people could figure out how to really use it. Technologically, it was awesome, usability? Not so much. It was a bag of technically accurate features – but not a human interface. It was a “social network” put together by Vulcans.
The biggest thing, in my opinion, that Google has brought to the human side of the technological table is that it has helped in recent years by bringing back a wave of minimalism, simplicity of interface and speed to web application design as a whole. In the right hands, minimalism and simplicity are powerful tools. When they’re not in the right hands — well, hugs from a Craftsman bench.
So — in order to compete with Google, you attack them on design – on engagement. You make your social features and good customer service into the barbs of loyalty. You pick up that phone and let them know there’s someone else at the end of the line willing to hear them out at 3am when everything goes to hell and they’re all alone. Even if that customer is crazy, you show them the respect they deserve as people.
Get vocal, passionate users and build a loyal community — that alone will help you succeed against Google. Make sure your customers know you love them, know that you support them and want them to succeed. Don’t just enable them to do something, enable them to connect.
Build a brand against Google. Don’t be content with doing something — make sure you’re not just “the guys that did that thing” — or “those guys who came out with that thing”. Make your name synonymous with that thing. Make it so that the first thing people think of when considering that thing is you.
Make it so that Google could come out with — say a video sharing site — tomorrow, and while it could be the best, most distributed video thing ever (the better technological choice) make it so that your users are so fiercely loyal that Google has to buy you and extinguish the flames of the passion you’ve incited just to get the announcement for their new thing two minutes of air time.
You can only do these things — building a brand — and building a “cult” by doing the things Google — given its robotic failings — cannot do. Love your users, infect them with your passion — not just your technical prowess or ability to scale or release new web codecs, or give them the right search results, or giving away source – infect them with your passion for what you do. Support them, respond to them — even if you’re giving it away for free — after all, nothing is free.
Passion, compassion — connecting with other humans, people are always looking for a place that accepts them and makes them feel welcome. They want to get real support instead of emails that get sent to unknown voids and are never answered. Making things warm, inviting both in language and in the feel.
Just remember — Google is a fantastic, nearly unbeatable technical powerhouse. You’ve got to be fast, high quality and better where it counts the most.
“What about Don’t Be Evil?”, you say. Again, this is not an accusation of Google being evil – they’re not. They’re being coldly logical in the way humans dealing with other humans aren’t. When Eric Schmidt, the CEO, stands up on stage and talks about privacy being dead in the age we live in (the age of Facebook, and Twitter), or the refuge for criminals – he’s not “being evil”. He’s representing the coldly logical, algorithm based view of a search engine, and advertisement company. (Check out duckduckgo.com)
In the age of blogs, Facebook, Twitter, MySpace and online medical records and a million other things, the logical extension is that, yes – privacy will be dead in a matter of years. Look at the train wreck the buzz rollout was – they shipped with the logical, auto-following and auto-public settings and features.
However, nuking years of email or delisting someone’s website with no human recourse is evil, and therefore, can be used as a competitive advantage against them. Be more private, be available to your customers. I know it’s expensive – but it’s how you can win. First mover advantage counts for a lot, but it doesn’t count for anything if you fail your community and users.
I use lots — and I do mean lots — of Google projects. I live in the lap of Google luxury as they give me free things that have “enough” features to sate my needs and requirements. They’re pretty enough — sort of like my code editor. I’m not passionate about them, they’re functional utilities (albeit incredibly useful ones) — and at this point I’d probably been inoperable without a few of them. Google is a verb — JGI (Just Google it) leaves my mouth an innumerable number of times through the day. I have lots of friends who work at Google. Google has released an amazing amount of open source software, and continue to work on changing the face of the Internet, and society as a whole.
But would I say their UIs are beautiful? No. Would I ever be convinced that sending an email about my account being broken or disabled to Google’s support line would be met with anything but metallic robot silence? Do I think pleas to relist my website in their index or reinstate an adwords account would be any more effective then yelling at my garbage disposal? No.
No, none of these are true. Github (despite it being git) and bitbucket are the better UIs for code hosting — WordPress and others are better hosted blogging systems then Blogger, and so on, and so on. These services probably don’t scale as well, or they can’t calculate the velocity of an unladen swallow if you hit control-m-x-y-*, but they compete with Google where it counts.
Compete with Google where it hurts the most: Being Human.
The official announcement (well, the addition of a website for it) of Google's goo.gl URL shortening service’s new website and features on the 11th got me thinking really hard about competition, and Google. Specifically - how do you compete against the biggest technological behemoth ever seen by man? Something I’m sure is on a ...