Monday, May 01, 2006

Minimum Wage Update

I received a comment from State Representative Susan Lynn, who was quoted in my recent rant on Minimum Wage. It turns out she has a blog. Since I called her comments "idiotic", I thought I would be nice and include her comment to me and a link to the article she references.


Dear Jeff,

I was pretty frustrated by the article too. Please remember, articles omit a lot of other comments.

Actually, I wrote a guest column in the Nashville City Paper. You can see that article on my blog: http://susan-lynn.blogspot.com

The article is called: Public Policy & Raising the Minimum Wage

Thank you for allowing me to respond.

Rep. Susan Lynn


Public Policy & Raising the Minimum Wage

I'm betting she found my rant by doing a "vanity search", but I still think it is great that lawmakers are taking the time to see what the public is saying about them and sharing information via blogs. What's even more impressive is that I'm not one of her constituents, I don't even know where the 57th district is. So it wasn't a case of "vote grubbing."

Wednesday, April 26, 2006

Online Movie Rental

I think online movie rentals is a great idea. I had been considering trying one of the services for a while and finally decided to give it a whirl last month. I kept seeing billboards for www.gamezandflicks.com and I checked them out. They were cheaper than NetFlix AND offered video game rentals, so it seemed like a no brainer. I wasn't real jazzed about NetFlix anyway after reading about them "throttling" their high volume users.

So I paid my $16.99 and added some movies and a couple of games to my queue. They quickly shipped 2 movies and a game and I had them within two days. As I started trying to add movies to my queue, I realized why they were so cheap. Their selection was very limited. And when you selected the New Releases category, they listed all the movies that were recently released to DVD. Now, I know that makes it a new release, but I shouldn't have to browse through 6 pages of 70's movies to find a new movie. When you go to the video store, they don't put Smokey and the Bandit 2 in the New Release section just because it was just released on DVD.

Their navigation also left a lot to be desired. When you added a movie to your queue, they didn't provide a way for you to return to where you were when you added the movie. So you end up hitting the Back button and as a web developer, that's never a good thing when you are submitting information to a site. I just looked today to get the link and it looks like they have done a redesign, so maybe that is not an issue now.

Their customer service also pissed me off. They don't provide any phone contact, so it's all done through the website and email. They even have a help request for finding out if they carry a particular movie. I submitted a request because they didn't have The Sopranos Season 5. I found Season 4, but not 5. They just closed the ticket, no response, just closed it.

So I started searching for an alternative. I found a guy on the web (I can't find the link now) who compared all the services and rated Intelliflix highly. I check them out and they had either a $16.95 plan for 3 movies at a time or $24.95 if you wanted to be able to checkout games also. $24.95 is a little steep, so I decided the game rental could be done locally because I really don't rent many of them anyway. Plus, I generally only want them on the weekends A & Z are over and one thing I've learned from this online movie adventure is you can't control what you get or when you get it. So I sign up for the $16.95 plan and add about 50 movies to my queue. I was very pleased with their selection and when you click New Releases, you get new releases.

Alas, things were too good to be true. I notice my bank says the charge from Intelliflix was $18.45. No big deal, probably some sign up fee that I overlooked when registering. So I head to the site, go to Help and submit a ticket. They don't let you type more than 500 characters when submitting a ticket. Now, they do have a couple of dropdowns that let you narrow you ticket type down, but 500 characters is still pretty limiting. Still, no big thing. I send them a quick note asking what the extra $1.50 was. Get an immediate "Your ticket was received and is number ######, we'll get back to you shortly." A day passes and I get an email from support saying that it was forwarded to the billing department. Then nothing. No more response from anyone. I head back to the site and look for somewhere I can enter the number they assigned my ticket to see the status. Hmm, there's nowhere to do that. All you can do is submit new tickets. I just let the $1.50 slide and kind of forgot about it.

While this is going on, I've been watching movies. I got my first 3 and sent them back and then received 3 more. I noticed shipping was a little slower than G&F, because G&F seemed to be shipping everything from Kentucky, but Intelliflix was all over the map. What's an extra day though? After a couple of cycles, I noticed they had received all my returns, but hadn't shipped anything. They had been shipping 1-2 days after receiving a return. I waited 2 days and submitted another ticket saying "Hey, you're not sending movies, I've got 50 in the queue, surely something is in." I got back a response saying "We're sorry, we are looking into the problem and we made sure somethign got shipped to you." Sure enough, I get an email saying something was shipping out that night.

Now it comes time for the monthly charge. I have MSFT Money set to automatically enter the $16.95 and it does. I check my bank and surprise! They charge me $18.45. Another ticket, another forwarding to billing, but this time I get a response. It simply says that it is a processing fee. Hey, don't flood me in information here. What kind of processing fee? I'm not going to let them off that easy. I reply and ask what kind and is it an avoidable fee and if it is not, why is it charged separatly and not advertised? No response. Now I'm pissed.

I had gotten another batch of 3 and returned them. They marked one received on the 19th and the other two on the 20th. As of the 21st, they had not shipped anything, so once again I submit a ticket. And included my questions about the processing fee. I hit the 500 character limit (you knew that would come back up, didn't you?) and probably sounded like an idiot. Hey, it's hard to rant in 500 characters or less. And I get the exact same response (about shipping new movies) as before, just from a different person. So one movie ships on 22nd. I replied to the canned response and repeated my complaints about slow service and the processing fee question not being answered. I requested that my ticket be escalated to someone who would give me more than a canned response because they were in danger of losing me as a customer. That was on Monday, today is Wednesday and I have heard nothing from them. I haven't received the movie that shipped on Saturday and they haven't shipped anything else, even though my other 2 movies have been back for almost a week now.

I don't expect to get 100 movies a month for $17, but I do expect them to provide a basic level of service. If it takes 3 days transit both ways, I should be able to expect to have at least one new movie every weekend. My boys and I watched 2 movies 2 weekends ago and I sent one back on that Saturday and one on that Monday and I still haven't gotten a new movie.

Intelliflix has lost me as a customer. I'm going to finish this month since I paid for it, but I'm looking at the two remaining services. Blockbuster and NetFlix. I know people that use both, so I'm torn. I've never really liked Blockbuster and I don't like the idea of NetFlix manipulating customer's queues but I'm sure all of them do it. They are both the same price ($17.99), but Blockbuster adds the feature that you can print a coupon once a week to get a free in-store rental. Maybe that is my option, so if they aren't shipping movies or I don't have anything kid friendly on my kid weekends, I can just run down to the local Blockbuster and pick something up.

Anyone had experience with either of these and have any input?

Mein Gott! This is a long post. I apologize, I just got started and couldn't stop.

Tuesday, April 25, 2006

Does our government meet this criteria?


"A wise and frugal government, which shall leave men free to regulate their own pursuits of industry and improvement, and shall not take from the mouth of labor and bread it has earned - this is the sum of good government."

--Thomas Jefferson

IRS, FCC, USDA, ATF, SEC (not that SEC), Departments of Energy, Commerce, Labor, Transportation, Education, DEA, EPA, etc. Hmm, I don't think so.

Speaking of the ATF, "Alcohol, Tobacco and Firearms" should be the name of a store, not a government agency. I know I would shop there.

Monday, April 24, 2006

Fewer calories, less filling

I'm not much of a grammar policeman, I do love spotting misspellings, but I normally let the grammar mistakes go. Probably because I make so many myself. But if I were writing an advertisement, I would probably pay more attention to it. I noticed a sign on the way home today that has been there for years and I never really paid attention to it. It was at The Mac Authority in Nashville. The sign mentioned that Macs have 97,000 less viruses than PCs. Since you can count the individual viruses, it should be 97,000 fewer viruses.

Now back to your regularly scheduled life.

Thursday, April 20, 2006

Eagle Eye Webcam

I had to share this link. It's a webcam viewing an eagle's nest. There are two eagles incubating two eggs.

Eagle Webcam

Wednesday, April 12, 2006

Apparently, I have the best profession in America

According to this Money article, Software Engineer is the best job in America. Just a few years ago, the media was predicting nothing but gloom and doom for developers.

Tuesday, April 11, 2006

Catching up

I think I blogged myself out last week, I haven't had much to say. Things have settled back down since returning to town. I took this weekend and did as little as possible to unwind.

I hope everyone out there weathered the storms okay on Friday. I was worried for my grandparents because they were right in one of the areas hit and I couldn't reach them. I tried to go to their house, but traffic was too backed up and I couldn't get through. They finally called around 8:00 that night and everything was fine except they didn't have power. They didn't get it back until 9:00 Saturday night. And the church that was destroyed (Metro Baptist) was where they went to church.

I met up with a friend Saturday night that I hadn't hung out with in a while. We met up w/ some friends of his from work and listened to karaoke. Suprisingly, about half of it was pretty good. There were actually some people that could sing. I didn't stay too long though, I was really tired. In fact, I slept late both days this weekend. My allergies are acting up, so I've needed my rest.

Z's baseball team made up their Friday night game on Sunday. They won a nail-biter 4-3. I've got a lot of kid activities this week, last night was the only night this week where something wasn't going on.

Wednesday, April 05, 2006

Dev Connections Day 4

I don't have my notes in front of me, so some of the titles may be wrong.

8:00 - 9:15
TDD and SharePoint Web Parts

This was interesting and the presenter did a good job, but it wasn't much new information. In fact, most of it was exactly like a presentation I gave a month ago to other developers at my company.

9:30 - 10:45
Synchronous and Asynchronous Web Services in .Net 2.0

This was a great session. Cody was in this session and he had see the presenter before. He said he was good and knew his stuff. He was right about that. Microsoft just keeps making it easier to write code. Asynchronous Web Service calls are almost as easy as synchronous in 2.0.

10:45 - 11:15
This was a coffee break. About 10 minutes before the next session started, I got a phone call from work. One of our SQL Log files was eating up all the disk space on our test server. I had to go to the car and get my 10 lb laptop and VPN in and fix it. The database got in a weird state because of the lack of disk space, so I just deleted the database. I'm subtle as a sledgehammer.

11:45 - 12:30
Security for the SharePoint Developer

I will give the guy the benefit of the doubt on this one since I came in 30 minutes late. But he was flat and uninteresting and instead of doing demo code, he showed us part of a real application. You would think that would be better, but when there is so much code around the concepts you are trying to teach, it makes it very difficult because you start having to explain way too much. I left and relaxed in the lobby.

12:30 - 1:45
Lunch

We had a good box lunch. Cody and I practically redesigned the app we just finished with some of the stuff we learned.

1:45 - 3:00
Improving Performance & Scalability for .Net Applications

This was the best session of the week. Steven Smith did a great job of providing tips for improving your app's performance. I had to leave right at the end so we could make it to the airport.

We are sitting at the airport now. We should be boarding in 30 minutes. I'm ready to go home, I'm very tired.

Tuesday, April 04, 2006

Dev Connections Day 3 Part II

Just got back from the party. Great food! They had casino games set up and Lee, Cody and I played poker for an hour and a half. I wish we had been playing for real money, because I started w/ $30,000 and finished with $108,000 (excluding the last hand where everyone went all in).

I also forgot to say thanks to the guy who returned my wallet today. Apparently, it fell out of my pocket during the second session today. After the 3rd session, someone called me and told me he had found my wallet. I didn't catch his name, but to the tall bald guy, thanks a million. I'm glad you thought to look at my business card and call my cell phone. If you had just turned it in someone, I might never have got it back. Thank you.

It is time for bed. Final day is tomorrow, it's going to be a long day.

Dev Connections Day 3

Well, it's 5:30 on day 3. The day isn't over yet. We are going back at 7:30 for the party. Free steak and chicken. One thing I can say is the food has been excellent here.

I originally planned on blogging the actual information in the sessions, but I just don't have time to get to that, so I'm going with more of a quick summary and review. I have about 5 of the sessions I'm going to go back and write more in depth summaries and will either post them here or at www.workagile.com (when I get it up and running).

The sessions were 1 hour long yesterday and we had a keynote in the morning and 4 sessions. Today, the sessions went to 1 hour 15 minutes and we had 5 sessions.

8:00 - 9:15
SOA and SharePoint - Using Web Services to aggregate disparate data sources

It was a mouthful of a title, unfortunately the content didn't live up to the title. Bob Mixon is a low talker. He kept getting off track telling us about how his system is setup or how does this nifty post build event. It reminded me of when you are replacing someone at a job and they are leaving. The last day when they are supposed to be training you, they keep bouncing around saying "oh, yeah, this is neat, wait I have to show you this over here and that over there."

9:30 - 10:45
How the Core ASP.NET Engine Works

This was really a filler session for me. There was nothing else I wanted to go to. But Rick Strahl blew me away. I think he knows more about the internals of ASP.NET than most of the MSFT guys. Excellent speaker and very knowledgeable. As he said at the beginning, there wasn't a lot of practical take-away information, but it's good to know how the "magic" happens.

10:45 - 11:15
Coffee break. Cody, Lee (another co-worker from a different dept) and I compared notes on our sessions. I drank a Mt Dew and a Starbucks Mocha iced coffee and I can feel the caffeine coarsing through my veins.

11:15 - 12:30
Building a Corporate Telephone Directory w/ SharePoint

He could have given us all the useful information in 10 minutes. This plain sucked and I don't want to waste anymore time typing about it.

12:30 - 2:00
Lunch (very good lasagna and meatballs. And some kind of vegetable dish that was heavy on the zucchini. Normally I don't like zucchini but this was awesome)

Cody and I walked around the hotel and tried to teach a parrot to say "asshole." It kept saying "Hello" and "cracker." Stupid bird.



They gave away the Harley. A Russian girl won it. They asked if she likes motorcycles and she said her boyfriend would. I bet he will. If she plays it right, she can trade that motorcycle for a ring.

2:00 - 3:15
Building Web Parts the Smart Way

Great job by Patrick Tisseghem. Great info on the SmartPart which I guess I will be using soon.

3:15 - 3:45
Break

I am taking all of my white shirts and throwing them away. On the flight down here, I was wearing a white polo. I was eating a muffin. I dropped a bit of muffin onto my shirt, where it left a stain! Who but me can get a muffin stain on them? During the break, I was eating a very tasty dessert. It had a plump, juicy raspberry, I poked it with my fork to eat it and it squirted its juice all over my 2nd white polo. Only black shirts for me from now on.

3:45 - 5:00
Advanced Web Part Development

The presenter, Scot Hillier, was very knowledgeable and a great presenter. The content just wasn't very useful because it dealt with building web parts in .Net 1.1 and I work exclusively in 2.0.

I may post more after the party, or I may not. Depends on if anything cool happens.

DevConnections Day 2

Sorry for the delay in posting yesterday.

8:00 - 9:00
We started off at 8:00 with another keynote speech. Prashant Sridharan spoke about MSFT Team System. You know the piece of $10,000 software that you can recreate with Open Source software for free. The session was pretty boring. It's nice spending this much money and having a marketing pitch thrown at you. One thing he mentioned was a new VS ad campaign at www.400plusdifferences.com . There were a few humorous clips.

9:30 - 10:30
Deep Dive Into ObjectDataSource

I was looking forward to this one. We design our apps to have objects in a middle tier and this seems to be targeted exactly to that. Kashif Alam was the speaker for this session. Basically, he demoed the same databind/paging/sorting crap that they do in all the demos. He just used an ObjectDataSource instead of SqlDataSource. That's fine if he had used a real object, you know like a custom class, but he just used a typed dataset. Also, his presentation leaves a lot to be desired. He is well-spoken, but very lowkey and he jumps around in the code a lot and never completes a thread.

He referenced www.asp.net/QuickStart which look pretty cool.

10:45 - 11:45
Creating Dynamic Web Sites w/ ASP.NET Web Parts

As is becoming the standard, the slides were not in the book. Remember, this is the extra book I paid $100 for. Thanks.

My first boneheaded move of the conference. The way the doors were labeled, we were in D&E and should have been in F (which was in the back of the room). So we sat in the wrong session for 20 minutes. We were wondering when he was going to get to web parts. We found the right room and discovered that the session we wanted had been rescheduled. So we went to the mobile pc lab and checked out tablets and got a hat.

11:45 - 1:30
Lunch and cruising the vendor area for more swag.

1:30 - 2:30
Visual C# Under the Covers

This is covering new stuff in C# 2.0 and upcoming features in 3.0. The presenter was Mads Torgersen and he did a very good job. This has been the best session so far. There is going to be some cool stuff in C# 3.0; Lambda trees, Extension methods and the LINQ stuff are very interesting.

2:45 - 3:45
Overview of Patterns & Practices Library

This was pretty lame. The only Enterprise Library pattern I was even remotely interested in was the Logging. And it doesn't support rolling log files, so log4net is still my choice.

4:15 - 5:15
ASP.NET 2005 Tips and Tricks

I didn't have high hopes for this, except for the fact that it was Scott Guthrie presenting. But it was awesome. Lots of useful stuff. He showed an RSS from MSFT that lets you write a few lines of code and generate an RSS feed for your site. That will be added to www.workagile.com very soon.

We came back at 7:00 to the MSFT "Unplugged" event. Free pizza and beer and a Q&A session with all the MSFT guys. Some people had some good questions. I didn't get to ask mine. I wanted to know what they thought the advantages were with Team System over Open Source alternatives. After that, we went and watched the Florida-UCLA game.

Day 3 should be up tonight. It's actually lunchtime on day 3 right now.

Monday, April 03, 2006

Dev Connections Day 2 Postponed

Postponed until tomorrow.

Dev Connections Day 2 Quick Note

Full post on day 2 will be up later tonight. I'm just taking a break before the MSFT Unplugged event tonight, not enough time to type up all my notes.

Just wanted to post a link to another blogger that is at the conference. He helped me name the rocket I mentioned last night...projectile swag. Check his blog for a video of the swag in action.

http://iwkid.blogspot.com/

Sunday, April 02, 2006

Dev Connections Day 1

It has been a long day. My flight left this morning at 11:35 and landed in Orlando at 2:00. Between daylight savings time and the flight into the Eastern time zone, I lost 2 hours today. The flight was smooth, but the plane was small and crowded. Cody (my co-worker) and I watched Saw II while waiting to board and then we finished on the plane. It was good, but I liked Saw better.

A couple of U-turns later, we found our hotel and checked in, then headed to check in at the conference. Check was very smooth, they gave us backpacks with all the books and CDs and info. It took less than 2 minutes to check in. We had 2 hours til the keynote started, so we headed to Chevy's Fresh Mex and had way too much food.

The keynote was not bad, but it wasn't much new stuff. Scott Guthrie (ASP.NET team) and Mike Nunn (formerly SQL Server PM, now on Visual Team System) gave keynotes. Scott talked about building Atlas apps, but gave basically the same demo that is on the Atlas asp.net page.

Mike Nunn talked about SQL Server and its integration with Visual Studio. He demoed CLR integration w/ SQL Server, which has greatly improved since the beta. Last time I looked at it, you had to jump through hoops to get it to work. Now you create a project, add some code and click Deploy. He also showed some Business Intelligence capabilities, which I will have to check out later. It was way high level and I didn't really get the use of it.

After the keynote, they had a dessert reception. Lots of desserts, a bar and vendors. We had a free drink ticket, thankfully, cause beers were $5. We walked around and collected swag. Score so far: 3 t-shirts and one of those rockets that you pull the string back and fire from your finger (see the image). I know there will be another free tshirt from MSFT tomorrow and they are giving away a Harley, several tablets and other goodies.




I'm done for the day. I'm going to call my A and Z and then hit the bed.

Weekend Update

Friday night was the "season opener" for Z's baseball team. One of the Tennessee Titans, Jacob Bell, threw out the first pitch. It's great to see these guys doing stuff like this in the community. Too often, all you see is people like T.O. on TV making an ass out of themselves. But you never hear about the players going out on a Friday night to a small town baseball game. It made the kids' night. He stuck around for about 30 minutes signing autographs for all the kids at the park.

Ozzie, the Nashville Sounds mascot, also came out. I've had kids playing ball there most of the last 7 years and I've never seen them do stuff like this. Someone there is doing a good job. I took some pictures of Jacob Bell and Ozzie, but since my camera doesn't have a good lens, my far off shots suck. I need to save up $1000 to buy a good camera. Of course, I need to save up $1000 to buy a lot of things.

Z did pretty good Friday night. He walked twice and struck out once. Both times he walked, he got stranded on base, so he never got to score. They won, 6-0. Saturday's game, Z struck out twice. He took a bunch of strikes, I think he was looking for a walk again. But his team still won, 7-6. Z and I practiced some that afternoon, I taught him how to bunt. It's fun when they move up into the age group where kids pitch and they can bunt and steal.

I woke up this morning to very loud thunder. Nothing like being woken up by a thunderstorm the morning you are getting on a plane. I just checked and everything is still on time. I've never flown in one of the smaller jets before. See y'all in Orlando!

Friday, March 31, 2006

Friday Etc.

This is something new I'm trying. Usually I have a specific topic when I post, but that means I don't get to post a lot of little random stuff. So on Fridays I'm going to start posting all the little things that go on during the week.

Today has been hectic because I'm trying to make sure I have everything ready for my trip. I don't know why I'm so worried, I don't leave until Sunday and I am meeting my co-worker at the office to go to the airport, so if I forget something today, I can get it then.

My grandmother forgot to tape 24 for me Monday night, so if anyone has it on tape, I'll pay for shipping and the tape. If anyone has it on Tivo and can transfer it to their computer and send it to me, I'll be really thankful and buy you a beer.

I played my grandfather's Fender Telecaster last night. Oh my, what a nice guitar. I'm not worthy of playing a guitar like that. Learning has been going very slow for me. Honestly I haven't had a lot of time to practice the last couple of weeks.

Ran across this the other day and have downloaded the first 6 lessons onto my iPod. I've always wanted to learn German, so I'm listening to them during my (shortened) commute. I guess if I'm going to learn German while I'm driving, I better learn to cuss in German soon. The most important phrase I've learned is "Ich möchte ein Bier, bitte." (Not sure if the umlaut will show up)

Developers are always saying they are "done" with a project when there are still hundreds of defects. Talking to a co-worker this week, I said "The code is complete, it's just in the wrong order."

CodeWolf, I saw your comment and I'm thinking about the article you sent. I'm working on a post for it, I'm just a little slow. Quick thoughts: I think in addition to strengthening our borders for security, we should streamline the immigration process so those who want to come here can do it legally and without jumping through hoops. But if you live here, you are an American. It's great to have pride in your homeland, but don't move here and then fly your former country's flag over your new country's flag. If you like it so much, go back.

I have a favor to ask of everyone. A friend of mine's mother was diagnosed with breast cancer and she had surgery a few weeks ago. The doctors wanted her to have radiation therapy also and as of right now, she has decided to not have it. She is concerned about the effects and possibility of the radiation causing other cancers. The favor is to keep her in your prayers or thoughts and pray she makes the right decision.

My youngest son Z has his first baseball game of the season tonight, hopefully the rain will either move on through or wait until after the game. One of the Titans is supposed to throw out the opening pitch. I don't know which one. I'm picking up A and Z early today since I will have to take them home Saturday night instead of Sunday night. I've been trying to think of something fun to do this afternoon. Now that it is supposed to rain, I guess that means a movie or bowling.

I think that is all I have. Be looking next week for my posts from Orlando.

Wednesday, March 29, 2006

Commuting Bliss

All the new lanes are open on 65 North now. I just did my normal 35-40 minute commute in 22 minutes. What will I do with my 10 minutes extra a day?

Random Thoughts

What a beautiful day! I walked out this morning and there was just a little chill in the air, but the sun was shining and it was the perfect temperature. I love this time of year.

I also love all the expansion they have done on I-65. It is now 5 lanes both North and South and it has cut down on congestion immensely. Now that this 6 or 7 year project is done, I'm sure they will pick some other stretch of interstate that I drive on regularly to tear up.

I leave Sunday morning to go to Orlando for the developer conference. I am going to attempt to blog about the conference each day (it runs from Monday - Wednesday). I hope my non-technical readers don't get bored and unsubscribe, I don't have enough readers to lose any.

Movie recommendation: "Intacto", directed by Juan Carlos Fresnadillo. It's a Spanish movie about people who are lucky (I mean, really lucky) and gamble in high stakes games with other "lucky" people. It's hard to describe. It's a very good movie and the cinematography was amazing. One scene where they are racing through a forest of large trees was just beautiful.

Listening: Psycho Monkey by Joe Satriani

Tuesday, March 28, 2006

Another iTunes Meme

I'm going to have to come up w/ my own iTunes thing and see if I can get it to spread.

From Jane's Blog...
Go to your iTunes and fill out the first band that's in each letter, and don't be all like "mmm, I don't want people knowing I listen to them so I'll pick the coolest one".

A - Adam Sandler
B - B.B. King
C - Cake
D - The Damned
E - Eagles
F - Falco (yea, I'm embarrased by that one)
G - The Gap Band
H - Hall & Oates
I - Incubus
J - J. Geils Band
K - Kansas
L - L.T.D.
M - The Magic Numbers
N - Natalie Cole
O - The Offspring
P - Page & Plant
Q - Queen & David Bowie (you know the song Vanilla Ice didn't steal from)
R - R.E.M.
S - Safety Scissors (Sometimes the iTunes free download is free because the song sucks! WTF is this? And why haven't I deleted it?)
T - Talking Heads
U - U2
V - Van Halen
W - The Wallflowers
X - X (that's a tough one)
Y - Yarbrough & Peoples
Z - Zack Hexum

Saturday, March 25, 2006

Soup update

It's done, and it's pretty damn good. I'm not just saying that because I made it. Who needs tomatoes?

Tomatoes

I'll be up front and say I am weird about tomatoes. I'll eat fresh tomatoes on a burger/chicken sandwich, but could live without them. I like spaghetti sauce, chili, salsa and other things made with tomato sauce as long as there are NO chunks. There is nothing worse than a cooked tomato (well, yes there is, but for the purposes of this post, work with me). I hate ketchup as mentioned in a previous post.

For dinner tonight, I'm making a cajun 15 bean soup. It's been in preparations for almost a whole day if you count soaking the beans overnight. I was just doing the final preparations, which is adding the sausage, onions and tomatoes. My grandmother told me to get the diced tomatoes and smoosh them up so there wouldn't be any chunks. I opened the can of tomatoes and took a look and decided "fuck it, the soup doesn't need tomatoes." I couldn't even smoosh the damn tomatoes because I didn't want to touch them. I have no problems touching dead animal flesh, but a simple vegetable (or is it a fruit?) freaks me out.

Oh well, let's see how this soup tastes without the tomatoes. It will be ready in about 20 minutes, so I'll find out. The recipe says it serves 14-16 people and I'm the only one here. I could invite all my readers and still have leftovers.

Thursday, March 23, 2006

The Great Goatee Growing of 2006

Thus ends the goatee experiment. I trimmed it way down last night and shaved it off completely this morning. It was irritating me. It's weird, I only had it for a few weeks, but this morning I barely recognized myself in the mirror.

You can no longer call me "spinach-chin".

Wednesday, March 22, 2006

Customer Service

Bad Customer Service
I have a Zyxel wireless network card. Yes, it was the cheapest one they had at CompUSA, and you get what you pay for, but their customer service just plain sucks. I moved the network card to a different computer recently and when Windows prompted for the driver, I realized I had lost the CD that came with the card. So I hit their website to find the driver. Went to Support, Downloads, entered my model number and was presented with a list of files I could download. Sure enough, there was the driver. Click the link and receive an error that the file or directory doesn't exist. So I click on Contact us and send a message asking where I can find the driver. I got an automated response that my question would be forwarded to the correct person. That was 5 days ago and I've received no response at all.

I checked this morning and the link is still dead. I noticed that the link was just a plain ftp link, so I hit the top level directory of the ftp site and tried to see if maybe there was just a typo in the link. Nope, the directory for my model number doesn't exist. My model number is G-302, and there was a G-302_v2 directory, so I downloaded that driver. I haven't tested it yet, but even if it works, this is not how customer service is supposed to work.

Good Customer Service

I rented a U-Haul truck when I moved earlier this month. When I picked up the truck, I wrote down the mileage that was on the odometer and did the same when I returned it. When the charge went through my bank account, it was about $32 higher than it should have been. I pulled out the original agreement to get the phone number and noticed the starting mileage on there did not match what I had written down. It was about 50 miles lower than what I had written down. At $0.59 a mile, there was the extra $32. I called the local U-Haul number and told the guy what had happened. He didn't question me, he didn't make me explain numerous times, he didn't argue and say that I had signed the agreement with the mileage (they make you sign it before you get the truck, so how are you supposed to know how many miles are on it?). He simply apologized and said "I'm putting a $35 credit on your card, it may take 2 or 3 days before it goes through." U-Haul just got a repeat customer.

Monday, March 20, 2006

On a lighter note

Now that you sat through my mental regurgitation, you get to hear my completely stupid idea. I'm trying to learn to play guitar right now and pretty much suck. The other day, I learned "Anarchy in the U.K." by the Sex Pistols, all the Sex Pistols' stuff is pretty simple. Anyway, I only have an acoustic guitar, so it sounds pretty funny playing a punk anthem on an acoustic. I thought, wouldn't it be cool to have an acoustic Sex Pistols cover band? No, you say? My thoughts exactly.

Listening: Boys of Summer by The Ataris

Welcome to my Nightmare

I can't afford therapy, so my faithful readers will be forced to read my pathetic attempts at self-analysis. Exhibitionist therapy at its worst. I've been doing a lot of thinking lately and have figured out that I am one screwed up individual. I would say my biggest issue is communication of my thoughts and feelings. I can try to lay that off on the whole "I'm a guy, we're supposed to do that" thing, but seriously, I cannot, and I mean absolutely cannot, communicate my feelings using spoken words.

When someone hurts me or makes me mad, I just push it down inside. I've spent my entire life restraining my words because I didn't want to hurt other people's feelings. Well, most of those people never gave a fuck about my feelings, so why should I have been worrying about theirs? I recently sat through some therapy sessions for marriage counselling and I couldn't tell the therapist what I was thinking or what was bothering me. I finally tried at the last session but I wasn't able to express the emotion or power behind the feelings. I just spoke words. I could've been telling him how to get to the nearest McDonald's.

Someone recently told me I was hollow inside. That's a pretty damn good description. I love my two kids (A & Z) more than anything and I love my grandparents, who are pretty much the only family I have left. I seem incapable of maintaining a relationship with someone I'm not genetically linked to. I have very good friends, but as proved by my actions a couple of years ago, I can just stop contact at a moment's notice.

I'm sitting here going back and forth on whether to post this or just delete it. The old Jeff would say delete it. The new Jeff just said fuck it and hit Publish Post (after proof-reading of course, I'm not that screwed up).

Listening: Jungle Love by Morris Day & the Time, but if I had to tell you that, you suck.

Friday, March 17, 2006

Minimum Wage Redux

Back in 2004, I posted a letter I wrote to a journalist about minimum wage a while back. I never did receive a response from her, not that I expected one. Some of that material, or at least the general ideas may be recycled in this post.

Yesterday, I read an article in The City Paper about a bill being debated in the House that proposes a $1 hike in the state minimum wage. Articles like this always piss me off, because it makes me realize that our elected representatives are ignorant. Politicians don't give a damn what is right or logical, all they care about is doing the thing that gets them the most votes in the next election.

This article was no different from hundreds of other newspaper articles about minimum wage increases. The article split the politicians into their two camps and the Democrats are for the increase, of course. And the Republicans are against it, of course. Both of them for the wrong reasons, of course.

I will quote the article and add my thoughts…

Democrats think raising the minimum wage will help lower-income, under-skilled Tennesseans.


It will help lower-income, under-skilled Tennesseans temporarily. It will help them until the prices rise because of the increased cost brought about by the minimum wage increase.

Republicans think raising the minimum wage will actually hurt lower-income, under-skilled Tennesseans in the long run.


Actually, it hurts everyone in the long run, because it results in higher prices.

“This is just trying to help the little guy out a little bit,” Rep. Mike Turner (D-Old Hickory), the sponsor of the minimum wage increase, told the House Government Operations Committee.


I love quotes like this. How do you argue with the guy and not seem like a heartless bastard? He actually says nothing factual or logical, he's just trying to help the little guy out. What, are you against the little guy? This type of phrase ranks right up there with "It's for the children." Okay, back to the subject at hand; as I stated before, it won't help the little guy because prices will rise. Then the little guy is right back in the same boat as he's in now.

Republicans on the panel disagreed with Turner’s arguments that lower-skilled employees will benefit, saying raising the minimum wage actually hurts the “little guy.”


I have to admit, I got a little excited when I read this. I thought someone actually got it, but then I read the next paragraph and realized they are actually clueless.

Rep. Susan Lynn (R-Mt. Juliet) said increasing the minimum wage would motivate more people to want to work because of the increased salary. As a result, competition for minimum wage jobs would increase and lower-skilled workers currently earning $5.15 an hour could be pushed out of jobs.

“It will attract people into the market who were previously happy and content to not have those jobs,” Lynn said. “These [lower-skilled people] simply won’t be hired.”


Ha! There are several idiotic statements here. 1) Motivating more people to want to work is a bad thing? Huh?

2) I don't believe that $1 an hour will actually result in a sudden rush of people trying to get jobs. These people that she seems to think are currently sitting on the couch watching Jerry Springer scoffing at $5.15 an hour while the rest of us toil away aren't going to say "Hey, now I can make $6.15 an hour at McDonald's. Screw this couch potato stuff, I'm going to work!"

3) Let me get this straight, there are apparently two groups out there, one is lower-skilled, but they currently have jobs and the other is slightly higher-skilled, but they don't currently have jobs. When the minimum wage goes up $1, these higher-skilled slackers are going to jump back in the workforce and steal jobs from the lower-skilled responsible workers. Right. If I'm hiring someone and I look at their application and see that Person A just dropped out of the workforce a year ago and hasn't done anything and Person B has been shoveling shit for the last 3 years for $5/hour, guess who I'm going to hire? I'm going for the guy who's going to work his butt off.

“This is a modest increase to help the [poorest] amongst us, like the good Lord said,” Turner testified to the Republicans.


Raising the minimum wage is just a temporary fix! Why can't these people understand that? It is a false economy.

Oh, and Turner better watch it, the DNC will be sending him a warning about the separation of church and state.

But Rep. David Davis (R-Johnson City) replied, quoting a Bible verse in support of his argument, and saying that the people Turner wants to help would actually be hurt “the most” with an increase.


I wish they had provided the verse. I'm curious, I've never come across mention of minimum wage in the Bible. He is correct about who would be hurt the most.

Turner said raising the minimum wage would not hurt businesses, adding that even if it did, government for years has been helping corporations through tax breaks and not doing enough to assist lower-income workers.


It won't hurt businesses, they will just pass the expense on to the consumer who, surprise, surprise, is the little guy who just got a $1 an hour raise.

And it's true that the gov't helps corporations through tax breaks. But the way to end state supported welfare is not to give more money to a different group! Cut the welfare out, period. I realize the state is not giving money directly to lower-income workers via the minimum wage, but it's still welfare. The gov't is just forcing businesses to pay an artificially higher wage. The government's job is to protect the rights of all its citizens. That does not include making sure they bring home a certain amount of money each week.

“The gap between the rich and the poor gets wider and wider each year,” Turner said. “All I’m trying to do is level the playing field.”


Keeping the playing field level actually precludes setting a minimum wage. That is rigging the game. By setting an artificial floor to the market, you raise production costs, which results in higher prices. The "rich" are able to absorb these higher prices, but it truly affects the poor.

Also, does he honestly believe that $1/hr ($40/week, $173/month, $2080/year) is going to make that gap any smaller?

House Republican Leader Bill Dunn (R-Knoxville) told Turner that leveling that playing field regulates businesses.


I would be more supportive of Republicans when they say something like this if they didn't turn around and try to regulate my personal life.

Another bill being debated in the legislature would raise the minimum wage to $7.15 an hour.


How about $10.15 an hour? I propose we set the minimum wage at $50,000 per year. If raising it $1 an hour is going to help so much and have no harmful effects, why not?

Listening: Minimum Wage by They Might Be Giants (of course!)

Thursday, March 16, 2006

Dancin' in the District is Dead

Just saw the article in the City Paper that Dancin' in the District has been cancelled for good. That really sucks. (I was going to provide a link, but their website is not responding at the moment, try www.nashvillecitypaper.com and it should be at the top)

There is another article about minimum wage that I'm going to post on later today. I'm too busy to get sucked in to it right now.

Listening: No Attention by Soundgarden

Wednesday, March 15, 2006

March is flying by. I can't believe we're half way through the month. Deadlines are looming, and I'm starting to get uptight about my trip to Orlando at the beginning of April. I'm going to a developer conference down there and I'm excited about that. I don't get nervous about travelling itself, I just get nervous about preparing to go on a trip. I'm always worried I'm going to forget something. It's totally irrational, but I'll be a wreck the night before my trip.

Are any of my fellow coders going to the conference? Info is at DevConnections

Tuesday, March 14, 2006

Indestructible Sandwich

My oldest son called me last night and told me that he had found a guitarist for his band. They have taken a vote and they are going to use my suggestion as their name. So be on the lookout in the next few years for Indestructible Sandwich. If my son's musical tastes are any indication, they will sound like the red-headed step child of Rush and Green Day

Saturday, March 11, 2006

Clarification

Sorry for the confusion, H'ville means Hendersonville, TN to me. I didn't think of that other H'ville called Huntsville.

I moved to Hendersonville, TN so I'm still in the Nashville area.

Wednesday, March 08, 2006

Last Week and Looking Forward

Last week, I promised more information on what I was doing on Wednesday. If you look back at my blogging history, you realize this is not really a personal blog. I haven't really said much about my personal life on here. And don't worry, I don't plan on starting. Except for now.

Last week, I moved back to H'ville, which is where I'm originally from. My wife did not move with me. We lasted 1 year, 4 months. I'm now 0 for 2, and have benched myself.

Also, I am starting a web site centered around Agile Development. I've made some technical posts on here about continuous builds and development in general. I will be moving those types of posts to my new site. So this blog will be about current events, life in general and things that piss me off. My new site is www.workagile.com. It's not live yet, but you can leave your email address and I will notify you when it goes live.

We will resume our regularly scheduled programming next post.

Thursday, March 02, 2006

Something/Anything?

OK, so I'm a little late to the party. Todd Rundgren is one of those artists that I've heard on the radio and liked, but I've never really listened to him. Since today* is iTunes allowance day (why do I have to have 2 accounts to give myself an allowance? Apple, can you please tell me why?), I bought Something/Anything by Todd Rundgren. Wow! I've been missing this for all these years. Of course, I've heard "I Saw the Light" and "Hello It's Me" before, but hearing them in the context of the entire album makes them sound even better.

*Actually yesterday was allowance day but I was busy all day and didn't have time to do any music shopping. More on this later.

Friday, February 10, 2006

New Will Hoge CD

It came in the mail today! Sounds good so far. I've listened to the first 5 tracks and "Woman Be Strong" stands out the most. "The Man Who Killed Love" just started and it's got a killer guitar lick. I've got a meeting to get to, so I'll have to finish listening this afternoon. It's loaded up on the iPod ready for the drive home.




Listening: The Man Who Killed Love - Will Hoge

Wednesday, February 08, 2006

The Man Who Killed Love

I just ordered the new Will Hoge CD "The Man Who Killed Love" that came out yesterday. Can't wait for it to arrive. I've gotten spoiled by iTunes, I just click Buy and I'm listening to it. I had to order this the old school way directly through his site. I will review when I get it.


Listening: Improve/Amazing Grace - Bela Fleck & the Flecktones

Tuesday, January 31, 2006

"Celebrities" on Ice

While waiting for the best television show currently on (24) to come on last night, I had the misfortune to witness some of show "Skating with Celebrities". Is this what passes for entertainment these days? Washed-up celebrities skating with has been skaters? People, if you have enough time on your hands to watch pap like this, you need a hobby. Read a book, take a walk, play a game with your family or just sit there and think. Anything would be better than watching has beens make a last ditch effort for 15 more minutes in the spotlight. I just wonder if it is the money or just another chance to be on TV for these former celebrities.

Wednesday, January 25, 2006

iTunes meme

Saw this was going around and thought it was a fun diversion.

(Note: I excluded podcasts, videos, educational and sound effects)

Total Songs
2935 songs, 9.2 days, 12.61GB

Sort by song title - first and last

"'Til the Day I Die" by Third Day
"Zoot Suit Riot" by Cherry Poppin' Daddies

Sort by time - shortest and longest
Shortest: "Blank" (0:00) by John Mayer.
Shortest non-zero is "Prelude to the End of the Game" (0:20) by Sting
Longest: "Octavarium" (23:58) by Dream Theater

Sort by Album - first and last
First: 'Til The Medicine Takes by Widespread Panic
Last: Zoot Suit Riot by Cherry Poppin' Daddies

Sort by Artist - first and last
First: .38 Special
Last: Yarbrough & Peoples

Top five played songs
"A Boy Named Sue" - Johnny Cash
"Black Math" - The White Stripes
"Subterranean Homesick Blues" - Bob Dylan
"Liberty" - Steve Vai
"Tangled Up in Blue" - Bob Dylan (yes, I've been on a Dylan kick lately)

Find the following words. How many songs show up?
Sex: 21
Death: 15
Love: 162
You: 326
Home: 20
Boy: 77
Girl: 23
Blue: 312*

*I added this because I have a playlist just for songs with "Blue" in the name.

Listening: Dust in the Wind by Kansas

Tuesday, January 17, 2006

Yellow Submarine

That's what I'm going to need to get home. It's raining cats and dogs out there. Just checking in with random thoughts...

On the way to work, I heard some lyrics that were appropriate for the weather...

"And admit that the waters
Around you have grown
And accept it that soon
You'll be drenched to the bone.
If your time to you
Is worth savin'
Then you better start swimmin'
Or you'll sink like a stone
For the times they are a-changin'."
--Bob Dylan, The Times They Are A-changin'

I had a funny occurrence at the bank drive-through. The guy in front of my left, so I pulled up to the air tube thing. The little plastic container wasn't there. I hit the teller call button, but they were pretty busy. Then I see the guy that was in front of me come walking back with the container. We had a chuckle about it.

Listening: New Rose - The Damned

Tuesday, January 10, 2006

Free Speech for the Dumb

First off, who the hell cares what Harry Belafonte thinks or says? You may or may not agree with him. Personally, I do not agree. But he has the right to say what he believes, just as I do. What I find disturbing about this tempest in a teacup are the reactions of some people. Some of the reactions from here are simply nauseating. Let me be up front and say I am a white, male Christian and when making a choice at the polls between a Republican and Democrat, I generally choose Republican at the national level. If I had to choose a classification, I would pick libertarian. So I should be Fox's target audience.


"Harry Belafonte is an idiot, and should be deported." — Charlie (Newport Beach, CA)

"I think H. Bellefonte should be deported and have any U.S. citizenship revoked." — R.S.U.

"Belafonte should be ashamed of himself especially when the USA has been good to him, he is only digging himself deeper and deeper to the left, his US passport should be taken away from him." — Richard


So we are going to start deporting idiots? That will definitely cut down on traffic for my commutes.

Another "deportation" I had to single out…

"Harry Belafonte should be deported to his own country or better yet to Venezuelan where he can party with his buddy Hugo Chavez. The man is a disgrace. All the money and fame in the U.S. and treats the country like crap. Deport him, revoke his citizenship and no visa allowed." — George (Orlando, FL)


Belafonte was born in New York City (New York City!?!), so if we deported him to his own country, wouldn't that cause some kind of rip in the space-time continuum?


"Good job, Comrade Belafonte. You have always upheld the highest traditions of the Communist Party. After all, what has America ever given you? It's no wonder that millions of Americans are fleeing this rotten country to live in the socialist and communist paradises in North Korea, Cuba and Communist China. Good and faithful Comrade, your ticket is waiting." — Andy

This is great! See, this is how you should react to people when they spout socialist propaganda. Others in this vein…


"Mr. Belafonte should stick to writing and singing songs, and leave the politics for the nation's leaders." — Kelsie (Spring, TX)

"I think Harry Belafonte is a washed up, communist, bigoted, old man who wants the spotlight again. If he doesn’t like it here, by all means, go away!" — Fran

"I don't care. Most Americans don't really care and I can assure that Mr. Bush don't give Mr. Belafonte a second thought." — Richard (Washington, DC)

"Belafonte should take his act to Venezuela on a more permanent basis." — Ron

"Harry should move to Venezula, give up his US citizenship and learn how much of a democracy there is in Chavez-land." — Ron

"I don't give one darn 'Day-O' what Mr. Belafonte thinks. When he sings 'Me-wanna-go-home' -- he should, back to Venezuala!" — Matt (Kings Mountain, NC)

"Thanks, Harry! Now I have a reason to clean my shelf of all your albums. Oh wait, I don't have any and neither does 99% of America!" — Phil (Los Angeles, CA)

"Mr. Belafonte has the right to speak his opinion. MANY Americans have died so that he has that right. I think that if he believes Mr. Chavez and Venezuela are so great, he should really consider moving there. He would be much happier, I am sure." — Cathy


Then you have the people throwing around the "t" word: Treason. Speaking out against the government is not treason.


"Harry Belafonte is an idiot. I think he can be called a traitor!" — Bonnie

"This is outrageous! It borders on treason." — Bruce

"I feel he is a traitor! This country is at war. We need support and prayers. He is endangering our countrymen who are on the front lines." — Shirley (Mount Washington, KY)


I hear the ideas behind Shirley's comment quite a bit. That because we are at war, we should automatically support the president and the government. Should we support the troops and their families during war? Of course we should. Do our elected representatives get an automatic pass because we are at war? Hell, no. If you can't take the heat, get out of the kitchen. And are the Republicans who are saying this trying to convince me that if John Kerry were in office right now (and we were at war), they would shut up and support his decisions? Yeah, right. The radio waves would be overloaded with people complaining about everything he did.


"I may not agree with what you say, but I will defend to the death your right to say it."
--Voltaire

Thursday, January 05, 2006

Out of the Silent Planet

It's been quiet around here. The holidays and readjusting to working again after being off for a week and a half have consumed most of my time. The other time has been spent importing every CD I own into iTunes since I got an iPod (Video/30GB/Black) for Christmas. It took a while, but now I can carry all my music in my pocket. Awesome.

If you are looking for an in-car FM transmitter for your iPod (so you can listen over the radio), check out the DLO TransPod. I first bought the Monster (can't remember the model) and it pretty much sucked. I realized that I really wanted a dock, so my iPod wouldn't be sliding around in case I had to stop quickly. Plus the FM transmitter either was very weak, or it was sensitive to positioning. I had to change channels several times during my drive home to keep a clear signal. With the DLO, I've had to change it one time. I keep it on 105.5 and if that gets a little interference (north of town), I switch to 106.3. $79.99 at CompUSA.

Listening: (Pretty Sure) I'm Over You - Will Hoge

Thursday, December 15, 2005

Damn Right, I've Got the Blues



This is just wrong. I was browsing through iTunes' Blues section and found this album cover.

Monday, December 12, 2005

Crash Course in Brain Surgery

As I've stated in a couple of previous posts, I am using Agile development methodologies. I'm not using one particular discipline, but my own Frankenstein creation that borrows from Scrum, Crystal Clear and XP. I thought I would share a few of the books I found useful with my 2, no make that 3 readers. After getting a comment from a guy I used to work with, I discovered I had 3 readers. Anyway, here are 3 of the books that really helped me discover Agile development...

Crystal Clear: A Human-Powered Methodology for Small Teams by Alistair Cockburn
User Stories Applied by Mike Cohn
Agile Project Management with Scrum by Ken Schwaber

I also have Agile Project Management by Jim Highsmith which I have not finished yet. So far, it's been a little tougher to read than the others.

I am starting to work on a series of articles on unit testing. I'm not sure how often I will post them here, but be looking for the first one next week.

This is not a paid endorsement, I am not an affiliate of Amazon.

Listening: 'Til the Day I Die - Third Day

Friday, December 09, 2005

Key to the Highway

I understand that HOV lanes are a big hit in some areas, such as L.A. and other big cities. There is even talk of allowing single occupied vehicles access to the lanes via a toll, which would be a moving price based on demand. Here in Nashville, single occupied vehicles don't have to pay a toll to ride in the HOV lane. They just do it. And there is no penalty for this action because there is no enforcement of the law.



I don't like HOV lanes. I believe they make traffic worse, not better. And the impact on the environment is negligible at best. Every driver is paying for the interstate system, yet we are not allowed to use certain lanes at certain times of the day. And for those of us that do follow the law, we must deal with three different types of asshats on the roads.


Asshat #1 - The person just flat out ignores the HOV lane signs. This is the guy who just doesn't care about the signs. That is, until they are getting ready to pass a cop. Which is very rare, because the police never watch for HOV lane violators and if an officer happens to be on the interstate, they are usually going faster than everyone else, so the violator never catches up to them. This morning I saw the king of these asshats. He whizzes past at about 85 in the HOV lane, obviously alone in his Buick Rendevouz. It has dealer plates, so the guy is probably a car salesman, which already makes him an asshat. He comes up behind a car going 65 in the HOV lane (see next paragraph) and proceeds to tailgate the offending car. I don't mean a "I’m a slightly unsafe distance from your car" tailgating, I mean a "stuntman can jump from my hood to your trunk" tailgating. I pass both of them in the lane next to the HOV lane. He squeezes between me and the car, rides my bumper until he gets around and starts to try to squeeze back to the left lane, getting very close to my bumper. I, of course, let off the gas so the gap doesn't widen as quick as he estimated, but he missed me.



Asshat #2 - The person who thinks because they have 2 people in the car, they MUST ride in the HOV lane. Okay, the idea behind the HOV lane is that when traffic gets heavy, those who are carpooling can ride in a less congested lane, thereby going faster than other traffic. If regular traffic is going as fast as the HOV lane, there's no reason to ride in it, if you are planning on going slower than traffic. That is what the right hand lane is for. The person who was being tailgated in the above example was this type of asshat. She was going 65 (the speed limit is 70) in the far left lane when just about everyone else was going 70. Tennessee (and most other states) specify that slower traffic must keep right. Which leads us to our final asshat type (at least for today).



Asshat #3 - The person who drives slow in the left most, non-HOV lane. When the HOV lane is in effect, the lane next to it should become the "left" lane for single occupied vehicles. For example, there are 4 lanes at one point of my commute. Starting with 1 for the right lane, you would have 4 3 2 1. 4 is the HOV lane. So 3 should be the "fast" lane for non-HOV cars. Some people don't get this. They driver slower than traffic in that lane. I can't pass on the left without breaking the law and I can't pass on the right because they get people seem to get a herd mentality on the interstate where they want to drive in tight packs with other drivers.



If you are one of these types of asshats, pay attention to your driving! Quit shaving, putting on makeup, eating, talking on the phone, reading the newspaper, reading a book or sending e-mail* and drive!



*Yes, I've seen all of those things being done by someone while driving.


Listening: Trip Through Your Wires - U2

Friday, December 02, 2005

Practice What You Preach

Creating software is all about delivering value to the customer. By focusing on features of the software instead of framework, you are free to concentrate on delivering that value. Your users don't care about your object model or customizable database schema. They care about what the software DOES and how they interact with it.

You may be creating software that uses all the latest buzz words and is a technological marvel, but unless your customer getting more value from these technologies, it is pointless. I realize they may not realize immediate value, because some decisions are made to make the software more customizable or flexible in the future. But if all you are doing is pulling data from a database (which is what 90% of all applications I've ever worked on were doing), you don't need to spend the next year creating a distributed database engine with 456 abstract classes that are the basis for on-the-fly generated code to handle XML in Swahili*.

Business software development is not an academic exercise. Just like a manufacturer who produces widgets to sell to Wal-Mart, we must create software that gives the user more value than it cost them to purchase our software. So, quit reading this and go write something useful. Unless you are not a developer, then go do whatever it is that you do. Just stay away from Microsoft Access©.

*unless Swahili support is on the feature list


Listening: On Any Other Day - The Police

Wednesday, November 23, 2005

Working Too Hard

The past few weeks have been very busy at work. The good thing is, it has been very productive. I feel like we are starting to get a handle on agile development and we are seeing pretty good results.

Software development is very much a "what have you done for me lately?" career. It doesn't matter if you delivered your last project early and it wowed everyone. If your current project is late, you're in for it. I think we are getting back on track and agile is helping us deliver often, which shows our progress. At the end of August, we were given 4 projects and asked if we could deliver them all by the end of the year. 3 were small projects, one was big. As of right now, one has been delivered and is in use; one has been delivered and is in use, but still has some defects to fix (will be done by today); one has been completed, pending some requested changes from the demo, and will be in place and running by Dec 1; the other is in it's 2nd 2 week iteration with more features completed during the 1st than planned. Even though I feel like we can meet our goal, I will still be amazed if we reach it.

Happy Thanksgiving!

Listening: Would? - Alice in Chains

Thursday, November 17, 2005

Tuesday, November 15, 2005

A Fool Such As I

Sometimes I doubt my intelligence when writing code. This morning I was working along, writing code and tests, running them in nUnit. I added a new test and some code and suddenly got an error in nUnit:

nunit-gui.exe has encountered a problem and needs to close. We are sorry for the inconvenience.

If you were in the middle of something, the information you were working on might be lost.


I had the option to Debug or Close. I closed it, looked at my test and didn't see anything out of whack, so I tried it again. Same issue. So the next time I chose to Debug. I loaded it into my open copy of VS 2005 and got the message below.


This was on the code in my service that the unit test was calling. So I look at the code a little closer.


public DataSet GetPrimeInvoices(string employeeCode)

{

return this.GetPrimeInvoices(employeeCode);

}


See anything wrong with that?

The function I was calling was an overload of another function that took 2 parameters. I forgot to add the 2nd parameter to the call, so it was just calling itself until it crashed. I added the 2nd parameter

public DataSet GetPrimeInvoices(string employeeCode)

{

return this.GetPrimeInvoices(employeeCode, Level.ProjectManager);

}



I reran my tests and got the beautiful green dot...




Listening: Mr. Soul - Rush

Friday, November 11, 2005

Am I Evil?

I'm tired of the comment spam! So anyone who wants to comment will now have to use word verification. I'm sorry to my 2 readers that you will have to go through this ordeal, but I can't handle the spam anymore.

Now I will never have any comments because no one ever reads this except the spammers!


Listening: Fife and Drum - John Petrucci & Jordan Rudess

A Little Bit More


I predict future happiness for Americans if they can prevent the government from wasting the labors of the people under the pretense of taking care of them.
--Thomas Jefferson


I'm in a good mood today because I passed my 2nd Microsoft certification exam this morning (See my other blog). And now I can start reading the book I got from Amazon yesterday: User Stories Applied : For Agile Sotware Development by Mike Cohn.

Listening: My Black Cadillac - Lightnin' Hopkins

Thursday, October 13, 2005

Deleted Comments

You may see some comments that say they were deleted by the blog admin. I'm not censoring anyone, I just had some spammer try to pass off a advertisement as a comment.

Friday, June 24, 2005

A moment of silence...

http://www.msnbc.msn.com/id/8331097/

Let us have a moment of silence for the death of private property rights. They have been on life support for a while now. Yesterday, the Supreme Court took them out behind the barn and finished them off.

I just read a story in my local paper about the cost of land in my area. There are people who bought land in the 50's and 60's for $100 an acre. That land is now selling to developers for $50,000 - $75,000 an acre. Now, the local government could just declare that building a neighborhood is better for the public good than having a farm or wooded area. The developers would no longer have to pay 50K per acre because they can just bribe an elected official (yes, that happens) and get it on the cheap.

This is just further evidence of our "government knows best" nanny state. The Constitution was written to protect the rights of individuals and to limit government. Where is the protection for the individual in this situation?

Friday, May 06, 2005

Gemini IssueTracker

I recently set up Gemini to be a part of my build system. Gemini is an awesome product. I am using SQL Server 2005 Beta 2 as my database and had some issues getting Gemini's DB setup script to work on 2005, but was able to easily fix them. Here are my notes...

Installed Gemini to local machine using Setup.msi and had no problems.

Ran SetupDB.msi and got this error for several stored procs…

Msg 4104, Level 16, State 1, Procedure gemini_getlut_1, Line 18

Multi-part identifier 'b.username' could not be bound.

Msg 104, Level 16, State 1, Procedure gemini_getlut_1, Line 18

ORDER BY items must appear in the select list if the statement contains

a UNION operator.

Contacted support via email at 2:07pm, received reply at 2:15pm (awesome support). Support said they do not support SQL Server 2005 yet, but that other customers had modified the install scripts to work. They did not say what changes those customers had made. So I opened the Create_Procs.sql script in Deploy\Step1_SQL_Database.

I edited the following stored procs…

  • gemini_getlut_1
  • gemini_getissueupdatedata
  • gemini_getlutentries
  • gemini_getxplutentries

I changed the order by clause for the union all to "username" instead of "b.username", i.e.


union all

select a.userid, b.firstname + N' ' + b.surname as username from projectresource a, users b

where a.projid=@projid and b.userid=a.userid and a.isactive = 'y'

order by b.username


Became...


union all

select a.userid, b.firstname + N' ' + b.surname as username from projectresource a, users b

where a.projid=@projid and b.userid=a.userid and a.isactive = 'y'

order by username


Ran the script file and everything installed correctly.

Logged in using admin/admin and created a new user with admin privileges.

To move to my build machine, I backed up the database and restored it on the target server. Installed the executables (setup.msi) to the target machine and edited the web.config to point to the new server. Also pointed web.config to SMTP server for e-mail.


Sorry for the incomplete sentences and any grammatical mistakes. I was just recording my steps in OneNote as I was working through the process and I am posting them unedited.

Friday, April 29, 2005

XML and Blogger.com

Wow, blogger.com doesn't like XML. It doesn't support the code or pre tag at all. And in the XML file example below, the first two elements should be...

Project DefaultTargets="Build"

and

Target Name="Build"

For some reason it cut the words Project and Target off.

Continuous Integration with Visual Studio 2005

Working in a beta version of Visual Studio 2005 presented some challenges when attempting to use continuous (a.k.a. continual) integration. Several of the tools are not yet available in .Net 2.0 versions. And nAnt, the backbone of automated building, doesn't understand VS 2005 project or solution files. You could build your build file by hand, but since laziness is a vitue in programmers1 , I don't want to do that. I am going to create a series of articles covering CI with .Net 2.0. As I learn things, I will share them with you.

Automated Building

The backbone of continuous integration is automated building. This is the process that the CI server kicks off to build your code, run automated tests, document, deploy and whatever else you want to happen. Most systems currently use nAnt, which is a very powerful build system. When I started examining continuous integration, I downloaded nAnt and started testing with it. I quickly found that it does not understand Visual Studio 2005 solution files. I did not want to have to maintain two files everytime I added a new file to a project, so I looked at MSBuild, which ships with the .Net 2.0 framework. MSBuild not only understands VS 2005 solution files, it also allows you to execute different tasks and develop your own tasks just like nAnt. And since it comes with the framework, you do not have to have Visual Studio on your build machine.

If you just want to build your project and not execute any tasks, you simply execute MSBuild in your project's directory. If you run it with no parameters, it defaults to the .csproj file in the directory. If you have a solution with multiple projects, you can pass the solution filename as a command line parameter.

c:\buildsrc\TestSolution>MSBuild TestSolution.sln


This is just a very basic example of what MSBuild can do. You can pass properties on the command line also, so if you want to switch between Debug and Release, you can pass which configuration you want to use.

c:\buildsrc\TestSolution>MSBuild TestSolution.sln /p:Configuration=Debug


You could create a complex command line to pass to MSBuild and maintain it in your continuous integration configuration, but it is easier to create a .msbuild file for your project. This file can be used by MSBuild to not only build your project, but also to execute other tasks such as automated testing and documentation. A .msbuild file is a simple XML file. Here is a sample file.


< name="Build">
< !-- Clean, then rebuild entire solution -->
<
MSBuild Projects="Project.sln" Targets="Clean;Rebuild" />

< !-- Run nUnit-->

< !-- Run FxCop analysis -->
< command="FxCopCmd.exe /file:\buildsrc\Project\bin\debug\Project.dll /out:\buildsrc\Project\Project.FxCop.xml" workingdirectory="\buildtools\FxCop" continueonerror="true">


< !-- Run nDoc-->

< command="ndocconsole.exe \buildsrc\Project\bin\debug\Project.dll -documenter=MSDN -OutputDirectory=\buildsrc\doc\Project -OutputType=Web -Title=Project" workingdirectory="\buildtools\nDoc\bin\.net-1.1" continueonerror="false">

< /Target>
< /Project>

(Excuse the spaces between the <>

This file builds the solution (which includes two projects), runs my nUnit tests (outputting the results to XML for the continuous integration server), runs FxCop analysis (outputting the results to XML for the continuous integration server) and runs nDoc to document the code. The ContinueOnError property you see tells MSBuild whether or not to fail the build if the task returns an error code.

You must setup your continuous integration server to run the command line...

MSBuild TestSolution.msbuild


I am using CruiseControl.Net as my CI server. One thing you must do with ccnet is use the command line builder task. There is a MSBuild builder task in development, so as soon as that comes out, I will switch to it. The one drawback to using the command line builder is that it does not pass the build label to MSBuild like it does with nAnt. This limits the ability of the build process to use the build label in the version number. I have written a MSBuild task (I'll cover that in another article) that generates an AssemblyInfo.cs file so I can generate the version number at build time. However, there is no way in ccnet to pass it to the command line builder. That has been my biggest complaint about ccnet. Obviously, the build label is stored somewhere because it passes it to nAnt, why not make it available via an environment variable or some other method so I can access it from MSBuild? Hopefully the MSBuild builder type will fix this problem. For now, I just have my version information hard coded. Nothing has gone to production yet, so it's not an issue at this time.

I am still learning the powers of MSBuild. I believe it will soon be comparable to nAnt in features. The MSBuild team is using Scrum as their development methodology and you can read Chris Flaat's (MSBuild team member)blog about what is going on with the project.

1 Larry Wall, Programming Perl, O'Reilly & Associates, 1991

Thursday, March 24, 2005

MediaPay

Hey MediaPlay, just drop the "Computer Manuals" section of your book department. It's a joke. In fact, your whole book department is a joke. I stopped in last night looking for a project management book. I'm used to Borders, where the books are arranged by topic. So if I want a book on C#, I start in the programming section, find the C# section and all of the books on C# are right there together. So I start scanning titles looking for something about project management to get a starting point. There's "Absolute Beginner's Guide to VB.Net", next is a book on Photoshop, next is one on QuickBooks. I think, "these aren't grouped by subject, they must be in alpha order by author." Let's see, T, D, L, O; nope! Alpha by title? Not a chance. Publisher? Nyet. Color? Height? Number of pages? Price? Anything? Not a thing. They were in no discernable order. Now when I go to a used book store, I'm willing to browse through looking for that great find, or even at retail stores when they have their bargain table. But not when I'm going to pay full list price. They may have had the perfect project management book (although I doubt it, the entire section took up about 5 shelves that were maybe 10 feet long), but I'm not going to waste my time looking at every book in there.


Click the time below to get a trackback URL.

Wednesday, February 16, 2005

Police Pursuit

http://tennessean.com/local/archives/05/01/65703069.shtml?Element_ID=65703069

Why is that every time some worthless criminal runs from the cops in a high speed pursuit and causes a wreck, the police get blamed? The state troopers were not involved in the wreck, the guy they were chasing caused it. He is the one to blame for this. If the police had a policy to back off anytime a chase hit a certain speed, then a lot more people would run from the cops, endangering all of us.

And the guy who is suing the THP? He's a 50 year old gas station cashier and he's asking for $1.5 million? Come on! What's he make, $8 an hour? So if he never works again, he's going to be out about $250,000. Throw in the cost of the van ($20,000) and the medical bills and you're at $500,000 tops. This guy got hooked up w/ a lawyer (Bart Durham is one of those local firms that advertises on daytime TV about personal injury cases) and they started talking about more money than he would ever earn in his lifetime, so he signed up for the lawsuit. Why aren't they suing the guy who actually hit him? Because Javon Palmer (the man running from THP) doesn't have $1.5 million. Legal wisdom says you sue the party with money, even if it's not their fault.

And what about Javon Palmer? Why did he run? His reason: "I got no license."

From http://tennessean.com/local/archives/05/01/65663273.shtml?Element_ID=65663273

Palmer has a long history of driving without a license and evading arrest, with more than 28 such charges since 1996


This guy does this all the time. The police cannot just let people get away with running. If they start doing that, more people will drive dangerously to get police to back off.

Friday, January 14, 2005

TennCare redux

320,000 to lose TennCare insurance

The local newspapers and TV are going crazy with the TennCare coverage. They are profiling some of the people who may lose their coverage. Why aren't they profiling the people who live in other states that are on TennCare illegally? What about the ones who lie about their income so they can get coverage, or the ones who turn down coverage from their job and get TennCare because it's cheaper and has more benefits? What about the people who are willfully unemployed? Why not profile all the crooks and scam artists?

And what people don't seem to remember is that 10 years ago before TennCare was instituted, these people didn't have any coverage. TennCare was covering people who were uninsurable and didn't qualify for Medicade. Some of those people are going to lose their coverage and that's really sad, but they didn't have it 10 years ago and TennCare has failed miserably because of fraud and abuse.

This type of program will never work. They have attempted to take private enterprise style insurance and make it a government program. The problem here is that in the private enterprise, the risk is spread among all the participants. A medical insurance plan will have some members that are health, others that are sick. For example, in the 14 years I've been an adult, I've never used more in insurance benefits than I've paid in premiums. There are some members who use more in benefits than they pay in premiums. But it balances out in the end. Government programs like TennCare are only helping the sick. TennCare collected premiums from some of the members, but these were the uninsurable that use far more resources than they pay for. Also, private insurance usually has some type of deductible or copay. Many TennCare recipients had no copay at all. Everything was free. The copay encourages conservation and preventative healthcare. It only costs me $20 to go to the doctor's office, but $75 to go to the emergency room. So I'm only going to the emergency room in a true emergency. If I have the flu, I'm going to wait until the next morning and go see my doctor. If there is no difference in cost between an office visit and an emergency room visit, TennCare users would just go to the emergency room for minor stuff.

Personally, I'm glad TennCare is getting cutoff. I feel compassion for those that will not have insurance, and I hope they seek out charitable organizations for help. But government is not the solution to their problems.

Friday, January 07, 2005

MCSD Diary

I haven't updated in a while, so I have no business creating a new blog, but I'm doing it anyway. I decided to get my MCSD certification and am keeping a diary of my progress. Updates there won't be as lengthy as my news commentary, so maybe I will update it more often.

Here's the link...

http://mscertification.blogspot.com/

And the RSS Feed