Code: Impossible

by Jared Barboza

Software maker, Game maker. I focus mainly on JavaScript, Ruby and C#.

My first computer was an IBM PC 5155 which weighed more than I did. My first experience with programming came just after Windows 95 was released. I got a copy of Visual Basic 4.0 for my birthday and I spent that entire summer locked in my room writing code and reading every book I could get my hands on. It was awesome.

I’ve been hooked on writing code ever since, and through the years I’ve had the chance to work on awesome projects with some really great technologies and people.

Currently

I’m a UI Architect (yeah, yeah) at Blackduck Software, where I spend a lot of time writing JavaScript. I am a co-founder and game-maker at Frag Castle Games, which I started with my pal @JohnBubriski.

Posts

ADHD and the office 20 May 2013

Wherein I share some of the methods I use to keep myself focused in the chaos that is the office. A few weeks ago I wrote a post about how I was struggling with my ADHD. A reader commented and got me talking and thinking about all the ways that I setup my work environment to combat my ADHD. Some of them obvious and some of them - until now - completely covert. Single monitor...... Read Mode

Pay attention 24 Apr 2013

I was diagnosed with ADHD when I was 8 years old. Growing up with it hasn’t been easy, it has gotten easier but I still have bad days. I’m not having a productive night. I’m not interested in working on any of the open-source projects that I maintain, I don’t feel like working on any of the games that we’re making at Frag Castle, I don’t even feel like writing this post. But, I’m pretty...... Read Mode

PAX in review 25 Mar 2013

A recap on how this years PAX was, from my point of view A full day after PAX and I’m still reeling from it. There were so many great moments: hours of Cut-throat Caverns with friends, ahowing our game to hundreds of people, meeting lots of other indie devs. One of them that really stuck with me was when we had a group of college-aged guys standing around at the indie mini booth watching one...... Read Mode

So long PAX, thanks for all the games 24 Mar 2013

A thank you to everyone that made our PAX unforgetable I’m still decompressing from PAX. I haven’t fully wrapped my head around what went down over the last four days, it’s been a lot of sleepless nights, and bat-shit crazy days. I’ll have a more detailed post put up in a few days. But I wanted to post a thank you to everyone that we met and talked to, and to those that made PAX...... Read Mode

Retrospective 08 Mar 2013

A look back on the crazy that was 2012 During our recent snow-storm I spent a while thinking about the last twelve months. 2012 was a very awesome year. No, scratch that. 2012 was a perfect year. I GOT MARRIED On the 16th of June, I got married to my girlfriend and counter-part of six years. Our wedding was outdoors, it was sunny, perfect. It was and still is the best day of my life....... Read Mode

Screw it, run this file! 27 Sep 2012

Ever experienced a nightmarish environment setup and thought “If this project is this hard to setup, how hard is it going to be to work on?”. Yeah, me too. Ashic Mahtab was experiencing something similar as well: I’ve worked on plenty of codebases whose setup story sounded like it was ripped from a rejected plotline for Indiana Jones: The Search For The Next Release. Pull the code from source control install these 23 dependencies, from...... Read Mode

NodeJS on Windows Part 3: The feedback loop 30 Apr 2012

Today we’re going to learn how to use websockets to automate a huge portion of our development and testing process. In the last blog post I showed you how to install jade and create your first view. However the development cycle leaves a lot to be desired. Nothing sucks more than the web ux/ui development cycle. Make a change, restart the server (optional), refresh the browser, lather rinse, repeat. I'm going to show you something...... Read Mode

Reasons to use PowerShell instead of CMD 23 Apr 2012

I stopped using cmd.exe in favor of PowerShell almost a year ago. Here’s a quick list of things that made me drop CMD forever. First, I guess I should say that there isn't anything necessarily wrong with the command line in windows. It's the 'ol standby for a lot of windows users. It's looked the same since 1986, it has the same familiar commands and you can use TrueType fonts if you want to be...... Read Mode

ChuckNorris 18 Apr 2012

@JohnBubriski mentioned a project from the ChuckNorris suite of tools and I found myself browsing their git repo Looking through the git repo for ChuckNorris , seeing the amazing number of tools that Dru Sellers and Rob Reynolds have turned out leaves me thinking one thought: If you don’t know what ChuckNorris is, a lot of people call it a framework but it’s more like a suite. There are, at the time I wrote this,...... Read Mode

NodeJS on Windows Part 2: using the Jade ViewEngine 16 Apr 2012

When we last left our nifty little NodeJS app it was spitting out “Hello World!” like a champ, let’s see what other tricks we can teach it. Our node app that we created in part one is writing out our header “Hello World!” really well. But that's not really that cool. Plus, it doesn't scale. If we wanted to output more HTML we would find the current solution to be a giant pain in the...... Read Mode

Getting started with NodeJS on Windows 13 Apr 2012

I got a chance to play around with nodejs earlier this week and it took me less than 5 minutes to get up and running Note: if you install express NPM will install the 3.x alpha release which is not compatible with the most recent version of connect. I’ve updated this post’s instructions on installing the express module. Also, I published a package.json in each of the examples on github . If you work in...... Read Mode

Trailing whitespace is evil. Don't commit evil into your repo. 02 Apr 2012

Lately, I’ve beeen working on a lot of projects with different people/languages/editors, most of us were new git’ers and each project had a real problem with trailing whitespace. Fred and Tim It all starts out innocently enough. Fred, a mid-level developer at InfoTech Systems opens up his IM client and fires off a chat to a co-worker: “Hey Tim, can you check out my pull request? I’m done with the ratings feature and think we...... Read Mode

A JavaScript interview question that doesn't suck 27 Mar 2012

Starting a series of blog posts where I’ll show off some interview questions that provide insight and don’t totally suck. At a previous job I was one of the more senior guys on the team and we were expanding heavily. Which meant that I was in a lot of interviews. Problem was, our interview process sucked. We rarely had people code in interviews, we never had them look at code, it was awful. So I...... Read Mode

No, actually that's pretty accurate 20 Mar 2012

Was talking about Rails with some friends. Me: it is fast enough when it's loaded up Me: it's startup that takes a while John: like an asp.net website project, eh? Me: yeah Me: but Me: like Me: no Me: actually that's pretty accurate ... Read Mode

Rails helper: render content for different actions or controllers 13 Mar 2012

I needed to display different content based on which action/controller was executing. On my blog homepage, I have a big block of text that does a nice little intro of me for visitors. This block of text is in a partial (the blog is written in Ruby, it's another one of my side projects: Artigo ) and is shown only when the index action is rendered. I did this because I have to use the...... Read Mode

Why alert() sucks 05 Mar 2012

Alerts are a terrible thing and no website should use them. Alerts suck. In every web project that I work on, the code below is one of the first things I add. It will override the alert function an instead pass the argument supplied to the console. // the console && console.log check is to make sure // this code doesn't fail in IE which does not create // the console obj unless the user...... Read Mode

Interview questions that don't suck - jQuery 28 Feb 2012

Continuing the series of interview questions that don’t suck, this time focusing on a nice jQuery/HTML question. Continuing on in the “Interview Questions That Don’t Suck” series, this time I wanted to highlight a nice jQuery/HTML question that I’ve used in the past. The following code binds an event to every <a /> tags click event. How many problems can you spot in the code below. What are they? Why are they problems? <script type="text/html">...... Read Mode

Mental Vacations 26 Feb 2012

I came up against some - seemingly - insurmountable problems the other day. So I left work and played video games. I was working on a problem and things weren't going my way. Tests that should be passing weren't, errors that didn't seem possible were popping up and in just about every way imagineable shit was falling apart. I remember thinking “I can do this. If I can just solve this next problem I’ll be...... Read Mode

MassiveRecord: How DynamicObject gave C# its groove back 20 Feb 2012

DynamicObject lets me create APIs in C# that would otherwise be impossible. It makes C# fun again. I blogged last time about MassiveRecord , my attempt at porting ActiveRecord over to .Net as a wrapper for the micro-ORM Massive. In this post I’m going to explain a bit about how MassiveRecord can have FindByID and FindByFirstNameAndLastName with less than 200 lines of code. First, a little about the dynamic keyword and DynamicObject. The CLR in...... Read Mode

MassiveRecord: A nice warm blanket for Massive 13 Feb 2012

I wanted to bring ActiveRecord over to .Net as a wrapper for the micro-ORM, Massive. I’ve taken some cool first steps and have something to show off! I've been writing code for almost 10 years now and one thing I've learned is that working with Databases sucks. I was ecstatic when Rob Conery released Massive last year. Massive makes databases fun again. You're not wondering what kind of SQL is going to be generated, it's...... Read Mode

This blog will be different tomorrow 17 Jan 2012

I’ll be blacking out this blog tomorrow in protest of SOPA/PIPA. Want to help? In the words of Minecraft creator Notch : > How can I join in? It's easy - If you are a software developer you should fork Sara Chipps’s SOPA-PIPA protest git repository and add your website(s) to the ever-growing list of blackout participants. Then, when the time comes (Midnight, EST on 01/18/2012) simply modify your website(s) to display the HTML in...... Read Mode

Podcasts 16 Jan 2012

A friend asked me the other day if I could recommend some podcasts for him to listen to. I’ve been meaning to post this for about a year now, and I’m not sure why it took me so long. I get asked what podcasts I listen to by my developer friends a lot. I always try to throw a few out there but I can never remember the whole list - which is actually kind...... Read Mode

Getting to the NERD Center 16 Jan 2012

Getting to the general vicinity of the NERD center is easy. It’s the last part that can be tricky. I’ve been going to the Microsoft NERD Center for a few months now (about 2-3 times a week) for various user groups and community events. I try to bring new people with me as much as possible and I find that getting them within shouting distance of the building is easy, it’s that last 1/4 mile...... Read Mode

Moving your mercurial repository to git 29 Dec 2011

I said it last week, git is awesome. I’ve been using git and github at work and I like it. A lot. I like it so much I’ve decided to move all my bitbucket repos over to github. Moving source code is easy. You can do it with a couple of mouse clicks, a commit and be done in about 5 minutes if you really wanted to. But if you did, you’d be missing the...... Read Mode

Stupid Git Trick - getting contributor stats 16 Dec 2011

Getting contributor stats for your non-public project can be a real pain, that is, unless you’re using git! We use github for all of our source code and documentation on the Ohloh team. We've even got a few public open source projects up there that you should check out, but I'll talk about those another time. Earlier this week I tweeted my YTD commit stats from my new job: And I was asked how I...... Read Mode

Installing the Package Control plugin for Sublime Text 29 Nov 2011

Package Control + Sublime Text = where has this been all my life? I wrote previously how I’ve given up on Notepad++ . It’s time to find a new editor. But this new editor has to be great. Not just “good”, or “okay”, or “decent” but great. We’re talking Sean Connery as Bond great. I’ve used N++ for the past 6 years as my defacto file editor. Javascript, Html, Css, Xml, java, c#, ruby, basically...... Read Mode

Notepad++, it's time we saw other editors 13 Nov 2011

Notepad++ is an awesome text editor but it’s become a bit of a frustration point lately, so I’m trying out a new editor: SublimeText Notepad++ has been my text editor of choice for the past 6 years. I've always found it to be a productivity aide and it's always just worked. However, lately, Notepad++ has a nasty habit of losing all of my settings and it's becoming unbearable. I asked on twitter the other day...... Read Mode

Learning Ruby the Zen way with RubyKoans and SublimeText 13 Nov 2011

I’ve been using ruby for about 2 years now, but I’m always looking to improve my skills. Python, Ruby, TDD and writing plugins for an awesome text editor. What more could you want from a blog post? I stumbled across RubyKoans.com a few days ago. Most blogs and books teach you ruby by showing you examples and then, once you have a grasp on the language, you'll be told about TDD. Ruby Koans takes a...... Read Mode

An example of using Dynamic objects in your Razor views 10 Nov 2011

@JohnBubriski posted a blog post that got me thinking of how the DynamicObject class, and a little elbow grease, can add some elegance to your MVC views. My good friend @JohnBubriski put up a great post on his blog where he talks about accessing url route params in your MVC views. John made a really good solution by adding an extension method to the HtmlHelper class which would return the {id} route param. This solution...... Read Mode

See no eval(), hear no eval() 27 Oct 2011

Dynamic evaluation is a great way to shoot yourself in the foot. Eval is a function in JavaScript that allows developers to invoke the js compiler and pass a string to be compiled and evaluated. Eval is often misused by developers which creates a ticking timebomb in your codebase . Here's what Eric Lippert says on eval : > Eric uses a pretty contrived example in his blog post, I don’t think a lot of...... Read Mode

Quick Protip: explore current directory from command line 18 Apr 2011

Ever been in a command window and wanted to open windows explorer to browse the directory you’re in? Now you can. Try this: C:\&gt; start explorer . [enter] KA-BOOM! You can also open another cmd window by doing: C:\&gt; start cmd . [enter] Enjoy! ... Read Mode

Installing mercurial on Ubuntu 6.06 06 Dec 2010

Over thanksgiving break I dug an old linux pc out of our basement and installed began setting it up as a continuous integration machine for some personal projects. Installing git and svn on Ubuntu 6.06 is incredibly easy but getting mercurial installed required a few more steps. Here's what I did to get it running. Update: I’m keeping the list of steps here to help anyone thats stuck but if you have 6.06 and an...... Read Mode

Make "Implement Interface" use auto properties 29 Nov 2010

This week I’m finding that there is a lot less pain involved in getting Visual Studio 2010 to do things my way than I thought - like no pain at all. I’m refactoring some legacy code this week; a task that would normally be a total PITA but thanks to Visual Studio’s built-in refactoring tools it’s going much easier than expected. The one tool that I’m a huge fan of is the “Implement Interface” context...... Read Mode

MvcTurbine, stopping StackOverflowException on w3wp recycle 22 Nov 2010

I had an issue the other day with MvcTurbine where our application would throw a StackOverflowException whenever the worker process recycled. I love MvcTurbine. If you’re working on a asp.net mvc project then you should take a look at it. Having said that I’ve run into one pretty strange problem with it. Another developer noticed that there were a lot of eventlog entries on our build server for our projects w3wp process. After looking into...... Read Mode

Powershell Snippet: List C# Source Files Modified After Date 15 Nov 2010

An easy way to find what source files have been modified after a certain date in a project directory with powershell. $DateToCompare = Get-Date "8/17/2010 8:07 PM" Get-Childitem –recurse | where-object {$_.lastwritetime –gt $DateToCompare} | where-object {$_.extension -eq ".cs"} ... Read Mode

For/in Follow Up 08 Nov 2010

JavaScript has a lot of good parts and bad parts but the for/in loop seems to walk the grey area in between. It’s a fantastic feature of JavaScript when wielded appropriately, but a potentially horrible bug when used incorrectly. A few weeks back I wrote a post about a bug that can occur when you improperly use a for/in style loop in javascript. This is particular quirk is one that I find myself explaining to...... Read Mode

AutoHotKey scripts for developers 01 Nov 2010

This week I’ll post some useful AutoHotKey scripts that I use to make every-day coding easier. If you’re not familiar with AutoHotKey yet, I’ve blogged about it before and I would recommend giving that post a read. For the rest of you I thought I would post some useful AHK scripts that I have come across. **The most important AHK script ever. ** Disabling Caps-lock. I constantly fat-finger the caps-lock button. With this script, I...... Read Mode

AutoHotKey: An Introduction 25 Oct 2010

AutoHotKey is a free, open-source macro-creation app for Windows. It lets you create really powerful macros that respond to keyboard input from within any application. Autohotkey is a great, free tool that helps you get more work done in fewer keystrokes - which is always good if you’re a programmer. I use AutoHotKey at both home and work to perform some simple (and some complex) text replacement macros. In this post I’ll take you through...... Read Mode

Follow Friday 22 Oct 2010

Twitter is great for keeping up with what your neighbors cat is up to, but it’s also a great resource for keeping up with other developers. Following some advice from a co-worker I’ve put together a small list of devs that I follow that I think you should follow too. I hate the fact that my tweets will [eventually disappear][2] or get lost amidst floods of tweets in other twitterers feeds so I’ve posted a...... Read Mode

Spot the bug: TDD Edition 12 Oct 2010

Thanks to TDD I was able to prevent an obscure bug in a third party library from affecting my code before it got to the customer. It felt really awesome to catch this one before it happened in the wild. For the past two years I’ve been doing Asp.net MVC development off and on and practicing TDD off and on as well. For my current project at work I’m doing TDD “Full Bore” and I’m...... Read Mode

JavaScript Object Query (Jsoq) is 1.0! 28 Sep 2010

I’ve finally pushed one of my side-projects, the JavaScript Object Query library to 1.0! I’m pretty psyched since I’ve been meaning to do this ever since [I blogged about it back in February][1] . You can download the 1.0 release [here (minified)][2] and [here (normal)][3] . What is Jsoq? Jsoq is a port of Linq to Objects to JavaScript. Under the covers jSoq is a bunch of wrapper code for dealing with arrays in JavaScript....... Read Mode

Spot the bug - for/in and JavaScript 20 Sep 2010

I’m poking around in the JSOQ source this week and came across this gem. var array = [ { id: 1, num: 2 }, { id: 2, num: 3} ]; // find the item with num == 2 for(var item in array) { if( item.num == 2 ) { alert(item.id); } } The code above isn’t calling alert(item.id). Why is this? ... Read Mode

Symbolic links in Windows 7 13 Sep 2010

A symbolic link is a text file that contains a relative or absolute path to another directory or file. When an operating system receives a request for a path that resolves to a symbolic link the operating system loads the linked directory or file transparently. So let’s say I had the following symbolic link setup: Folder A -linked-to-&gt; Folder B. When I browse to Folder A I would see the contents of Folder B as...... Read Mode

Spot the bug #3 10 Sep 2010

Two coworkers and I fought with this for a bit earlier this week. Facing a nearing deadline and since the code only needed to run once to populate a database table, we ended up using the ugly method. I made an example of the piece of code that was giving us trouble. Why will coordinates always be null yet coordinatesUgly always gets the correct node? class Program { private static string xml = @"&lt;?xml version=""1.0""...... Read Mode

Spot the bug #2 02 Sep 2010

I came across this issue just at quitting time yesterday and was blown away when I realized what was happening. The UsersController Index View (pre submit) The UsersController Code public class UsersController : Controller { List&lt;string&gt; users = new List&lt;string&gt; () { "mace.windu", "yoda", "senator.amidala", "anakin.skywalker", "obiwan.kenobi" }; public ActionResult Index() { return View( users ); } [HttpPost] public ActionResult Delete ( string[] userstodelete ) { if ( userstodelete == null || userstodelete.Length == 0...... Read Mode

Spot the bug 27 Aug 2010

What is wrong with the code below? Safe Assumptions: _dictionary is a valid non-null Dictionary&lt;object,object&gt; _dictionary contains items that will match the passed expression This code compiles with no warnings or errors This code will throw an exception at runtime. public IList<TModel> GetAllByCriteria<TModel> ( Expression<Func<TModel, bool>> criteria ) { Func<TModel, bool> action = criteria.Compile(); return _dictionary.Where( pair => action( (TModel)pair.Value ) ).Cast<TModel>().ToList(); } If you don’t see it right away then you’re not alone. I...... Read Mode

Test that CouchDB is running in PowerShell 04 Aug 2010

I mentioned previously that I am working on [a dev environment setup script][1] for a long-term project at work. The goal of this script is to get a developer’s machine ready to work on the project, installing dependencies, creating dev/test databases, etc. Since our project will be using [CouchDB][2] my script should create/update a few databases when it is run (this part is coming soon!). But before that can happen the script needs to check...... Read Mode

Get databases in sql backup plan with sql 22 Jul 2010

I helped Tamara figure this out the other day and thought others might want to know. She needed to know which databases would be backed up when a given backup plan was executed. The server was a sql 2000 server and the machine she was using didn’t have enterprise manager installed. SELECT * FROM msdb.dbo.sysdbmaintplans LEFT JOIN msdb.dbo.sysdbmaintplan_databases ON msdb.dbo.sysdbmaintplan_databases.plan_id = msdb.dbo.sysdbmaintplans.plan_id WHERE msdb.dbo.sysdbmaintplans.plan_name = 'PUT YOUR PLAN NAME HERE' So if anyone out there...... Read Mode

Installing Assemblies to GAC with PowerShell 21 Jul 2010

I wrote a quick and dirty environment setup script in powershell to help other members of our dev team bootstrap their dev setups for a new project. I just finished my first ever powershell script and I'm pretty proud of it - even though I did borrow a good portion of it . We’re starting a pretty long-term project at work - it’s scheduled for a final deliverable date set in July of 2011 -...... Read Mode

W.O.M.M. #6 - enumerateOver() 07 Mar 2010

I’ve been focusing more and more on my port of Ling-to-Objects, Jsoq the past few weeks. It’s still in really early stages and I’m not quite sure about it’s actual usefulness but I’m learning a lot about JavaScript and having a ton of fun along the way! Jsoq deals with arrays a lot. About 95% of it’s use cases involve either looping through, altering, or creating arrays. Having a ton of for loops in my...... Read Mode

Using jQuery on an Iframe 04 Mar 2010

The other day I had to alter the stylesheets in a child IFrame when a user selected an item from a drop-down. My first draft was pretty ugly, it ivolved getting the DOM from the child IFrame (by getting it’s contentWindow or contentDocument property) then getting the <head> of the DOM and looping over all the child items… yuck! I coded up this jQuery extension method which will return a jQuery-wrapped DOM instance for any...... Read Mode

Solving "$(document).ready is not a function" and other problems 13 Jan 2010

Ever been working on a customer’s site, writing some really awesome jQuery, you deploy it, and everything is awesome. And then you get an email one day… Has this ever happened to you: you’ve been working on a customer’s site, writing some really awesome jQuery flashy, fadey, scrolly, interactivey thing, you deploy it, and everything is awesome. The customer rejoices and the customer’s customers rejoice. Rejoicing is had by everyone. And then you get an...... Read Mode

W.O.M.M. Project Euler #3 25 Nov 2009

![works-on-my-machine-starburst][1] Here we are with another excellent installment in the “Works On My Machine” series where I post some code, some thoughts and hopefully show you something interesting/cool/new. Today I’m going to talk briefly about Project Euler problem #3. Problem 3 asks you to find the largest [prime factor][2] of the number 600,851,475,143. My solution is pretty simple but it works: var getLargestPrimeFactor = function(num) { var factors = []; for ( var f =...... Read Mode

Dear Sql management studio, just let me save my database table!! 16 Sep 2009

If you’re like me, you recently upgraded to Sql Server 2008 (or just installed the Management Studio). If you’re really like me you found the “Saving changes is not permitted” dialog that pops up every time you try to save a modified table annoying. You may not have found it annoying enough to investigate but I sure did. I don’t remember Management Studio 2005 complaining when I changed a table and saved it. Why the...... Read Mode

W.O.M.M. #5 Project Euler - Problem 2 11 Sep 2009

Project Euler is an awesome website that I found out about a while back via this question on StackOverflow . Basically, it’s a website that poses a ton of programmer related challenges and it keeps track of the problems that you solve. The problems start out relatively easy (Add all the natural numbers below one thousand that are multiples of 3 or 5.) and progress all the way to insane (Caradano Triplets and Covex Holes)....... Read Mode

Tracking .Net Service Requests in Fiddler 17 Aug 2009

Earlier today I had to debug a function in our code that was calling an external webservice at a clients’ site. The webservice returns a list of items and the code on our end is supposed to place them in ascending order based on each items Order property. The client pointed that the our order wasn’t matching up with what they were seeing internally so I spoke with their developer who suggested that we make...... Read Mode

W.O.M.M. #4 - Asp MVC Route Attributes 22 Jun 2009

Download the source code mentioned in this blog post. A few weeks ago on the StackOverflow podcast , something Jeff said got me thinking. Jeff was discussing how the stackoverflow team implemented their route mappings: Those routes are… the way we implemented them are actually like decorators. Attributes on the methods. - Jeff Atwood (stackoverflow episode #54) This instantly piqued my interest and I completely zoned out for the rest of the podcast: caught up...... Read Mode

Debugging "Syntax Error" from a bad WebResource.axd request 24 Apr 2009

“Syntax Error, Line: 2, Char: 0”. How many of you out there have seen this error while working on a web project? Usually it’s because of a forgotten semi-colon or parenthesis in some external javascript file. But sometimes it’s something more sinister… Something darker, dirtier and just a little bit more evil. After seeing the error message, I opened up Internet Explorer’s options dialog and unchecked the following options: Disable script debugging (Internet Explorer) Disable...... Read Mode

W.O.M.M. weekly post #3 - HtmlHelper.Gravatar 18 Apr 2009

Long story short: I hate re-inventing the wheel. If there is a free service that does something I need I will try my hardest to get that service into whatever I am working on. I’m currently working on an Asp .Net MVC project that needs Avatars (you know, those funny little pictures next to peoples names on Twitter). Enter Gravatar . Gravatar is an awesome service for anyone looking to add avatars to their apps....... Read Mode

W.O.M.M. weekly post #2 10 Apr 2009

![works-on-my-machine-starburst][1] Due to me being insanely sick this week I’m going to be changing up the format for the Works On My Machine weekly project post for this week. Instead of presenting a project that I’ve worked on I’d like to highlight some .Net OSS projects / source code that I’ve been working with / looking at lately. [The More Linq project][2] - An extension library for LinqToObjects run by Jon Skeet. [MusikCube][3] - Awesome...... Read Mode

Works on my machine weekly project #1 05 Apr 2009

[Download the source code mentioned in this blog post.][1] ![works-on-my-machine-starburst][2] I’m a hopeless code junkie. I love to write code. Most people do one thing for work and then another for their hobby. My girlfriend for instance works as an IT / Systems Engineer  and her other thing is photography. My other thing is writing more code. I never did this with any of my previous jobs (save dish washer… I did wash dishes when I...... Read Mode

Testing JsonResult in Asp.net MVC 16 Mar 2009

So lately I’ve been working on a project using Asp.net MVC and TDD to build a web 2.0 application. It’s a twitter-like application that I started a while ago but due to [my failure to test everything][1] I lost about 99% of my work and had to start over from scratch. But this was sort of a good thing because it gave me a chance to revisit a lot of things that I wasn’t very...... Read Mode

Introducing The JavaScript Object Query Library 10 Feb 2009

# So, yeah I originally started writing this article back in september when I was about mid-way through JSOQ. Some things have changed since then and I’ve tried to keep the post up-to-date. Enjoy! Also, another similar library has come out recently: JSINQ  which is a really feature-rich LINQ to Object implementation in Javascript. Really bad-ass stuff. The Elevator Pitch: JSOQ is an open-source pet project of mine that lets you easily access the data...... Read Mode

Jeff Johnson: Grandfather of the Tree View 05 Oct 2008

“Think of it as a hi-tech version of Woody Allen’s statement that life is what happens to you while you’re out doing something else.” The above excerpt was written by Jeff Johson, the creator of the Xtree file management software in his quasi-blog post title “An Unapologetic History of XTree “ written in 1991, six years after Xtree 1.0 was released. Jeff was the lead developer on the Xtree software project that originally started out...... Read Mode

Useful Code: Object.isArray() 29 May 2008

When you need to find out the type of an object in JavaScript you would just do the following: var x = 1; alert(typeof x); Well what if x were an array? With x as an array a typeof incorrectly returns “object” as the type. Well that is just plain wrong. Enter the isArray() method. Object.isArray = function(o) { return o && o.constructor === Array; }; Granted it’s not as simple as typeof but it...... Read Mode

Useful Code: Object.Enumerate 22 May 2008

I write a lot of javascript at my job and I often find myself in a horrible debugging situation where something isn’t working right and I need a way to find out what properties and methods an object has quickly. I’ve found the following code very helpful in determining this. Object.Enumerate = function(o,t) { var type = typeof t === 'undefined' ? null : t; for(var key in o) { var value = o[key]; //...... Read Mode

From one Noob to another 18 May 2008

I’m relatively new to the world of professional software development. I got my start hacking away in Visual Basic back in 1995 and didn’t do any sort of development for money until 2004. Yeah I’ve only been a software developer for 4 years now. It’s sort of scary being a noob in real life. There is a lot to learn: the culture, what to say, what to do and most importantly what not to say...... Read Mode

Enumerate windows users groups 08 Apr 2008

The code below will enumerate which groups a domain / local user belongs to. private static string GetUserGroups(string strUser) { string groups = ""; DirectoryEntry de = null; try { string entryName = String.Format("WinNT://{0},user", strUser.Replace("\\", "/")); de = new DirectoryEntry(entryName); object oGroups = de.Invoke("Groups"); foreach (object o in (IEnumerable)oGroups) { DirectoryEntry group = new DirectoryEntry(oGroups); groups += group.Name + ","; } } catch (Exception) { throw; } return groups; } ... Read Mode

Converting a Security Identifier from binary to string 07 Apr 2008

Just in case you ever want to convert a binary representation of a Windows Security Identifier (SID) to it’s friendlier string version: Imagine we have a binary sid that is:0x010500000000000515000000F2EBB9149329116C5E3528360E040000 That doesn’t look too inviting does it? Lets break it out into segments for easier reading. 0. 0x01 1. 05  2. 000000000005 3. 15000000 4. F2EBB914  5. 9329116C 6. 5E352836  7. 0E040000 Segments 0 through 2 are used by Windows to validate the SID. 0...... Read Mode