Programming the Infinity Keyboard

I received my Infinity Keyboard kit from MassDrop about a week ago, and it's taken me a while to figure out how to program it. I'm going to document the process here both for my own future reference and in the hopes that it can help somebody else in the process. I will provide a more in-depth review in a later post.

Infinity Keyboard assembled


ErgoDox Mechanical Keyboard Review

The ErgoDox is a custom split-hand ergonomic mechanical keyboard project started by GeekHack forum member Dox, and contributed to and refined by many others. It was offered as a kit on MassDrop starting in early 2013. After demand for a second run increased, MassDrop offered a second group buy, which I jumped on and placed my order. As of this writing, MassDrop is running a third group buy for the ErgoDox.

This is going to be a review of my time with the ErgoDox, from construction to roughly a week of use. My kit arrived on June 5th 2013, but I wasn't able to construct the board until June 16th, due to the fact that 8 month old babies have an odd temporal vortex around them that somehow sucks in available free time like a black hole sucks in matter.

Yup, I spent my first Father's Day constructing a keyboard. Nerd achievement unlocked.


Elmah, Emails, and ServiceStack

As you can probably tell, I love ServiceStack. I also love Elmah, especially the the email notifications that it provides.

However, the two don't really talk to each other out of the box. Sure, ServiceStack offers a ElmahLogFactory for handling errors and the like, and that works fine. But that only writes to the configured log. Emails are nowhere to be found. At least not in my project.


Integration Testing with ServiceStack

I'm doing a lot of ServiceStack development these days, and loving every minute of it.

One of the things I wanted with my integration tests was a controlled environment. I wanted to be able to set the connection string for the test database, and run full-stack tests on my services using NUnit via ReSharper's test runner. However, I also wanted to be able to step through (F11) seamlessly from a given test case to the service code without missing a beat. Since my services were configured to run under ASP.NET/IIS, that last part required some thought.


Habit Driven Development

I am constantly amazed at the difficulties that we have to deal with day in and day out as a software developer due to somebody failing to just stop and think about what it is they're developing.