What's your current stack ?

Friday, July 30 2010

Paul Stovell started something with his Ultimate Lib Folder post, David Burela picked up the meme and has run with it so I thought I'd join in.

I've recently started a new personal project, these are always a fun way to get your hands on some new tools to experiment.

So here goes.

  • ASP.NET MVC. In my opinion the only sensible way to build web apps on the Microsoft stack. There, I said it! I'm running with version 2 for the moment, but my look into switching it over to the v3 if the go live license timing works in my favour. I'm itching to start using the Razor view engine on something. I started out with Spark for this particular project. I like Spark a lot  but it was one more learning curve and one more piece of friction on a project I don't get enough time on as it is.
  • JQuery. I love jQuery but it's been a while since I really had a chance to abuse it in production. I plan on changing that somewhat in the near future.
  • Mongo DB and NoRM. The controversial one. I'm usually an NHibernate man, but there's a lot of hype and talk in the .NET space around NoSQL, and a lot of it is from people I suspect have never done anything more than read about it, or spent an hour or two hacking together a hello world or blog engine sample. I wanted to experience the pleasure and pain of getting a NoSQL solution into production first hand. I'll probably talk and write about that more once done, but so far it's backing up my opinions that most people talking about NoSQL are just that, talk.
  • Autofac. I've used most of the IoC containers in the .NET space but for now have settled on Autofac. Having worked alongside Nick, it's an obvious choice. I know it works (having seen first hand it be put through some serious paces), like the syntax, and if I need it help is close to hand.
  • NUnit. I've been using NUnit since 2003 or something, no friction to use it at all. Makes sense to me. I often use MSTest on customer projects because, well, it's from Microsoft, plugs in to everything else and people are comfortable with it, but for my own stuff I use NUnit. I'm actually not religious about my testing framework as I use ReSharper to run the tests (I can't STAND the MSTest runner inside Visual Studio) and have a base class I use for my tests to give me a more BDD like structure. I should do a post about that some time but it's a variation on a technique I learned from Dave Tchepak, I've been using it to do TDD training lately, and I'm finding that a lot of people who understand unit testing but find it a bit of a drag see this and want to use it.
  • NSubstitute. Again, thanks to Dave Tchepak and crew comes NSubstitute, the new (Aussie) newcomer on the mocking framework scene. I really like this framework. It's syntax is simple but powerful. Before this I used Rhino, which while extremely full featured I often found myself strugging against it and going off to (try to) find doco on it's syntax. Richard Banks has been doing a series of posts comparing the major mocking frameworks, if you haven't read it yet go do it. It's a good look at NSubstitute and why it's good. I've also been using this in some TDD workshops lately and I'm finding it a really good way to teach the concepts of mocking without too much syntax confusing things.
  • PSake. PSake is a Powershell based build scripting framework. I've been flirting with PSake and Poweshell for ages but haven't bitten down hard enough on either to get to the point where it's second nature. I've been making more of an effort with Powershell lately and using it for some more real world tasks so I'm having another go at PSake.
  • TeamCity. I love this product, it makes automating builds so simple. Well it did with Nant anyway. I have a few hoops to jump through to make it work the way I want with PSake, but I'll get there.
  • Subversion. Haven't made the DVCS leap just yet. Subversion works quite nicely for me still. Maybe that makes me wrong ? I dunno. I use a combination of Tortoise SVN and Ankh SVN. I used to just use Tortoise but doing a lot of refactoring means you end up changing a lot of file names and it's easy to miss things with just shell integration. When hosting at home I use the Visual SVN server, it's hard to beat the installer and tools for Windows.
  • Post It notes. No fancy pants task tracking software here, when I work by myself I keep track of things best with a todo list in my notebook, Pomodoro and stickies on the wall

So there you have it, that's what's in my latest project. It's a fun idea for a series of posts from people, so join in. I've shown you mine, you show me yours!

Comments

David Burela said on 7.31.2010 at 10:48 PM

Thanks a lot Damian for participating in the first Developer Blog Banter.

I must admit I haven't looked at MongoDB yet, but the link to NoRM was interesting. I didn't realise that there was LinqToMongo. Which in hindsight makes sense.

Your last note on your development practices "post it notes" and "pomodoro" is a good one. Maybe a future DBB should touch on the topic of daily work habits.