Today is going to be chock full of additions to the DDA workplace. We have a photo shoot at 10 which is going to involve several animals, and I’m picking Luke up after his cooking camp. I’ve got a backpack full of things for him to do, since he’ll have to hang out with me for the afternoon, but I’m thrilled to have him here seeing all that we do. Programming looks really boring from the outside, but hopefully he’ll get to see some of the shoot, that’ll definitely be more interesting.
My programming work today is sort of in limbo, there are a few projects that are just about completed, and I have received word that a smallish project is coming in from one of my regular clients, but no word yet on it. I’m sure I’ll get an update just before it’s time to leave, so I don’t quite have enough time to work on it, or, I’ll have updates from other projects come in at the same time. In the DDA Apps department, the old saying ‘When it rains it pours’ is always true. While I am waiting, I have our DDA Pulse to work on, but I find that I want to keep adding random things to the project rather than continuing the rewrite. Instead, I have to continue the tedious rewrite task which doesn’t appear to make forward progress, but it has to be done or the program as a whole will not play nicely when new modules are added. I’m still going through and trying to add universal conventions to the existing code, such as using coldfusion generated unique ID’s (createuuid) for primary keys which requires a rewrite to just about every function. Prior to this I had used autoincrementing numbers, which are fine, but there’s always the problem of retrieving new keys immediately after inserting a new database record. Now there are of course mySQL and MSSQL functions to do this (last_insert_ID() and @@identity), but since Coldfusion updates can be running simultaneously, I do not trust that the application is giving back the correct last inserted id. I would prefer to generate the ID column’s data before doing the insert, so I’m sure of what the data is after. So this just means that I have to go through every table and every SQL call and change my ID columns from INT to VARCHAR, and then rewrite the functions and the modules to do the same. In the end, the product will be much better, it just doesn’t feel like it right now.