Categories
software engineering

My Manager README

Last May, I read about writing a Manager README and thought it was brilliant. It took the implicit and difficult task of learning how to work with someone and made it explicit. It also was a great opportunity to reflect on my own processes and compare with how others work. So, I took a few […]

Categories
psychology software engineering

Is Time Estimation in Software Engineering a System 1 or 2 Task?

Software engineers are notoriously bad at time estimation. When they receive a new bug report or product feature to work on, engineers are often asked by their project manager to guess how long it will take. It’s a very reasonable request. For example, if your website goes down, public relations needs to know how long […]

Categories
goals software engineering

Discovering My Web Design Mistakes

Although it is already February, I have just started my 2017 goal of learning web design. Since I prefer to learn through doing, I decided to start with my primary side project,¬†Spawning Tool, to develop my skills. On Spawning Tool, StarCraft players can browse replays and guides submitted by other players to find strategies to […]

Categories
projects software engineering

A Beginner’s Guide to vim

(This was originally posted on GitHub. For the unfamiliar, vim is a text editor often used for programming. It’s similar to Notepad or TextEdit but much more customizable and powerful. It is also one of two sides in the great Editor war.) Through your coding career, you have likely had brief encounters with vi while […]

Categories
software engineering

Treasoning about Code

A few months ago, I switched from emacs to vi. This is a really big deal, so please take a moment to process this fact. If you don’t have a strong opinion on this matter, let me explain what the big deal is in the editor war. People have lots of tiffs in technology choices. […]

Categories
software engineering

Installing Django on Mountain Lion (+ MySQL and PIL)

UPDATE 1/14/13: A few small corrections. See Jonathan’s comment below if you’re having issues installing mysqldb A few years ago, I posted instructions on installing Django on Snow Leopard. Since then, things happen gotten a lot easier. At that time, there was a weird shift going on with 64-bit computing that made it difficult to […]

Categories
board games projects software engineering

The Board Game Chooser: find a board game for any occasion with a few simple questions

My friends and I have been playing a lot of games together recently. It’s quite remarkable how much time one has when no longer in school, and given how much time we spend together, it always helps to find fun, accessible activities for us to do together. Enter board games. It turns out there’s a […]

Categories
projects software engineering

Introducing chronoline.js, a JavaScript library for timelines

Sadly, a lot of my work at Zanbato is behind closed doors, but recently, I have been working on a widget that is definitely not proprietary and is available for all of you to use, extend, or even just look at: chronoline.js. chronoline.js is a library for making a chronology timeline out of events on […]

Categories
software engineering

Installing Django on Snow Leopard (and MySQL and PIL)

UPDATE 11/3/12:¬†If you’re now on Mountain Lion, life has gotten much easier. Read my new post on it UPDATE 8/4/11: The instructions here are a little dated and difficult, probably from my own ignorance. With Lion out, too, things have changed enough that you should probably use the instructions here instead. I recently needed to […]

Categories
blogging software engineering

Don’t rsync /var with –delete

About 10 minutes ago, I learned an important lesson: make sure you fully qualify the folder you want to sync. And don’t use the delete option if you’re not entirely sure how to use it. The bad news is that I accidentally deleted this website and panicked for a second. But I like to look […]