in

 

Sean Chambers

I am a Lead Developer from Palm Coast Florida. If I could describe my skillset I would include TDD, DDD, Alt.net, NHibernate, Castle Project and so on

January 2008 - Posts

  • Code Coverage

    I usually don't post something I've read but this one made me crack up. You guys have got to read this one!

    Code Coverage Nazi

    Cheers!

  • Being "The Computer Guy"

    This is a break from the usual developer oriented posts but I have been extremely busy lately with getting ready to launch StuntJuice in the next couple of days. I will do another posting on that later in the week. In a couple of minutes of downtime I churned out this post to just vent really. After removing more spyware in the last 2 months than most people do in a year. I'm happy to get through it with my sanity. I read this post at the DailyWTF and laughed so I figured I would share my experiences in a blog post.

    Frequently, I receive exasperated phone calls about a computer malfunctioning or someone having a "trojan" as I am sure most of my tech oriented readers do as well. I thought it would be a good time to outline the methods I go through with each virus infected spyware computer that I come across in hopes in sharing methods and/or tools of destruction of these horrible excuses for computers.

    Over the last couple of months the word got out at my girlfriends work that "I know computers". They have known this for awhile but since Aidan has been born all of the office staff at her work bought him tons of clothes and baby stuff, and figured it would be a good time to ask for much needed help from "The Computer Guy". I can't say I blame them after seeing the state of some of the machines I repaired.

    Let me start off first by saying that I very much dislike working with proprietary machines. Each manufacturer bundles a heap of junk software on every single machine and removing that software alone takes a couple of hours. I have found the absolute worst culprit of this is HP with Gateway in a close second place. Sony is not too bad but they still put junk on there all the same. Couple this with the fact that no one ever gives me the original disks that came with the computers so I can reinstall their OEM copy of windows if need be. I suppose asking for the disks that came with their computers is like asking someone where Jimmy Hoffa is buried.

    So over the last 2 months I have repaired about 7 machines. One of the machines she gave back again because I didn't get everything off of it and she was still getting popup's. At this point I have repeated the process below so many times I could do it in my sleep. If anyone please has improvements or other tools you find make this process go faster please let me know! There has got to be a better way =)

    Here are the steps I usually take when getting a horrible machine in the door begging for help.

    1. Uninstall all of the bundled software that I know for a fact they don't even use. I leave the software they might use till later so I can ask them if they actually use it or not. This is usually WordPerfect and the like.
    2. Depending on how bad the machine is at this point I will usually start by looking at the processes running and start killing them one by one through msconfig until I get the CPU and memory back to a manageable state.
    3. Once the processes are back under control I run all the windows updates. Amazingly a lot of these computers have NO windows updates. That's right...NONE. I mean I can't blame the user for this but the windows update stuff should be enabled by default. It's horrible to see this. Some of the images from the computer manufacturers have got to be years old when the machines are only 1-2 years old. Definitely no excuse.
    4. With my handy 8gb thumb drive I install Avast! Antivirus, AdAware and SpySweeper. Avast runs really well and is 100% free. If they have Norton Antivirus or McAfee and their subscription is expired I just uninstall it. I find that Norton and McAfee are complete hogs and I just don't even mess with them.
    5. By this point I have gotten all the viruses off with Avast and hopefully all the spyware. I make sure there is no add-ons installed in IE and make sure that IE7 is installed which should have been done at the end of the windows update process.
    6. I surf the web on the machine for a bit making sure there is no strange processes popping up or popup's. If I am still having problems at this point and there is still spyware on the machine I usually call up the person and tell them I am going to wipe and reload the whole machine and if they want me to save anything off of it. I suppose I could try to get rid of the spyware remnants but usually at this point I just don't care about their data that much. I know it's horrible to say but I really dislike wrestling with spyware. They should be doing backups in the first place anyway's =P

    I have realized lately that spyware is the largest epidemic on the average user's machine. We even have pieces of spyware popup on the school district machines where all our users and locked down very tight via group policy so I am amazed that these guys can find holes when windows is locked down as tight as we have it. This has got to be the most aggravating thing in the world for an average user that doesn't know how to fix it and has to take the computer to a shop where they are charged hundreds of dollars for a process that takes a little over 2 hours. It's highway robbery all around. All the machines I recently fixed I didn't charge any of them a dime for. I felt bad for them and each one of the people bought my son a bunch of gifts for the baby shower. Two of the ladies insisted on giving me money and when I refused they bought me a Heineken Mini Keg and a case of Miller Lite. I told them that was better than cash =)

    Anyone like to share their experiences? I know there has got to be a couple of good ones out there. =)

  • Evaluating TeamCity as a CC.net Replacement

    Over the last week or so I have installed TeamCity at home and at work to replace CruiseControl.NET. My interest was originally sparked by this posting by Aaron at Eleutian. After playing with TeamCity for a week I must say I am very impressed.

    First and foremost I was getting tired of how difficult it was to setup a new project in CruiseControl. It required a lot of steps and was full of hair pulling and screaming at the monitor. TeamCity eliminates all of this by making the whole process amazingly easy. This comes from the fact that they have pretty much included everything to setup in a 7 step process from start to finish.

    You have a number of different options when it comes to build runners. TeamCity will automatically tag your builds with build number/svn revision number. It has support for all the major source control systems including subversion and vss. One really neat feature is the introduction of build agents. Unlike CruiseControl, you can have multiple other servers that are "build agents". Once a build is triggered any of the compatible build agents will come in and begin compiling your code. By default the server that TeamCity is on is the only build agent but you can easily add more to spread the load of building your projects. The free version of TeamCity only allows for 3 build agents but liscences for more build agents are only $300 each. Not too bad.

    All of the cool options and features aside, the real power comes from the amount of reporting you can get out of this tool automatically with minimal effort. Here is a screenshot of the statistics pane which gives you an overview of all builds of a specific build configuration of a project.

     

    Here is another screenshot of an overview of what changes I have made to the project recently. This part is really neat as it integrates with your source control system. There is a user setting where you set what your source control username is and TeamCity automatically pulls the checkins for your account and compiles them in a tidy little list of changes.

    Another cool feature is the ability for TeamCity to compile VS 2008 SLN files. There are runners included with TeamCity that will also build VS 2005 SLN files. This way you are not obligated to use MsBuild if all you want to do is build a solution file. This makes life a lot easier. I was already using the nant msbuild task so this is a moot point for me, but I'm sure other people will find this part interesting.

    To get your test data into TeamCity all you need to do is just add the test runner element to your build runner. TeamCity will detect that you are running tests and automatically pick up the output and include it in the report. In addition to this, TeamCity will show your running tests as they are being executed through the web interface.

    Getting code cverage reports into TeamCity is a little more difficult. You can include custom reports into TeamCity by reading this link here

    TeamCity comes with a number of different notification utilities such as a windows tray notifier, visual studio plugin, jabber notifications and a lot more. I haven't even begun to dig into all the features in TeamCity. What I have mentioned here is just scratching the surface. Definately check it out if you are tired of poking around in xml configuration files for hours on end.

Copyright Los Techies 2007. All rights reserved.
Powered by Community Server (Commercial Edition), by Telligent Systems