Weekly Ketchup
Jul. 24th, 2005 11:31 pmCatchup, catsup, something like that.
A great week, work-wise. I've finally kicked the butt of a program that I've been fighting for two months and have ground it into the dirt. It's 430 lines of code, but technically it's only 40 statements. Transact-SQL, the procedural language of Microsoft SQL Server, is a very powerful language.
There's an aphorism that a programmer that can produce ten lines of code a day is productive. I'm not sure how they arrived at that number, but after wrestling this particular program for so long, I begin to appreciate it.
It's been a rough week. My neck is majorly screwed up, I don't know what I did to it, but it happened last week in Cloudcroft. I guess it's probably a classic "slept on it wrong." It hurt all the way home last Wednesday, I called my chiropractor's office to set up an appointment for Friday and found out that he was on vacation until Monday. So I set up an appointment for someone else in the same office who has a similar technique as my preferred backup for my doc is/was in Europe at that time. The doctor I saw was OK, he wasn't able to entirely fix my problem, and we set an appointment for Saturday. I did a lot of ice, saw him Saturday, continued doing ice. I got an appointment early Monday AM with my preferred doctor, JD. HE hasn't been able to fix it yet! He's practically a miracle worker, this is the first time that I've had a severe problem with him that took more than a couple of visits: I saw him Monday, I saw him Friday, and I'll be seeing him Monday again. Fortunately my insurance deductible was met by those three MRIs in May, so seeing him costs something like $8 instead of the $40 that no deductible represented.
I've sort of missed a lot of work because of this, but I've been able to get the work done through lying on my couch with an ice pack and using the virtual private network (VPN) to use my work computer via remote control and program away. I've been keeping hideous hours, up way too late and consequently rising rather late, so working from home has really suited me. And since I get the work done anyway, I feel good about it. It would be different if I were developing a system that was used by a lot of people, but I'm not: my work will be used by one or two people. It is not a transactional database, i.e. you don't have people adding, editing, deleting, querying data. It sucks in data from a variety of sources, reformats it, then spits it out into a file to send to the Feds.
One thing that I really liked was that all of the data is aggregated, you cannot identify a single student or teacher based on the data that is being sent. I would have been uncomfortable had that been a requirement.
But now the bad boy looks like it is put to rest. All of the test runs since my breakthrough have looked quite good, the final touches were simply copying about 50 lines of code and making some field name changes. Trivial stuff. Unfortunately I made some database changes on my server at work and can't test the program on my laptop at the moment, but it will wait until Monday.
Now I have to make eight additional copies of the program! They're not difficult, basically these files measure student performance, in Arizona they have to take a standardized test called AIMS, my program aggregates the data in various ways: by performance level, gender, race, economic status, English proficiency, etc. I have to have three levels of detail: school, district, state, and for three categories: math, reading, writing. I am finishing up the math section at the school level, once I'm satisfied with it, I'll produce the district and state levels, then copy them as reading and writing and make the changes appropriate to process that info.
I'm quite pleased with what I've done. It's taken a lot of work to get it done, but it's pretty slick and I've picked up a couple of techniques in doing it.
Monday was a screwed up day because my air conditioning died Sunday late morning. I spent the night at my parent's house, saw my chiropractor, babysat, work from my parent's house (I took my wireless router with me), delivered transcript requests to my high school and one of my colleges, and that was about it. Tuesday through Thursday I actually appeared at work, but usually not until lunchtime. I'd work in the morning from home whilst lying on an icepack under my neck. Thursday is when at work I made my major programming breakthrough. I celebrated by going to one of my favorite Mexican food places in Phoenix, Jordan's on Central just south of Thomas. That night I did some more programming, mainly copying the one tricky bit of code to the next aggregation category and testing it (there are six such categories). Tested it, all was well. So I played some City of Heroes and got my highest character to level 15, so that was good.
I was up really late that night. I shut down City of Heroes, but I couldn't sleep. When I resigned myself to being up a couple more hours, I jumped on the VPN and worked some more. Got another section or two done. Didn't get to sleep until almost 4am, being at work at 8am after being up that late just isn't viable, so I sent my boss an email explaining the situation. I had hoped to go in to work for about an hour before my 11:30 re-visit with my chiropractor, it didn't happen. I saw my chiropractor, then went off to Michelle's to install some software on her PC. Afterwards I headed off to a game convention in Mesa, the first Con Games, being run by the very successful organizer of a couple previous HexaCon conventions. He had a falling out with the parent organization of HexaCon and decided that the next game convention that he ram would be entirely on his terms, thus, he created his own game con. It's been quite a good con thus far.
One major problem on Friday – I went to confirm that my paycheck had been deposited and there was zero evidence that it was in-transit. Normally there would be a balance of $X with an available funds of $X + $LotsMore. No sign of $LotsMore. So I called the payroll department in Atlanta, eventually getting said call returned and finding out that they didn't get my timesheets in time.
Friday, $X was about $40. Not really enough for to get through a gaming convention weekend. I've gotten by and haven't yet spent a dollar in the dealer's room. There was a game that I wanted to buy, I found a copy and the dealer told me that a new edition was due out in about two months. Sigh. So I'll hold off until the new one comes out.
To finish the paycheck story, they will cut me a check and allegedly got it in the mail Friday. Hopefully it will be in my mailbox Monday or Tuesday, I think I can make it 'till then with a little juggling. It will not be pleasant.
Since talking about the convention is going to get kinda lengthy, I think that it, too, shall be its own post.
A great week, work-wise. I've finally kicked the butt of a program that I've been fighting for two months and have ground it into the dirt. It's 430 lines of code, but technically it's only 40 statements. Transact-SQL, the procedural language of Microsoft SQL Server, is a very powerful language.
There's an aphorism that a programmer that can produce ten lines of code a day is productive. I'm not sure how they arrived at that number, but after wrestling this particular program for so long, I begin to appreciate it.
It's been a rough week. My neck is majorly screwed up, I don't know what I did to it, but it happened last week in Cloudcroft. I guess it's probably a classic "slept on it wrong." It hurt all the way home last Wednesday, I called my chiropractor's office to set up an appointment for Friday and found out that he was on vacation until Monday. So I set up an appointment for someone else in the same office who has a similar technique as my preferred backup for my doc is/was in Europe at that time. The doctor I saw was OK, he wasn't able to entirely fix my problem, and we set an appointment for Saturday. I did a lot of ice, saw him Saturday, continued doing ice. I got an appointment early Monday AM with my preferred doctor, JD. HE hasn't been able to fix it yet! He's practically a miracle worker, this is the first time that I've had a severe problem with him that took more than a couple of visits: I saw him Monday, I saw him Friday, and I'll be seeing him Monday again. Fortunately my insurance deductible was met by those three MRIs in May, so seeing him costs something like $8 instead of the $40 that no deductible represented.
I've sort of missed a lot of work because of this, but I've been able to get the work done through lying on my couch with an ice pack and using the virtual private network (VPN) to use my work computer via remote control and program away. I've been keeping hideous hours, up way too late and consequently rising rather late, so working from home has really suited me. And since I get the work done anyway, I feel good about it. It would be different if I were developing a system that was used by a lot of people, but I'm not: my work will be used by one or two people. It is not a transactional database, i.e. you don't have people adding, editing, deleting, querying data. It sucks in data from a variety of sources, reformats it, then spits it out into a file to send to the Feds.
One thing that I really liked was that all of the data is aggregated, you cannot identify a single student or teacher based on the data that is being sent. I would have been uncomfortable had that been a requirement.
But now the bad boy looks like it is put to rest. All of the test runs since my breakthrough have looked quite good, the final touches were simply copying about 50 lines of code and making some field name changes. Trivial stuff. Unfortunately I made some database changes on my server at work and can't test the program on my laptop at the moment, but it will wait until Monday.
Now I have to make eight additional copies of the program! They're not difficult, basically these files measure student performance, in Arizona they have to take a standardized test called AIMS, my program aggregates the data in various ways: by performance level, gender, race, economic status, English proficiency, etc. I have to have three levels of detail: school, district, state, and for three categories: math, reading, writing. I am finishing up the math section at the school level, once I'm satisfied with it, I'll produce the district and state levels, then copy them as reading and writing and make the changes appropriate to process that info.
I'm quite pleased with what I've done. It's taken a lot of work to get it done, but it's pretty slick and I've picked up a couple of techniques in doing it.
Monday was a screwed up day because my air conditioning died Sunday late morning. I spent the night at my parent's house, saw my chiropractor, babysat, work from my parent's house (I took my wireless router with me), delivered transcript requests to my high school and one of my colleges, and that was about it. Tuesday through Thursday I actually appeared at work, but usually not until lunchtime. I'd work in the morning from home whilst lying on an icepack under my neck. Thursday is when at work I made my major programming breakthrough. I celebrated by going to one of my favorite Mexican food places in Phoenix, Jordan's on Central just south of Thomas. That night I did some more programming, mainly copying the one tricky bit of code to the next aggregation category and testing it (there are six such categories). Tested it, all was well. So I played some City of Heroes and got my highest character to level 15, so that was good.
I was up really late that night. I shut down City of Heroes, but I couldn't sleep. When I resigned myself to being up a couple more hours, I jumped on the VPN and worked some more. Got another section or two done. Didn't get to sleep until almost 4am, being at work at 8am after being up that late just isn't viable, so I sent my boss an email explaining the situation. I had hoped to go in to work for about an hour before my 11:30 re-visit with my chiropractor, it didn't happen. I saw my chiropractor, then went off to Michelle's to install some software on her PC. Afterwards I headed off to a game convention in Mesa, the first Con Games, being run by the very successful organizer of a couple previous HexaCon conventions. He had a falling out with the parent organization of HexaCon and decided that the next game convention that he ram would be entirely on his terms, thus, he created his own game con. It's been quite a good con thus far.
One major problem on Friday – I went to confirm that my paycheck had been deposited and there was zero evidence that it was in-transit. Normally there would be a balance of $X with an available funds of $X + $LotsMore. No sign of $LotsMore. So I called the payroll department in Atlanta, eventually getting said call returned and finding out that they didn't get my timesheets in time.
Friday, $X was about $40. Not really enough for to get through a gaming convention weekend. I've gotten by and haven't yet spent a dollar in the dealer's room. There was a game that I wanted to buy, I found a copy and the dealer told me that a new edition was due out in about two months. Sigh. So I'll hold off until the new one comes out.
To finish the paycheck story, they will cut me a check and allegedly got it in the mail Friday. Hopefully it will be in my mailbox Monday or Tuesday, I think I can make it 'till then with a little juggling. It will not be pleasant.
Since talking about the convention is going to get kinda lengthy, I think that it, too, shall be its own post.