I just finished writing my first iPhone app. I have a background in Java, C++, Python, and a smattering of other programming languages on Linux and Windows in both embedded and desktop environments, so that hopefully explains my brain damaged context. Here are the pit falls I stumbled upon while climbing up the Cocoa learning […]
It just ocurred to me that I’ve been using Linode as my hosting provider for 7 years this week. I’ve been so happy with their service that I thought I’d offer a review. The top 4 reasons you should consider Linode for your hosting needs (I’m sure there are 6 more reasons, but I’m time […]
This is a follow-up to my post on code optimization. Today I did some experimenting with hashes and binary-search-trees, specifically playing with QHash and QMap in C++. According to the Qt containers algorithmic complexity documentation, QHash provides “significantly faster lookups” than QMap. Your intuition may confirm this, because you’ve heard that QHash uses a constant-time […]
Disclaimer 1: This post was influenced heavily by my good friend, co-worker, and Haskell hacker Evan. Disclaimer 2: Unless otherwise noted, I am completely making up terms in this article. I pulled them right out of the ether. Don’t expect to find industry conventions that agree with me. Bob is a fictitious developer on my […]
You’ve been there. You’re sitting in a demo where the lead engineer is presenting a new product to the customer. With laser pointer blazing, he shows off the 300 features of the new Blarney Gadget. He’s going a million miles an hour, switching between PowerPoint and the product on the screen as fast as the […]
In C++, the static keyword has a lot of meanings. Let’s go over all of them: Meaning 1: Private Linkage This one comes from C, and it lets you mark a variable as “file private”. Example: static int i = 42; void doSomething() { cout << i; } In this example, static tells the compiler […]
Communication is everything in software development. Unless you work on a team of one, it’s important that your code communicates easily to your team members. Even if you do work on a team of one, it’s important to communicate to your future self. Yeah, everyone has to read their own code once in a while, […]
If there’s one thing you can’t argue about Test Driven Development, it’s that it creates more code than software written without it. Not just unit test code, either. To make code testable, developers often introduce extra layers of abstraction to make their code accessible, in isolation, from within their unit test code. This can be […]
Sometimes I can’t help myself. This week, I read a blog post asking what was wrong with a dialog. I found plenty of stuff wrong, so I decided to write a response and create a replacement dialog. This is not intended as an attack on the dialog author. I hope it’s not received that way. […]
I have various files that download to my computer automatically. They arrive at different times of the day or night. When they do, I like to transfer them to a network drive on another computer automatically. But there’s a wrinkle. When the files auto-download to my computer, they go into one folder automatically, but when […]