Skip to main content.
June 17th, 2008

MVC guru == PhD wannabe?

This is a plea to anyone who blogs, writes or talks about ASP.Net MVC. This stuff is pretty simple, let’s not scare people away.

In the last four weeks of learning MVC I have:

All are guilty of requiring niche knowledge in some or all of:

Apparently every educator is trying to showcase their knowledge in a manner that is inaccessible to 95% of developers.  They presenters I saw at NYC are great guys, but almost all the faces in the audience soon were blank as decks became PhD thesis material. We soon dwindled down to ~50% attendance. I chatted with several ‘regular guys’ over lunch and they were pretty annoyed - what they need to see are simple samples.

Missing Samples: Hopefully the Manning book will improve before publication - the first chapter got me going with the framework, but the rest was almost useless to me. People who care about DDD, MVC details etc already know about them. What we need to see is samples of Grid controls, binding data to controls, how we get data back from a postback etc. At work we soon had screens working with jQuery and ext; perhaps because we do not worry about DDD, strict patterns etc?

Of course there is the argument that MVC is not targeted to all developers and only super-intelligent ones will understand MVC. Poppycock, RoR has been a huge success due to its simplicity - how many RoR developers know they are using Active Record? Not many I would gamble; most RoR people just want to build something quick and don’t have a CS background. MVC is not that hard, let’s present it clearly and simply guys.
Oh yes, and I do think the ASP.Net Framework is heading in the right direction. There again I love NUnit and wrote my own MVC framework for WebForms back in 2003 as I did not know how else to test my ASP.Net screens.

Posted by Paul Lockwood as ASP.Net MVC at 5:27 PM MST

2 Comments »

April 28th, 2008

DD-WRT on Linksys WRT54G v8

Many sites say v8 of the WRT-54G routers cannot be flashed with DD-WRT. I have now done this twice and here are simple instructions - these are re-worked from bauer-power who’s post I came across when fearing my first attempt bricked the router. First try on a v8 took me over two hours mostly in Google/ Forums, second time about ten minutes with these steps:

  1. Go to http://192.168.1.1 (default user/pass is admin/admin)
  2. Click on Administration tab, then click on Firmware Upgrade. Upload vxworkskillerGv8-v3.bin
  3. When you see ‘Update is successful, Rebooting….’ unplug the router for 120 seconds
  4. Plug in router, ping 192.168.1.1 to verify it is still alive
  5. Run the Linksys Tftp Utility, uploading dd-wrt.v24_micro_wrt54gv8.bin with these settings:
  6. Press Ugrade. When the green dot appears press the router reset button
  7. Browse to 192.168.1.1 and see the new firmware (default user/pass is root/admin)
    Use IE as Firefox does well with DD-WRT

If you are looking to flash another a non v8 router with DD-WRT I found these links to be the most helpful:
DD-WRT Installation wiki
Client Bridge Example (this is almost 100% correct for V24 firmware - you should have no problems following it)

Also be aware there are version specific firmwares on the dd-wrt website, but it may take you while to find them: Linksys is under the Broadcom (chipset) folder. More than likely a newer builder than I linked to will work with the v8, but I simply wanted another client bridge and have had one running with v24 for two months now.

Afraid to do this ‘hack’? Of the three Linksys routers I’ve flashed none became bricks. Heck they are only $40 now anyway, but if you do brick one it looks they are not too impossible to recover:
Recover from a bad-flash (unbrick a dead router) wiki

So Why did I do this?

This was left to last as the news that we can flash Linksys routers is years old. Still even me -a tech blog addict- was still not 100% sure what a wireless bridge is, and how to link to wireless networks into one seamless network. We need access points in many locations, but are renting so cannot run cat5 everywhere. Yes I could buy custom wireless adapters for the xbox (xbmc), HTPC, NAS drives, PCs and printers but they normally cost $80 or more each and are no where nearly as flexible as a DD-WRT flashed router which has 5 ports. Also the new V8 WRT54G router I bought for my theater room was losing the plot when the PS3 was turned on - I have no idea why but the voip phone etc would all lose their connection. Since being flashed it has been 100% stable.

This is a sample wireless bridge, to the machines it looks like one seamless network:

We now have three WRT54 routers with DD-WRT. One is a primary and two more are client bridges.. one for the xbmc and for my main PC in an office room. They seem to play fine together. The two client bridges have five Ethernet sockets as the wan port was reconfigured by DD-WRT. This is fantastic for many reasons, e.g. when moving large files I can plug a laptop or NAS drives into the same wired network. WiFi is fine for streaming media, but you trying moving a 10GB VirtualPC image or 4GB TV recording over WiFi and you’ll see how much faster/ reliable wired networks are.

Posted by Paul Lockwood as IPTV, Technology at 9:07 AM MST

No Comments »

November 25th, 2007

DDD6 UK Code Camp

For my slides and NAnt + Cruise Control config files click here. If you have any more questions please email me.

DDD6 was the 6th UK ‘code camp’ and I was luckily enough for my session to be voted in. Many people missed out attending because there were ~450 registrations in 24 hours!! Everyone I met was incredibly bright - most of the tough questions I asked in my Continuous Integration session were immediately answered, by sometimes what seemed half the room!

Comparison to with US Code Camps is pretty easy. The UK version is was excellent too. Classic cultural differences were there: a little less pizazz, and the average attendee weighing 20->30 lbs less. Note the cycle racks outside reception in the photos below, if US gas were $9/gallon I think we’d be slimmer too.

It pleases me greatly to report TDD/ Automated Testing is certainly gaining traction with the .Net community here. Many people told me Mike Hadlow did an excellent talk on using Inversion of Control (IoC) with TDD. Speaker of the day must go to Ben Hall who gave an overview of xUnit tools, including MBUnit which he contributes to. Apparently Ben is a fairly recent grad and this was his first presentation - watch this guy he will do well!

Ben, Mike, Richard Fennell and Michael Foord blogged this event. Barry Dorrans shares some photos. Update: even more was said about the day here, here, here, here, herehere and here!

Ben Hall Presenting

Ben Hall - future tech superstar (no, not the back of his head, he is the guy speaking)

MicrosoftUK001.jpg

Microsoft UK at 7am in Winter- brrr!

MicrosoftUK002

Just before I left the speakers’ lounge to meet some smart people

XBox360AtMicrosoft

This was in the halls, along with life size Halo characters!

Posted by Paul Lockwood as Presentations, Tech Events at 2:54 PM MST

3 Comments »

October 27th, 2007

How to suck at Presenting

Presenting involves elements of luck, I think we can rely less on luck…

After a series of extremely well received talks for the Atlanta .Net group I almost bombed last time. It was not a total disaster and luckily few were present to witness it. I had given the presentation very successfully twice before, so what happened?

The Excuses

Late notice: I stepped in late to fill the slot and did little preparation
Lack of Preparation: The only preparation was testing the demos and skim reading slides
Lack of enthusiasm: Lariam still affects me slightly, that was one of those weeks

Bad Luck

No crowd interaction: Advertising talks well in advance gets the word out and brings in people really interested in the subject - just one eager audience member can spur interest for others
Bored Blank faces: Need to learn how to handle this

Problems with my Old Style

Need short 10/15 minutes segments: The Cruise Control .Net talk was pretty technical, each section building on the last. If I lost an audience member they stayed lost. If one demo fails it could destroy every subsequent demo.
Relying on audience interaction: Good interaction makes for killer presentations - everyone learns and everyone has fun. I was relying on it, don’t!
Deja Vu: When giving the same presentation several times it feels insincere, especially when repeating jokes. This must be an experience thing, Comedy School could help too.

Posted by Paul Lockwood as Presentations at 5:46 PM MST

No Comments »

October 24th, 2007

UK: DD6 on Nov 24th

== UPDATE: Registration is full. It took just a few days!!  ==

Registration is now live, these free conferences always fill up fast so register right now!

It is on a Saturday at Microsoft’s office in Reading and there are some great looking sessions - some good ones are bound to overlap with my slot :(

See you there… Developers, Developers, Developers!

Posted by Paul Lockwood as Presentations at 1:29 PM MST

No Comments »

July 26th, 2007

Non Tech: Wagon on the Dragon

Bit of fun here: last week I headed to North Carolina and Deal’s Gap, aka Tail of the Dragon as I was sick of hearing friends talk about how great it was. 318 curves in 11 miles is their tagline, if you love cars or motorcycles you must check it out. People regularly travel from all over the East Coast to it. You are guaranteed to see a huge amount of exotic motorcycle and cars - more than likely you’ll see a few clubs out there en-mass; we saw 40+ Miatas. Please be careful on your first runs, fatalities do happen and it always seems to be out-of-towners. On the bright side the last motorcyclist to die went off an 80 foot cliff-face, so at least he an awesome view on his way out, much better than piling into an ugly truck like below. Seriously, like the Nürburgring take it easy on your first few runs.

There are many photographers on the route who take photos of all interesting cars and bikes to sell them online, the most popular being Killboy and Dragon Slayer Photos. Police on roads like this are normally semi-tolerant, all biker/ fast car roads I know are Policed heavily on weekends but I have never seen a speed trap; they are pretty lenient but if you start passing on blind bends, ride with a ‘hidden’ tag etc then expect some attention from LOEs.

What about the Wagon? It is my wife’s ‘07 328iT and our fifth factory-delivered BMW - for good reason too, small BMWs rock! Normally I’d take my car which has a manual-box and grippy summer tires so expected to be disappointed with the auto-box and stock run flat tires. Surprisingly I was impressed with this stock setup, the tires communicate what is happening very, very well - going too hot into a bend results in modest understeer that is incredibly easy to control. Admittedly I had put a little extra air in the tires to stiffen the sidewalls, and of course the grip level is no where near a good summer tire; still I think 95% of the public will be happy with the handling in an emergency situation. Especially after this ride in the new three series when returning to the US in a couple of years it will be is a hard choice between a 335i with OZ rims/ summer tires/ coil-overs + FZ-6 for weekends OR a Honda Civic commuter + Ariel Atom for weekends. This is the Ariel Atom, I’d start with the smaller engine, 0-60 in 2.6 seconds is surely a total rush but I like Terra Firma…

Posted by Paul Lockwood as Other at 10:51 AM MST

5 Comments »

July 25th, 2007

Google Reader - Gears and List View

Shawn (the ADO Guy) pointed me to Google Reader last Summer and that spelled the end of my Blog Lines use. Both are web based readers, and ideal for reading RSS feeds at various computers. It remembers all feeds, and even what has been read from machine to machine, I used to waste time manually catching up in RSS Bandit when moving between my main PC, the Living Room laptop and work.

Be sure to read in List View, this way you can quickly home in on posts that interest you. I have over 100 feeds and Mr. Index Finger was getting pretty tired with the next button, I expected a whopping blister with the video game like rapid fire of next, next, next!

An irksome issue with online based services is they do not work on most planes, trains or automobiles as just like me they lose the plot when an Internet connection is taken away. If you have not heard, Google Gears is a new Google API that hopes to address this. So far Google Reader is the only application I know of to use Google Gears, and it does not support images yet. Interestingly Google Gears was a project conceived in an employees ‘20% work on what you like time’. Please, please let someone else’s 20% now be looking at hooking up Gmail and Google Docs and Spreadsheets - these simplified my life albeit with another increased dependence on the Internet.

Posted by Paul Lockwood as Technology at 4:23 PM MST

No Comments »

July 17th, 2007

Microsoft Architecture Journal

Why was I not aware of this? It is a free quarterly print/web publication, after scanning the back issues it looks more useful than the MSDN Magazine is lately:

Sign up here: http://msdn2.microsoft.com/en-us/arcjournal/

PDFs are there too; I just put all the issues on my thumb drive ready for the next Atlantic flight.

Posted by Paul Lockwood as Technology at 12:37 PM MST

1 Comment »

June 19th, 2007

Reflections on five years NUnit experience

It has been five years since I first used NUnit and have used it with great success on almost every project since then. This post briefly reflects the pros and cons of Automated Developer Testing I experienced.

. Zero Defects can be the norm
Given a serious amount of control on projects I insist on ~100% coverage for the most complex pieces. Every time this happened the complex code was delivered with zero (or very close) defects. Admittedly before NUnit I received a lot of praise of stable code and attention to detail, but with with NUnit we can even redesign working code to be more maintainable and still release with almost 100% stable code. Redesigning for maintainability is not practical without a suite of automated tests - it normally requires a complete rewrite.

. 100% Coverage is for Fools
Sometimes creating Automated Tests make prefect sense, and sometime it costs more time than it saves. I aim for 100% coverage on reusable libraries, critical architecture and anytime I think the business rules are far too complex for QA to completely understand let alone regression test on a regular basis. 100% Coverage on simple data manipulation web page will be a frustrating waste of your time.

. TDD - Good luck with that!
Unless your company has several years experience writing Automated Tests you will not get buy in for TDD. Learn to walk before you try to run.

. Continuous Integration is an easier win
I can install a Cruise Control in a day and educate all devs in one 30 minute presentation. Before looking at Automated Developer Tests I highly recommend rolling Continuous Integration our first. It is a massive win for very little effort. Managers and developers alike always see the value, this should build up your credibility enough to start an NUnit pilot.

. Screw Mocks, use a real database, ldap etc
Yes Mocks can work, but in my experience I have seen developers waste time coding Mocks, Object Mothers etc. A far simpler approach is to commit to a reasonably large amount of upfront effort so the Automated Tests setup and tear down a real environment. This framework should be created one expert developer and will result in some complex, hard to maintain code, but it then becomes very simple for even junior developers to test large sections of their code, not just wimpy Unit Tests. This is the foremost reason I have had so much success with NUnit. I have my own framework for SQL Server/ Oracle which took about three re-writes to become as simple and stable as it is today - you will need great database skills and good C# but once written it just works. Via Cruise Control we automatically spot problems in build scripts instantly, if anyone changes sproc parameters without updating the DAL we spot that too! I even have a suite of test on one project that does an end-to-end publish mimicking data coming from several internal feeds, being data scrubbed by our system, transformed into records in our system and push out the other end to table ready for user consumption! Probably 100klocs of C# and PL/SQL are executed by a single test - if anything breaks we know about it very quickly.

. Hundreds of small tests or a few Large Tests?
A classic mistake I see is developers taking the Unit word too literally and set about writing literally hundreds of test for one module. Although sound in theory, it is madness in practice. These developers run out of time and generally I see a stack of pretty useless tests. You should aim for the most coverage you can per test, of course when such tests break it is not immediately obvious what broke but you will be aletred that something broke, and Cruise Control will show you what code changed since the last build - making it an easy fix almost every time. So do you want to spend weeks writing hundreds of tiny tests or a few days writing all-encompassing tests? In reality no team I have worked on has every has been permitted the time to write hundreds of test. Also most developers don’t have that kind of patience which is why TDD has a low adoption rate. To clarify this point in general go black box rather than white box - not I said in general, use your common sense here :)

. NUnit can really stress developers out
This is a serious problem when developers are under the gun to meet deadlines and an NUnit test breaks the Cruise Control build. Of course everyone knows all work should stop until the build is fixed, but 90% of developers will just mark the test with [Ignore] and work on what their manager is shouting for.

. Some Managers think that is what (cheaper) QA staff is for
No explanation is needed I am sure. Some managers get the SDLC and some do not, and I can offer no solution to this problem. Some managers can only focus on very short-terms goals.

Posted by Paul Lockwood as Development (General) at 1:49 PM MST

3 Comments »

June 18th, 2007

Non Tech: Five weeks of DIY comes to an end

After five weeks of DIY it stopped being fun. Over the last year we’ve all but re-built rental house #2. Everything other than the trees was 100% DIY, and these were the most satisfying:

I know, I know you want pictures:





























Posted by Paul Lockwood as DIY at 10:01 AM MST

No Comments »

« Previous Entries