Owner: The Programmer's Paradox URL:http://theprogrammersparadox.blogspot.com/ Join Date: Thu, 06 Dec 2007 16:20:12 -0600 Rating:0 Site Description: Software development discussions. Site statistics:Click here
Pedantically Speaking 2007-12-06 15:39:00 Spending your days programming a computer -- if you do it long enough -- will start to have a noticeable effect on your personality. Not that it is a big surprise, one's profession has always -- no matter how complex or simple -- gradually morphed their personality. If you think that all of the accountants you've met are basically the same, your not that far off base.Programming is a discipline where we bury ourselves in the tiniest of details. Perfection is necessary, at least to the degree that your work won't run on the computer if it is too sloppy, and it is exceptionally difficult to manage if it is even a bit sloppy. This drives in us, the need to be pedantic. We get so caught up in the littlest of things that we have trouble seeing the whole.Most often this is a negative, but for this post I wanted to let it loose into its full glory. It is my hope that from the tiniest of things, we may be able to draw the greatest of conclusions.Originally, the thoughts for this blog entry Read more:Speaking
Mind the Gap 2007-11-21 15:30:00 Sometimes to get a clearer perspective on a problem we need to leave its proximity and venture a little deeper into the woods. For this particular post, we need to go way out into the forest before we can come back and make sense of what we are seeing. With a little patience and time, I think you'll find that the rewards from exploring are well worth the stumbling around in the bushes and trees. As an abstraction, pure mathematics is nothing short of absolute perfection. It exists in its own idealistic dimension with no interference from our world in any way. As such, arithmetic for example is always consistent no matter where you are in the universe. It never changes, it is never wrong, it cannot be reduced to anything lower and it cannot be refactored into anything simpler. Quite an accomplishment and a model of perfection. The same is true of many other branches of pure mathematics.As more of the real world gets involved in the equations -- such as physics -- the details become mes
Goto The Next Goto 2007-10-23 16:15:00 Goto statements raised angst because they were seen as the underlying cause of bad programming. Most believed that they accelerated the degree of 'spaghetti'-ness of the code. They allowed programmers to construct obscenely complicated logic that was nearly impossible for a human to follow, and consequently could never be fixed or expanded.Getting rid of goto statements, or at lest discouraging their abuse was a very good idea.Then along came pointers in C. The language was so accommodating, that the programmers were allowed to write all sorts of things that didn't work properly. You'd think we'd learn our lessons about abusing specific aspects of a language, but with each new generation of coders there seems to need to go back towards making a mess again. So we went though a prolonged period of having hanging pointers and strange crashes. It was, some people felt, a step forward to get away from C and start using some of the newer languages. In time there were excellent tools wri
Wasted my Time 2007-10-13 23:08:00 No doubt it is my own foolishness. My expectations are too high. When I blog, I use Yahoo Notepad to write the draft entries. That gives me portability, and access to the draft articles wherever I am. The idea that I can access my writing from literally anywhere in the world is amazing. Something wonderful provided for me by the computer.I was struggling with a particularly hard to write piece, where I was trying to take the reader backwards towards using first principles. Not easy to begin with, and even harder for a novice writer like myself. I was happy with what I had done. I probably would have posted it. After agonizing for a couple of hours, I hit the update button. Something I've done a million times before. This time though, because I had been logged in for so long, Yahoo Notepad decided to ask me to confirm my userid. The session had timed-out. Ok. No worries. This problem has caught me in the past, and in Firefox if I hit the back button, I can get back to the original scre Read more:Wasted
Turbulent Waters 2007-09-20 21:46:00 I've been here before. The howling winds keep forcing me backwards. I'm drowning in a raging sea of technological insecurities. I hit a few highs from interesting features, only to be tumbled back by deep lows for bad implementation choices. The ups and downs of a perfect storm born of weak technology.I'm back, again. At that initial point in a new project where I am seeking new technologies. But instead of enjoying my evaluations, I am being tossed about by broken features and annoying flaws. All of the bad ideas over the years come together to produce unstable tools and awkward libraries. And I keep coming across more horrible things. Bad, really deplorable things. Things we learned not to do so long ago, but somehow we forgot. It is a nasty wind lashing at my attempts to find ways to work-around the problems. I long for the peace and quiet of a more stable technology base.Unfortunately, I'm sure I've surpassed my quota for ranting lately. I don't want to be negative anymore. A Read more:Waters
Paddling Upstream 2007-09-16 15:54:00 Another shiver ripped violently through Coco. She stood on the dock, facing a huge dilemma: whether to get into the canoe or not. Only minutes before, she had been tied to a tree as we drifted silently across the lake, away from her. Our departure provoking loud yelps of displeasure and frantic barking.We had tried to get her into the canoe, but she refused. Possibly she didn't like the noise of the water pounding up against the side of the canoe, or maybe it was just the idea of sitting there and not being allowed to move that made her fear it. Whatever fears it was that were motivating her, she was clearly in turmoil.We returned to the dock to pick her up. She seemed to get the choice: either we head off again with her or without her, it was that simple.Poor Coco, but you have to see it from my perspective. My wife and I have gone to the cottage for a week off. There is a lake close by where we can canoe. We were looking forward to cruising around the lake and it was a beautiful day Read more:Paddling
Patterns of Misdirection 2007-09-07 11:40:00 A while ago, I was reading a discussion group that I infrequent and I saw a post about design patterns. This particular post -- I remember -- was asking questions about the Visitor pattern. It seems that it is 'unpopular' to use this pattern, the author noted.At the time, I didn't pay much attention to it other than to realize that I wanted to stay far away from that discussion, but I didn't know why.For those few who are unfamiliar with them, design patterns come from a great reference book by the same name that was released in the middle of the 90s. Design Patterns
has become so popular that it has its own set of Wikipedia entries. It has become a cult thing now.The book starts with a programming example and then lists out a large number of 'design patterns'. It explains them in detail, describing how each one can be implemented and shows some sample code. These are common 'patterns' that the authors felt occurred frequently while programming in Object Oriented languages.When
Few Technological Conveniences 2007-08-22 19:30:00 The photocopies are long overdue, even though there are several other more important things on my agenda for the day, I've delayed doing them for so long I have no choice. I rush up to the photocopier and insert my clump of papers. I enter a security code and a few other options causing the machine to spring to life, sucking paper in at one end and spiting it out in several places at the other.But then -- as one always knows will eventually happen with photocopying -- the sounds of activity cease. It all comes clanking to a halt, my work being left undone. The lights blink ... then there is a message on the little console screen: please change the paper in tray 2. Ok. No problem, I think. I can handle this. As I look down, to my horror I see that there is no tray 2. There never was. For some insane reason the machine has gone on a bender half way through my work and is now pining for something that never existed in the first place. Foog! Stupid technology. Fooled again.But hey, I'm a
Driving Design 2007-08-20 18:55:00 It was late. I was sitting in front of the keyboard, excitement flowing through my veins like the swarm of electrons that was feeding my computer's circuit board. The statistics for my site were excellent, I think. Both the visitors and the subscriptions were at an all time high.The fan on the computer was quietly humming in its case, drowning out the stillness of the night. The cursor silently blinking, begging me to get to work.The problem with technology is that you can find out too much information too quickly. Without a proper context you may know something, but do you really understand it?Inspired by the statistics from my site, I figured I needed to do it again. Another post, but this time I'll really push the envelope; perhaps I can lead with a scene that has lots and lots of color. Way back, I should have remembered being disgusted: it was while reading some technical book where the author went on and on about his dog. Apparently I learned little from that experience, as I q Read more:Driving
Return to the Dreaded M... 2007-08-14 17:16:00 Your being spontaneous. You buy a huge collection of tools. Everything from hammers and saws all the way up to clamps, shovels and drills. You order in tonnes of concrete, wood and drywall. Perhaps you even throw in a bit of re-bar -- those steel rods used to reinforce concrete -- just for extra strength. With all of your energy and a few of your closest friends you hit the dirt and start digging like mad. Dig, dig dig, and then you pour the concrete. Creatively, of course; in various spots around the excavation. A few truck loads at least if not more. A bit here, a bit there. Your not sure yet were it really belongs, but you'll figure that out as you go. You pound in some boards: big and small. Then it is time to whack up the drywall. So you add a wall here, maybe a window or a doorway over there. A bit more concrete; then some more wood; you keep going. It looks like some stairs might help at this point. Towards the end you toss up some "roofing" areas to keep the rain out. Add in a Read more:Return
As Written 2007-08-07 20:53:00 Verbicide. "That's a rather interesting name for it", I say to no one in particular. While that thought is rolling lazily around in my head, I stretch my feet, lean back and enjoy the summer sun. I appear to be sitting in the middle of some type of insect super-highway. They travel back and forth around the yard, buzzing as they go, constantly passing me. The grass is green, the air is cool in the shade and I am reading a book on effective writing. I burn the sounds of the insects into my memory, but only because I am in the middle of reading a chapter on color in "A Writer's Coach", an excellent book, beautifully written by Jack Hart. In the chapter on humanity the use of a vignette is suggested, which seems as I read it to alert me to the present of the bugs, but for me the pages reveal more appropriate wisdom.If I am writing in Microsoft Word and I ask the grammar checker to highlight passive sentences, I always get an unusually large number of them. Somehow I skipped grammar in s
The Science of Information 2008-03-11 19:35:00 My last couple of blog entries have -- once again -- been procrastinations from finishing off a difficult post. Most often, my difficulties in completing a piece come from uncertainties about the essence of what I am saying. Probably a good thing, as I am often trying to stretch my understanding to a new level.In this case, since what I'm talking about is what I think can be, there is no foundation for me to fall back on. I can't check my memories, or facts, or even look to other people for help. I have a vague outline of what I really want to say, but it's not as entirely as certain as the words I used to describe it.Because of that, I would suggest reading this one lightly, it may prove to be substantial, but then again it may not. Of course, comments are welcome, and any addition though Read more:Science