• Converting a Mercurial repository to Git

    About three years ago, our team migrated from using Subversion to Mercurial, primarily because of the pain involved with branches. If you’ve heard the phrase “tree conflict,” then you know what we were dealing with.

    Read more...
  • Applied Powershell Presentation

    I’ve begun presenting again with some frequency. My topic of choice, unsurprisingly, is PowerShell. I had presented on PowerShell quite a bit back in 2009, but since then I had taken a break. Now that everyone in the area has had sufficient time to forget my earlier presentations, I can just recycle my earlier talks and give them again!

    Read more...
  • Easy Date Math with PowerShell

    Date math is hard… at least for me. My brain has trouble thinking in terms of dates. I probably overanalyze things, but if you say something like “let’s meet for dinner 2 days from now,” I immediately start thinking things like “inclusive” or “exclusive” dates. Do you mean 2 days from now including today? Does it include today if it is morning, but if it is evening, we’ll start with tomorrow? As I said, I’m sure I’m overanalyzing.

    Read more...
  • CasperJS Presentation

    It’s been a good 4 years since I last gave a public presentation in Memphis (it was on PowerShell), so I figured it was time to give another talk. Tonight, I gave a short talk on CasperJS at the Memphis Java User Group.

    Read more...
  • Code review of randomness

    Last week, prior to a weekly meeting, one of my team members had the idea to take a few minutes before the meeting to review some code. We already do code reviews prior to deployments, but we’ve been wanting to improve the quality of the code reviews… we wanted to really have good dialog about code quality and be able to share that discussion with the whole team.

    Read more...
  • 2011 in Review

    Now that the year of the Mayans is upon us, I wanted to take some time to look back over 2011. And don’t worry, I’ll do my best to not mention the Mayans and 2012 anymore this year. I won’t guarantee it won’t come up again because I think it is funny, but I’ll try.

    Read more...
  • //BUILD/ Windows Conference

    So, a few weeks ago I was able to attend the BUILD Windows conference in Anaheim. I’m guessing you heard something about it. The last time Microsoft held a conference at the convention center in Anaheim was when it announced Windows 95 - this conference was an attempt to show that Windows was going to revolutionize things again. I’ve got a lot of thoughts that I want to talk about, so I’ll probably have to break this into multiple posts.

    Read more...
  • WCF and service-side Timeouts

    Ah, timeouts. At my previous job, I wrote quite a bit of code that dealt with threading. When dealing with threads, asynchronous operations, and performant UIs, you can’t always rely on callbacks to get you the results of some asynchronous operation. Sometimes you also have to throw in some waits, particularly if the UI gets to a point before the callback has happened. Whenever I did have to write any code to wait for something (usually off an AutoResetEvent or a ManualResetEvent), I never wanted to actually specify a timeout. What would my application do if it timed out? Would I retry again? Would I just show the user an error? Instead of dealing with that question, I just made the wait last for the default… which in most cases is INFINITE.

    Read more...
  • Introducing Daila Joy!

    The Mohundro family has some big news… our first child was just born a couple of weeks ago! Both mother and daughter are doing great!

    Read more...
  • Fun with binary!

    I know what you’re thinking… “did he just say ‘binary data’? Like, 1’s and 0’s?” Well, yes, yes I did. If you’re like me, the last time you actively had to do anything with straight binary data was in college when you were learning how to convert between binary to hex to decimal and back again. I would imagine that most of us run into hex somewhat frequently, but that we don’t actually have to deal with binary data as often.

    Read more...