Jesse Noller

python, pycon, programming and other things

The Great Redesign


What fol­lows is an edited-for-my-blog ver­sion of the blog post I wrote for the Python Soft­ware Foun­da­tion. I have main­tained some of the struc­ture and form but added my per­sonal thoughts along the way.

It is with great pride that on behalf of the Python Soft­ware Foun­da­tion and the com­mu­nity as a whole, I am please to announce that the offi­cial web­site, sub­sites and back end archi­tec­ture are get­ting a total makeover.

To me, per­son­ally — this has been a long labor of love. I became a PSF mem­ber in 2009, a direc­tor of the foun­da­tion in 2010 — it’s been a long ride for me. Not as long as many oth­ers, but four, almost five years means a lot of change and a lot of plans, some com­ing to fruition, oth­ers lying in dormancy.

The com­plete and total over­haul of the front end, IA/UX/UI and the back end — mov­ing to a mod­ern and user friendly con­tent edit­ing and addi­tion sys­tem, etc has been some­thing I have pri­vately been work­ing on since early 2009 — actu­ally, before I became a PSF mem­ber proper.

I have emails dated back to early 2009 conspiring/planning on the over­haul of the site. My sin­cere per­sonal wish has not just to make some­thing new and shiny. It has been to give Python, a lan­guage and com­mu­nity I love a whole new pres­ence. The abil­ity to make por­tals ded­i­cated to the foun­da­tion, edu­ca­tion, core devel­op­ment and more. The abil­ity to eas­ily and rapidly add new con­tent or update the style to fit with the times and chang­ing world around us.

This has been a project for me going on 5 years — for me, it’s as old as my old­est daugh­ter Abby. And it is with great humil­ity, pride and hap­pi­ness I get to announce that this plan is finally com­ing to fruition.


Python has grown sig­nif­i­cantly in the last decade, both in terms of audi­ence and the amount of infor­ma­tion about it. This abun­dance of infor­ma­tion has out­grown the cur­rent website’s tax­on­omy and fun­da­men­tal design. You can see the growth of the site over time — for exam­ple 1997 19992006, and 2011. You can see the growth of focus, audi­ence and infor­ma­tion reflected in what was added, how it expanded. Since the last major update, not much has changed though.

When I sat and looked at this with my fresh, naive set of eyes, already inspired by the com­mu­nity and the lan­guage, I knew that more could — should — be done to show­case the wealth we have to offer. Edu­ca­tion, the Foun­da­tion, every­thing. We could show­case the com­mu­nity user groups, con­fer­ences from EuroPy­thon, to PyCon, to PyArkansas, PyTexas and more. 

The key goal of the redesign project is to update Python’s offi­cial web pres­ence with an eye to bet­ter orga­niz­ing the infor­ma­tion we have today (and expect to add in the future).

The end result should help our audi­ence find the infor­ma­tion they need, whether it’s offi­cial infor­ma­tion like down­loads and doc­u­men­ta­tion, or resources from our vibrant community.

That’s my speak for what I out­lined above — not to men­tion the fact we know how to tai­lor infor­ma­tion to spe­cific types of uses — see the audi­ences sec­tion of the RFP - Python is over 22 years old now, and some peo­ple might think that it’s just get­ting old. I see it com­pletely dif­fer­ent. I pro­gram in Python because I enjoy it. It’s what made me want to be a pro­gram­mer. Now, with projects like the Rasp­berry Pi, and more and more Python in edu­ca­tion, we can inspire a whole new gen­er­a­tion with some­thing clean, approach­able and vibrant.

Although the cur­rent imple­men­ta­tion of the Python web site has served its pur­pose over the years, the time has come for the site to progress and com­ple­ment the growth and matu­rity of the lan­guage itself as well as the vibrancy of the community.

The back end has not aged well — though there is some­thing be said about what-was-old-is-new-again — I think it’s one of the first code bases I remem­ber doing just reg­u­lar old <input> to <sta­tic html> - go, take a look for your­self. If look­ing through that you’re not slightly daunted at the prospect of adding sites, con­tent, etc to it, you’re a bet­ter man than I. And many bet­ter peo­ple have spent thou­sands of man hours doing just that to keep what infor­ma­tion is there alive.

There’s a lot we — I — want to achieve

  • Mod­ern design and experience
  • Con­cise and intu­itive navigation
  • Show­case the sim­plic­ity and ele­gance of the language
  • Attract and con­vert poten­tial Python users and Python Soft­ware Foun­da­tion sponsors
  • Rep­re­sent our vibrant, active community
  • Make it easy for a wide range of con­trib­u­tors to add content
  • Enhance the vis­i­bil­ity of the PSF and its sponsors
  • Pro­vide exam­ples of suc­cess stories
  • Enhance the vis­i­bil­ity of alter­nate implementations
  • Sta­ble and scal­able infrastructure

The redesign involves some tall tasks. From the fresh and mod­ern UI/UX to the online and offline con­tent edit­ing fea­tures, no aspect of the project is to be taken lightly, or even incre­men­tally. Such approaches have stalled and ulti­mately failed in the past, and rapidly out­strip the free time our com­mu­nity of vol­un­teers can ded­i­cate to the project.

See my intro­duc­tion — I’ve been involved in at least 6 skunkworks efforts to redesign the site and its back end. I went so far as to reg­is­ter and oth­ers in an intent to fork it due to the con­stant uphill bat­tle it became. Time and time again I would get friends to join me on my wild cru­sade and we would crash into the rocks on the shore of stop energy. Time and time again I would see peo­ple lose what free time they had fight­ing and dis­cussing and debat­ing rather than creating.

I could not, in good con­science do that, or ask that of any­one again. Hence, the RFP, hence, get­ting the board to accept the RFP for pub­lish­ing pub­licly stat­ing “we will do this” and even­tu­ally push­ing through to a vote of approval.

The Process

This is a process that started over two years ago with the start­ing of the of the Request For pro­pos­als. This year we issued it pub­licly, and since that time the psf-redesign team includ­ing Nick Cogh­lan, Doug Hell­mann, Idan Gazit, Steve Holden, Brian Curtin, Andrew Kuch­ling, Issac Kelly, Katie Cun­ning­ham, Noah Kantrowitz and others.

I can not thank the team and the board enough — every­one has put in count­less hours of thank­less work to help me scratch and itch thats been both­er­ing me per­son­ally for 5 years. I can not say thank you enough to all those who helped me or sup­ported me in the past skunkworks projects that died in utero. 

This was a her­culean effort — and we’re still not done.

The team received seven bids in total — all of them which included strong points and com­pelling sto­ries. The team delib­er­ated, ranked, dis­cussed, and asked ques­tions of the bid­ders, work­ing through the bids for sev­eral months. We were con­stantly impressed by the high qual­ity, well thought out, pro­fes­sional work that the com­mu­nity mem­bers sub­mit­ted to us.

After the review period came to a close, we had a sin­gle bid which ranked higher than any of the oth­ers, based on expe­ri­ence, ref­er­ences, and over­all qual­ity of the pro­posal. They’ll be work­ing with the sec­ond high­est rated bid, which con­tained UI/UX and IA that absolutely floored the reviewers.

The first bid, sub­mit­ted by a joint effort between Project Evo­lu­tion and Rev­o­lu­tion Sys­tems, was the over­all high­est ranked bid. The team was unan­i­mous in our rec­om­men­da­tion to pro­ceed for­ward with this bid based on the cre­den­tials of the team, qual­ity of the pro­posal, and their deep under­stand­ing of how to work with vol­un­teer orga­ni­za­tions, over­sight and the com­mu­nity as a whole.

This bid pro­vides a clear project man­age­ment and account­abil­ity sys­tem as well as detail­ing how they wish to work with the com­mu­nity as a whole to achieve the project goals.

You might know of Revsys for exam­ple — Frank Wiles and Jacob Kaplan-Moss ring any bells? These guys know what they’re doing when it comes to the back end archi­tec­ture. Seth, and the crew from Project Evo­lu­tion have been equally impres­sive in their front end work, work­ing with the team and being under­stand­ing with us all along the way.

Sec­ond, we had the team bid. The IA/UX/UI work which they poured over 120 hours into as a com­pany impressed us a great deal. We were quite lit­er­ally floored by the amount of thought, plan­ning, and work invested in the visual and IA aspects of the Divio bid.

Divio’s pro­posal blew me away - the amount of work they put into rethink­ing the IA/UX/UI and con­sid­er­a­tion for audi­ences and so much more in a pro­posal stunned me. With­out the team to keep me hon­est and pegged to the floor, I would have danced away. 

Together with Project Evo­lu­tion and Rev­o­lu­tion Sys­tems lead­ing the project, and the stel­lar Divio team con­sult­ing on the visual/IA aspects of the project the redesign team and the board is sure that we will be able to deliver a next gen­er­a­tion expe­ri­ence and archi­tec­ture that will achieve all of the goals we set for­ward when we went down the path of draft­ing the redesign RFP.

On Sep­tem­ber 26th, the Python Soft­ware Foun­da­tion board of direc­tors unan­i­mously approved the com­bined bids:

RESOLVED, that the Python Soft­ware Foun­da­tion accept the site redesign pro­posal set forth by Project Evo­lu­tion / Rev­o­lu­tion Sys­tems and Divio with a bud­get not to exceed $70,000 in total with­out fur­ther board approval.

Overview of the Accepted Bids

The redesign project will com­pleted by the three teams, Project Evo­lu­tion, RevSys, and Divio, with a divi­sion of labor using the best aspects of each team. The project plan and the back end will be han­dled by mem­bers of Project Evo­lu­tion and RevSys. Mem­bers of Project Evo­lu­tion will han­dle the front end work, incor­po­rat­ing the guid­ance of the Divio team.

The accepted bids from the three enti­ties can be found below:

Project Evo­lu­tion

Project Evo­lu­tion (PE) is a design dri­ven devel­op­ment team founded in 1999 with clients rang­ing from school dis­tricts to For­tune 1000 fash­ion con­glom­er­ates with inter­na­tional hold­ings. The 12-person team includes cre­ative leads, front-end and back-end devel­op­ers and asso­ci­ated sup­port staff all com­mit­ted to open-source technology.

Rev­o­lu­tion Systems

Rev­o­lu­tion Sys­tems, LLC., based in Lawrence, Kansas, was formed in 2002 by Frank Wiles to help busi­nesses ben­e­fit from open source soft­ware. While many large orga– niza­tions use open source soft­ware inter­nally (some­times with­out their knowl­edge), he real­ized that many orga­ni­za­tions did not know how to prop­erly take advan­tage of this rev­o­lu­tion­ary type of software.


Divio, a web agency located in Zürich, builds web appli­ca­tions and is spe­cialised in the areas of design and devel­op­ment. For the pro­duc­tion Divio uses the mod­ern Webframe­work Django and is heav­ily involved in the devel­op­ment of the suc­cess­ful open source projects django CMS and django SHOP.

The com­pany relies on the agile SCRUM-methodology for its projects.

Screen­shots, Maybe?

Since I can cheat a lit­tle — here’s a bevy of screen crops/captures to expand on the next gen­er­a­tion site we can look for­ward to:

Docs intro

Oh, what will it look like on mobile?


Psf homepage

Super nav

Screen Shot 2012 11 27 at 10 09 00 PM


There’s a lot more com­ing, obvi­ously — we’ve just approved run­ning with the color scheme and mocks we’ve got­ten, and haven’t started the next round of feed­back. The back end is pro­gress­ing — and man, do we have sur­prises there (with any luck). A full online CMS for peo­ple, plus an HG backed offline edit­ing sys­tem with auto­matic updates to the site?

Heck. Yeah.

In Clos­ing

I am sin­cerely proud, as both a Python Com­mu­nity mem­ber, and PSF direc­tor to have been part of this process. The entire review team, every sin­gle sub­mit­ted bid and the Foundation’s board works tire­lessly for a great deal of time pulling together what is already turn­ing out to be an impres­sive and sur­pris­ing redesign. I’m sin­cerely proud to be work­ing with this team.

This has been a long time in com­ing — but maybe 5 years isn’t a lot in the grand scheme of things. Maybe it’s just been me obsess­ing about this one thing for so long that’s col­ored my vision and made me gig­gle like a lit­tle kid every time I see new mocks, or know that we’re funded by the PSF and this thing is really hap­pen­ing.

By con­trast, PyCon is almost sec­ond nature to me now — it’s a ton of work, and I’m pour­ing more of myself into 2013 than I have any pre­vi­ous year, but see­ing that come together like a well oiled machine, and then this dream of mine com­ing to fruition (it’s one of a few … I’ve got some other big plans) is like Christ­mas day for the com­mu­nity mem­ber in me.

 So thank you — thank you to every­one that’s mak­ing this hap­pen. You’re mak­ing a lot of peo­ple very happy, and very proud. 

We’ve got a bright future. Let’s show it off.


Rest In Peace: John Hunter, matplotlib author, father has passed away.

I was extremely sad in hear­ing about this this morn­ing — John Hunter, author of mat­plotlib and tire­less open source/Python com­mu­nity con­trib­u­tor has passed away after an intense and short bat­tle with can­cer. He is sur­vived by wife and three daughters.

John hunter crop 2

Many of us — both pro­fes­sion­ally and per­son­ally have ben­e­fited from John’s work in the open source and Python com­mu­nity. Just a few weeks ago he deliv­ered a keynote at the SciPy 2012 con­fer­ence, shortly upon his return from that he was diag­nosed with advanced colon can­cer and passed away from treat­ment complications.

It is, in fact, a sad day for all of us in the com­mu­nity — but most of all, a ter­ri­ble day for his family. 

Fer­nando Perez has posted a heart­felt and detailed post on John and his con­tri­bu­tions — Gael Varo­quaux has also posted a mov­ing state­ment on John’s con­tri­bu­tions, quoting:

A man who gave a lot, not ask­ing for any­thing in return


Many have ben­e­fited from the silent efforts of John, and are not fully aware of how he gen­er­ously invested his time and tal­ent for the ben­e­fit of oth­ers. Mat­plotlib, the Python plot­ting library that he cre­ated in 2002, has pro­pelled Python as a major tool for sci­en­tific research and engi­neer­ing. The impact of John’s efforts go well beyond Matplotlib.

And quot­ing Travis Oliphant from the memo­r­ial web­page:

Those who con­tribute much to open source, as John did, do so at the expense of some­thing — often it is time with family.

I can not add any­thing beyond that this is a ter­ri­bly sad day for many. 

Please con­sider donat­ing to his memo­r­ial fund put together by the Num­fo­cus group - All dona­tions will be sent to a fund that will be estab­lished for the care and edu­ca­tion of Clara, Ava, and Rahel. I encour­age com­pa­nies who have ben­e­fited from his works to do the same.

As a par­ent, and a Python pro­gram­mer, I have no words except to pass my con­do­lences on to his fam­ily and friends. I was never lucky enough to meet John except through his works, but I con­sider him a friend nonetheless.

Stompy: The Giant, Rideable Walking Robot

Meet Stompy — an open-source 18ft wide, 4000 pound 6 legged robot…

You can ride.

This is pretty cool — the team - Project Hexa­pod - is located in Somerville MA, just up the road from me. Now, you’re like “oh that’s cool, but what the heck does it have to do with me — or Python? Quot­ing James Whong, one of the project leads:

We use python exten­sively — almost exclu­sively — on this project.  We decided to put as much of the code­base as we could get away with in Python to lower the bar­ri­ers to con­tri­bu­tion among our stu­dents, many of whom are not pro­gram­mers pro­fes­sion­ally.  We see Python as one of the big enablers of our aggres­sive time­line and col­lab­o­ra­tive devel­op­ment process.

I’ve said it before — and I’ll say it again — Python can scale down to the low­est level — kids, stu­dents, peo­ple just learn­ing to pro­gram and up to large scale dis­trib­uted sys­tems, web­sites, etc. Projects like Stompy — and the Rasp­berry Pi project bring together the world of soft­ware and hard­ware in ways that can inspire and invigorate.

Python really is every­where — it can lower bar­ri­ers for peo­ple to enter into the world of pro­gram­ming (and robot­ics) in ways that are becom­ing more and more apparent. 

If I had the cash I’d feed that kick­starter like a boss and get the lovely Python logo on a leg that gets imprinted on the ground at every step. 

Heck yeah. Robots! Redesign Proposals: Due in 7 days.

I hope you didn’t miss all the posts, but if you did, the Python Soft­ware Foun­da­tion opened a Request For Pro­pos­als for the com­plete over­haul and redesign of a lit­tle while ago. The dead­line for pro­pos­als is July 21st 11:59pm - that means you have 7 days left to sub­mit proposals/bids.

If your team/organization is plan­ning on sub­mit­ting a pro­posal; and might need a lit­tle time, it would be good to let the us know that ASAP — you can send email to or the team at

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

It doesn’t mat­ter what “com­mu­nity” he is part of, nor who he is. He’s a hacker, a father of two beau­ti­ful girls and a hus­band. He’s being robbed of his life, and his daugh­ters robbed of their father.

What mat­ters is we can help. All of us — some of us (me) have been lucky enough to get help and sup­port when we needed it most from peo­ple we didn’t expect it from. To this day, I can’t think about that with­out tears com­ing to my eyes. I can not imag­ine his pain — and I can not put myself in his shoes — it is place I dare not go.

We can help him; we can help his fam­ily. Even if only a lit­tle, and even though we know what the future will hold.

Read what he has writ­ten; help him if you can and are able.

Even if you can not help him finan­cially; help him with words: Some­times words are all we can pass on, but they’re pow­er­ful and they mean more than you could pos­si­bly imag­ine. When you’re in a dark and hope­less place, kind words and wishes of hope can mean the dif­fer­ence between retain­ing hope and san­ity and giv­ing up. Redesign Request For Proposals

Well, it’s offi­cial — a labor of love from myself and many oth­ers — with spe­cial thanks to Andrew Kuch­ling for get­ting it over the fin­ish line. The Python Soft­ware Foun­da­tion has offi­cially announced a call for pro­pos­als for the redesign of the site and properties.

You can see the RFP here:

It’s taken me sev­eral years of false starts, other attempts (includ­ing skunkworks attempts), polit­i­cal and social dis­cus­sions, and the hard work of many to make this come to fruition. Now, we can only sit back and hope that we see some amaz­ing pro­pos­als from the com­mu­nity and others.

I sin­cerely hope this will be suc­cess­ful, and that we will see a mod­ern, well designed that show­cases not only the lan­guage, but the vibrant, open, wel­com­ing and active com­mu­nity we are all part of. 

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

IMG 0239

A let­ter to my love, my friend, my wife and my part­ner — Dusty:

I know it’s the day before Valen­tines — some things can’t wait just for a day.

Ten years — that’s how long we’ve been with one another. Ten years feels like a life­time — so much has changed — our lives altered in sub­tle — and not so sub­tle ways by the gen­tle cur­rents of each other. In the time I’ve known you, we have both changed for the bet­ter — we com­pli­ment and act as one another’s con­fi­dant, friend, part­ner and lovers.

The most pow­er­ful symp­tom of love is a ten­der­ness which becomes at times almost insup­port­able.” — Vic­tor Hugo


Wedding 451 copy

We’ve been through our times of trial — lit­tle things like acci­den­tally rent­ing an apart­ment in a war zone (my bad!) — and much big­ger things from health, to finances, to not know what we were doing or where we were going. We both know that this past year has been prob­a­bly the one most filled with tri­als and tribulations.

We’ve sat across from one another not know­ing what we were going to do, we’ve held each oth­ers hands watch­ing our infant daugh­ter lay­ing in a hos­pi­tal bed — I’ve held your hand at your bed­side in watch­ing your pain and not know­ing what to do about it, except to sit there and watch your pain. We’ve been through a lot in ten years.

Despite the tri­als — we have made each other stronger. You have changed who I am in such fun­da­men­tal and sub­tle ways, that I attribute much of who I am now, to you. You have made me hap­pier, stronger, more empa­thetic — you have also given me the cher­ished gift of your love, your tears and sup­port in my times of pain.

You have given me more than just your love; you gave me our first daugh­ter Abby — who might as well be a tiny clone of myself in female form (god help us all), who despite her will­ful­ness and strong per­son­al­ity makes my heart jump each time I hear her laugh, each time she runs to me and hugs me and tell me she loves me.

IMG 3690

Abby is almost five! Five years old! All par­ents gush about how smart their chil­dren are — but we both know there’s some­thing spe­cial and unique about her. There’s more to her than a pushy 4.5 year old, there’s some­thing mag­i­cal about her that we both see. I can not ver­bal­ize or put to words my thanks to you for her. She’s a gift you’ve given to me.

Then there is Addi­son, our bub­bling eight month old. What can I say about some­one who greats me with a smile and a laugh whether it’s five in the morn­ing, or me just com­ing home from a hard day at work?

Addi­son is more than a gift; she’s a bless­ing — the past year shows that even in our dark­est hours, sit­ting there in a hos­pi­tal not know­ing what will hap­pen, some­thing watches over us. Addison’s hap­pi­ness and flour­ish­ing is not just due to doc­tors, or ther­a­pists — it’s directly tied to the amaz­ing love and care you pro­vide to her.

Every time I look at Addi­son, I see an exten­sion of you — your smile, your hap­pi­ness (and when she gig­gles when she rams me with her walker, your sense of humor). Addi­son is again, a gift and bless­ing you’ve given me.

IMG 4457

You’ve given me so much; you’ve changed me so much. You’ve made me look out­side of myself and think of oth­ers — you, our daugh­ters, you’ve dri­ven me to try to change the world and help as many peo­ple as I can. You’ve dri­ven me to be bet­ter — a bet­ter man, a bet­ter hus­band, father and human.

Times change — peo­ple change. We have our hard times — we have those times when we both want to go lock our­selves in the bath­room just to get a moment of quiet. We have times when we just don’t know what will come, and times when we wish what had came had not. We have per­se­vered over the hard times we’ve faced until now, and those hard times we face now, we face together, as one.

You are beau­ti­ful — you always have been, you are strong — you are hon­est and crit­i­cal. I might say half-jokingly that you’re my bet­ter half some times — but you really and truly are (You are also bet­ter look­ing than me!).

Wedding 144

You, and the gifts have given me — our daugh­ters, have given me more than a rea­son to just keep work­ing, just to keep mov­ing from day to day. You’ve given me a rea­son to truly live, to truly push myself beyond any­thing I could have imag­ined eleven years ago. You’ve given me a place and arms to cry in, to laugh in, and to grow in. You’ve given me a view of life, of liv­ing, of lov­ing I never dreamed of having.

I know that once again we face hard times. I thought that per­haps this year might be a lit­tle eas­ier on us — but so far, we both know it isn’t, and there are prob­a­bly harder times com­ing for us. I am sorry that I can not always give to you all the things you so richly deserve — I’d give you any­thing, I’d buy you any­thing if I could. I am sorry I don’t have any­thing I can give you today other than my words — darn those hard times!

My gift to you is this — my expres­sion of how much I truly value you, cher­ish you and how grate­ful I am — in spite of all the hard times — the good times, the mem­o­ries, our daugh­ters and most impor­tantly our love. I am but a bro­ken man, but with you I am whole.

Thank you for being who you are.

Thank you for being with me.

Thank you for lov­ing me.

Thank you for let­ting me love you in return.


p.s. Churchill loves you too:

IMG 4461

PSF Grants, and some additional color

Doug Hell­mann and Mike Driscoll put up an excel­lent post on the Python Soft­ware Foun­da­tion blog about most of the grant-type work that the foun­da­tion per­formed over the 2011 year. To add some color to it — reviews and dis­cus­sions about grants and award­ing this com­prises quite a bit of the board-level work that goes on (exclud­ing indi­vid­ual committees).

You can see from the post quite a bit of the cap­i­tal spent goes to sup­port other con­fer­ences — as I’ve stated before, money that comes into the foun­da­tion in the forms of dona­tions and PyCon “rev­enue” goes back into the sys­tem to be issued out to things like this.

This is why I am so hot to encour­age grants around Port­ing to Python 3 — I think that the PSF can, in the next year, increase grant work for con­fer­ence and out­reach as well as devel­oper work (such as port­ing libraries and other projects). None of these things should be solely focused on CPython alone — PyPy, Jython, etc should all be recip­i­ents of grants.

And therein lies the rub.

The PSF does not “go look­ing” for places to issue grants — the PyPy grant at PyCon 2011 was a bit of an aber­ra­tion in that I pro­posed it to the board directly.

We need appli­ca­tions from the com­mu­nity! We can do things such as cover meetup fees for user groups, or help fund con­fer­ences, or devel­op­ment work. Jes­sica McKel­lar, I and oth­ers recently revamped the PSF grants page to hope­fully pro­vide a bet­ter out­line of how grants work.

If you have more ques­tions — feel free to ask me here or via email — the PSF’s mis­sion is hap­pily broad, and we’re here to serve and rep­re­sent the com­mu­nity as best we can. But we do need to hear from you!



2011 In Review: The Python Portion

As I said in my post this morn­ing — “2011 in Review: The Per­sonal Por­tion” — it’s that time where we’re all tak­ing stock and reflect­ing back on 2011.

In this post’s case, I’m tak­ing stock of the things that changed for me — things that stick out in my mind and projects I’ve either started, floun­dered or run com­pletely into ground.

Design and Expe­ri­ence Matter

Per­haps the biggest shift for me in Python-as-a-whole is a move­ment more towards the social / man­age­ment aspects. I’m a Python Soft­ware Foun­da­tion board mem­ber, so obvi­ously me need­ing to take a “big­ger view” isn’t that sur­pris­ing. What has been sur­pris­ing to me is that every­where 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 com­mu­nity I’m lucky to be part of for any­thing, as I’ve said more elo­quently before. How­ever, only a fool believes that any­thing is per­fect, and only the insane only focus on the flaws.

Tak­ing a step back, I’ve seen more and more things that I think we can do a bet­ter job at, and these real­iza­tions all revolve around my con­tin­ued “tran­si­tion” from more back-end to more front-end design and cod­ing. As I’ve become more focused on the users/community and those who are new, I’ve grown to inter­nal­ize the fact that design and expe­ri­ence mat­ter not only in code, and in a GUI, but they mat­ter to a com­mu­nity and lan­guage as a whole.

I’ve spent the bet­ter part of this past year focused on issues around this — encour­ag­ing peo­ple to get involved in the “softer” side of things — help­ing out with doc­u­men­ta­tion, men­tor­ship and edu­ca­tion, try­ing to get peo­ple to think more about one another and those just get­ting started and intro­duced to things.

I think that we as a com­mu­nity — and I mean every­one — from Django to Plone, from Twisted to Tor­nado, from PyPy to cPython can take a look at the “more human” aspects and find things to improve. Some­times it requires fresh eyes to show you what’s bro­ken — peo­ple who do code reviews reg­u­larly know this.

For an exam­ple, look at Ken­neth Reitz’ Requests mod­ule — billed as “HTTP for Humans” — this might be a per­fect exam­ple of the point I’m try­ing to get across. Built on top of “less friendly” libraries, it’s API is a joy to use. It’s sim­ple, it’s clear — the doc­u­men­ta­tion is well done and the entire project feels very wel­com­ing. Per­haps “Wel­com­ing” is the best word for what I’m look­ing for.

I get stuck in want­ing to fix “all the things” — and I can’t help but get mired down in the details of how we make every­thing more wel­com­ing and the expe­ri­ence bet­ter, how do we lower the bar­rier and reduce fric­tion. The result is that I’ve bro­ken my promises to myself and taken on more things than I can pos­si­bly hope to do justice.

How do we make things more wel­com­ing, how do we help the new peo­ple, how do we help those of us grow­ing stuck in our ways to find and explore new things? How can we do this as a com­mu­nity to lift us all up? What I think we need is a series of small, pos­i­tive changes. Lit­tle things like, say:

  • User friendly READMEs and Doc­u­men­ta­tion. Yes — I said friendly — don’t assume your users are mag­i­cal super smart engi­neers and users. While the arti­cle is more web focused, I enjoyed “The Myth of the Sophis­ti­cated User” — please don’t assume peo­ple are run­ning bleed­ing edge ver­sion of every­thing, and please don’t assume every­one knows 20 years of Python pack­age development.
  • Men­tor­ship! Set up some­thing within your project or team that is focused on men­tor­ing peo­ple to a point where that per­son is com­fort­able to be a con­trib­u­tor.
  • Stop the vit­riol. If you find your­self angry when you’re typ­ing that reply to a mail­ing list; walk away. If you see oth­ers being hos­tile or just flat out rude, call them out on it (pri­vately first, no rea­son to be a jerk). Aim to be polite and welcoming.
  • The next time you’re putting some­thing up on the web? Take a moment to think about or learn about mak­ing some­thing — yes — pretty and usable. Even if it’s some­thing sim­ple, take a moment to real­ize that you’re build­ing some­thing that may be your future user’s first expe­ri­ence with you. It may be as sim­ple as pick­ing up “Design for Hack­ers” (which I quite liked) or just going with some­thing with sane defaults — like twit­ter boot­strap.
  • Speak­ing of sane defaults — please be opin­ion­ated. When a new user wants to install some­thing, don’t give them the com­plete his­tory of pack­ag­ing, just gen­tly 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 devel­op­ment his­tory being dumped on some­one when a sim­ple pip install <blah> could work. The same goes for your soft­ware: Pick sane, ratio­nal defaults and abstract away as much as you can. Put exam­ples of usage before the API in documentation.
  • APIs and syn­tax mat­ter: your com­mu­ni­ca­tions chan­nels to your users are APIs and syn­tax just as much as your actual code and libraries.

Mov­ing on — I hate to say it this way; but think of the Users and tar­get audi­ence. Remem­ber, you — the per­son read­ing this — and I — are in a tiny minor­ity of the pop­u­la­tion where soft­ware (for the most part) isn’t magic, we under­stand his­tory and we’re very tol­er­ant of unfriendly things and fail­ures because that’s how we “grew up”.

Not every­one knows how to build an inter­preter; or a web frame­work — it doesn’t mean they still can’t contribute.

The Python Soft­ware Foundation

As most of you know — I am one of the direc­tors of the Python Soft­ware Foun­da­tion, and have been the past two years. 2011 was another year where the PSF got to do some pretty cool things. I’ve been stress­ing and push­ing more and more that the PSF has to be focused not just on the “IP” of Python, or just on cPython devel­op­ment — we have to take a larger view of the entire com­mu­nity — this means encour­ag­ing projects such as PyPy, out­reach work­shops, con­fer­ences, etc via grants and support.

You should really take a look at the Python Soft­ware Foundation’s blog — Doug Hell­mann, Brian Curtin and oth­ers have done their best to doc­u­ment and show­case what the PSF has been up to, and where we’re try­ing to help.

My pri­mary focus has been encour­ag­ing things such as the Out­reach and Edu­ca­tion com­mit­tee, and work­ing behind the scenes with a lot of peo­ple to improve the infra­struc­ture. More recently I’ve been work­ing on a project which should hope­fully become pub­lic soon — but is tied to my first point about Design and Expe­ri­ence and the PSF.

I want the PSF to grow in the good works it per­forms — more grants as we can afford it, get­ting bet­ter host­ing for things as needed, help­ing out projects like Read The Docs or help­ing push for­ward Python 3. The PSF is the Python Soft­ware Foun­da­tion — we need and should be sup­port­ing and help­ing every­thing 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 doc­u­ment­ing the PSF. Once again — the design and inter­face 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 guid­ance in 2011, it has con­tin­ued to make small dona­tions in places it mat­ters. In 2012, I’d like to see if I can spin back around and help it grow more and flour­ish, per­haps even be able to pro­vide more money where it’s needed. It’s growth has been slow — but that’s also due to us see­ing less sprints over­all it seems.

Started as a side project (yes. another one. sigh.) Get Python 3 is meant to serve as a pile of infor­ma­tion and resources about Python 3 — and as many of the aspects of Python 3 as pos­si­ble. Where to get fund­ing, how to port, what is ported. I’ve actu­ally got­ten some excel­lent help from oth­ers (see github) and I’m hop­ing to grow it more. I’ve got­ten pretty good feed­back on it — and I never turn down a patch!

Python (Core) Mentorship

Dri­ven from my expe­ri­ence with the first point about being wel­com­ing, I’ve done my best to spin up the Python Core Men­tor­ship group, a team / list focused on men­tor­ing new peo­ple into con­tribut­ing to core Python. To quote the home page:

The mis­sion of the Python Core Men­tor Pro­gram is to pro­vide an open and wel­com­ing place to con­nect stu­dents, pro­gram­mers – and any­one inter­ested in con­tribut­ing to the Python Core devel­op­ment. This project is based on the idea that the best way to wel­come new peo­ple into any project is a venue which con­nects them to a vari­ety of men­tors who can assist in guid­ing them through the con­tri­bu­tion process, includ­ing dis­cus­sions on lists such as python-dev, and python-ideas, the bug tracker, mer­cu­r­ial ques­tions, code reviews, etc.

While traf­fic is low, I think it has done it’s job — as with every­thing else on my list, I’d like to see growth — as it is, due to every­thing else on my plate, oth­ers 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 — peo­ple are already “tapped out” — myself included. More on resource con­tention later — and I should really do a poll and gauge the list for the rel­a­tive level of suc­cess they feel the group has engendered.

Python Speed Project

Another side-burner project is the 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 feed­ing results to (see the speed-python results), it has not taken off as much as I hoped. We have a beast of a machine (see my ini­tial announce­ment) — but we’ve hit the resource wall like every­thing else. Not enough peo­ple with enough time and the right skills.

The Ele­phant in the room: PyCon 2012

My sin­gle biggest project this year has been get­ting PyCon 2012 ready to fly — every­thing from get­ting the new web­site launched, the staff assem­bled, writ­ing a code of con­duct, and pro­vid­ing white-glove ser­vice and sup­port (and get­ting) our amaz­ing list of spon­sors.

I can’t really esti­mate 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 amaz­ing con­fer­ence. We have robots, we have amaz­ing talks, amaz­ing keynote and ple­nary speak­ers (Paul Gra­ham and Stormy Peters for starters). We have awe­some tuto­ri­als and even more to come.

PyCon rep­re­sents the sin­gle biggest “com­mu­nity act” that the Python Soft­ware Foun­da­tion per­forms — not only does the PSF fund PyCon, but it man­ages it, assumes the risk, etc. I wrote about it in detail in my post “Mak­ing the Case for Spon­sor­ship” and in the “Every­body Pays” post. I’m hop­ing to con­tinue to write up more and more of the details of the inner work­ings of PyCon, as I think it’s an impor­tant series of data points and lessons. Remem­ber — any funds “left” from PyCon go the PSF which allow the foun­da­tion to issue grants to other con­fer­ences, to devel­op­ers, groups and work­shops. It helps us help you.

PyCon 2012 is the thing I am most proud of; we have 80 spon­sors and part­ners (Such as Open­Hatch and PyLadies), we have a solid team of orga­niz­ers work­ing together to bring PyCon 2012 to fruition. We have a robust finan­cial aid pro­gram as is tra­di­tion. I can only hope that I have the tenac­ity and will to see it come together and be able to look at a sea of 1500 Python­istas — new and old in Santa Clara.

ps: You can reg­is­ter here. :)

Blood from a Stone

How do you get more time from peo­ple who are busy? Time and Time again, I’ve found myself ask­ing that ques­tion. Each one of the projects I’ve listed has hit the same issue over and over again. How do you get the vol­un­teers nec­es­sary to help? Heck, even my call for help with mul­ti­pro­cess­ing in August fell on a mostly flat note — prob­a­bly due to me.

I no longer feel “ok” ask­ing for help with new projects sim­ply due to the fact that I know every­one is busy — it’s insane of me to ask peo­ple to take their time away from their projects or fam­i­lies or jobs.

What that means how­ever is that I have com­pletely failed in the not-taking-on-new-things depart­ment — and I don’t see this chang­ing much with­out me flat out learn­ing to tell myself “no”. I believe in this com­mu­nity — I believe in the peo­ple, the friends I have, the lan­guage and every­thing involved. It’s not just another tool for me; it never has been. I’m still learn­ing, and mostly fail­ing (or flail­ing, depends on where I’m standing).

Fin­ish­ing this one off

Look­ing at the list I’ve typed out above, I sud­denly have the feel­ing that I didn’t actu­ally do much last year, I know thats wrong (a nasty look from my fam­ily mem­bers would eas­ily remind me of that). I have been able to help out where I can mak­ing things more friendly, more wel­com­ing and to reach out when and where I can to offer help, and support.

I’ve watched the com­mu­nity change in some dra­matic ways, I’ve looked on as PyPy has gained amaz­ing momen­tum, more and more ven­dors and com­pa­nies have come out with Python sup­port and stat­ing that they’re using Python (and are hir­ing). I’ve got­ten to work with PSF mem­bers, the board, and many, many oth­ers — all I can do is keep at it, and hope I do things justice.

2011 in review: The Personal Portion

Yup; it’s that time — every­one and their brother is doing a post look­ing back at 2011 and tak­ing stock of the good, the bad and the ugly. I’m no dif­fer­ent — 2011 was a year that largely rep­re­sented a mas­sive shift in my life’s tec­tonic plates.

I’ve decided to break this reflec­tion into two related parts — the more per­sonal stuff (this one) and the big-P Python stuff — both have seen shifts and changes worth not­ing, and both are inex­tri­ca­bly tied for me. I’ve inten­tion­ally skipped all of the Python** stuff (includ­ing PyCon) that I’ve been work­ing on — that’s going to come next.

Per­sonal Changes

In late 2010 I was play­ing paint­ball — some­thing which every­one should try at least once — it truly is a blast. How­ever, at the time I was grossly over­weight (280/285 lbs head­ing to 300) and run­ning around out­doors with 20+ lbs of equip­ment. It was a nor­mal Sun­day game when I piv­oted in the per­fectly wrong way — my foot had got­ten stuck in some tree roots and when I piv­oted, my right knee dis­lo­cated and I col­lapsed face-first into a pile of tree branches.

I did not real­ize that my knee has dis­lo­cated, just that my leg wasn’t work­ing. I slapped my knee, hard, bent it and got up and kept play­ing. The adren­a­line kept me going for sev­eral more hours while I con­tin­ued to play on a knee of ques­tion­able verac­ity. 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 can­taloupe and turned sev­eral ugly col­ors. I fig­ured I has injured it, and largely ignored it. Then the pain set in the next day.

Fast for­ward through many doc­tor appoint­ments, MRIs, and two more dis­lo­ca­tions — once get­ting my daugh­ter out of the bath­tub which required my wife to come in and put my knee back into place because I was busy cry­ing on the floor, and the sec­ond just get­ting out of bed. My knee, from that ini­tial dis­lo­ca­tion had become very weak. The doc­tor told me flat out that I needed phys­i­cal ther­apy and rehab, oth­er­wise surgery was going to be required.

He told me I needed to change things. Look­ing at myself in the mir­ror, I real­ized that some­thing had to be done — I was stressed, over­weight and my path was out of whack. I couldn’t deal with surgery with three year old and a now preg­nant wife. I got a cor­ti­sone shot and went up the street to the local Bikram Yoga stu­dio — 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 con­vert over night — the owner of the local stu­dio Bob is an amaz­ing man, friendly, kind — all of the instruc­tors helped me through learn­ing and grow­ing and push­ing through the pain, the heat and every­thing that comes with a grossly over­weight ex-smoker who was drink­ing 2+ pots of cof­fee a day jump­ing in head first. I quickly ramped to doing classes 3 times a week.

Addi­tion­ally, I com­pletely altered my diet — I’ve long dab­bled in low-carb/no-carb/ketogenic, but this time I jumped in no-holds barred. No sugar, I cut my cof­fee 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 peo­ple at PyCon 2011 didn’t rec­og­nize me. Good. Not good enough. Through­out 2011 I kept this up — drop­ping from an easy 280 lbs to 165 at my low­est. Later in the year I added weight lift­ing with cowork­ers at lunch — even later I started the couch to 5k pro­gram to start run­ning (even doing it the “bare­foot” way).

Now, as the year turns, I weigh a healthy 175 lbs — I’ve put on mus­cle mass, kept my flex­i­bil­ity, kept on my diet which has shifted into a more Paleo form than what it had been (mainly adding fruit back in, but still skip­ping carbs/gluten/sugar — I still mostly only eat meat and veg­eta­bles). I can now run for 30 min­utes with­out feel­ing like death and hit 4.2 miles. My knee still both­ers me some­times, but I’ve dodged surgery. I can now look at my daugh­ters 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, Decem­ber 2011:



Dur­ing 2011, I also switched to an all stand­ing desk setup (yup, despite the knee):

I’m happy to say that this con­tin­ues — thanks to an excel­lent gift from my wife, I even have a nice stand­ing 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 con­tinue to reap the ben­e­fits I out­lined in those posts.

I also started work­ing on my men­tal health, and focus. Try­ing to learn how to med­i­tate, work­ing on min­i­miz­ing dis­trac­tions and build­ing small improve­ments to my work­flow. Focus­ing on being open to change and crit­i­cism. Focus­ing on things I had ignored for a long time.

You can’t go and just fix your phys­i­cal self — you have to take care of the men­tal 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 improve­ments con­stantly — oth­er­wise it’s deadly sim­ple to fall back on old ways.

I did a post some time ago — “On Fam­ily, Crank­ing and Chang­ing” — I still read this once in awhile to remind myself where I need to go and what I need to accom­plish. I can’t lose sight.

Now for the hard part.


2011 also brought my fam­ily to the brink — and I mean that in the lit­eral sense. There was a time where my wife and I would look at each other hope­lessly, won­der­ing what we would do and how we would pull through. In June, we had our sec­ond daugh­ter Addi­son Joy. The preg­nancy was really rough and my cowork­ers and boss sup­ported me through the needed “dis­ap­pear­ing”. My wife spent a lot of time in the hos­pi­tal, and there were many times where we were wor­ried that things wouldn’t work out.

Luck­ily, my wife — and Addi­son, pulled through. I don’t know how they did it, and I sus­pect we’ve burnt a life­time of karma and luck in just a few months, but they both came through. Addi­son was born, and I once again new the joys and pains of hav­ing a new born daugh­ter. Through­out all of this, our old­est daugh­ter Abi­gail trooped on through — it was a lot to ask for a 3/4 year old, but she con­tin­u­ally amazed me. To look at her face and see how much she wor­ships and loves her mother — to see how she loves Addi­son — that’s to know some­thing you’ll never see any­where else.

Not every­thing was well — and we didn’t know it yet, but the worst storm was yet to come.

To quote my post — “Thank you — the impos­si­bil­ity of “It’s going to be OK”:

But, so, AJ was born — and at first, every­thing seemed to be fine. 10 fin­gers, 10 toes and poop­ing — that’s sort of what you hope for in a new­born. We took her home, she saw her pedi­a­tri­cian, and that was that.

Well, no. Around the time Addi­son was three weeks old (shortly before my first child’s birth­day) my wife Dusty started notic­ing that Addi­son was behav­ing erratically/oddly — and if you have any expe­ri­ence with infants, you’d know how hard it is to actu­ally deter­mine “odd” behav­ior. Almost every­thing they do is odd, down to tim­ing exactly the worst moment when to spit up on you (point of fact — it is after you’ve show­ered, and are walk­ing out the door).

In this case, the odd behav­ior my wife noticed was actu­ally a pat­tern — and that’s when you need to worry. You want con­sis­tency in cer­tain areas, you want to see con­tin­ual improve­ment, you want them to con­sis­tently eat, poop and sleep. How­ever, a pat­tern of odd move­ments tipped my wife (who is a fan­tas­tic ana­lyst) off that some­thing was not quite right.

What my wife found was that Addi­son for peri­ods of time any­where from 1–2 min­utes 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 some­one hit a power switch.

It’s still hard for me to read that post — it’s dif­fi­cult for me to com­mu­ni­cate the emo­tions — the fear, the out­right ter­ror of not know­ing what was wrong with our baby girl. More hos­pi­tals, more doc­tors. My new born daugh­ter with a hel­met of leads and elec­trodes com­ing off of her head. Sleep­ing in cots in hos­pi­tal rooms. My wife elo­quently wrote a series of posts:

Some­thing I say in that thank you post is some­thing that will stick in my mind for­ever. When my friends and peo­ple I barely knew in the Python com­mu­nity heard and saw what we were going through as a fam­ily, the sup­port we got was floor­ing. It still makes me tear up think­ing of all the cards, well wishes and other things — a lit­tle toy for Abi­gail, Doug Napoleone com­ing over to help me out with some­thing, every­thing that the Python com­mu­nity did for our fam­ily. It is, and was amaz­ing. I can never thank all of you enough for what you did for us, and how you helped us pull through.

The num­ber of emails I got from other par­ents in the com­mu­nity who suf­fered through things like this, the well wishes — I, I can’t even go into every­thing that hap­pened. Words can not express it. All I can say is that many times, my wife and I found our­selves in tears, cry­ing with one another because of some act or gift or email from some­one in the community.

In Octo­ber, I did a quick Google+ post, pro­vid­ing an update on how things had panned out — quot­ing that post:

Addison’s diag­no­sis — if you want to call it that — is Cere­bral Palsy — Hyper­to­nia ( This means that she does have a dis­or­der, but it’s not one treated with drugs — just phys­i­cal ther­apy and fre­quent check­ups. We have a nurse and a phys­i­cal ther­a­pist who come weekly and check on her thanks to early inter­ven­tion. She’s devel­op­ing well — she’s eat­ing baby food, smil­ing and gen­er­ally being a nor­mal baby. All we have to do is keep up with the ther­apy and in the­ory her brain will “auto cor­rect” as time goes on. She’s 17lbs and count­ing at just about 5 months and just giv­ing hints of crawling.

In addi­tion to the hyper­to­nia, she was diag­nosed with non epilep­tic seizures — again, not some­thing we can do much about other than to love her, keep up with check­ups and wait.

So that’s where we are — we have a happy, coo­ing, laugh­ing, 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 prob­lems will have long term con­se­quences. The doc­tors all hope that she’s “error cor­rect” around these things and she’ll be OK. But we won’t know until we see her devel­op­ment at 6 months, 9 months and 1 year — we still have that “threat” that some­thing could hap­pen — her brain could stop devel­op­ing, or con­di­tions could get worse.

But its hard to think about that — because I don’t see the prob­lems — every day, I pick up and hold and play with a beau­ti­ful, cheer­ful baby who wants noth­ing more than to chew on my fin­gers (she’s teething) and laugh. I don’t think about the future much, because it’s unknow­able, and we’ll cross that bridge when it comes. Some­times 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 Decem­ber — almost Jan­u­ary. Addi­son has con­tin­ued to thrive — the fear and the worry aren’t for­got­ten — we have reg­u­lar vis­its from a phys­i­cal ther­a­pist and nurse to con­tin­u­ally check on her. She still has some issues we con­tinue to work through, and we’ve got a series of appoint­ments with neu­rol­ogy spe­cial­ists, but its hard to think that any­thing is “wrong” with her at all.

She’s almost 20lbs (huge baby!) — she’s bab­bling, she’s got­ten her first tooth (on christ­mas eve to boot) — she loves her walker and wor­ships her sis­ter. 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 beau­ti­ful daugh­ters who have changed my life forever.

I have found friends where I did not expect, com­pa­tri­ots and sup­port. I have found that my cowork­ers, com­mu­nity and friends are more amaz­ing than I could have ever expected. And Addi­son thanks you:

IMG 3672


Finally, Work

I love my job, what more is there to say? 2011 was a break out year for me per­son­ally — and a break out year for Nasuni — we’ve built some­thing amaz­ing, some­thing that com­pa­nies want. With any luck, we have begun to change how busi­nesses will store their data and what they come to expect from an enter­prise class prod­uct. I get to do what I love, with peo­ple that are awe­some.

Of course, 2011 found me grow­ing more into doing things I never really expected to be doing — I’ve con­tin­ued a shift from the back end/glue and more into the front-end, spend­ing most of my time work­ing on user inter­faces, beat­ing my head against inter­net explorer. I’ve spent more time in JavaScript than I care to admit. Learn­ing CSS, re-learning design, lay­out, think­ing con­stantly about user expe­ri­ence, star­ing at color palettes for days.

And I — We — are far from done. I’ve men­tally grown into a mind­set that “UI” (user inter­face) doesn’t just stand for the graphic design of a site — and that UX (user expe­ri­ence) 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 low­est level API of your system.

Good Design (notice the big D) means APIs mat­ter. It means that every­thing from error mes­sages, to doc­u­men­ta­tion to cus­tomer sup­port and care mat­ter. You can’t ignore any of it. You can’t slap a CSS frame­work into place and think you’re done with “Design”. It means car­ing about the user com­pletely, and with­out regard to your biases or skills.

Good Design also mat­ters in com­mu­ni­ties — user expe­ri­ence, inter­faces — think­ing about oth­ers — of course, I’m get­ting ahead of myself and delv­ing into the sec­ond post.

Wrap­ping this one up

On a per­sonal level — 2011 was a year I doubt I’ll for­get any time soon. It’s been a mix­ture of pain and plea­sure and con­stant evo­lu­tion and change. 2011 changed who I fun­da­men­tally am as a per­son, and I hope I’ll never be the same.

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

And to my fam­ily: Dusty, Addi­son, and Abi­gail (who is so smart it scares me) — I love you.