Over this past weekend I began templating a project structure that we use at my day/evening/night job to allow developers to simply execute a script and provide a few parameters to initialize a new development project (including build script, fxcop analysis, unit testing, visual studio projects, etc.).  I didn’t think this would take that long despite being relatively new to the Ruby world.

Oddly enough, I had trouble finding similar examples on the interwebs – even StackOverflow didn’t have the answer!  The horror, the horror!

No matter, I’m a developer after all and should be, better be capable of handling this simple script.  Read more

I recently ran into a scenario at work that required manually consuming several SOAP web services, which I’m sure you can imagine was rather monotonous. A co-worker (Seth Carney) and I tried a few different approaches, but we finally settled on a solution that simplified consumption of the xml and ultimately made the code more testable.  That solution centered around leveraging AutoMapper, an open source object-object mapping tool, to create a link between the XElements returned in the SOAP messages and custom contracts we created – in a reusable manner.

I put together a quick demo that shows how you could use the same approach to consume and display the Twitter Public Timeline (using the API’s Xml response type). Read more

Moving from Subversion to Mercurial was more than a change from a centralized version control system to a distributed solution.  I also found myself moving away from the explorer integration provided by the Tortoise products to the command line for the execution of my hg commands.  This approach is dramatically faster once you get used to the syntax, which really only takes a hot minute.

Certain features in TortoiseHg still provide visual advantages that I find useful, such as the visual repository log.  During an Agile.Net Bootcamp with Jimmy Bogard he showed us an collection of tools he utilizes to provide an improved Mercurial command line experience.  The final product is a more descriptive prompt that displays branch information, as well as the number and types of changes made since your last commit:

posh-hg Read more

The ASP.NET MVC 3 Beta was unofficially released yesterday (as far as I can tell) and the release notes include a quote about a package manager named NuPack:

ASP.NET MVC 3 includes NuPack Package Manager, which is an integrated package management tool for adding libraries and tools to Visual Studio projects. For the most part, it automates the steps that developers take todayto get a library into their source tree.

You can work with NuPack as a command line tool, as an integrated console window inside Visual Studio 2010, from the Visual Studio context menu, and as set of PowerShell cmdlets.

For more information about NuPack, visit http://nupack.codeplex.com/ and read the Getting Started Guide.

Unfortunately, the CodePlex site is currently not published and many are waiting to take a look at what’s being released here by Microsoft.  There seems to be a good deal of confusion on Twitter revolving around this project so I thought a quick post outlining each of the 3 main package managers in .NET would be helpful. Read more

Below I have provided a variety of material/links from my presentation last night – “The Current State of Package Management in .NET”.  Please feel free to contact me using any of the communication channels available in the right column of my blog.  I would happy to provide any further information regarding Nu or OpenWrap, or just to discuss your thoughts on the topic of package management.

I want to thank everyone that battled the weather last night to make it to the presentation.  I really enjoyed my first opportunity to present at an ALT.NET event.  Also, thanks to Matthew Podwysocki for allowing me to speak last night.  I believe I’ve included everything below that I discussed last night. If you take time to review the slideshow, I’d recommended using one of the two links below the embedded slideshow as they contain the speaker notes with a lot of information. Read more

If you are not familiar with the Nu project start by reading my first post in this series that gives an introduction to getting started with this promising tool.  As a quick reference I’ll post a paragraph from the last post introducing Nu:

“Nu is an open source tool built by Dru Sellers (and several others) that aims at bringing Gems, one of Ruby’s most revered features, to the .NET world.  If you are not familiar with Gems I suggest you take a minute to read up on them.  I would venture a bet that you are already familiar with at least one gem – Ruby on Rails.  The following line of code is all that is required to install the Ruby on Rails gem (after installing the Ruby library of course)…”

This post is focused on sharing my experience in creating my first gem for the Spark View Engine.  I would be doing you a great disservice if I did not start by saying how easy it is to create a gem. Actually easy is the wrong phrase – crazy easy is more telling.  Since I would never ask you to take my word for it, it must mean it is time to show some code. Read more

If you thought the word “Nu” in the title of this blog post was misspelled, you are in for a treat.  And trust me, you are not the only one who made that grammatical assumption.

Nu is an open source tool built by Dru Sellers that aims at bringing Gems, one of Ruby’s most revered features, to the .NET world.  If you are not familiar with Gems I suggest you take a minute to read up on them.  I would venture a bet that you are already familiar with at least one gem – Ruby on RailsRead more

In case you are not familiar with Mercurial (Hg), it is a Distributed Version Control System (DVCS) aimed at simplifying revision control.  The purpose of this post is not to introduce Mercurial, but you can read more about Mercurial at the following links to get better acquainted with the software:

Now that we are all comfortable with Hg (the chemical symbol for Mercury and nickname for Mercurial), I would like to take present an issue I spent some time working on today. Read more