Who is Jake?Jake is a professional web and Windows developer working primarily within Microsoft's .net framework. His day job is solving interesting problems at Medidata Solutions Worldwide, a software-as-a-service provider that helps firms in the life sciences industry run clinical trials around the world. When coding for his own amusement, he focused on tools useful in the domains of poker, fantasy sports, and content management.
A software developer for almost 20 years, Jake has also been a professional poker player, participating in the 2007 World Series of Poker, a newspaper editor, a professional translator, a substitute teacher, and worked in a Brazilian slaughterhouse. All of these experiences helped him survive the majority part of his career that involved writing software for Wall Street.
If he had any concept of work-life balance, Jake would like to focus some of his energy on cooking and photography. As soon as he reads the 300+ books on his Safari Books Online bookshelf, he'll get to those next. His best estimate is that, at a rate of two books a month, he could be done by July of 2021...provided nothing else catches his interest. When he retires, he would like to move to Nevada and breed Russian Blues.
CreditsEven after years of working on the web, Jake has never been a designer. The design for this site is based on the BinaryNews Template, designed by David Herreman at free-css-templates.com.
14-October-2011: Data Structures in C#
With the job search in full swing, it's time to dust off my mental copy of "Data Structures & Algorithms." for the inevitable string of computer science questions masquerading as brain teasers. Today's interview question (which I still don't have an answer to) seems to require building an expression tree.
Even with only a partial solution, the code shows some interesting concepts. I may share snippets of it later. For people struggling with similar questions, I wanted to share a few useful links.
- Dan Vanderboom's excellent blog post on implementing Tree<T> in C#.
- DeveloperZen's introduction to MapReduce for .NET developers
- The C5 Generic Collection Library for C#/CLI - Any developer who needs a data structure not provided out of the box by the .net runtime and doesn't feel like reinventing the wheel should definitely start here. Between the two libraries, you'll find 99% of the structures you're ever going to need.