Tuesday, April 12, 2005

I think I'm a convert

So far, I really like this TDD thing. The part I like the most is that writing code that is testable forces you to break it up into really small chunks. Designing and implementing one test at a time really helps make the project seem more manageable.

When I am doing the TDD thing, I don't feel like I am swamped with 5 million tasks; I am totally focused on one task at a time.

I wonder if the other extreme programming practices are as easy to adopt, and will be as useful to me?
Listening to: Shine On - Rascal Flatts - Melt (Advance) (03:02)

TDD Initial Reactions

At first, I wasn't sure how I would apply TDD to a project whose sole goal is to communicate with another machine. The idea of TDD is to only test a small portion of code, and not to test outside dependencies(like the remote ftp server). If I write a test on the Connect() method of my FTP Client, I am testing my code, but I am also testing a whole list of other stuff, too.

Here's a non-exhaustive list of things being tested in this case:
  • Local Network Hardware
  • Local Network Connection
  • Remote Network Connection
  • Remote Network Hardware
  • Internet Latency
I have managed to test several pieces of the classes already, though, and avoided those dependencies. After about 20 minutes, I have 4 tests spanning two small classes. The real test will be when I start developing the Engine class, though. So far I have just coded/tested helper classes.

I'll keep you informed.
Listening to: Serial Thrilla - The Prodigy - The Fat Of The Land (05:11)

Learning about TDD

Test driven development is a relatively new idea in Computer Science. Basically, what you do is define the behavior of your classes by creating tests of that behavior before writing any code in the classes. Then you add just enough code to successfully pass the test(s), and no more.

The idea is to catch and eliminate bugs as early in the design process as possible, to reduce risk and cost. I am going to try to use TDD on my personal projects, and on the next utility that I write at Fidelity. I'll let you know what I think once I'm done.
Listening to: Mayberry - Rascal Flatts - Melt (Advance) (04:33)

Monday, April 11, 2005

Some Good News

Well, it looks like Courtney is ok. Her doctor thinks she is throwing up because of the pain meds, and in pain because she can't keep down her pain meds and has been throwing up(hard on the abs, you know).

Finally, some good news. He hooked her up with two different scrips, and thinks she'll be fine. We can only hope.
Listening to: La La - Ashlee Simpson - Autobiography (03:44)

Back to work

Today is my first day at work in over a week. Just about everyone I expected to noticed my absence. A couple of people I didn't expect to notice did, too. Always flattering.

I got a call from Mark today, and he tried to be irritated that I hadn't called when Courtney was in the hospital. I let him know that I had more important things to do when in the hospital with my wife than call everyone I know. I pointed out that if any one of the four of them had called us in the past three weeks, they would have known we were in the hospital so Courtney could have more surgery.

On that subject, Courtney has been throwing up today. It seems like she may be having complications from the surgery. The 5 complications they mentioned included increasing pain and nausea/vomiting. She has suffered from both today. I hope they don't have to put her back in the hospital.

I feel so bad for her. Everyone better be nice to her the rest of the year, or I will kick their ass.
Listening to: My Hometown - Bowling for Soup - A Hangover You Don't Deserve (03:02)

Damn the luck

Courtney is going back to see the surgeon at 3:15 today. The pain has gotten a lot worse since yesterday. She called me and told me she was having trouble walking. I feel so bad for her.
Listening to: Firestarter - The Prodigy - The Fat Of The Land (04:40)

Saturday, April 09, 2005

Hospital Day # Last

Today is the last day at the hospital, thank god. Courtney feels a lot better today than yesterday. The doc prescribed her a sleeping pill last night to help her rest, and she got a solid 9 or 10 hours of sleep, then a nap for a couple of hours. I think she may be caught up on her sleep finally.

Doc Edwards just came in to talk to us. He wrote Courtney a scrip for Dilaudid in pill form, since the demerrol wasn't working as well as she would have liked. He recommended we call around to make sure the pharmacy had the pill before going, since it is apparently rare. I found the drug at the Walgreens on the corner of Blanding and Wells.

He said he was going to have the nurse give Re a Dilaudid pill to see if it worked, and if so, send her home. I can't wait to be home.

We had a really irritating ACP today. He came in and woke us up like 4 times, and was messing with Courtney's bed. She was comfortable, and in relatively little pain, so I told him to get away from the bed and leave it alone. He came in an hour later and tried to make her eat her breakfast, even though she was still asleep. I told him she would eat it when she was ready.

He was a real pain in the ass.

Friday, April 08, 2005

Source control follow-up

It took me two days to get a project added to 3 solutions that are bound to source control. What a huge pain in the ass. That was a grueling project, and took way more time than it should have.

I contacted SourceGear and got us a 20% discount on Vault licenses, if we switch from SOS.

You go, Granny Hart

Mom took Mikayla for the night. This will be the first time that Mik has stayed with Mom overnight. Mik had been at Pita's all week, but Pita is tired now. I talked to Mom at 10, and she had just put Mik down for the night, and everything went well.

I am so glad that Mik was a good girl for Granny Hart tonight. It sure makes me more comfortable letting Mik stay out, and thinking about taking her on a trip, if she can go into a new place and still get to sleep easy.

Maybe she will be okay in a hotel, too. Courtney is jonesing for a trip, and I think we are gonna try to spend a weekend in Tampa fairly soon. We'll see how that goes. Hopefully it'll be a lot of fun.

Hospital Day #5

Courtney may be able to go home today, if the pain is manageable.

The gas pain attacks came back twice today. That really sucks. Courtney is in incredible amounts of pain, and nothing I do makes it any better. One attack lasted for 45 minutes. I bet Re thought it was 45 hours.

Erin is our nurse today again, and Skyler is back at work and stopping by occasionally.

Courtney's gas pains came back twice this morning. Both attacks were horrible.

On the plus side, the gall bladder pain is completely gone, so hopefully they fixed that.

There have been some minor complications, and Courtney is still in a lot of pain, so we won't be going home till tomorrow.

I am starting to feel like I have always lived in the hospital.

We have another new nurse tonight, and she is another Baptist nurse. The theory is being held up every time we meet a new nurse.

Courtney is off of the IV pain meds, as of 6 pm. That is a big step towards getting home.

Thursday, April 07, 2005

Hospital Day #4

Today is the big day. Courtney's surgery is scheduled for 7:45 am. They came to get her at 6:30 for pre-op. Every nurse we saw downstairs in the surgery ward asked if she had anything to eat this morning.

Once they took her back to surgery, I went into the waiting room and read half a book. Doc Edwards came out and let me know that everything went well, and he did see evidence of chronic inflammation on her gall bladder. He told me he looked around and didn't see anything else that looked bad.

Post op recovery went the way it was expected to.

When we got back to the room, we were disappointed to learn that Skyler wasn't our nurse for the day. Apparently, today was supposed to be an extra shift for her, and she decided not to take the shift, and catch up on some sleep.

On the plus side, Erin was our nurse, and she was nearly as awesome.

On the minus side, the gas pains caused by the CO2 were much worse this time than after Re's appendectomy.

We had a new nurse from 3-11, Timothy. He was pretty cool too.

We noticed a trend; almost all of the nurses employed by Baptist Health are great, and the nurses that are employed by an agency suck big fat balls.

Today was mostly unremarkable after the surgery, Courtney spent most of the day pretty doped up.

Wednesday, April 06, 2005

Hospital Day #3

This day started poorly. The nurse last night didn't tell Courtney that she wasn't supposed to eat or drink anything after midnight(or Courtney doesn't remember being told that). They came to get us for her surgery at 10:20 or so. We didn't find out that she was going to be in surgery this morning until about 10:10. Once we got down to pre-op, the nurses started flipping out because Courtney had something to eat at 7am.

She had one chicken finger.

The anesthesiologist wouldn't put her under for surgery with food in her stomach, because he was afraid she would vomit while under, and aspirate the vomitus. Doc Edwards got on the phone with Courtney and was incredibly rude, telling her that she had screwed up the whole day's schedule with her chicken finger. He was like the fourth person to tell her that, and she started crying and freaking out about it.

We came back to the room, since the surgery was cancelled, and Courtney suffered through another day of pain. Courtney's nurse during the day was wonderful. She was younger, about our age, and a lot of fun to chat with. She was the most pleasant nurse I have ever dealt with. Her name is Skyler. We are considering that name if we have another daughter in the future. Skyler has a boyfriend, and his name is Colin. How cool is that? She definitely seems like the kind of person that Courtney and I could hang out with on a friend-type basis.

When the night nurses came on duty, the nurse from the night before got chewed out. Her name is Pat. On day #2, she was real nice and took good care of Courtney. Tonight, she had an attitude every time she came in the room.

When they changed shifts, Pat came in the room and started berating Courtney for eating that morning, and said she had told Courtney not to eat after midnight. A little while later, Courtney told the acp that her IV was coming out. The catheter was visible, and had come out of Courtney's arm by about 1/2". 25 minutes later, Courtney got on the intercom to the nurse's station, to ask her nurse to come into the room. Pat answered, but took great pains to make it seem like it was someone else that answered. It took Pat about 20 more minutes to come into the room to fix the IV. She walked into the room, looked at Courtney's arm, and said 'I'll be right back'. It was another 15 minutes before she came back into the room. She left to get some gloves. The gloves are stored about 25 steps from Re's room. It was clear that Pat was taking her time because she knew Courtney was in pain, and wanted her to suffer, since Pat got chewed out.

Once Pat got to the room with her gloves, she started ripping off the tape that Courtney had on her IV. That caused Re quite a bit of discomfort, since the catheter was loose and moving every time Pat pulled a piece of tape. Courtney reached over and held the cath with her finger, to keep it from moving. Pat told her to move her hand, and Courtney and I thought she was going to pull the cath. Instead, Pat just continued ripping tape off. She kept asking Courtney what she wanted her to do. Courtney told Pat she wanted her to take care of the IV. Then Re asked if Sandy was still on duty. Sandy had put that IV in, and it didn't hurt at all, despite Sandy's need to dig around for the vein. Pat took that request really personally, and got even snippier(even though I didn't think that was possible). She made a smart-ass comment about how Courtney could have another nurse if she wanted one. Courtney told her she didn't need another nurse, she just wanted Pat to treat her the same way she had the night before. Pat told us she wasn't going to get in an argument, and that she was going to go talk to the charge nurse.

I went out of the room a few minutes later looking for the charge nurse. I explained the whole situation to her, and she told us she would look after Courtney for the night. She spent a few minutes getting an IV started again, and told us she'd be back soon. She checked on Re several times during the night, and gave nearly perfect care. My only complaint about her is that she gave Re undiluted Finergan, which ended up closing the vein.

The contrast between the day nurse and night nurse was particularly blaring today. Skyler's wonderfulness made Pat's bitchiness seem much worse.

Tuesday, April 05, 2005

Hospital Day #2

I don't really know if this counts as day #2 or a continuation of day #1. For my purposes, this day starts at 5am, Tuesday, April 5th 2005. We went to sleep last night(this morning) at 5 am. This account isn't really about my complaints, but 24 hours without sleep, and dealing with the ER to boot, is a long time. I was pretty damn dog tired by the time we got to crash. Re was pretty wiped too; she was dealing with pain the whole time.

Nurses were here at 8 to wake Courtney and get her ready for the Hida scan. The first part of the scan was 90 minutes. Courtney's gall bladder didn't show up on the scan the first time. They had her wait for 30 minutes, then re-did the scan. The tech told Courtney during the scan that a normal gall bladder would contract when they injected the medicine. Courtney saw on the screen that her gall bladder did not contract.
The surgeon(Dr. Edwards) came in during the afternoon. He told Courtney that there was an 80% chance that all of her pain was due to the gall bladder. He couldn't be sure, because the second scan was supposed to cause her a ton of pain. Since she was already in so much pain, and on such strong drugs, Courtney couldn't tell a difference during the second scan. Dr. Edwards recommended surgery as the best course of action, and told Re he would try to get her in surgery the next day or the day after that.

Dr. Edwards specifically told Courtney she could eat anything she wanted for dinner, but that if she ate something fatty, it would cause additional pain. While I was out getting lunch earlier, I picked up some chicken fingers for Re, and put them in the fridge, in case they let her have food. Two people heard Doc Edwards tell Courtney she could eat.

Courtney woke up several times during the night, and ate more chicken fingers. This was the first real food she had in two full days, so she was understandably hungry.

Monday, April 04, 2005

Hospital Day #1

Courtney got into the ER in like 10 minutes today. That is much better than the 3 hour average we had been working with.

The ER time went pretty smoothly until the shift change. The second nurse was also the charge nurse, and she just plain sucked. The ER doc(actually, he was a PA-physician's assistant) only prescribed 1mg of Dilaudid, and it was only helping Courtney for about 30-45 mins. I kept going out and telling the nurse Re was still in pain. Not once did the nurse come in and check how she was doing without me going out and getting her.

After the ordeal was over, the nurse told us that she was charge nurse that shift, and that we got shorted because of that. If she can't handle being charge nurse and dealing with her own patients, she needs to be taken off the charge nurse rotation. That dumb woman spent the entire night in front of her computer, even after I went out three times for the same thing.

We met Dr. Edwards around 10 or 11, I think. I had a real favorable impression of him right from the beginning. The first thing he said, after only reading Courtney's chart, was that she could have another shot of Dilaudid. He overheard me telling the nurse that she didn't get any relief from the last shot, and jumped right in. We talked to him for about 20 minutes, and he told us what plan of action he recommended, and that he was fairly certain she had a bad gall bladder. Not stones bad, but non-functional bad. He ordered more pain meds, and was gone.

Around 2 am, a tech came and got Courtney for the CT scan that was originally scheduled for 11:10. We couldn't get into a room until after the CT scan. After the scan, which was done around 2:20, the nurse said someone would be down to take Courtney up to her room. Of course, it took 2 hours before we actually got into the room, because the nurse was too busy dicking around with the computer to be bothered with something as trivial as patient care.

We finally got into a room about 4 am Tuesday morning. There was a problem with Courtney's bed(of course), so we didn't get to sleep until 5 am. The doctor was here in the room at 8 to speak with Courtney. After 24 hours of no sleep, I was ready for some real sleep, but that wasn't to be. Courtney was just as tired, and in pain, so I totally feel bad for her.

The HIDA(sp?) scan was scheduled for 10:30.

5 am was the first time that they got her enough pain meds to work. She got 3 mg of Dilaudid. We need to remember that for the next time(although hopefully there won't be a next time). They have been giving her the Dilaudid every 2 hours, and she has been needing it.

Another ER visit

Courtney decided she needed to go to the ER, so I am off to meet her. What a great way to spend a life. That poor woman, stuck in the damn hospital er every other week, it seems like.

damnit all to hell.

I HATE DOCTORS

No doctor is going to give Courtney and pain medication until after Wednesday. She is in so much pain she can barely walk, but they won't prescribe her a pain med refill. Assholes.

Be nice to Courtney

Courtney had a really bad night last night, and is in a lot of pain today. Mikayla woke up several times last night(she kept getting tangled in her blanket). Mik woke up at 1, 2, 3, and 5 am. I got up at 1, but Courtney was startled when Mik cried, so she jerked around in the bed. That didn't feel too good on her incredibly painful abdomen. Then, at 3, Courtney was trying to go take care of Mik, but only made it to the door before her disorientation caused her to fall.

So in addition to her being in pain from jerking around in the bed, she fell and had to try to catch herself and bounced off the floor. All bad.

Then, at 8, as I was getting ready for work, the damn cat jumped while running, and landed RIGHT DEAD on her stomach. Courtney started crying immediately. She was clearly in a lot of pain. Unfortunately, her doctor only gave her like 10 days worth of pain meds, and no refills.

Obviously I wasn't going to abandon her while she was in this state, so I had to call in and miss some more work. I hate to give this kind of impression at a new job, but my family comes way way first. This job is just that, and I can always get another if I need to. I doubt it will be a problem, my boss is pretty understanding, but I am prepared if need be.

As a smaller irritation, I was supposed to pick mom up at her mechanic's, and give her a ride to work today. That is out. I will check with her and see if I can give her a ride home at least tonight.

We called her dr around 11:30, and the stupid nurse kept trying to get her to go to the ER, or come in for an appt. The problem is that we just went to the ER, and just went in for an appt, and nothing has changed since then except she ran out of pain meds and was beat up a little this morning.

The nurses at her doctor's office are worthless. Every time we have to call them, I want to choke the life out of them. bastards.

Here it is two hours later, and they haven't even called her back to let her know if she can have more pain meds. I am so frustrated I could scream.

The only positive in the day is that Mindy really came through for us, again. Thank you Mindy, for your help and support. Courtney and I could not have made it through the last three months without you and my mom helping us out so much. We owe you both so much, and we want you to know that we appreciate you and and appreciate your sacrifices.

Friday, April 01, 2005

Virtual PC

I tried using a differencing disk today, to make a Virtual PC base image(Windows Xp Sp2) the parent for an install of Visual Studio 2005 beta. The VPC performance was so bad that after 5 minutes the welcome screen still wasn't showing.

I got frustrated and quit for the night. I'm never going to have many VPCs, so I think I am just going to copy the parent image instead of using differencing disks.

Barbequing in the rain

Today is steak night at our pad. Of course, since we took out meat to grill, it is about to pour down rain. The grill is just about ready for the steaks, and the rain is rolling in.

I hope it doesn't rain too hard. I don't mind getting wet, but I can't grill if the fire gets put out. I think it's about time for a gas grill.

Buggy Source Control

I think every developer agrees that source control is a necessity. Every good developer, at least.

Buggy source control is a huge headache, though. In my personal practice, I use a product from SourceGear called Vault(version 3.1). I use Vault because Eric Sink, one of SourceGear's owners, provides Vault free of charge to single developer shops.

At work, we use another of SourceGear's products, SourceOffSite. SourceOffSite is an interface to Microsoft's Visual SourceSafe, which many MS-centric shops use because it is included with MSDN.

Sourcesafe is buggy. SourceOffSite is buggy. Vault is not buggy.

When doing personal work, I never have to worry about my source control system screwing up and not binding a project correctly. I have never had to delete my entire local source tree and reload it from source control. In 7 weeks at my current job, I have had to start from scratch on my local machine three times.

Today, I am getting errors all over the place because someone created a solution in SourceOffSite where the solution file is below the project file in the repository. I have spent the last two hours trying to get Visual Studio and SourceOffSite to work with this project, which I am trying to add to another solution. Good luck with that. I ended up creating a seperate project, with the same files, and referencing the new project instead. How irritating.

Based on my experience with Vault and other SourceGear products, I would hazard a guess that the problem with SourceOffSite is that it is written against a buggy backend.

As soon as we get the current version of our product into production, I am going to push for a migration to SourceGear Vault. I wonder if Eric will give my company a price break, since we have already invested in SourceOffSite?