I’ve been doing a lot of C# programming lately and for the life of me, I keep making the same dump coding error. Instead of doing this:
I have been doing this:
if (objFoo.IsNew = true)
The thing is, I know that the second way is wrong and will lead to all kinds of bad results and yet I keep making the damn mistake!
It’s all of those years doing VB programming that’s got me screwed up.
I’m about 1/3 of the way through JPod and it is hilarious! It also really hits home. I imagine much of it won’t be very funny to people who are not software developers or IT people, but if you are, this book is more Dilbert than Dilbert.
Part of the premise is the frustrations that the characters face when they are told that–having nearly completed the development cycle for a skateboarding video game–they must add a turtle character modeled after the host of Survivor because the marketing team lead’s son loves turtles.
While I have never been asked to add a turtle to a video game, I think the “turtle” is an apt analogy for the addition of a completely useless feature that will complicate the development process and add no value whatsoever to the software. This had happened to me on some occassions and from now on, when it happens, I’m going to refer to these requests as “turtles.”
Thanks, Douglas Coupland!
I had a plan going into work this morning: that before the morning was over, I would solve the problem of calculating email availability stats that has been plaguing me for the last severals months. After using some test data to test my data aggregation script, and then running it against real data, it looks like at last, it’s working correctly. The numbers my script is getting are very close to what is currently being collected manually.
Never mind the fact that I think there are numerous statistical problems with the model being used to calculate the availability of the email at my company. I am not a statistician enough to demonstrate that they may not be as accurate as they could be. But at least I’ve got this problem out of my hair and I can move onto other things.
I have been immersed in ASP.NET code since 7 AM with ne’re a breath taken, but I am coming up for air now, and my office has materialized around me.
It’s strange, but when I get into what my friend Jim called “progammer mode”, the physical world dissolves around me. I don’t see my office, I don’t hear my phone ring, I barely even hear the music I am listening to. I’ve been programming for a very long time but I’m not what I’d call a natural, and so I suppose it takes all of my concentration and focus to do it well. On the flip side, time zooms by and before I know it, it’s almost time to head home for the weekend.
People around the office were attempting to arrange a happy hour after work, but it never seemed to materialize. It’s probably better because Dad is coming into town this weekend and of the weather holds, he’ll be at the house around 10 PM, and that gives me some time to get some errands done before he arrives.
I rarely talk about work, and specifically what I do there, but I have recently been working on a small, but interesting project that I think is worthy of description. It’s a project resource tool.
You see, we have numerous project managers for the endless list of projects that have to be managed. Naturally, there is a limited supply of people to work on those projects and often there is conflicts over who get whom to work on what.
For a while, the way that this has been managed is through email and Excel spreadsheets. Here’s how it works:
Read all about it
I decided to listen to some Ray Charles this morning while working on this project resource mangement tool that I’m trying to finish up, and I’ve discovered that Ray Charles is some good music for writing code. It’s easy to get into a good rhythm with that stuff playing. Good to know.
I did a little work on the reading website tonight, but nothing published publically yet. I’m working on two new features. One shows a list of future books that I’ll be reading. The other shows estimated completion dates for current and future books, as well as progress on the current book.
I’m also thinking about converting the underlying PHP code to a more object-oriented model, but I’m not quite ready to do that yet.
Back to Gotham.
I am superman! Earlier this week, I wrote about a problem I was trying to solve with some software packages I was integrating at work. I had more or less given up doing it the elegant way and had resigned myself to doing it a more complicated way.
This morning, I got it working the elegant way!
I found what I had been looking for all along in the manufacturers code, made a 17-line modification to it, tested it and it all worked exactly as it should. So no on will be disappointed after all, least of all myself.
Those were the watchwords of my day at work today. One of the projects on which I am working involves integrating two systems that don’t talk to each other. One system is an off-the-shelf meeting room reservation system; the other product is a tasking application–a helpdesk trouble ticket system. Integration went pretty well, until a few weeks ago when I found it difficult to update the tasking system when a meeting room changed in the meeting system. The reason for this is that only viable method for doing this is through an “indeterminate” or “stateless” mechanism.
Today, I more or less caved in and went with a simpler solution. It’s a little more painful for people who will be servicing the tasks creating by the system, and it is certainly a tactical solution, but it will work.
And yet, I feel defeated. There should be a way of making this work the way I want it to work, but I can’t get enough information about how the meeting application works to figure out what that way is. I’ve read through thousands of lines of their code–it is literally scattered about my office–but I just can’t figure it out. As a completist, I feel frustrated. As someone who is working toward building a system that all people who use it will be happy with, I feel like I’ve let some people down. But given budget constraints and time limits, there’s not much more I can do at this point.
I’m going to try finishing up “The Graveyard Shift” tonight. But I need to relax, wind down a bit first.
I’ve been working on a tough database problem at work that involves triggers and recursive activity for a software system we’re building. I’ve been in the design phase for a few weeks now and today was the first day that I started on the actual coding. I’ve been “heads-down” in code all day, since getting into work at 7 AM. 8 hours later, the first crucial piece is working correctly. That is incredibly good news because it means the design is solid.
I still have a fair amount of work to do on this thing, but this was the first major hurdle and that it works as well as it does makes my life somewhat less stressful.
This has been one of those fragmented weekends where I am trying to do three different things and not doing any of them very well.
I’ve been watching episodes of The Sopranos. I’ve seen all of them more than once already, but for some reason, felt the urge to watch them all again. Perhaps because season six is schduled to start up in March. In any event, I’ve spent a number of hours watching Soprano’s episodes this weekend.
I’ve been trying to get some writing done on “The Graveyard Shift”. I did a pretty good job of that yesterday, but I also felt like I would do more this morning. Instead, I watched a couple of episodes of The Sopranos.
I’m also trying to finish up Foundation’s Fear. I’ve managed to get halfway through it, but I would have been a lot farther along if my time hadn’t been so fragmented this weekend.
Add to that the fact that I’ve been tweaking style sheets for my reading list website (certain styles are driving me batty!) and have not done any of the house-related chores I set out to do, and you get an idea of the kind of weekend this has been.
On the plus side, I did come up with another pretty good story idea, which means I’ve got four solid ones, if you count the one I’m working on now.
Anyway, that’s how my fragmented weekend is going.
I spent a few hours this morning getting the RSS feeds for my reading lists working. There is now a single feed for each list. The feeds are limited to books only; short items are excluded. I’ll probably include short items in the future. I’ll also eventually get around to adding a single master RSS feed that covers all of the years of reading lists that are in the database.
I validated the feed against an RSS validator and with the exception of having “blank” comment fields, the feeds validate perfectly.
There are no books yet on the 2006 list (just short items). The most recent book feed is 2005 and can be found here.