This is belated because I've been busy. This is my 2014 retrospective.
I've been cutting my own hair since like 1991 or so with two exceptions: a professional haircut before my wedding and one before my wife's sister's wedding.
Back in 1991, my parents bought me a set of Wahl clippers. Over the years, I broke two of the combs and a few of the extensions. Plus it has a crack down the side of the plastic body. At one point, I was cutting hair for a bunch of people on my dorm floor in college. It's seen a lot of use in 23 years.
However, a month ago, it started shorting the circuit. There's a loose wire or frayed something or something something. Between that and the crack down the side of the plastic body, I figured it's time to retire them and get a new set. The new set arrived today.
23 years is a long time. I have very few things that I've had for a long time. I bought my bicycle in 1992 or so. I have a clock radio I got in the mid-80s. I have a solar powered calculator from 1990 or so (TI-36). Everything else seems to fail within 5 years: blenders, toaster ovens, rice cookers, drills, computers, etc.
I'll miss those clippers. I hope the new ones last as long.
I had a pretty intense 2013, but overall I think it was a good year. I say that with full knowledge that I had 2013 goals, but I have no idea where I wrote them down. Oh, well.
First off, I started or helped start a lot of new projects this year:
- dennis: lint .po files for strings that will set production on fire and translates .po files to aid development (awesome)
- ernest: sprint coordination system (awesome)
- douglas: my complete overhaul of Pyblosxom (in development)
- tedmund: console based slide presentation system
- james: cli for deployment with chief
- eugene: comms system for Artemis simulation
- victor: system for sussing out version information for dependencies (failed project)
- fredrik: Flask template (obsolete)
- harold: rough feedback/support system (prototype)
- captain shove: the mighty new deployment system we'll switch to in 2014
- hy: dialect of Lisp that runs in Python vm
Fredrik is obsolete. Victor was a failed project. Captain Shove and Hy are doing well and other than helping to start them off, I haven't touched either in some time. I work on Dennis, Douglas and Ernest regularly. I'm thinking about Harold, but probably won't do anything with it for a while.
I also spent a ton of time working on existing projects:
- elasticutils and pyelasticsearch
- playdoh, playdoh-lib and funfactory
- richard which powers pyvideo.org
I'm probably missing a bunch there. It's hard to keep track of what one did on other peoples' projects.
I got a lot accomplished at work this year:
- I joined the sec-champs group and now help manage and coordinate security releases for Django and other software we use on our websites. (Security)
- I performed an audit on playdoh-lib and helped coordinate a bunch of updates including to Django 1.5. (Security)
- I helped work on Captain Shove which is a new deployment system to replace Chief. (IT)
- I worked on l10n issues, created dennis and rewrote the deployment scripts for Input and SUMO to eliminate production problems related to errors in translated strings. (L10N)
- I worked on community building as a mentor for SUMO and Input projects (more Input than SUMO) helping guide new contributors towards their first contributions. I should be doing a lot more on this front. One thing I did with Miro, Pyblosxom and other projects I've worked on is to keep track of people who have contributed to help keep them around. That sounds goofy, but it helps build lasting communities. (Community building)
- I helped fix some quality problems with the Kitsune and Fjord test suites and I'm working with Bob from QA on updating the Input tests. (QA)
- Implemented a more flexible filter/query system in Elasticutils and maintained it for the year. (Maintainer)
- Did a ton of work on SUMO and Input.
Challenges I worked on this year:
I keep getting dinged in performace reviews for being acerbic (that's probably the nicest word for it). I recognize that it sucks to work with acerbic people and regardless of how busy or stressed out they are.
I finally started working on it in earnest probably around August. I hope I'm more pleasant to work with. We'll see what people think.
Everyone above me in the Mozilla org chart left.
At the beginning of 2013, it was something like me -> James -> Mike -> Todd -> Gary.
Now it's me -> Ricky -> Wil -> Rick -> Harvey -> Jay.
I'm still working on SUMO and Input, but the Webdev group went away and the SUMO engineering team got shifted between groups. I'm feeling ok about it, but wonder if all that shifting makes it difficult for me to be noticed.
I'm working on too many things and thus many things are starving for attention. That's a simple sentence for a very complex situation which involves all sorts of thought-provoking questions like, "why?" and "why is it important for all things to be worked on?"
I stopped maintaining Pyblosxom. I stepped down from my work on MediaGoblin. I'm being more careful about what I commit to and try to commit to things that I feel that I'm the best fit for. I'm working on reducing context-switch time so I'll work on certain projects for longer periods of time, then put them down for longer periods of time. I'm trying to ask for help more often and spread the workload around and I'm trying to make helping me easier.
I need to spend more time on pyvideo.
This is an important project. It just keeps getting back-burnered and when I have time to work on it, crazy ass things come up which need to get fixed immediately.
For example, blip.tv ditched a bunch of Python conference accounts. We scrambled to download those videos and now we're hosting them. That took a ton of time.
Regardless, I started several code overhauls that I need to finish. That's blocking everything else and that sucks. I really need to get that done.
I have a new roommate and having two roommates is crazy. I don't even know what to do to alleviate this short of just get through the day one day at a time.
I need to take better care of myself.
This is a hard one. It's easy to push off me-focused things when there's so many things that need doing. I haven't a good answer here, yet, but maybe being more aware of it is helpful.
I got shingles. That sucked.
In 2014, I want to:
- Continue to get better at front-end development.
- Spend time working on pyvideo, richard, dennis and ernest and get them to better places.
- Figure out what to do with Elasticutils: Overhaul it to make it suck less? Pass it off to someone else to maintain? Figure out a list of 5 things to fix now and let it continue to be mediocre?
- Overhaul my blog. Douglas is coming along nicely. After I finish getting that working, I'll re-theme it. This is lower priority than the other things here, but it'd be nice to finally do this year.
- Work on empowering and enabling other people to do things rather than blocking them. This one is hard and tricky especially where my free time is unpredictable on account of roommates and obligations I have no control over.
It's been a busy year and there are things I should be doing better, but generally speaking, I think I did pretty ok.
I'm very excited about this. It's an open movie being built by friends of mine. The trailer is gorgeous. It's worth watching just to see what's possible with Free Software today.
Turned 36 over the weekend. It's weird---the number keeps getting bigger but I still feel like me. I'm somewhat bummed I haven't achieved more by now, but so it goes.
Sobering thought: This is the last square until 49.
My brother brought up this cake last night. I always liked how Ned posted pictures of his family's cakes. This is probably not a cake his family would have made, but so it goes:
It seems rude, but I find it really funny and I have a kid, so it's technically true.
Back in October of 2010, I created a standing desk. A friend of mine bought a Sears workbench and was using that and while it was pretty cool looking, I wanted something I could more easily nail things into. I've been meaning to write about this for a while.
I bought some two-by-fours and plywood and built most of it with that and some scraps of wood I had lying around.
Since then, I built a stool to go with it and bought a shelf thing from Ikea that goes to the right of it.
I think it took a day to build the standing desk, though I've tweaked it a bit since I originally built it. It took a day to build my stool. Total cost in parts for both pieces was definitely under $100.
Result is this:
This set up has lots of horizontal space, is set at the right height for me, lets me sit when I'm weary and stand when I'm not, and has some storage capacity so I'm not surrounded by stuff.
"Wait! What's up with all those computers?", you might ask. Well, the computer breakdown is like this:
- one work laptop
- one laptop that I use for Skype/Vidyo for work
- one laptop I use for home stuff
- one desktop I use for home stuff and games
- one desktop that's the current PCF Windows build box for Miro
- one Macbook that's a backup PCF OSX build box for Miro
Then I have:
- one settop computer I'm not using at all
- one dead laptop
The dead computers should go away. The PCF build boxes will eventually be re-homed, too.
And that's the state of my desk!
A week ago, my son was born. Since then, I've been doing newborn-management things and haven't been around to work on projects I maintain, manage or otherwise work on. I'm taking a few weeks off to get adjusted to being a new dad and also because it's the first time in a long time I've taken a few weeks off. Really truly off.
Miro development is going well. I'm out of the picture for a bit, but things are progressing well without me. Ben is managing the Miro 3.5.1 release and that should happen soon. Kaz landed metadata support (which is awesome) in master. Paul landed device syncing a couple of weeks ago in master. Geoff is doing a lot of awesome work cleaning up the code and working on streaming to other devices. Janet is migrating us from Eggplant to Sikuli and filling out other testing infrastructure. I'm sitting on an extensions infrastructure which needs some more work, but I think it could get finished up enough in time for Miro 4. All in all, it's been really busy in master and out of the chaos will come some really awesome improvements. A huge huge thank you to my colleagues at PCF and all the people in the Miro community that I work with to build a better Miro for letting me take some time off to get acquainted with my new son. I really appreciate this.
PyBlosxom is languishing a bit because I need to create some additional infrastructure for the project. I need to spend some time on this and then PyBlosxom will do much better. I did move the server that the PyBlosxom web-site is living on, so nothing's blocking infrastructure stuff except my free time. We've got a bunch of people who are working on fleshing out PyBlosxom 1.5, the documentation, tests, and plugins. It's been really great the last few months to have this level of activity and other than a lack of issue-tracker, I think the project is doing really well.
Python Miro Community has some problems right now specifically with dead file links. I need to work with the Miro Community devs to add some functionality I need to make it easier to automatically query and update metadata for all these videos. Managing 600+ videos by hand is impossible. I'm still sitting on videos from a handful of conferences. In the near future, I'd like to integrate Universal Subtitles which will make the videos accessible to a much much larger group of people.
GNOME Miro Community has more problems than Python Miro Community does because I've spent much less time with it. The focus is a little blurrier for GNOME Miro Community and I haven't put in the time to work it out, yet. I need to talk with Paul Cutler and work out how GNOME Miro Community fits into the rest of things and then I need to be more proactive with the project.
I apologize for leaving things in the state they're in, but I will return soon! If you need me, ping me by email.
I moved bluesock.org from Network Solutions to Gandi.net a couple of months ago. The next step was to move the DNS records from Peer1/ServerBeach to Gandi.net. I did that today.
I screwed up one of the records in the process and my brother let me know he was having some issues. I think it's all straightened out now, though, and that the current set of records are correct. However, if you're having problems with bluesock.org related domains, let me know.
The next step is to migrate the server from Peer1/ServerBeach where I pay $99 a month to Asheesh's VPS in Minnesota where I'll pay a _lot_ less and I'll be able to do IRC stuff which is forbidden on Peer1/ServerBeach. Soon! Very soon!
The last 7 days have been really great. I was thinking about this last night when it occurred to me that most of the entries on my blog as of late have been notes from dev conference calls for work. So I decided to write this up.
There have been several things that have made the last week great:
- Asheesh was hired as a contractor at PCF. I'm really psyched about this. Not just because I think Asheesh is my personal messiah and will solve all my non-family-life problems, but also because he's a great developer, a great person, and a great communicator. I have a lot to learn from him. Having him work in the PCF context will make that learning easier. Plus he's more likely to solve my non-family-life problems because they'll probably bug him, too. :)
- Morgan redid the PCF web-site and it's fantastic.
- Verizon FIOS finally came to my area and I switched. Prior to that, only Comcast was available for a reasonable broadband Internet connection and they kind of suck. It's interesting to note that the most friendly and most useful customer support person I talked to was the one I talked to after going through their ridiculous menu system and ending up at "leaving Comcast" (or whatever they call it). Now, I've got better Internet service now for a cheaper monthly cost and with better hardware. Plus the Verizon technician who came to do the install fixed up the side of my house. Seriously.
- My wife is 36 weeks pregnant. For reasons I don't want to go into, this is a big deal and it's really great.
- The church held a baby shower for us filled with wonderfulness, love and all kinds of good community stuff.
- I finished building my standing desk. I built it with studs and leftover wood from other projects. It was cheap ($30 or so), works great, and I really like it. I'll post pictures soon.
- I've almost finished building the changing table. I finished staining it and now I'm doing a few coats of polyurethane. It looks great so far. I hope it works out because it took a long time to build. I also hope we get a few more warm days because otherwise the polyurethane takes a long time to dry.
- My list of things to do before birthageddon is now trending towards smaller (yay!).
- Miro 3.5 is almost done and it's looking great and I'm now using the conversions feature fairly regularly. I'm hoping to do the Miro 3.5 release before the baby release, but ... they'll both come when they're ready.
- I'm scheduled to play D&D (actually, it's Pathfinder) on Thursday after a two or three month hiatus. I have no clue what's going on in the campaign, but I'm sure it'll be fun. Plus we'll get to use the d20 I bought a few months ago that's all sparkly and pretty.
And all this happened in the last week. It's been a good week.
We were running out of time to cover all the material, so I made the decision to survey the material, mention resources, and hope the participants would pick up enough that they could continue their learning on their own.
After looking at the evaluations, three things are clear:
- the workshop covered a ton of stuff and everyone got something out of it
- this is a tough workshop if the spectrum of experience ranges from beginner to experienced--it's probably better to have all the participants be beginners or all of them be experienced
- there's a lot of material missing regarding structuring policies that cover privacy, data availability, confidentiality, child safety, and other things like that--it's not enough to cover tools and how they can be useful, it's imperative to cover the policy context in which they can be reponsibly used
One thing that surprised me is that no one is really that interested in blogging. Blogging is such a rich form of communication and the interconnectedness of blogs creates a network of knowledge and experience--I must not have effectively communicated that.
Anyhow, the workshop is over. I'm glad I did it--I had a great time and it was a learning experience for me as well. Feel free to email me for a link to the workshop materials.