I went on an MP3 binge last night until 1 AM… that was dumb. Now I’m so tired I can’t think straight, and I have a deadline to deliver code today. Various forces are conspiring against that happening, but I could deal with them if I could just collect my thoughts…
Read more...There’s a software coding methodology called “test driven development”, which says that you write automated tests for your code first, giving sample input values and expected output. If input and output don’t match, the test raises an error.
Once the tests are complete, THEN you write the code. When your code clears all the tests, it’s done. If you make a change, rerun the tests. If something suddenly fails, you know something’s broken.
I was thinking about this last part today, and made an important realization. Automated tests give your program the sensation of “pain”. Previously, if the program were “injured” by defects, it would simply carry on happily until it died in production. But with testing in place, your application can actually tell you that something is wrong, and even what “limb” (module) the problem is in.
I have long had a vision of “self-healing” code in my mind - programs that, like a living organism, had internal mechanisms to detect problems and repair them without outside intervention. Well, outside intervention is still necessary at this point, but I think we’ve reached an important milestone along the path to self-healing applications.
Read more...I just grabbed what I thought was the SQL Pocket Guide off my shelf, to look up some database field types. I flipped to the index, and was surpised to see an entry for “Orwell, George”. “What is that doing in an IT handbook?”, I wondered, and flipped to the entry. It was only when I saw that it was in a section on creative writing technique that I realized I had grabbed Strunk and White’s The Elements of Style (which is about the same size and shape) instead.
Read more...Our project architect wanted to track files in a database. I would have been just as happy with a text file, but I put in a database to avoid an argument. In my experience, arguing over an overly-complex design takes longer than doing it the complex way.
Now the database admin, who I was never even introduced to, is vetoing my design. She says it’s not efficient enough. I say we’re going to be writing 20 records a DAY to it. She says “we might expand it in the future”.
Whatever. Arguing about it takes longer than doing it the complex way. I’m hoping my boss sticks a sock in the admin’s mouth before I start the redesign, though.
Read more...I’m programming! I’m writing honest to God code - that will go into a PRODUCTION SYSTEM!
How long has it been now - five months? During that time, all I’ve been able to do is write documents about programming. Now I get to actually do it! Can you imagine?
Read more...