Projects!
Sep 20, 2017 - 01 p.m.

When it comes to writing code, I go through phases. As long as I've been working I've been writing code almost every day, but when it comes to writing code outside of work, it's been everything from writing zero code for months to writing every day. Why? My guess is it's a function of how exciting work code is and how I'm currently viewing my own goals. I haven't done a good job of observing.

Regardless of my motivations, when I am working on code in my spare time, almost all of it goes on github. For a long time I've linked to that on my resume, but I think even with github's new pinned repositories, that probably does a poor job of communicating what I've actually done. What are these repos? Can they be seen running anywhere? What was the point of any of them? To address this, I've added the projects page to this site. These are all the spare time projects that have actually "shipped", along with some info about them.

That's all for now, have a good one.
Well, that escalated quickly
Aug 14, 2017 - 06 p.m.

Last Friday, I'd just gotten out of a meeting and was thinking about how the meeting was going to affect my productivity for the morning when inspiration struck. Some messing around with google calendar, a screenshot, go to twitter, hit send. Here's the tweet that came out of it:

It was pretty popular through the day and around 9:30pm it had something like 250 retweets. Since most of my tweets get like two favorites and no retweets, I was feeling pretty good about myself. Then my phone really started to buzz a lot. Like, "your wife tells you to do something about all the stupid buzzing" level of buzzing. It seems several prominent developer voices had retweeted it to their many hundreds of thousands of followers (people like David Heinemeier Hansson and Joel Spolsky!), and that's when things really got out of hand. As of this writing, it's around 6k retweets and 11k favorites. I'm just glad people like something silly I came up with in between stuff at work. It's about something that bugs and obviously it struck a nerve. Also it feels great to be internet famous and I never want to go back.

I'm not going to talk much about the concept of developers and context switching, since it's hardly a concept I came up with by myself and it's one that's been covered pretty well by people much more eloquent than me. However, I did see some common themes in response to my tweet and I figured here would be a better place to address them than in batches of 140 characters. Here goes:

Everyone has this problem not just developers!

I'd agree this is a human problem, but in my experience it's worse when working on dev tasks, than say, management tasks. Everyone is different thought. Also saw lots of "designers/writers/creatives too!", which instinctually I'd agree but lack the experience to say for sure.

Meetings are important though!

Again, I'd agree. Meetings are important to team success. Everyone just needs to be mindful of the true cost of them, which I think my goofy image does a pretty good job of showing. Keeping this in mind might also prevent the dreaded drive by meeting or getting pulled into someone's office for a single question that could have been done over chat!

Own your own schedule!

I think most experienced developers do their best to guard their time. I saw some suggestions of blocking off development blocks on your calendar, which I love. However, since developers generally have more open time in their schedule (to, you know, work) they are subject to the time constraints of people who have more restricted schedules. E.g. your product manager needs to talk to you but they only have 15 minutes at 10:30 so that's what you get and tough luck computer crew. This is just what it is, but hopefully your product manager is kind when they can be.

There were a few negative responses floating around, but I don't feel they really need to be addressed, since they were from people taking things just a little too seriously. It's just a silly tweet, they're just dumb meetings, let's all try to be our happiest, ay?

Thanks for reading, hope you have a good day.

Redesign and revamp
Jul 5, 2017 - 05 p.m.

A couple weeks ago, I got an email from my lovely web host (webfaction) that they were migrating my account to a new shared server. I've had an account with them for so long that the server I was on was still 32 bit and they were moving me to a 64 bit server. Nice of them, but it meant I needed to do some legwork updating various software.

This blog is written in django, and the version was hilariously out of date. I had been running 1.2, and the latest version is 1.11 (!) The upgrade ended up being suprisingly easy. For the simple functionality of a blog, very little has changed in django over the last nine versions, which was convenient. Most of the original code required little re-working. The biggest hurdle was shaking the cobwebs loose around working on python again.

During the process of upgrading, I was looking at the site more than I had in a while. And what I was seeing was that it was ugly as sin. Web design ages poorly, especially design done by an inexperienced web developer, and this design was roughly eight years old.

So I added the goal of a redesign. I used Materialize, which I also used when building my pointing poker clone, and I quite like how things turned out. I especially like that materialize gives you a set of pre-defined color schemes to work with.

So that's the story of how my blog came back to life and why it looks different. I think my next goal is going to be rewriting it as a single page app in Elm, because I think Elm is a joy to write and it would be nice to build a full application with it.
Tuesday
Apr 26, 2017 - 03 p.m.

Yesterday, the clock was approaching noon, and I was thinking about lunch. I try to bring lunch most days in the interest of saving money. Physically bringing the lunch is the easy part. Gathering everything has become another step in my morning routine, just like feeding the animals or carrying Hildy downstairs.

The struggle comes when it's time to eat and I want something that is not the yogurt/apple/protein bar combo that I brought. Typically pizza sounds like a better proposition.

Like everyone in the entire world, when I do something weak-willed, I do my best to justify it. A great go-to is, "Well, it's been a long week, I deserve a treat". This is what I told myself yesterday as I was thinking about lunch.

Yesterday was Tuesday, in case you were curious.

One and a half days of work hardly rates for the long week justification. I ate my yogurt.

However, Wednesday, depending how you measure, is the start of the end of the week, right? It's almost time for lunch.
Coffee and Tea
Mar 24, 2017 - 12 p.m.

In my life I've experimented with my caffeine intake. Sleep has always been tricky for me and caffeine is a big part of that. When I was still in college, I went through a phase of constant coffee drinking that resulted in a year of non-stop stomach problems. About a year ago, I was drinking no caffeine at all. I don't know what my ideal is, but caffeine has positive affects on productivity in general, so completely cutting it isn't great, and stomach problems are for sure not good.

I don't have the answer and I'm not the best optimizer, but currently, I drink a single cup of green tea a day. Today, I'm drinking a cup of coffee. I had to be up early and didn't go to bed soon enough last night. The coffee has more caffeine and feels like a treat. I've got to be careful though, since coffee and it's higher caffeine (and subsequent sleepless nights) is a very seductive thing. Funny how the stuff that is a treat can so quickly become the norm.