Chicago Nerdery moves/grooves to 300 N Elizabeth St. #500C

By Mark Malmberg

Chicago branch manager Dave Kam – the first employee hired by The Nerdery’s three founding programmers back in 2004 – has helped bootstrap our Chicago office since it opened in August 2010. We caught up with the Pentathanerd gold medalist as he reflected on moving his team into new digs.

Anything you’ll miss about the old place?
Probably the only thing is the quiet. We’re in a loft style office building now, so we can hear everything and everybody can hear us. So we’ve actually gotten complaints about the dogs.

Comparing our new space to the old, what are the biggest wins/coolest features?
We have an actual full kitchen. With a dishwasher, dining area, and even a stove!  We also have a theater that has a DJ area.

Did you rock-star the old place before moving out? Will we get our damage deposit back?
No, not really. And yes, we should totally get our damage deposit back. I actually patched up the holes left by the mounting screws. So really, the place is probably better than when we took it over. Also, Tommy O put in a classy sink in the bathroom so really, the landlord probably owes us money.

Any plans to spruce-up and/or nerd-out the place?
We’ve already started on this. We’re doing a MTV Cribs style video at BottleCap next week so you can see what we’ve been up to.  

How many nerds will the new space hold?
With the current layout, 26. If we re-arrange, about 32.

Are you actively seeking nerds now? What positions?
Yes we are: account directors, front-end developers, PHP developers,and iOS developers.  We’re probably going to be adding .NET/C# developers and an office manager to that list soon.

Moving can suck. Did it?
Honestly, it wasn’t as bad as I thought it would be.  But I think it’s because of all the pre-planning that Perry and Eric did.  Without them and their teams coming down to help with the setup before the actual move, there’s no way we would have been able to finish the move as quickly as we did.

In the Twin Cities, we’ve expanded our office space eight times in as many years. How long before we outgrow our new Chicago space, and what then?
Well, we’ve got six spots left open, so it’ll be pretty soon. We do have the option of expanding into our original space next door anytime we want. But ideally, we’re trying to hold out until May when we can move into the space right below us.  

Any ongoing need for a tweeting bathroom (* full explanation below)? Plans to get it going again?
I think we’ve seen the last of the tweeting bathroom whose hardware was re-purposed for another side project. Maybe as we grow and the need arises, we will bring back a version 2.0.

* Tweeting Biffy: A case study
The business problem: We had a dozen nerds – men and women – sharing one bathroom and the only way they could know if it was occupied or vacant was to turn the doorknob – ugh. The business solution: Finally, a bathroom worth following on Twitter – one that tweets its vacancy. Said Nerdery software engineer Dan S: “We discussed things like having some light somewhere, or other indicator saying what state the bathroom is in and then at some point Thomas said 'we could have a bathroom that tweets and we all sorta laughed. Overnight I thought about how it wouldn't be such a bad idea.’”

Not-so-bad ideas like this are taken seriously at The Nerdery, where we partner with big thinkers and creative minds to engineer and execute fancy web, mobile and social media projects. But beyond all that, Dan has considerably more to say about embedded systems in bathrooms (fair warning: fairly nerdy):

For development, mbed has a nice and easy to use online compiler. What this means is that you write your code in a browser and that code exists 'on the cloud' and when it's compiled using their compilers, you get a nice .bin file that can be placed onto the mbed unit. The mbed development board is a micro-controller that has a set of API's to interface with very low level hardware interfaces, IE, stuff that chips inside things like the iPhone, PS3, the computer you're using, use to communicate with each other. There isn't ethernet running between your computer's processor and its RAM/Hard drive/sound card, etc. There are buses with defined interfaces into the processor. This mbed is the same way with just 'lower' level interfaces to communicate with things like sensors, or other integrated circuit chips (such as GPS, bluetooth, RFID, NFC, ZigBee, etc.). The mbed can be connected to a regular TCP/IP network, which is where the fun really happens. It allows you to build something that not only connects to a standard network, but can run code that you write to do nearly anything. Think of it as a mini computer with really good battery life at a huge performance disadvantage. The mbed runs at about 100MHz, which is 'slow' compared to today's Core i7 processors, but 100MHz is more than enough to talk to a network and 'read' what sensors are sensing, or log read information to something like an SD card. There are hardware limitations, but there are also creative boundaries that have to be overcome to see 'how can i achieve X?'. Other microprocessors use JTAG to be programmed. The convenience in the mbed is that the mbed gets mounted as a flash drive. This lets you drag the downloaded .bin file to the 'flash memory' of the mbed and press the reset button on the mbed to 'reflash' it, effectively putting your software onto the small board. This process is MUCH more streamlined than other solutions, which makes mbed a first choice in any smaller 'quick, even possibly dirty' way of getting things done™. Before (of after/during) software development, you will put the mbed onto a breadboard that lets you interface and communicate with the world outside of the chip. This is done through GPIO (general purpose input/output) or through peripherals (SPI, Ethernet, I2C, etc. RE: Comms between chips/digital world). For this particular project, ethernet was used to connect to the internet and a GPIO pin (input) was used to 'read' the door sensor's value. The resistor is used as a means to force the GPIO pin to 'ground' (or logic of 0) whenever the sensor is not strong enough to move the input to 1. This pull-down resistor ensures that we should ALWAYS get a 0 in the input except in the case where something STRONGLY (not very strong, but you're pretty damn sure) is a 1 (higher voltage).


How the software works: The code initializes the chip and then basically sits and waits. What's it waiting for? A transition on the GPIO pin, which is a fancy way of saying when it for sure goes from 0 to 1 or 1 to 0. This effectively interrupts the microprocessor from whatever it was doing, and immediately starts a function that will read the logic level of the GPIO pin and then call to a server with the status (as well as the Oauth stuff for twitter. The post is made and then the mbed continues to sit and wait for the next interrupt. What it implies is fairly interesting as well, imagine any bit of information (literally, on/off, open/close, available/not available) could easily be streamed to twitter or some other service/individual. This includes conference rooms being available/not available, test hardware being checked in/out, tweeting pop machines – the sky's the limit (and your imagination).


Share with friends
Published by Mark Malmberg
Communications Director
comments powered by Disqus

We’d love to talk with you

Whether you are an aspiring Nerd or you’re considering working with us, we’d love to hear more. If you’d rather talk to a real human, don’t hesitate to pick up the phone and give us a call.
Start the Conversation