The cynical developer’s dictionary of project management

Bikeshedding: See Parkinson’s law of triviality. Duck: A feature added for no other reason than to draw management attention and be removed, thus avoiding unnecessary changes in other aspects of the product. Dilbert principle: Companies tend to systematically promote their least competent employees to limit the damage they are capable of doing. Meeting burn rate: […]

Missing UX: Improperly ejected flash drives in Windows

If you are using Windows, you are certainly familiar with this dialog: This is the dialog that shows up when you reinsert a flash drive that was not safely ejected using the awkward task bar dialog. There are several problems with this dialog. First, it’s needlessly threatening. It sounds like your drive is broken, and […]

Missing UX: Linux, flash drives and large files

Most flash drives come formatted as FAT32. It’s a common format that’s supported by Windows, OS X and most Linux distributions. Unfortunately, you can’t copy files bigger than 4GB on a FAT32 drive. When I dropped the file in the folder, it started copying, then I got this error at the 4GB mark: If you […]

Self-documenting code is a myth

Since my first programming assignment, I’ve always been hard-pressed to write self-documenting code. “Good code doesn’t need comments”, said my first teacher. He had a point: good code is self-explanatory, but there’s one thing even the most readable code cannot do: summarize itself. I had the chance to be hired at a company where code […]