Software Quality and Catalogs

I still find it odd that I write so little about software development in my blog, as this what I do 60 or more hour per week. Maybe that is the reason, I am tired of doing and thinking about it all day that I tend not to write much about it. But anyone that knows me knows how I feel about software quality (or lack thereof) and how much I truly despise the “get it done yesterday” approach to software management.

When I was at Microsoft, we used to joke that “Quality is Job 1.1”. Sure, it was funny, and only partly true, mostly said tongue-in-cheek. When you look at the vast majority of the software that Microsoft ships, most of it is quite good. There is the occasional turd (Windows Vista), but mostly it is very good quality. Why is it good quality?

Some think Microsoft hires only the best programmers in the world. I tend to disagree here. True, they have many very, very talented programmers, but the vast majority are of the mediocre variety. The seniors lead the projects and make sure that the juniors fix their mistakes, and teach them better ways. Oversight and code and peer reviews here make all the difference. You cannot stay mediocre forever.

I don’t know what the current ratio at Microsoft is between programmers and testers. It used to be about 1-to-1 (1993), that meant, a tester who was not a programmer (at least not paid to code) was responsible for testing all of the code that a developer wrote. They were in nearly constant communication with each other and it was the testers job to find bugs and report them. Sometimes this is easy pickins, when new code is being developed quickly. Other times it becomes increasingly difficult as a project matures.

Microsoft makes a distinction between developers and designers. Every book I have ever seen on development (especially web based) also makes this clear distinction. They are not the same person. One is artistic in nature (the designer), the other very scientific (the coder). The designer likely has a background in good user interface design, graphics, usability and accessibility. The programmer likely cannot draw more than a stick figure and has never used a computer without a mouse, monitor, etc. The designer may have been educated at a well respected design school, while the coder is largely self-taught and has learned by the school of hard knocks.

So if these 2 individuals are so different, and talked about as such at great length in books and education materials, why are they so often considered to be the same person? I have NEVER worked for company, outside of Microsoft, that made this distinction. It’s as if a company expects its programmers to be able to create wonderful user experiences, gorgeous graphics, create a consistent look and feel, and make it all work. I have no doubt that those people do exist, but I also doubt just as highly that most programmers make good designers. I have been coding professionally for over 20 years, and non-professionally for many more, and cannot design a nice looking UI to save my ass. I can code it for sure, in about 10 different languages and 3 different operating systems, but I cannot design it. I do not have an artistic touch.

And why should I? I am not an artist, I am a programmer. Since when did having artistic ability become a prerequisite for a developer? If these jobs were intended to be done by one person, why are the development tools so obviously catered to two different people?

As an example, let me look at HTML, the markup language used to make web pages. First there was just HTML, a simple markup language that allowed a designer to make a simple page. By definition, it was never intended to describe how the page looked, only the content of a page. The whole idea was that a HTML page could be displayed on any computer-like device, whether it be a full blown GUI like Windows or Mac OS, a text based browser like Lynx found on UNIX systems without graphics, a telephone, whatever. It was a replacement for GOPHER and America Online’s custom page creation software.

And it worked, but only for a while. Designers just could not live without defining, in minute detail, exactly how every page should be laid out. So they added tables, frames, objects, etc. to HTML that did exactly that, allowed the layout of the page to be defined, completely breaking the original design of HTML. But they still called it HTML.

So everyone started creating real fancy HTML pages, with lots of pretty graphics and it was all beautiful. But the beauty was only skin deep. Because somewhere in the dark confines of an HTML coders office was someone breaking a cardinal rule of quality software development. Copy and Paste is NOT good code reuse. What I mean by that is that every page in a site, in order to give the site a consistent look and feel, was probably 90% of the same code of every other page. The content was different, but the look and feel was the same. To get the look and feel consistent, a ton of code was copied and pasted from other pages to create a the new page, and then just the wording and graphics were changed.

Now to an outsider you might think “so what”? And you would be right, in the eyes of a designer. A goal was achieved, the site is consistent and looks nice. In the (good) programmers eyes though you see only slop. All of that code shared between web pages using copy and paste is really annoying. If you change one page, you have to change them all. You have to open each file and change the code, a very tedious, repetitious, and error prone proposition.

So they came up with a new way, CSS. Now you would not define the look and feel in the HTML document, only the structure. A programmer would define the HTML, while a designer would define the CSS, and it would all merge in glorious web page heaven. We have come full circle, back to the original intent of HTML. Now we have a perfect world, right? Don’t we wish. CSS is implemented differently by different web browsers, Microsoft Internet Explorer does it one way, most of the rest (FireFox, Safari, Opera, etc) do it another. And somehow Internet Explorer is still the most popular browser out there, despite not being standards compliant, despite being the front door used by many virus’ and malware, despite being inferior to FireFox in almost every way.

But does that mean HTML/CSS is broken because of Microsoft? Hardly. The specification alone has a lot to do with it. First, CSS was designed to remove the layout and formatting from HTML code, so why did they let coders put CSS content directly in the HTML file? That is not separating look from content. CSS formatting can be applied in 3 places, an external file that is referenced from the HTML (the way it should be), defined (normally) at the top of an HTML file (which can compliment or override CSS read from a file), or the evil of all evils, added to HTML tags, once again completely breaking structure from layout.

From a designers standpoint, the web is wonderful. From a programmers standpoint, it is a chaotic mess. And who is to blame for the mess? The designer? The HTML/CSS spec writers? No. Programmers are responsible for the mess, and I will explain why.

Just because you can shoot yourself in the head with a Glock, does not mean it’s a good idea or that you should. Likewise, just because you can define your CSS style in your HTML pages, or worse in your HTML tags, doesn’t mean you should. Like grandma used to say “It’s just not right”. Yet that is exactly what I see being done everywhere I have ever worked, and on every web project I have worked on that I did not personally control.

Quality. That is lack of quality, pure and simple. As developers we have the best programming tools ever, they make many of our tasks almost mindless. Look at the number of really bad web programmers out there in the world making really nice looking web pages. The code is horrible, but the pages look nice. Sometimes that is just fine with companies, but it is not fine with me.

Maybe I am too old school for this stuff. I learned to write code on a computer that had 4KB of memory. That is 4 kilobytes guys, not megabytes or gigabytes. 4,096 bytes of memory, of which I could use about 3,000 to get all my work done. And I could write some pretty impressive programs in those 3KB when I was 11 years old. I was probably a better programmer then than I am right now.

After all of these years I still enjoy writing software. I do not enjoy creating web pages, or what I call Catalogs, Rouge and Lipstick, or Chrome. Being a “Web Developer” has never been on my resume, and will never be. I can program just about anything I want, operating systems, applications, network protocols, reusable tool kits, etc. But I am not a catalog creator. I don’t get my rocks off creating pretty pictures with embedded video. I like writing code, real code. Code that you don’t see, but does the work. That is my comfort zone.

And I refuse to write poor quality code just to get something done quickly. I am a firm believer it takes less time to do something right the first time, than to patch and hack it together quickly at first. I thoroughly test all of my code, every single line, and use automated testing tools to make sure that things don’t break accidentally when I make changes. I am not saying that I never create bugs, we all do, but I am skilled at finding them early, well before they ever see the light of day in production code.

I have always preached that software development is art and science. But the art in this case does not refer to pretty pictures on a web page. I am referring to creating software as an art form, something that is readable, understandable, and yes, downright pretty, if only in a programmers eyes.

I am now pushing 40 years old real hard, and have begun to question whether or not I am too old for this shit. A young development manager that I know thinks he knows everything. He never used a computer before the web, but thinks he understands quality software. He preaches about it out of one side of his mouth, while simultaneously rewarding those who just slap something together quickly for the sake of adding yet another feature to the software. Never mind they wrote 100% of the code when they could have used 90% that was already written before. Never mind that while the user interface looks pretty, the code behind it is horrible. Never mind they used tools from 10 years ago when newer and better software is available that would have cut the actual time in half, and increased code reuse 10 fold. It works and it looks pretty. That’s what makes a good programmer these days? Not in my book.

It’s as if quality really does not matter any longer, or is measured differently from how I measure it. Real programmers are scarce, though Web Programmers are plentiful. Maybe the best position for me is to develop the tools that others use. Right the real code and let the kids create pretty pictures from it. But then who will be the real programmers of tomorrow? It’s the hardcore guys that make it possible for every other mediocre coder to stay employed. What will happen when the juniors start creating the tools? Will software become even worse than it is today? Is that even possible?

This blog entry is depressing. Maybe I am the old curmudgeon telling the kids to get off my grass, I don’t know. I do know there are some great technologies maturing now that are truly incredible. The .NET platform has grown up and revolutionized how code is written and shared. Even the old school C/C++ programmer in me says, “WOW”! Silverlight is very promising, and has the potential to be the death nail of HTML, CSS and Flash. Apple’s market share is increasing (while their quality is, sadly, going down) and Mac OS X and FireFox keep Microsoft honest. I am excited by Vista’s replacement and hope to see something solid next year. The Linux guys are creating wonderful tools in both the server and desktop arenas.

So I am not sick of software development, only sick of mediocrity. I am sick of programmers that do not take pride in their work, never read the writings of those with much more experience (Code Compete anyone?), don’t separate UI from domain or business logic, think it’s perfectly fine to have SQL sprinkled all through their code, think unit testing is a waste of time, think HTML and CSS are God’s gift to web developers, and think comments in code are useless.

I am sick of not having standards, or having standards that get broken without repercussion, not having time for code reviews, not designing software before you write it, expecting programmers to be designers and their own QA, quantity over quality, and generally writing software without your brain engaged.

Maybe I should drive a truck 🙂

Aim High Microsoft

I remember a long time ago, when I was employed at Microsoft, we used to joke about what the Windows 95 slogan would be. We debated calling it “The Excess Hard Drive Capacity Reduction Utility” and several other things before deciding on “Windows 95, It Sucks Less”.

So I was amused to see this headline today on MSNBC’s web site, referring to Windows 7, the ultimate successor to Windows Vista. It’s nice to see Microsoft shooting for the moon. It appears that their biggest goal is to make it less annoying to use than Vista. That is a nice goal, don’t get me wrong, but is that really the greatest thing to look forward too? That it will piss you off a little bit less than Vista? Will you pay over $200 to be annoyed less?

How about this Microsoft. When Windows 7 comes out, you send me a free copy, with a nice little note attached apologizing to me for Vista annoying the shit out of me for 4 years. Really, just make Windows 7 Suck Less and all will be good.

Tired But Not Ready for Bed

Today has been a long day, and a tough one. It seems that every computer I own, and some I don’t, were out to get me today. They must have been talking to each other, because they really ganged up on me. In the end I win, of course, but I have been sitting at this computer for over 16 hours and should be on my way to bed.

But I failed to mention that I am also sitting in my new office! There are still a few things to do before I post pictures, touch up some paint here and there, move more furniture and stuff in, but I am working in my brand new space. It is clean, roomy, and has no cat or dog hair. They are not allowed in here. I am still debating whether or not kids are allowed, I think not.

I moved the computer and desk in late last night, after spending 2-3 hours cleaning everything. Since the computer was in the workshop side of the basement for the last 2 months, everything had collected quite a bit of dust and construction debris. It was actually pretty hard to get it all clean, but I managed.

Since I have not written in my blog for a week, I guess I should catch up a little. I worked a lot last week which you can always tell because I neglect the blog.

I did take time out to watch the Presidential Debate last Thursday and the Packers 2nd loss in a row on Sunday. At least the Bears (who I hate) beat the Eagles (who I hate more). I think I shocked my sister when I told her I was actually rooting for the Bears.

I thought McCain did pretty well in the first debate, and I am hoping Barack shows some teeth in the next one. Either way I think we will be just fine, unless we all go broke because congress wants to hand out $700 billion dollars to banks and financial institutions that apparently don’t know how to handle money. I think the better plan would be to force the oil companies to pay it out of their profits. I cannot even imagine what $700 billion dollars looks like, or could buy. I am sure several countries and a tank full of gas.

I have also been really sick for 10 days, but am feeling better the last 2. It really sucks when you have to work 12-14 hour days when you are coughing up a lung and running a fever constantly. I only really crashed one day, a week ago Sunday, never left the couch. That was a good day 🙂

What is Up with Laptops?

Maybe I am just too old, or maybe nobody makes a decent laptop computer anymore. I have an Apple MacBook Pro, arguably the finest notebook computer ever made. It runs Windows Vista and Mac OS X, has 4GB of RAM, and rips through most tasks very quickly.

It will also burn the shit out of you. You cannot use it on your lap, your legs will get too hot. Sometimes it is so hot it actually hurts to touch the bottom. You cannot put a pillow or anything between it and your legs or the computer will overheat. I just had the logic board (as Apple calls it, the rest of the world calls it a motherboard) replaced, probably due to heat. Had my company not purchased AppleCare, this would have cost me over $1300! A $3,500 1-year old notebook dead from heat exhaustion.

So my question is this. If you cannot use a laptop on your lap, should they have ever made it in the first place? The old laptops didn’t run that hot. They didn’t run that fast either, but they were LAPTOPS!

Sometimes high technology is just plain stupid.

A Week’s Gone By

I am starting to get lousy at updating this blog, I must improve. This last week has been insane. There was a block of over 80 hours that I slept less than 20 minutes, working constantly in the middle. A short break, and then another 20+ hours in a row. Then came a blessing in disguise. Seems construction crews in Cleveland cut my company’s fiber optic lines, giving us developers a much needed afternoon off yesterday.

Even though I was tired, I decided to install the laminate floor in the cat room and hall. Most of it is quite easy, though tight spaces are very hard. You do have to get creative sometimes, and I have a couple of small repairs to make, but I like the look of it very much. Our custom built hall was square within 1/8″, which was sort of surprising to me 🙂

I almost finished the hall last night before bed, leaving just a couple more boards to install. The office will be next. Missy and I did manage to get everything painted in between, so just the floor and trim remains. One more solid day, looks like Saturday might work.

So anyway… Green Bay won their first real game of the season, beating the Vikings. I must admit, Aaron Rodgers looked pretty good. Brett Favre and the Jets (aka Bretts) also won their first game and Favre looked good.

The last time we went to Menards they were closing out their patio furniture, so we bought a nice two seat slider chair with a small table in the middle and a matching glider bench seat. Hard to believe but those actually took about 6 hours to assemble, but they look nice. Much better than having a bar stool and office chair on the back porch. That was so ghetto.

So that’s about it for the last week, I’ll try to post here more often.

Enough is Enough

Let me preface this blog by saying that I am not a racist, not at all. I don’t care what color you are, what your ethnic background is, your religious beliefs (as long as you keep them to yourself), etc. Now, with that little disclaimer out of the way…

What the hell is up will all the Indian call centers? I had to call Capital One to update my address. Indian call center. Then I called HSBC to do the same. Indian call center. Then it was CitiFinancial’s turn, since they financed my truck. Indian call center.

Now I wouldn’t have a major issue with this, if these people could freakin’ speak English. Maybe it’s me, but I cannot understand hardly anything they say, and have to ask them to repeat things over and over again. If you are going to be working in a call center answering calls from American’s, you need to speak fluent and clear English, or Spanish. But what they hell do they speak? And why do all of these companies think it’s such a great idea to have their call centers there? Yeah, I know the answer, it’s cheap.

So that is what Capital Once, HSBC, CitiFinancial, Dell, Microsoft and all the others think we as customers deserve. Before I open my next credit card or take out a loan, I am going to call the potential creditor’s customer support number. If I cannot understand them saying hello, I will look elsewhere.

And that is not something wrong with India, that is something wrong with America.

The Real Reason for Global Warming

See the problem? It is almost 1AM and it’s sunny outside, at least according to Yahoo! Weather 🙂 I just looked. It’s dark.

I have worked about 40 of the last 48 hours on getting my online ePrescribing software running well. We have just over a week to go until we start certification, and I am excited, but also have a lot more to do. Everyone at Workflow is working some serious hours these days getting a lot of new features written. We are doing some great work, but it is starting to take its toll on the developers too. But we are a resilient and talented bunch, and will make it through this push just fine.

I can only work about 10-12 hours at a time, and then I need a break. Not to sleep, I am quite good at avoiding that, but to grab a bite to eat and put 30 minutes or so into my basement project. I think it helps clear the mind to do something totally unrelated to your work every now and then.

I usually take these breaks when I get to a point where I am stuck, a mental block brought on by frustration or fatigue. It’s funny, but I take a break and pick up a paintbrush, or run more electrical wire, and I start thinking about the problem at hand. I almost always come up with the solution when I am doing something other than sitting in front of the computer.

I am sure there is a scientific explanation for this, same for when you wake up at 4:15AM out of a dead sleep and know how to solve a problem. The brain works in mysterious ways.

I did a short break last night and watch Barack Obama’s acceptance speech at the Democratic National Convention. I enjoy hearing him, he is inspirational and a joy to listen to. Imagine what it would be like to have a president that is smart and personable. Sounds like a great idea to me. Plus, I just don’t think I can handle any more old white guys. It is time for a change.

I am impressed by the Packers new 2nd/3rd string quarterback Matt Flynn. We went 1-3 in the preseason, but I don’t put much weight into that. It was obvious the coach was trying some new things, it just didn’t work out that well. Flynn looked rough in the first games, but in game 4 he really shined, and threw a couple of incredible passes and scrambled like mad. I guess he got tired of getting leveled. He sort of reminded me of another Packers quarterback… What’s his name… Number 4… Broke every record known to man… 38 years old… Retired and then wanted to come back… Oh well, it will come to me.

Seriously, this kid has a long way to go before I even consider putting him in the same league as Favre, but he was impressive. Much more so than Aaron Rodgers. All the media talks about Flynn competing with Brohm for the 2nd string. Don’t be too surprised to see Flynn getting some serious field time this year while Rodgers sits on the bench, he looked much better than Rodgers.

So I am guess I am done rambling. It has been a long week, and will be a long weekend. I am hoping to score a block of about 6 hours somewhere, I think I can get my office almost ready to move in if I do. But work matters are pressing, so some things in life may just have to wait.

51 Hours and Counting

We will be homeowners in 51 hours, but who’s keeping track? 🙂

I made it back from Cleveland, just barely thanks to Continental Airlines. They suck, scaled back so much they had no pilots in Cleveland to fly the plane to Madison and had to fly some in from New York, making me about 4 hours late getting home. After a fun but tiring weekend in Cleveland, I was hardly in the mood for airline delays, but what can you do.

Missy and I purchased almost everything we need to complete the basement construction project yesterday, and will have a huge load of materials delivered by UBC to the house on Friday morning. I had some down-time in Cleveland Sunday waiting for the plane, so I did manage to get all the utilities changed over, or scheduled to be changed.

We are still waiting on the final settlement documents, but were told that they may not be ready until the morning of closing, Thursday. Should be getting real busy here soon, but will be a lot of fun as well. The movers will be here next Monday, so I will be able to concentrate on the office construction with my dad Friday through Monday, which should be enough time.

When I get back to work next Wednesday, it will be major push mode for about 2-3 weeks while a major portion of my code gets certification. Having my new office will make a huge difference I am quite certain, and it will be super nice if we actually get it completed while my dad is here.

Also, don’t drink a huge variety of local microbrewery beers at Rocky River Brewing Company in Cleveland. Don’t ask me how I know, just don’t do it.

Version Control and Microsoft

I think this may be the first blog entry I have created directly related to my profession, developing computer software. That is somewhat odd, at least to me, but out of all the things that really piss me off, software is always right at the top of the list.

My pet peeve of the day is version control software. Not all version control software, Microsoft version control software. For all that they do right, they just cannot create a decent system for managing multiple versions of source code. First they had Visual SourceSafe, which they bought many years ago from One Tree Software. It sucked when they bought it, and many years later they have hardly enhanced it at all, and it still sucks.

Now they invented Team Foundation Server, to replace SourceSafe. Problem is, it sucks almost as bad as SourceSafe! It loves to give totally meaningless SQL error messages, and has completely lost data on me more than once. My biggest complaint about TFS though is that it is integrated into Visual Studio. I mean, that is the ONLY way to use it, there is no standalone TFS client you can use, you have to use Visual Studio.

SourceSafe has a basic client application you could use, as well as integration with Visual Studio. TFS dropped the client all together. The problem I have with this is that I really, really hate having version control integrated into my development environment. In my opinion, integration with Visual Studio gets in my way. Some developers that have never used a good version control system may think I am crazy, but I know exactly what I am talking about.

In modern version control software, you should not have to “check out” a file to edit it. There should be no locks on files. You should just be able to edit away, working on whatever files you want to, whenever you want to, in the development environment and outside of it, and depend on the version control software to figure out later what you did, and merge your changes, as well as changes made by other developers. That way it does not get in your way. TFS does not work like this.

Now before “real” programmers start screaming at me about CVS and Subversion, save your breath. I am an avid user of Subversion at home, and love the TortoiseSVN shell extension for checking in changes, and managing Subversion and versions of files in general. It does not get in my way, I just check in my changes whenever I feel like it from Windows Explorer, and it always figures out exactly what I did throughout the day and merges my changes perfectly.

It also scales very well. I have many years of source code in my Subversion repository, somewhere around 15GB’s of data, and have worked on large teams that used it as well, and never once had a problem. No corrupted data, no missing files, just pure version controlled bliss. It does what it is designed to do perfectly, and does not hinder a programmer trying to get work done quickly.

And best of all, it is all free. Yes, Subversion and TortoiseSVN are open source software and completely free to use. They are mature, but also actively developed and supported by a large community. The documentation is also quite good, I have installed and configured Subversion many times in my career and never had a problem getting it up and running quickly.

Way back in 92-96 I worked for Microsoft. Even though we had SourceSafe, nobody used it. We used a totally custom built in-house version control system called Source Library Manager, or SLiMe. I was talking to a friend of mine a few days ago that is still a developer at Microsoft and mentioned how bad TFS is, and to my surprise he said “Yeah, it blows chunks. We still use SLM.”. I about dropped a load. After all these years, multiple versions of SourceSafe, and now TFS, Microsoft STILL does not use their own version control software. That alone should tell you more than you need to know.

That is why I am writing this blog entry at 3:47AM. I just spent 5 hours trying to tell TFS to give me a copy of an old file so I could look at it. I finally gave up, TFS lost it. I would have been screwed, but I also check my “real job code” into my home Subversion repository, which brought back the file in about 3 milliseconds. That’s the way source control is supposed to work.

Windows Vista Sucks Less

I have been very critical over the last couple of years of Microsoft Windows Vista. It took them 5 years to get XP really ironed out into a nice operating system, just to kill it with Vista. My first several experiences with Vista lasted a few weeks each, before reformatting my hard drive and reinstalling XP in disgust. Vista was slow, everything was in a different place, and finding stuff even for an experienced computer user was frustrating. Video drivers were bad, printer drivers impossible to find, and most of my software, even from Microsoft, either did not work on Vista or had some other “issues”. I short, Vista was a piece of shit.

When I started working for workflow.com last September, Vista was thrust upon me. At least during my working hours (which is most of the time) I used Vista Business on a decked out MacBook Pro. I appreciate the irony in the fact that the best notebook computer to run Vista is a Mac, and to my surprise, Vista runs pretty darn good on it! Not as fast as XP, but it was prettier and usable. Had this been my personal computer, I would have installed XP, but since I had to use Vista, well, I had to use Vista.

I’m not sure at what point I really started liking Vista, but I did. Several months ago, just for giggles, I installed Vista Ultimate on my home server. I wanted to test out Windows Media Center as a possible replacement for Beyond TV, software I use like a TiVO to record television shows on the computer and then send them to my TV to be watched later.

I drank the Kool-Aid, I was hooked. Media Center totally and completely rocks! Within a week I had configured my entire home network around the Vista “server” machine, bought an XBox 360 to act as a Media Center Extender (and a damn good Grand Theft Auto 4 and Rock Band engine), and finally bought my first LCD HDTV, a 40″ Toshiba Regza to connect to the XBox via a HDMI cable. Everything is working great, something I will blog about later. The entire setup is quite impressive really, though a bit on the complicated side for my non-geek family members.

So what prompted my complete 180 on Vista? Hardware, lots and lots of expensive, cutting edge computer hardware. When Vista came out, the hardware to run it on was just making its way to market. My personal computer was a 3.0gz Pentium 4 with Hyper-Threading, 2GB of RAM, ATI 9200 video card, and several IDE hard drives. XP ran great on this setup. Vista ran “ok”, but nothing to write home about, in fact, I had to upgrade the video card to an ATI X700 to make Vista usable at all.

With some changes, this computer is now my home Vista “server”. The CPU is the same, but the memory was upgraded to 3GB (I could add one more gig if I want to), the slow IDE hard drives are now used for hosting the operating system and backup purposes only, a 320GB Seagate SATA drive holds my important data, and another 500GB Seagate SATA drive is used for the television shows that are recorded by Media Center and the Windows swap file. Since this is a “server” I turn off all the “rouge and lipstick”, read Aero, and disabled all services (a bunch) that I don’t use. Configuring Vista is still a bitch, there are tweaks and settings hidden everywhere, but a careful and slow audit of everything in the GUI allows me to run Vista on this machine quite well, as a server. I don’t think I would want to actually sit in front of it and use it, but as a server it is performing great.

Now if you think this server is just for Media Center, you would be waaaaaaay wrong. This computer does Media Center, runs the WebGuide software that allows access to Media Center from a web browser, hosts my Subversion version control server for my source code, CruiseControl.net for automated software builds and integration testing, contains all of our family’s important files, performs backups, and here’s the kicker… It runs www.toddtown.com. Yep, this machine also hosts a VMWare Server installation of Windows Server 2003 that runs Internet Information Server 6.0, SQL Server 2005, our eMail server, and SPAM filtering software. This old Pentium 4 is REALLY earning its keep!

The average CPU load runs about 2-40%, and will occasionally hit 80-90% when a lot is going on, and memory usage runs about 65% on average. One trick to this is my use of Hauppage PVR-150 video capture cards for the Media Center. These cards do all of the video capture encoding on their hardware, and do not tax the CPU for these tasks. If they did not, this setup would not be possible.

Well Missy just got home, and for the first time in MONTHS, we are going to have a date without kids. That new Adam Sandler (Zohan) movie BETTER BE GOOD! 🙂