Month: January 2008

Book Reviews

High Performance Web Sites

High Performance Web SitesI’m starting to get involved in this book, High Performance Web Sites by Steve Souders. My boss picked it up and read it and had really good things to say. Then the CEO read it and was really geeked about it. So, I decided that I’d better give it more than the cursory glance that I’d previously allotted it. I know that there is a lot of push to write one’s server code to run as quickly as possible, but I feel that the subjects that this book is covering are being largely overlooked.

Mr. Souders wrote the book while he was a Yahoo employee (he works at Google as of January 7th). He is also the creator of YSlow and an expert in web performance. However, you can actually get a lot of the tips if you check out this page and install YSlow onto your machine. YSlow is an addon for Firebug, itself a plugin for Firefox. If you are doing web development, you should already know about Firebug. If you don’t, run – don’t walk – to download it and you can thank me later.

When you run YSlow, it analyzes the current page for each of the 13 points that the Yahoo Developer Network has identified as major causes of web site slowness. It assigns you a grade to each item and gives the site an overall score. For instance, this blog scores a D (65). According to YSlow, I need to add an expires header, use GZip compression, and configure ETags in order to get this site up to par. As an experiment, I may very well dig into trying to get my score up to at *least* a B! If you aren’t sure what these points mean or what I’m talking about, you should check out the links above or get the book.

The book is very well written and is grouped in such a way so that it can be digested separately by different members of a team or by one person. The appendices of the book contain case studies of several major sites using the tools I discussed above and explains what each could do to improve user experience. At $20.00 on Amazon (and used from $11 and change), every web developer really should read this book, implement it, and keep it as a reference for future development.

Code Mash

Code Mash

Sorry this is a little late, but the last week was pretty hectic coming back off of my few days off for CodeMash.  It was worth it, though, if for no other reason than the goodies! I love free stuff!
CodeMash SWAG

I actually forgot to include my APRESS notebook, CodeGear pen, and a few other goodies that were in my laptop bag. However, what I did photograph there included a CodeMash t-shirt, a Visual Studio 2008 t-shirt, a Microsoft stress relieving ball, an Amazon stress relieving heart, a water bottle from TechSmith, a Sun Microsystems notebook, two can coozies, two footballs, a velcro wire tie, several pens, a magazine, a keychain pulley, an APRESS button, a bunch of CodeMash tattoos, and a plastic cup. I’m silly, but I’ll be a walking advertisement for just about anyone if they give me free goodies.

Now about the conference. I had heard that this conference was a bargain, and it really was. All around, from the room fee to the actual conference cost, my benefit FAR exceeded my company’s financial output. Breakfast and Dinner were catered by the hotel and lunch was a very fulfilling box lunch. There was also all the pop you could drink on hand throughout both days. In addition, there was a social event on Thursday evening with everyone’s first two drinks provided by Quick Solutions.

It wasn’t all about the free stuff, though. There was some tremendous content to be had, as well. On Thursday, I attended Ruby: Testing Mandatory, Crash, Smash, Kaboom Course in Python, LinqTo: Implementing IQuery Provider, and Refactoring for Testing. On Friday, we hit Real World C# 3.0, RESTful Web Services, a few Experts Zone sessions, and socialized. We also enjoyed the keynotes. My absolute favorite talk was Scott Hanselman’s Thursday midday keynote on IIS 7.0. I’ve been a reader of his blog for over a year, but had never heard him speak in person. He was very funny and made excellent points. I might just be developing a man-crush!

I am going to do everything in my power to go to CodeMash in 2009. I would recommend this conference to any developer in about a 5 hour driving radius. I’ve never been to any event like this and I think it is definitely in a league of its own in the Midwest.

Classic POS

In a Coding Mood – A Classic POS Post

This is a classic post from my old blog that I’m porting over here. As I read through my old blog and find these in preparation to take it offline, I’ll be posting “Classic” POS (Pete on Software… not the other, more popular meaning) posts on here. This code came from my reading of Code Complete, 2nd edition.

Let me share something with you. It is assumed often that less code will result in faster execution of a program. Examine the following code written in C#.

for (int i=0; i <10;i++)
  someArray[i] = i;


someArray[0] = 0;
someArray[1] = 1;
someArray[2] = 2;
someArray[3] = 3;
someArray[4] = 4;
someArray[5] = 5;
someArray[6] = 6;
someArray[7] = 7;
someArray[8] = 8;
someArray[9] = 9;

Both sets do the same thing. Most every programmer that I know will do the first one. But, the loop (first example) is 2.5 times SLOWER than the explicit declaration (second one) when run. In some languages the equivalent code is 4.5 times slower. Unrolling loops (where possible), is often a way to tweak code for speed when you’ve just got to have it.

There is always so much to learn.

Code Mash

Code Mash

January 10 and 11, I will be in Sandusky, Ohio at the Code Mash conference. “What does that even mean?” you might ask. Glad you did. From their site:

CodeMash is a unique event that will educate developers on current practices, methodologies, and technology trends in variety of platforms and development languages such as Java, .NET, Ruby and PHP.

The event will be held at the Kalahari Lodge (an indoor waterpark) and our lodgings are there also. The organizers have arranged a special rate of $88.00 a night for event-goers. Add to that bargain the cost of only $175.00 a person to attend the two day conference (that does have events on check-in night, as well – so 3 days) and this conference is a VALUE!!! Even now, with only a few days left, registration is at $250.00, but I don’t know how many conferences you’ve shopped, this is a steal. Even if your department doesn’t have a large IT training budget, this is priced to fit anywhere.

Let’s be real though. It is only a value if the cost to benefit ratio is weighted heavily on the benefit side. Let’s review, then. Sessions are broken up into several categories: Architecture & Design, Dev Processes & Methodologies, Languages, Rich Clients, Web Frameworks, and the catchall, Other. There is something for everyone with excellent opportunities to learn about things that are outside of your normal work domain or are emerging technologies (like Silverlight – a talk given by Jesse “Freaking” Liberty Jeff “Freaking” Blankenburg!). You can find out about Code Mash’s sessions here.

I am going to have the most trouble deciding what to attend. Luckily, I am going with my boss, so we can split up and catch more information for our company. I’m very interested in the architecture sessions as well as the sessions on new technologies like C# 3.0, Silverlight, Windows Workflow Foundation, and LINQ.

I also think this is going to be a great chance to meet a lot of developers from this area. So many other conferences are in places like Florida, California, or Las Vegas. The chances of me meeting someone from this area are slim to none. However, at CodeMash, I already know of at least 10 Columbus-area people that are going, and I assume there will be many more.

To be fair, I was planning to blog about CodeMash anyway, but Jeff Blankenburg’s contest certainly added some incentive to get this thing in the books 😉 If you are going, I hope to see you there, if you aren’t yet planning on going… get your butt to the site, register, and I’ll see you there!

Stay tuned, as I will post pictures and a recap of the event. And if I’m not too tired, I’ll try to post an update or two while I’m there.

Upgrade Problems

Adventures in Vistasitting

After Christmas last December, I took some of my hard-earned gift cards and cash and bought an eMachines T3516A desktop computer for the family’s general use. It was a pretty good deal. It was more computer that we’d need for daily computing and they actually took $50.00 off of the price of the computer if I’d take home a monitor and printer. Another bonus for me was that I’d get a free upgrade to Windows Vista when it was released a month later.

I submitted my forms and got my disk. I was hesitant to leave XP, since it had done me no harm, but I do love the latest and greatest. I ran the upgrade and after the first reboot, I got a STOP: 0x0000005C blue screen error. Very nice. At the time, there was no help to be easily found on the internet, so I had to reverse the upgrade and learn the intricacies of bcdedit to get things back to normal.

A few months later, I decided to give it a go again. Same STOP: 0x0000005C blue screen error. Google revealed that this was probably a BIOS issue. Nervous about flashing the BIOS, I reversed the process and waited again.

This past weekend, I gave it one more shot. Same error. However, this time I found a great site called The Unofficial eMachines Tech Info Site that had the download and offered some reassurance that this process would probably go well.

I gave it one last shot and actually got past the first reboot. Vista got completely installed. However, on boot (normal or safemode), it would hang on loading crcdisk.dll. None of the solutions I found had anything to do with me, so I had a much more painful rollback and am now back to faithful XP.

I think I’ve sworn off upgrading this eMachine to Vista for good.