In the calculus of communication, writing coherent paragraphs that your fellow human beings can comprehend and understand is far more difficult than tapping out a few lines of software code that the interpreter or compiler won’t barf on.
That’s why, when it comes to code, all the documentation
In Why Isn’t My Encryption... Encrypting?, many were up in arms about the flawed function I posted. And rightfully so, as there was a huge mistake in that code that just about invalidates any so-called “encryption” it performs. But there’s one small problem: I didn’t write that
I am continually amazed how much better my code becomes after I’ve had a peer look at it. I don’t mean a formal review in a meeting room, or making my code open to anonymous public scrutiny on the internet, or some kind of onerous pair programming regime.
I think I have a problem with authority. Starting with my own.
It troubles me greatly to hear that people see me as an expert or an authority, and not a fellow amateur.
If I’ve learned anything in my career, it is that approaching software development as an expert,
Today’s rumination is not for the weak of heart. It’s from the venerable C2 Wiki page Code For The Maintainer:
Always code as if the person who ends up maintaining your code is a violent psychopath who knows where you live.
Perhaps a little over the top, but
Ben Collins-Sussman on programmer insecurity:
What do you do when somebody shows up to an open source project with a gigantic new feature that took months to write? Who has the time to review thousands of lines of code? What if there was a bad design decision made early in
We’re currently in the midst of building the new web property I alluded to in a previous post. Before I write a single line of code, I want to have a pretty clear idea of what the user interface will look like first. I’m in complete agreement with
You know the feeling. It’s happened to all of us at some point: you’ve pored over the code a dozen times and still can’t find a problem with it. But there’s some bug or error you can’t seem to get rid of. There just has
A little over a year ago, I wrote about the importance of version control for databases.
When I ask development teams whether their database is under version control, I usually get blank stares.
The database is a critical part of your application. If you deploy version 2.0 of your
In this interview with Werner Vogels, the CTO of Amazon, he outlines how Amazon’s developers stay in touch with their users:
Remember that most of our developers are in the loop with customers, so they have a rather good understanding about what our customers like, what they do not
I’m of two minds on the desktop.
If you’re really using your computer, your desktop should almost never be visible. Your screen should be covered with information, with whatever data you’re working on. I can’t imagine why you’d willingly stare at a static background image
Software developers do love to code. But very few of them, in my experience, can explain why they’re coding. Try this exercise on one of your teammates if you don’t believe me. Ask them what they’re doing. Then ask them why they’re doing it, and keep