Tuesday, 31 March 2009

MVC And My Style Of Learning

Its been a frantic couple of days in the office since Dev Week. In the past, I'd attend an event such as Dev Week or a course then go back to work wanting to completely change the how I approach the current project I'm working on.  This week however, I had a new project to start, a bespoke content management system that feeds content for both pages on a site and an online help system. I took the learning curve gamble and drew out the application architecture with ASP.Net MVC in mind. I've spent two days now and have hacked out the db structure and the basic UI allowing me to "CRUD" Html content to the db. I've been using the Nerds Dinner chapter as a guide and merrily crunched away to get the job done. The app is not even half baked yet but I'll have something presentable by next week. Whenever I ran into a problem, I tended to Google the symptoms to get some guidance on how best to resolve the issue.

This whole "learning by doing" scenario made me start thinking about how I as a developer, should learn a new technology as efficiently as possible. I normally just one-click a book from Amazon when the need arises but now I'm starting to wonder if that's the best way for me to learn something.

I took a learning styles test and found my learning type to be Visual/auditory/kinaesthetic which basically means I'm quite a flexible learner and learn best in a range of styles. With that in mind when grokking up on a new technology, I think I'm going to watch more tutorial videos and write some concept applications as opposed to just reading books in future.

Thursday, 26 March 2009

DevWeek 2009 Wrap Up

I could only get to Tim Ewards session on RESTful services in ASP.Net MVC yesterday as I had a prior engagement else where. It dovetailed in quite well into the previous day's session by Fritz Onion.

I attended sessions on a mix of different topics today which weren't necessarily what I'd originally choose but my appetite had been wetted over the last couple of days.

I wandered in a little late into Keith Browns' session on securing ASP.Net applications to find him going through the rudiments of a SQL-Injection attack. Without trying to sound conceited, I was thinking "I know all this, have I wasted a session here?" but the thought soon passed as he began to introduce facets of cross-site scripting I had never considered and a new concept to me, the Cross Site Request Forgery (CSRF). I left the session glad I'd attended and vowed to HTML encode everything ever received from the client and would install the anti CSRF Module for ASP.Net MVC as soon as I can.

The Design for Testing was a session given by Kevin Jones. The highlight of the session for me was the outbreak of the "Singletons are evil" debate from the floor.

If you ever have the chance to sit in on a session given by Eric Nelson, take it. He's a really good presenter and ploughed through "Deploying Cloud services in MS-Azure" in 90 minutes giving an excellent overview of what it can offer.

I've got to admit, I was flagging a bit by the time Brian Randall started his session on caching. I had the misconception that the session was going to cover web resources as I've got some real issues with them at the moment. However, SQL Server data caching was discussed more than anything else. I wouldn't have gone to it had I realised that but I did learn quite a bit that I'll definitely be able to use on a day to day basis.

Tuesday, 24 March 2009

Tuesday at DevWeek

The Dev Week key note speech was given by Aaron Skonnard from Pluralsight on cloud computing. He discussed how services/platforms and even databases can be abstracted out to "The Cloud".

The providers he discussed were:

  • Google
  • Amazon
  • Microsoft Azure

As a developer, I found it really interesting but even Aaron acknowledged that it's early days for the cloud concept and may take between 10-15 years for mainstream adoption. Why?

What mission critical elements of your business would you or your director put in the cloud'?

Case closed.

That said, I am going to explore this a little more myself and may post regarding a cloud implementation of my own in the near future.

Kevlin Henney ran a session entitled objects of desire which discussed OO tenets and in particular the effective use of interface design and implementation (I did tweet about this post releasing my inner geek!).  To be honest, I could have listened to this guy all day. He really presented well and no one seemed to suffer from "death by power point" on what could have potentially been a dry topic.

In the afternoon, I attended a session on IronRuby given by Microsoft's Tim Eward.(You really need to figure out where you're gonna blog from Tim!) He opened by basically saying once you've tasted Ruby (in any of its flavours), you'll never want to go back to C#. On saying this, every one in the room seemed to sit up. (What does that tell you about C#?). He discussed and demonstrated the features of the Ruby syntax and features which make it dynamic as opposed to typed and then moved onto the .NET flavour, IronRuby. It was easy to see its syntactic and testable benefits. The code required to carry out functionality in IronRuby compared to C# was scarily sparse. This fact really backed up the point he was making about the amount of ceremony versus essence in a code base.

I can certainly see the benefits of IronRuby from what we covered but am not going to de-install C# from my Visual Studio installation just yet!

With a pounding heart and all the humility I could muster (see here for the context) I attended the Asp.Net MVC session given by Fritz Onion of Pluralsight. I think Fritz tried to pack a little too much into the session as he had to rush the last couple of slides regarding testability (shouldn't he have done the tests first? [insert geeky laugh here!]).

I think ASP.Net MVC is a bit of an enigma. It's a step forward in how it coerces/suggests separation of concerns on the developer but a step back(?) in how the http context has to be back on the developers radar. The jury is still out for me as to whether it's going to overtake web forms as the weapon of choice for Asp.Net developers everywhere. That said, I will use it in my next project as I do think it has something to offer in the context that I want to use it.

Quote of the day

"If you need instructions to explain for something simple, it's bad design" - Kevlin Henney

Telling Phrase Of The Day

"...classic ASP.Net.." - Fritz Onion

Silly Game Of The Day

How to freak out a commuter in London -  Say "Good morning" to them! Go on, I dare you to try it!

 

There you have it. My opinion on four topics. I've got my asbestos shirt on so aim for the torso when you try to flame me...

Wednesday, 18 March 2009

Things to do before DevWeek

Things have been a bit hectic as of late with family and non-computing stuff - there is a life for all of us out there that doesn't include a keyboard and mouse! The only problem is that it occasionally gets in the way of the "busy work":

  • Complete the upgrade to my Archery clubs web site:
    • Plug in a new CMS for the news and notice board feature.
    • Implement micro formats* and a site map to improve the sites findability.
  • Update a demo system at work for a MAJOR demo to potential project stakeholders on next week.
  • Build and deploy an email address capturing form on the holding page of the current site I'm working on.
  • Complete the Asp.Net MVC Nerd Dinner chapter so I wont be like a complete noob at DevWeek... MEH!

As if things aren't hectic enough, I think I'm going to kop for buying my old team a pizza on Friday...

*I'm going to do a post on micro-formats in the near future as I think semantic markup is going to become more and more prevalent just don't get me started on f****** web slices for IE8 though!

Saturday, 7 March 2009

What I Want From Dev Week

I've just picked the sessions I'm going to attend at this years . This is my first Dev week and I've decided to "go deep" on the ASP.Net/WCF stream where possible, without getting distracted by the Silverlight/WF sessions. Although I'd like to look a little more at WorkFlow, I can't see any need for it my current work streams. That said, I am going to attend Tim Ewalds session on Iron Ruby for something different. Also, just out of curiosity I'm attending the Intro to ASP.Net MVC - I need to see what John Hilton has been raving about!

I want to come away from this conference with some new ideas that I can use straight away rather than being overloaded with the latest and greatest of Microsoft's offerings that I can't use in my day to day environment.

Wednesday, 4 March 2009

Would you believe it?

No sooner do I extol the virtues of jQuery and the recommend buying a copy of , then Scott Mitchell follows suit in the latest copy of MSDN magazine. Maybe I'm closer to the bleeding edge of development than I thought!