tag:blogger.com,1999:blog-25809524710836684952024-03-05T06:22:58.382-07:00My Ideation Has Found a HomeEvery really new idea looks crazy at firstJonathan McCrackenhttp://www.blogger.com/profile/05710165277422379105noreply@blogger.comBlogger27125tag:blogger.com,1999:blog-2580952471083668495.post-88176289080290966932011-02-06T08:17:00.001-07:002011-02-06T08:19:50.012-07:00WebCamp - Feb 5th - Wrap-UpFirst off thanks to everyone who came on Saturday to learn about ASP.NET MVC and oData. I had a really good time and got to meet some very interesting developers.
As promised I've uploaded my QuoteOMatic solution to my blog so you can download it here. I'm also attaching my cheat sheet for the session here.
Also, Microsoft provides a training tool-kit to help you with more details (including a Jonathan McCrackenhttp://www.blogger.com/profile/05710165277422379105noreply@blogger.com1tag:blogger.com,1999:blog-2580952471083668495.post-71073018331693620432011-01-30T09:09:00.000-07:002011-01-30T09:09:53.159-07:00Microsoft WebCamp - Feb 5th - University of CalgarySo it has been a very long time since I've posted anything...those of you that know me it's mainly due to the arrival of our first baby girl. More on that here.
Time has come for me to supplement the routine of changing diapers and playing gogo-gaga and get back involved in the dev community.
On Feb 5th I'm going to present at the University of Calgary at one of Microsoft's WebCamps. We're Jonathan McCrackenhttp://www.blogger.com/profile/05710165277422379105noreply@blogger.com0tag:blogger.com,1999:blog-2580952471083668495.post-80137742774337615562010-09-29T12:55:00.000-06:002010-09-29T12:55:45.703-06:00ASP.NET VulnerabilityIf you haven't heard already there is a security problem with all versions of ASP.NET (yes...including MVC) which allows attackers to read/request protected files, like the Web.Config.
In order to protect these files you'll need to install the patch that is appropriate to your OS and .NET version. Click here for that patch.Jonathan McCrackenhttp://www.blogger.com/profile/05710165277422379105noreply@blogger.com0tag:blogger.com,1999:blog-2580952471083668495.post-29890992138920001172010-09-29T09:26:00.000-06:002010-09-29T09:26:28.044-06:00Version 1.1 is AvailableI just wanted to post a big thank you to several readers who helped with the 1.1 of PDF. David Jenkins (who's posted more to this forum than I have!), Greg Heath, Alexander DiMauri, John CrankShaw,Robert Dzikowski, and Dave Mateer.
Thanks to yours and others feedback the new version now has a downloadable Visual Studio solution file per chapter under /code/chapter_name/solution to let you check Jonathan McCrackenhttp://www.blogger.com/profile/05710165277422379105noreply@blogger.com1tag:blogger.com,1999:blog-2580952471083668495.post-22778434019594209122010-09-27T09:42:00.000-06:002010-09-27T09:42:25.093-06:00InfoQedJust finished an interview with InfoQ on my book.
As part of the interview the prags released an exclusive excerpt of chapter 9 - Integrating with Controllers that you can download off InfoQ. If you're trying to plug-in Windsor Container with ASP.NET MVC that chapter will show you how to do it.
Enjoy.Jonathan McCrackenhttp://www.blogger.com/profile/05710165277422379105noreply@blogger.com0tag:blogger.com,1999:blog-2580952471083668495.post-69351453328707173612010-08-27T19:22:00.000-06:002010-08-27T19:22:10.300-06:00Windsor 2.0 and Log4NetSo I was looking for two DLL's to get Log4Net working with Windsor 2.0.
I had a hard time finding the version I needed, as I guess I'm in the dark ages not using Windsor 2.5.
The files in question are: Castle.Facilities.Logging.dll and Castle.Services.Logging.Log4netIntegration.dll
Why am I using Windsor 2.0? Since the version of FluentNHibernate I'm using is 1.1 and uses CastleDynamicProxy2.Jonathan McCrackenhttp://www.blogger.com/profile/05710165277422379105noreply@blogger.com0tag:blogger.com,1999:blog-2580952471083668495.post-9965188392464793232010-08-24T15:55:00.006-06:002010-09-29T09:28:14.987-06:00ASP.NET MVC in 4 minutes!I just published a short 4 minute video on how to build an ASP.NET MVC project. It walks you though the absolute basics of MVC. You can take a look below or visit YouTube here.
Jonathan McCrackenhttp://www.blogger.com/profile/05710165277422379105noreply@blogger.com0tag:blogger.com,1999:blog-2580952471083668495.post-68680971258228252692010-08-16T11:37:00.003-06:002010-08-24T15:56:16.972-06:00New to C#, Visual Studio, and SQL ServerI've had a lot of questions recently for developers who are new to C# and Visual Studio for some guidance as to where to begin. So, I've compiled a list of links that will help you get started:
Intro to Visual Studio 2008 – Even if you’re using Visual Studio 2010 this tutorial can still help you with the basics. If you’re in a rush skip forward 4 minutes and 44 seconds into it.
Intro to C# and Jonathan McCrackenhttp://www.blogger.com/profile/05710165277422379105noreply@blogger.com4tag:blogger.com,1999:blog-2580952471083668495.post-38322905103495185682010-07-19T08:44:00.139-06:002010-07-19T09:51:23.122-06:00MVP != MicrosoftFanBoyI was pleasantly surprised last week to hear that Microsoft awarded me an MVP (Most Valuable Professional) for my work in the community with ASP.NET MVC.
Thank you to everyone who nominated me, and all the community members who tried not to fall asleep during my presentations and talks ;)
And now for the official logo...
One of the most interesting things about being an MVP is participating Jonathan McCrackenhttp://www.blogger.com/profile/05710165277422379105noreply@blogger.com2tag:blogger.com,1999:blog-2580952471083668495.post-34153999500615292952010-07-12T09:30:00.031-06:002010-07-12T10:22:03.208-06:00Even Microsoft knows that IE6 has Past its Due DateUpdate: The link below is now broken. Microsoft has removed the site and now is redirecting to an IE9 page.
A Rare Moment for Microsoft Advertising.
Alternatively, there are a number of competing browsers for those of you who have old milk...Firefox, Chrome, Opera, and even Safari. Internet Explorer 9 also promises to support HTML5 specifications, so it's a good option as well.
The most Jonathan McCrackenhttp://www.blogger.com/profile/05710165277422379105noreply@blogger.com0tag:blogger.com,1999:blog-2580952471083668495.post-88993284902730909542010-07-05T09:03:00.008-06:002010-07-11T09:02:05.968-06:00Sharpening Your Markup with "Razor"ASP.NET MVC has a new View Engine that it will ship with. The codename is "Razor" and to boil down Scott Guthrie's post here is my brief summary.
Razor condenses and makes the markup more concise, while preserving support for HTML Helpers.
<a href="@model.Id">@model.Name</a>
//Or the HTML Helper Version
@Html.ActionLink(Model.Name, Model.Id)
Essentially it replace <%= and %>Jonathan McCrackenhttp://www.blogger.com/profile/05710165277422379105noreply@blogger.com0tag:blogger.com,1999:blog-2580952471083668495.post-57531946513609870292010-06-28T09:00:00.000-06:002010-06-28T09:00:05.640-06:00Rails3 vs. ASP.NET MVCThis article by Anders Janmyr shines the light on the differences between these frameworks.Whether your going from Rails to ASP.NET MVC or vice-versa - a quick read through this article will save you many hours of hitting your head against the keyboard.Jonathan McCrackenhttp://www.blogger.com/profile/05710165277422379105noreply@blogger.com0tag:blogger.com,1999:blog-2580952471083668495.post-15299397124151401662010-06-25T23:40:00.005-06:002010-06-25T14:51:11.711-06:00Lazy Load This!Or rather - "Lazy Loading can cause problems with C# code"Here was my dilemma:class Foo{ public virtual Bar bar {get; set;}}Had the Fluent NHibernate ClassMap:class FooMap : ClassMap<foo>{ References(x => x.bar).ForeignKey();}No problem right? Well it was working fine until I tried to serialize the result using MVC Contrib's XmlResult object. Kaboom! It took me many hours to figure out thatJonathan McCrackenhttp://www.blogger.com/profile/05710165277422379105noreply@blogger.com0tag:blogger.com,1999:blog-2580952471083668495.post-55379871159705076192010-06-23T11:02:00.009-06:002010-06-23T11:15:42.997-06:00Test-Drive ASP.NET MVC = Released!After over 15 months of work, my book is now officially available directly from the publisher here. I love the cover - wish one of these came with every book**: I'd like to thank Dave and Andy, as well as my editor Susannah Davidson Pfalzer for helping me through the entire process. I expect in the next few weeks the book will be available through other channels like Amazon, Barnes&Nobles, etc. Jonathan McCrackenhttp://www.blogger.com/profile/05710165277422379105noreply@blogger.com3tag:blogger.com,1999:blog-2580952471083668495.post-82135413833999803732010-06-02T15:43:00.013-06:002010-06-02T17:58:59.139-06:00Interview with Phil Haack - Project Manager of ASP.NET MVCPragPub magazine, the Pragmatic Bookshelf's monthly publication, has a couple of articles on ASP.NET MVC this month. The first is an article by yours truly on introducing the framework to a non-Microsoft audience. I'd be interested in your feedback on how I fared - especially from seasoned Rails developers. The second article is an interview with Phil Haack himself. I found Phil's narrative on Jonathan McCrackenhttp://www.blogger.com/profile/05710165277422379105noreply@blogger.com0tag:blogger.com,1999:blog-2580952471083668495.post-82065123424239015022010-05-01T08:40:00.004-06:002010-05-01T08:44:28.656-06:00Couldn't have said it better myselfWas working through some code examples this morning and found a nice reference to testing ASP.NET MVC on Jag Reehal's blogIf you need a quick cheat sheet on how to test basic things like Session, Redirects, etc (including how to leverage MVC Contrib) this post serves the purpose. Thanks Jag!Jonathan McCrackenhttp://www.blogger.com/profile/05710165277422379105noreply@blogger.com0tag:blogger.com,1999:blog-2580952471083668495.post-77849184249980789402010-04-19T05:50:00.007-06:002010-04-19T06:10:57.100-06:00My Favorite Part of AuthoringEpigraphs. Yeah - I didn't know what that meant either when I first came across the term (well other than the Epi part). An epigraph is a quote that starts off each chapter of your book.I love trying to find the perfect quote to kick things off. I'll spend hours upon hours looking for one. The big caveat is you need to pick quotes from public figures or people who have been long dead to avoid Jonathan McCrackenhttp://www.blogger.com/profile/05710165277422379105noreply@blogger.com1tag:blogger.com,1999:blog-2580952471083668495.post-13049186755777807882010-02-12T12:27:00.001-07:002010-06-17T12:33:15.718-06:00Does Anyone Even Know What This Thing Does?Presenting at the Calgary Hyatt on strategies for effectively managing legacy systems.Here is a link to the abstract. Unfortunately, Mike and I were not able to fly to Toronto to present - Mike's baby was due and I had to move into my new home. In our place, our colleagues Derek Longmuir and Amit Uttam presented in Toronto and were video tapped on InfoQ.Jonathan McCrackenhttp://www.blogger.com/profile/05710165277422379105noreply@blogger.com0tag:blogger.com,1999:blog-2580952471083668495.post-40291750350261212832009-09-03T11:04:00.004-06:002009-09-03T11:10:55.325-06:00Tech Days - CalgaryI've just confirmed that I'll be giving a talk in Calgary on November 17th, 2009 at Tech Days Canada. Incidentally, that's also my sister's birthday - this one's for you Heather ;)The talk will be an introduction to Test Driven Development and how it can reduce the number of defects in your software. More to come on this, but this two day event should be pretty good. I highly recommend the 2nd Jonathan McCrackenhttp://www.blogger.com/profile/05710165277422379105noreply@blogger.com2tag:blogger.com,1999:blog-2580952471083668495.post-21313784539771954132009-08-29T12:49:00.004-06:002009-08-29T13:02:08.717-06:00Agile 2009 - SummaryOverall I think this conference was well worth going attending. On average most of the attendees were new to agile. It is refreshing to see their excitement during the sessions. In particular I found Alistair Cockburn's session on story slicing very helpful. Take home message - next time you work on a story try to demo it to yourself every 15 minutes to showcase a visible difference (even if onlyJonathan McCrackenhttp://www.blogger.com/profile/05710165277422379105noreply@blogger.com2tag:blogger.com,1999:blog-2580952471083668495.post-75071503037573640772009-06-12T13:51:00.003-06:002009-06-12T14:21:02.010-06:00Twitter: The Quest for the Ultimate One-LinerThis month Time Magazine is publishing an article on how Twitter is revolutionizing society. Sigh.For those of you who don't know what Twitter is, it's like Facebook's status messages but it's 24x7. You subscribe to your friends/colleagues/celebrity status updates to know what everyone is doing all the time. They call this activity "Tweeting", which to me sounds more like human flatulence than Jonathan McCrackenhttp://www.blogger.com/profile/05710165277422379105noreply@blogger.com1tag:blogger.com,1999:blog-2580952471083668495.post-90766065899821848832009-06-09T14:12:00.010-06:002009-06-09T23:04:39.426-06:00Pragmatic ArchitectureI'm attending DevTeach 2009 in Vancouver and saw my colleague Ted Neward give a talk on this subject.What the argument boils down to is this: good solutions architecture should enable success by default. The goal seems clear, but getting there is the tricky bit. Practicing good solution's architecture (according to Ted) involves multiple dimensions including:Understanding technical and business Jonathan McCrackenhttp://www.blogger.com/profile/05710165277422379105noreply@blogger.com0tag:blogger.com,1999:blog-2580952471083668495.post-28684333759047356492009-04-24T00:53:00.004-06:002009-05-14T07:18:36.933-06:00Joe, Jonathan, and jQueryUpdate: The presentation and code can be downloaded hereWhat do these three things have in common?A presentation in Calgary at the .NET Users group. If you are around on Thursday evening at 5:30pm, April 30th, come join me, Joe Poon at the Nexen Building for an introduction to jQuery and how to get make all your AJAX problems go away with a simple $.post()!Details for the event are here. See you Jonathan McCrackenhttp://www.blogger.com/profile/05710165277422379105noreply@blogger.com6tag:blogger.com,1999:blog-2580952471083668495.post-51962279245255830952009-03-10T15:36:00.004-06:002009-03-10T15:40:28.860-06:00Speaking at Techfest 2009I just signed up to speak at Techfest 2009 in Calgary. I'll be doing two sessions one in the morning (Dev Track) and one in the afternoon (Agile Track). Here is a link on how to register:http://www.calgarytechfest.org/Default.aspx?tabid=231The two topics will be: Test Driven ASP.MVC and Iteration Planning and Tracking. It should be a lot of fun, so if you're around on Saturday March 21st, please Jonathan McCrackenhttp://www.blogger.com/profile/05710165277422379105noreply@blogger.com1tag:blogger.com,1999:blog-2580952471083668495.post-13152408489270302812009-02-14T12:55:00.026-07:002010-06-25T14:48:41.994-06:00Testing the Http Session in ASP.NET MVC FrameworkUpdate: You can actually use the MockSession provided in MVCContrib on Codeplex, since it does everything that this article describes and more.I've been working with Microsoft ASP.NET for over 5 years now, and frankly nothing has impressed me more than the new ASP.NET MVC Framework that is now in Release Candidate.One of the main advantages of the framework is testability, however one problem I Jonathan McCrackenhttp://www.blogger.com/profile/05710165277422379105noreply@blogger.com0