Computer programming is hard!

Tags

, , , , ,

Computer Programming is hard! It’s at least as hard as what commercial architects do, and I will argue that it’s as intellectually difficult as what doctors and lawyers do.

Many people think it’s easy, because they know some nine-year-old who “programs,” but there’s a difference between fooling around with the computer and building good software applications.

Continue reading

The Tale of the Pea Sea

Tags

, , , , , , ,

It’s Finally Friday again, so it’s time for a little fun. This is a piece I’ve had living in my files since 1995. That makes it pretty out-of-date, but it’s such a classic that it’s worth preserving and giving another airing. It does require remembering the lore of the computer middle ages (the 1980s).

The copy I have is from a USENET post © by Sean Sengenberger. It’s not entirely clear whether he (or possibly, she) just posted a piece found online or if Sean actually wrote it. (Some folks back then explicitly copyrighted their posts.) In any event, credit given where credit is due.

Without further ado, I give you…

Continue reading

Write a Formal Letter

Tags

, , ,

Think of writing code as you think of writing a formal letter.

When you write a formal letter, you have two goals: you have a message to communicate, and you must follow the protocol of a formal letter. Your message comes through when your writing is clear and good. Following the protocol is a matter of knowing and following some syntax rules.

A message + formal syntax. The result is a document with a context.

Continue reading

Managing Complexity

Tags

, , , , , , , , , ,

Somewhere I heard someone claim that: “Programming is an exercise in managing complexity.” The word “is” makes the sentence slightly ambiguous. It could mean: “Programming is just an exercise in managing complexity,” implying that that’s all programming is. Or it could mean: “Programming is an exercise in managing complexity (in addition to other things).”

I would absolutely disagree with the first interpretation; programming is definitely more than just managing complexity. On the other hand, managing complexity is a huge aspect of programming.

Continue reading

Python & Baseball

Tags

, , , , , , ,

One of the cool things about being a carpenter is that you can make your own shelves and dog houses. One of the cool things about being a computer programmer is that you can make your own computer apps!

In an era when computers are so much a part of life, that’s a useful skill. And the nice thing about doing it yourself is that things turn out exactly as you want them. You can make things that are perfect just for you.

Case in point: using Python to create custom charts of baseball stats!

Continue reading

Rule #3: Don’t Ignore Warnings

Tags

, , , , , , ,

There have been times when, working on other people’s code, one of the first things that pops up is that their code generates thousands of warnings. I’m not exaggerating the number; there have been at least two times I can recall where someone’s code set generated that many warnings. And both times, the code set wasn’t all that large (only tens of thousands of lines).

Which leads us to Rule #3: Don’t ignore warnings!

Continue reading

Data, Text and Strings (oh, my!)

Tags

, , , , , , , ,

The Strings and Text are not the same post on Musing Mortoray discusses the difference between “text” and “strings” and got me thinking. Rather than weigh down his (or her) comment section with a very long comment, I thought I’d go on a bit about it here.

I agree totally with the basic premise: that “text” and “strings” are different beasts. I also agree that text-handling depends on the text. There might be some difference in how we define text and string and thinking about how I define them turned up a lot of thoughts on the matter. This isn’t intended as an opposition post (except on one point with regard to HTML). What follows is just one programmer’s opinion.

Continue reading

Heartbleed bug

Tags

, , , , ,

The heartbleed bug has been in the news lately. Rightfully so; it’s a pretty big deal, at least in theory. How much damage is practically possible and how much damage may have occurred is unknown so far. But the potential security hole is enormous!

Two things really stand out about this bug: Firstly, attackers get (potentially) vast amounts of internal computer data while leaving no record. Secondly, the bug is a simple error caused by, metaphorically speaking, not looking both ways when crossing a one-way street.

Continue reading