Archives
-
Guaranteed order in a foreach loop
I was always under the impression that the order items are returned via a foreach loop is not guaranteed. For the most part, that is correct. However, it’s not 100%.
-
EDAMLibrary : Evernote Library for C#
I recently pushed a library onto bitbucket. It’s used for integrating with the popular note-taking, cloud-syncing, capture application Evernote. I started using Evernote in February of this year and I’m addicted to it now. I scan and tag tons of information and have it easily available at all times. My data is sync’d to the cloud and accessible via a Windows client, the web and various mobile platforms (Blackberry, iPhone, Android).
-
Rhino.Mocks, Lambdas and Expectations
An interesting post on the Rhino.Mocks users list that I thought I’d share.
-
Building Paths Fluently
If you ever need to “build” a path (i.e. “C:\folder1\subfolder”), you really should be using Path.Combine. It makes sure the trailing directory separator is in between the two paths (and it puts the appropriate character in – DirectorySeparatorChar). I wanted an easier way to build a path than having to constantly call Path.Combine so I created a handy little extension method that lets me build paths “fluently”:
-
Updates to Nino’s .hgignore files for Visual Studio
As I move more of my repositories from SVN to Mercurial, I’m constantly referring to Nino’s sample .hgignore file he provided for Visual Studio developers. I always start with his file but add a few more lines and thought I’d share them here. Start with Nino’s .hgignore file and add the following two lines at the bottom:
-
Verbosity Isn’t Always a Bad Thing
There was a message posted to the Rhino.Mocks forums yesterday about verifying a single parameter of a method that accepted 5 parameters. The code looked like this:
-
Backing Up with FTP
I finally set aside some time to upgrade to Windows 7. Most everyone else in the office has already upgraded. I was holding out so I could finish up a few client projects and get the Ann Arbor GiveCamp website up and running. Now it’s my turn!
-
Tweaking log4net Settings Programmatically
A few months ago, I had to dynamically add a log4net appender at runtime. Now I find myself in another log4net situation. I need to modify the configuration of my appenders at runtime.
-
Ann Arbor Day of .NET 2010 Recap
Had a great time at the Ann Arbor Day of .NET on Saturday. Lots of great speakers and topics. And chance to meet up with friends you usually only communicate with via email/twitter.
-
Putting a base in the middle
From Eric Lippert's Blog:
-
Talks Submitted for Ann Arbor Day of .NET 2010
Just submitted my session abstracts for Ann Arbor's Day of .NET 2010.
-
Flattening a Jagged Array with LINQ
Today I had to flatten a jagged array. In my case, it was a string[][] and I needed to make sure every single string contained in that jagged array was set to something (non-null and non-empty). LINQ made the flattening very easy. In fact, I ended up making a generic version that I could use to flatten any type of jagged array (assuming it's a T[][]):
-
No Intellisense in Visual Studio 2010 RC1
Well, that's odd. Why were the default options for Intellisense turned off when I did a fresh install of Visual Studio 2010 RC1?
-
Lookups vs. Dictionaries
Donn Felker has a great post that explains the different uses of LINQ's ToLookup and ToDictionary. Check it out!
-
Super-simple Object Mapper
If you need a full-featured object mapper with minimal set up, I recommend you take a look at AutoMapper on Codeplex. If you need a quick-and-dirty solution, maybe the following code could help you out.
-
Castle Windsor: Turn Off Automatic Property Injection
Suppose you have the following component:
-
New Language for 2010: Java?
No, I'm not going to pick Java as a "language to learn" in 2010. However, I did a little Java development in 2009 (Blackberry, specifically) and was also the developer for the Blackberry version of the CodeMash mobile-application "MobiMash".
-
Using the CodeDom With .NET 3.5 Features
Here it is 2010 and I just noticed while trying to use the CodeDom features of .NET that it defaults to using the .NET 2.0 compiler. You have to specifically tell it to use .NET 3.5. Thanks to LukeH and a Stack Overflow question, it was an easy solution:
-
Live Capture of Log4Net Logging
I recently had to whip up a small diagnostics application for a client. We were having some connection problems with a component so we wanted to wrap a WinForms GUI around the component and display some debugging information to try and diagnose it.
-
Know Your Context
Another home appliance repair story that has parallels to software development.
-
Looking Forward to 2010
Yes, the first month of 2010 is almost gone and I'm just now getting around blogging about the past year and the year ahead. I guess time management should be on my to-do list for this year?