Hello!
This is the current homepage of James Pearson, known as Xiong Chiamiov across the internets.
On the Importance of Documentation
It's your first day at Boppin' Burgers.
After changing into your uniform and shaking hands with your fellow employees, you're sent off by Bill, your manager, to go do some work. "Don't worry,", he says. "Here's an order we just finished. Just make 'em like this.".
You look at the burger: slightly toasted bun, pattie slightly off-center, cheese dripping over the edge. You're practically hopping with the excitement of creating these delicious meals for so many people.
At first, things go smoothly - a few orders are placed and you slap burgers onto buns. But then a customer complains that their burger didn't have pickles on it. Pickles? I didn't know we were supposed to put pickles on a #2. "Oh, we didn't put any on that one we gave...
more
Open-Source as an Integral Part of Development
Every time I start working on a new piece of code, my workflow is something like this:
- Come up with a name. If none within 30 seconds, choose an unused one from the Wikipedia list of Cats characters.
- Create directory in
~/Documentsandcdinto it. tmux new -s project-namegit init- Create a new tmux window.
vim
I create a git repository before I even open my text editor or a REPL. As soon as I write down what I want to do in a README or hack out a script that spits something onto the screen without (too many) errors, I make my first commit. The first break, it goes up on Github. I am a programmer, and this is how I program.
I'll upload it...
more
Software engineering is interesting. You see, first computer science sprouted out of math as a way to solve a bunch of problems that were previously computationally infeasible. As we stretched the limits of computation more and more, though, we started to run into problems with these large systems we had created. So, reluctantly, the mathematicians turned to those smug know-it-alls, the engineers. But software is inherently a completely different ballgame. That it's all virtual has a number of implications; the one I want to talk about today is maintenance. See, most traditional engineering projects go through a predictable (and sensible) lifespan - they're designed, they're built, they're used, they're retired. We've tried doing this with software, but the problem is that, due to its unique nature, we can continue modifying...
more
What Can the iPad Teach Us About Software Engineering?
View all posts.