Stop Refactoring Your Code

“…also write dumb code.”

If you know much about software development, then you probably have some idea what refactoring is. It was made more popular some years ago by Martin Fowler’s book Refactoring, which defines the term as “improving the design of existing code.”[1] The code referred to, is of course software source code, the specialized text used to tell a computer how to perform some task. It’s generally accepted that refactoring is a good practice for fixing unruly code, as the schedule allows. Then why does my title for this blog entry tell you to stop refactoring your code? There’s more here than meets the eye.

Continue reading “Stop Refactoring Your Code”

General vs. Specific Source Code

“Strangely, I still experience the same conflict”

For someone who likes logical puzzles, computer programming has a lot to offer. This was especially true for me as a teenager during the rise in popularity of personal computers. Learning to write programs with the BASIC programming language was like a dream come true. With a machine in front of me doing whatever it was instructed to do, I envisioned one day being able to build a robot like the one on “Lost in Space,” one of my favorite TV shows. After enjoying hundreds of hours programming an Atari 8-bit computer, computer science was an obvious choice for me when selecting a college major. Continue reading “General vs. Specific Source Code”

Santa’s Flight-Path Challenge

“This might take some trickery.”

Though there has been much speculation, no one really knows how Santa Claus does it all. Traditionally, he and his crew spend most of the year making and gathering toys for children all over the world. Then he delivers them all on Christmas Eve and early Christmas morning. The delivery itself creates some alarming statistics for how fast Santa’s sleigh must travel and how much time Santa has at each house, for delivering presents and consuming whatever milk and cookies the children leave for him. But I’m wondering, how can Santa even figure out a flight path? How does he choose the first house or the last house or any of them in between?

Continue reading “Santa’s Flight-Path Challenge”

The Logically Unknowable (Part 2)

“Still, they’re just counting numbers. Even a young child knows something about counting.”

I have already written about it being impossible to create a single fixed nonrandom computer program for determining the correctness of all existing software or future software.[1] One consequence is that antivirus software can never be perfect. So at a given time, we can’t know which software is correct out of all existing software, whether the procedure to check the software is correct, or whether we caught all the viruses that might be infecting a given computer. Yes, there’s logical computer stuff that is theoretically unknowable. With computer technology being a human invention, maybe we can find some comfort in math, which is thought to be universal. But don’t get your hopes up too much. Continue reading “The Logically Unknowable (Part 2)”

Wolves and Software Development

“…it seems appropriate to label one way the right way and the other way the wrong way.”

Years ago I heard about a Native American story about two wolves constantly battling each other inside each one of us. One wolf has a positive attitude towards people and life, the other negative. The question came up, which wolf wins? The answer is, the one you feed. I can see some truth to that. Negativity can cause more negativity, whether in the same person or other people. Being positive can be somewhat contagious as well. Self-help books point out that we tend to think in the way that we practice. But is the lesson of the wolves just for how we approach life? Continue reading “Wolves and Software Development”

Mythology And Data Compression

“…it’s interesting to see a connection between something so old and something as modern as computer technology.”

While in school (years ago), I heard mythology described as an attempt by some cultures to explain various natural phenomena. That gave me the impression that a member of such a culture would believe in what a myth from his culture told him. I thought this made cultures with myths seem naive. Did people really believe that the sky is carried on the shoulders of a giant god named Atlas?[1] Continue reading “Mythology And Data Compression”

The Spirit of the Forest

“Can a forest really behave as a whole in a way that seems intelligent and also protect itself and its contents?”

I rarely get to visit a large forest, but I have noticed even a small forest of a few acres seems to have a “presence” about it, like a hint of consciousness. Being in a forest can even give me the feeling of being watched. I don’t think this watchful presence feeling is from specific plants or animals in the forest, but maybe all of them together, possibly in combination with the land features as well. Or maybe it’s something else in the forest, something not visible.

Continue reading “The Spirit of the Forest”