MVC Slides from Atlanta Code Camp

>> Click here to download the slides/ demos <<

Thanks to all who came and apologies to those who came and found standing room only – I intend to record these demos and host them soon, watch this space.

The demos are fully RC2 compatible now, that day was a close call to a non-working demo.

Posted in ASP.Net MVC, Atlanta, Presentations | Leave a comment

Custom Building a Modern Mountain Bike

This was a dream bike build for me and lots of readers share the dream, so here goes:

Build or buy?
Building means you specify all the components. Even $5K bikes often come with pretty lame wheels, crank sets, cassette etc and you will not get to choose tires, seat, shifters, calipers, bars etc. It was a no-brainier to build, and I am happier with this ~$2,500 build up than most (all!) $4K stock bikes. Why the cost difference? I could hunt down discounted parts. E.g. the shocks, wheels, and frame are not 2009 models.

If you are returning to mountain biking look in the ~$700 range for an off-the-shelf bike with front shocks and disc brakes, any less and you’ll not enjoy the sport. Getting semi-serious means $2K+ on a full suspension bike. Regulars I see again and again at local mountain bikes trails are mostly riding $2,000-$3,500 machines with maybe 10-20% spending even more. The sticker shock takes a few weeks to get over. If you do buy off-the-shelf look at the specs to see if any parts are ‘custom’. Custom generally means it is a non standard size, and replacement/ re-use on another bike will be hard or impossible. Another good reason to build. At the end of the day this sport is more about the rider, but go too cheap and parts will soon break costing you more in the long run.

Tools needed?
Quite lot of tools are needed, probably at least $400 worth. In rough priority order:
. Allen key set (~$10)
. Allen key sockets (~$15)
. Torque wrench (~$50)
. Cable/ Housing cutters (~$20)
. Bottom bracket tools (~$30)
. Cassette whip/ remover (~$20)
. Decent work stand (~$200)
. Headset press ($50->120)
. Crown race setter (I use a $3 tube from a DIY store)
. Star nut setter (~$10)
. Pipe cutter (~$20)
. Chain link splitter (~$10)
. White lithium grease (~$3)
. Several misc DIY tools you should already have

Where to start
Stripping and rebuilding your old bike is a great learning experience; it should you take a day or two. You’ll be annoyed how expensive new cables/ housings are, but will have a slicker bike at the end of it.  I bought an $89 Sette 16″ frame and rebuilt an old bike into one the correct size for my wife, it came in at ~22.5lbs which is amazing for an $89 frame and $300 shocks.

Hunting down the Dream Bike
Boy, this took me many hours online – scouring reviews, price trade-offs, forum postings etc. The most useful resource is the mtbr reviews forum – for each part I looked at the bad reviews, and also got a good idea of what everyone was buying for that component. This way I found some parts that I am really happy with, e.g. Odi Ruffian removable grips and the Thompson Elite seat post.

Search lots of bike sites as prices often differ widely, for each high value part use comparison shopping sites like Froogle – this found me XT cranks at over $100 off when everywhere else wanted MSRP.

Below I will try to discuss the trickier choices made; in general I tried to distinguish between parts I may upgrade and parts I should never need to replace on this bike. E.g. ‘cheap’ mechanical BB7 disc brakes vs. the Thompson seat post. In some areas you probably want to check out lower-end parts before splashing out, I put a Manitou R7 fork on my wife’s bike and rode it for a while before justifying $800 Fox forks.

Parts Arrive
This bike comprised of eight or nine boxes of parts from five different suppliers. As I said there can be HUGE price differences between retailers, so the extra shipping costs are more than worth it.

BMC Trailfox 2.0 Frame under wraps
This is a unsold 2007 found for $499, MSRP for a 2009 model is $2,149.

If this does not excite you then you are dead.

Avid BB7: My first disc brakes and they rock. No longer am I locking up/ skidding after being airborne + doing endos etc is very controllable. Be sure to use Avid speed dial levers so you can adjust the lever pressure required.
Fox Talas 140 RLC: When downhilling it is immediately obvious that these work better than my Manitou R7 MRD and I loved the Manitou. The 100-120-140 adjustability is great, I run 120mm for XC and 140mm for DH/ light FR. 100mm feels plain weird on the BMC frame so stays unused. With hindsight the 150mm Talas model would have been a better choice, but these things were expensive as-is. If buying a Fox fork be aware that adjustable compression is only on the RLC models and adds a lot more to the base price. Add the QR15 option and you are close to $1000 for shocks alone!
Thomson Elite Seat post: Brilliant! It has machined groves which stop the post slipping and must be about as light as the carbon EC70 post that slipped so often on my old bike.

Mavic Crossmax ST:Good wheels are must, try finding these stock on anything less than $5K. These can run tubeless tires but as with hydraulic brakes they seemed an unnecessary complexity I did not want to deal with. Perhaps a future upgrade?

The Build Begins

Rule one: never clamp anything but the seat post, tubing on modern higher-end frames can be crushed otherwise. Install the seat post and mount in your stand.
Rule two: Weigh everything before it goes on the bike. You will want this info when shopping for upgrades.

Pressing in a headset: This BMC came with one pre-pressed but this is the tool you should use – a headset press. Almost all headsets these days are threadless and press in, instead of screwing in like they used to. This is a much better system as a headsets coming loose was common in the 80s and 90s.

Attach the cassette– needs a lot of torque and the special tool is called a cassette remover. This is a 9 speed cassette I had laying around; it will be a PG990 soon.

Attaching brake discs to wheels– use a torque wrench if possible. These are my first disc brakes so BB7 mechanicals were ideal; $46 each for 2009 models is a bargain. Rotor size was copied from a Sepcialized Enduro at 203mmF, 185mmR. With hindsight this is total overkill and they will soon be swapped for 160mm front and rear. Unless you weigh 250lbs and shuttle ski runs I cannot see 160mms overheating.

Pressing the crown race into place. That is a $3 piece of plastic piping which almost everyone uses – no other special tools are required.

The other headset parts. This can be confusing for a beginner so make you download the relevant pdf. These are sealed bearings; don’t bother saving a few pennies on the old bearings-in-a-cage variety. Note: I missed the compression ring form this photo.

Mounting the wheels getting ready to size the steerer; use something to prop it up. Put the headset parts, stem and spacers (max 30mm) in place.  Measure twice, cut once. Do not cut a steerer too short as the repair will be expensive.

Cutting the steerer– the pipe cutter is just a plumber’s tool. Debur using the tool’s deburrer and then smooth off with a metal file.

A star nut setter: Star fangled nuts are easy to bash it in with a hammer and I have done that before, but not on an $800 fork. The setter tool is only ~$10 so why not use one?

Depth of start nut varies on who you ask, from 4mm to 20mm. I set this one to 10mm. It should not matter since the star nut is only used to preload the headset bearings, the stem bolt holds things together.

Leave a gap from the top of the spacer to the stem since you are going to preload the bearings in a minute. The star nut bolt does not need to be very tight, just enough to stop play in the headset. I put the bike on the floor and tighten the steerer nut until steering becomes tight, then back off a little. At this point you should tighten the stem bolts.

Disc brakes and Hollowtech cranks are next. Both being new to me it is time for lunch.  There is no point rushing and I want a clear head especially for that expensive crankset.

Putting a caliper in place– very simple but you will need a mounting bracket that matches your frame and the rotor size. There are three different standards out there so do some homework on this or expect a trip to the local bike shop to find the correct mounting hardware. Avid brakes come with a cool auto-alignment system (CPS) that works much like the curved washers from v-brakes. This mitigates having to face brake mounts.

Hollowtech cranks: The scariest component. MSRP is $305 but all affordable cranksets seemed to have bad reviews. Hollowtech means outboard sealed bearings and very few parts + look bulletproof. The black spacers are for use with a 68mm shell like I had – another plus, this a one-size-fits-all deal.

Of course they needed a new tool. A torque wrench cannot be used with this tool so I used the torque wrench on my car’s wheel nuts to verify what 50Nm feels like. You do not want to strip BB threads!

This side requires very little torque and simply preloads the bearings. Tightening the crank on is done with two allen bolts at 90 degrees to the crank – they come with a stack of warnings so I doubt you’ll get it wrong.

Derailleur Alignment Tool: I am not sure how accurate the tool is, but all three bikes I used it on had misaligned hangers. Misaligned in different ways so I assume the tool is correct. Use the tool to check Up, Down, Left and Right – lightly bending the hanger until it is within 4mm on any measurement. I have to say that my shifts are pretty smooth and maybe this helped?

The spoils of XTR components. The front mech comes with a helpful guide to set the correct distance from the chainrings. If you are buying XTR you can probably eyeball this measurement.

New SRAM chain. Note the removable link which means the chain can easily be removed in the future. The other tool is a chain link splitter which is only needed to remove links from the chain if it is too large.

Put the chain around both large cogs and allow for two extra links. I have ran with zero links before and had no issues – actually I might do the same on this bike to reduce chainslap on rutted downhills. With a tight chain running the extremes of gear combinations is the only issue, but that is a no-no anyway.

It is looking like a real bike now.

Cables: … ugh, not hard but it takes a while. You must use a specific cable cutter or expect frayed cables. Housing and cables are different for both brakes and gears, also these days we run continuous housing from the levers to brakes – use tiny zip ties or special clips to attach the brake housing to the frame. Zip ties are my preference.

Initially I am using an old set of bars/ levers but wanted to dump the old grips. Push a WD40 tube as far as you can, spray in oil and twist. These came off totally intact with little bother.

I had never used these bars and they were incredibly wide. It was cool to see preset cut-down points. Again a few twists of a plumbers pipe cutter and deburring is all that is required.

Removable grips: What an awesome idea for people that love swapping out components. My hands grip really, really well with these – possibly the best part on the whole bike!

Six hours later it is complete (cables were tuned the next morning). It came in at 27lbs 8oz which for a ~$2,500 5″ travel all mountain bike is not bad at all. It should drop about a pound when replacing the old bars, shifters and oversized brake discs. Those tires are 2.6lbs too, yeah, yeah weight weenie.

The Results?

Time and money very well spent. The brakes in particular are changing my riding style, locking up is now almost a thing of the past, especially when scrubbing off speed after time in the air – especially when a corner is almost immediately after landing. Having full suspension makes rides so much less fatiguing and landing misjudged takeoffs much safer.

For a brand that is almost unknown in the US it attracts a lot of attention and questions – everyone so far seems to approve.

Posted in DIY, Other | Tagged , , , , , | 22 Comments

Atlanta User Groups I recommend

A friend just asked me what .Net groups are good these days. Atlanta is the Software Capital of the South which means we have many great groups in town and I watch them all for interesting topics, but these are the three I personally attend most often:  this is great for new ideas and decent technical depth. It is a fairly new group still finding its feet  Atlanta’s IASA chapter – always has super-smart people in attendance. Most meetings end up being a discussion (or argument!) with few punches pulled. The best part? BS artists are shot down very quickly and most never come back 🙂 this is the ‘main’ .Net User Group in town and excellent at delivering high level introductions to topics. Networking is very good here too as local MVPs etc are at most meetings

Other .Net focused groups are (now defunct) and

Hopefully that helps a few people looking to learn more and network 🙂

Posted in Atlanta, Tech Events, Technology | 1 Comment

Jan 2009 ASP.Net MVC Slides

Update: The Release Candidate has been released. The demo below works fine with it too.

>> Click here to download the slides and second demo. <<

Wow! We had a fantastic turn-out last night, interest in MVC must high!  Not having presented for almost a year  I tried not to publicize the the talk; but still instead of the expected twenty to thirty people there must have been close to a hundred and we had to expand the room! Couple this with the Microsoft building now almost impossible to find with that road closure flummoxing us coming from the south-side – who knows how many found Old Roswell gone and went back home at that point. For those that missed last night this talk will be repeated at all local code camps that happen in the next few months, the Atlanta one is in March and 2009 details will soon appear at

Obviously that presentation covered only some of the very basics and there is a lot more to working with MVC. Watch this space for more MVC tips and if people request it, I’ll put together a deeper presentation for Code Camps etc.

Also, I was not kidding about the free presentation/ training at your company. Totally free, no creepy sales people will call afterwards either – it will keep my hand in while taking a few months out from real work and with luck one of them might lead to my next gig (which will use MVC).  So if you have at three or more devs drop me a line via the ‘Email Me’ page on this blog – don’t worry if you are a small or large shop, I just want to spread the word and try to ensure there are a selection of MVC Contracts out there when I get bored of goofing off 🙂

Posted in ASP.Net MVC, Presentations | Leave a comment

TurboTax vs TaxCut 2008

TurboTax has been wonderful over the years but the 2008 price totally made me baulk. An eye popping $229.80 this year for my needs:

$49.95 Premier inc Rental Properties + $34.95 Per State
$109.95 Business including S Corporations

H&R Block Home & Business 2008 promises the same functionality for $67.96 (Google for a discount coupon code). This was enough of a saving to try it, worst case I waste a few hours and buy TurboTax.

Since the IRS have not finalized rules for 2008 a few areas are not yet available including what seemed to be almost all the s-corp filing. Still I entered our W2s, a dummy 1099 and all the details on my rental properties with no issue. Everything was as easy as it was with TurboTax. There are still all the detailed sections to ensure you are aware of what can be deducted without reading 17,000 pages of IRS publications or trying to get a comptent accountant to talk to you. As for problems so far,  non are worth mentioning being just very minor niggles. Before buying I read online that H&R does not even let one print PDFs – well I just saved my 2008 draft with no problem (File -> Save As PDF…).

Here are a few samples screens, please don’t laugh at the repairs on the rental – it has barely an issue for five years and last year seemingly everything broke:


Looks a lot like TurboTax right? Go ahead save the money, you’ll feel amost right at home



As with Turbo Tax this Rental screen  maps straight to the tax form field – ah this is soo simple 🙂

Posted in Other | 2 Comments

Deleting data before donating

This was so easy I felt obliged to blog it. Under our house rule ‘not used it in a year, so it has to go’, our old P4 laptop is being donated. It held old tax records, Microsoft Money files etc which had to be deleted first.

One free and simple technique is Boot and Nuke. I download the small ISO and used this free ISO burning tool to burn a CD.

The laptop then booted from the CD into a Linux program which looks similar to below once running. I choose the default and it took about two hours to delete a 70GB 7400 rpm hard disk with a DOD Short (three pass) technique:


Finally another 30 minutes using Averatec’s media recovery discs and it is now ready for someone else to enjoy.

Posted in Technology | Leave a comment

IIS7 Gotcha – COM Error 80040154

We have all seen the 80040154 COM error. Normally the solution is to run regsvr32 on the com dll so it is registered on the machine.

“System.Runtime.InteropServices.COMException (0x80040154): Retrieving the COM class factory for component with CLSID {D1CB0D81-7D2B-4064-9AC7-D0D88DEC3D16} failed due to the following error: 80040154.”

Of course regsvr32 was the first thing I did, but the error still happened in the ASP.Net MVC project on IIS7/ Server 2008. Using regedit.exe verified the dll was registered, so I ran the NUnit tests… same error! The solution is to permit the IIS7 App Pool to run 32 bit code as shown below:

IIS7 COM Gotcha

IIS7 COM Gotcha

Posted in ASP.Net MVC | 32 Comments