I recently became a Director of Engineering at a startup and one of my first official tasks was to revitalize the company’s very stale developer blog. I started thinking about what makes a good dev blog, and began writing up recommendations for what I thought the team should do. I got all the way through these and realized that I could have gone into nearly any startup and given this same advice. So, here is some advice on how to run your startup’s developer blog.go on…
Next Friday, I’ll be presenting at SandCamp on best practices for teams. Naturally, I’ve been thinking about what makes a good team in general, and a good software development team specifically. For most of my career, I’ve been part of development teams at development shops or technical companies. Those places already had forward-thinking technical people making infrastructure decisions and crafting the technical culture (for better or worse). By the time I came along, most of the kinks had been worked out.
But I don’t work at a technical company right now - I work at an advertising agency.go on…
Recently, I worked on a project where the client controlled their production environment. They’re using EdgeCast and we didn’t have access to force a cache clear when deploying new releases to production. So we’d push, ask them to clear cache, and wait as many as 8 - 10 hours to make sure everything was working fine. This sucks, but what I didn’t expect was that even after they cleared the cache, old files were still being served. So we’d ask for another cache clear, and wait. This was as painful as it sounds.
Eventually, they asked us to simply put no-cache headers on all of our files. This kind of defeats the purpose of even having a CDN, but okay. We tried that next. However, even with cache-control headers in place, the CDN would unpredictably serve older versions of .js and .css files. There was a lot of back and forth and finger pointing about who’s fault it really was that prior-release .js was still being delivered. They finally suggested that we rename our asset files with each release. This also sucks, but was at least a solution that we could control. With this script as part of our build, we met them halfway and sort of renamed asset files with each release.
Here’s the repo for the super simple script should you ever find yourself in such a stupid position.
One of my favorite things about being a programmer is that I can figure out ways to solve little problems. Little non-problems, even. Over the last week, there have been Time Warner internet outages in my neighborhood.
So I built a busted little script will send me a TEXT MESSAGE when my internet has come back on (I love you, Twilio). I’ve just saved you about 4 minutes writing your own.
I hate Skype, but I’m stuck using it. Part of my problem with it is that logs get very large very quickly and going back to find something you forgot to write down (like a server addres) takes forever.
The solution? Export your skype logs to something grep-able! (Duh.)
So hot, so easy, put it in cron and run it all the time.
p.s. Install OSX Developer Tools if you’re on a OSX.
p.p.s I totally stole this from a Stack Overflow post a while ago. If I find it, I’ll include the link.
I recently got an email from an organization looking for a Senior Engineer to work on their project.go on…
I spent today debugging a multilingual django app that I didn’t write. The problem is that the site’s language was being changed when you used the language switcher, but not if you typed in the url. So http://example.com/fr would only occasionally land you on the French version of the site. When you’re using custom language codes for any reason (in our case, we were matching the client’s lang codes) you’re going to have to set the app’s language.go on…
We (LBi US, where I’m a developer) just launched TweetSinger.com, a Sony Mobile campaign site for their new Xperia series phones. This was my first large non-Drupal project in a while and it was fun to get to do something different.
What was initially presented to me as a “quick two-page site” took a month of long hours to finish.go on…
In case you missed my presentation this afternoon, you can get slides, see tests, read notes and etc. etc at https://github.com/drnikki/Drupal-Camp-NYC-10
If you were in my presentation and had a question we didn’t cover, check out the README.txt.