Bootstrap, from Twitter
Everyone who’s worked on a Web application knows how tough it can be to get started. It’s not the actual code of the app that’s a pain, it’s building out the HTML, the CSS and the actual presentation layout of the site you’ll be hosting said Web app on that takes a lot of time. Sure, you can just post the app on a blank page with no accouterments, but at some point the people in charge are going to ask why the page and app look so boring. And, of course, at deploy time, you’d have to build a site from scratch anyway to host the new application and its back end.
Twitter obviously got sick of this problem, and constructed Bootstrap, a free Web design framework that comes with so much boilerplate Web code, you could cook a can of soup on it. Perhaps our favorite part of the Bootstrap package is the fact that it’s designed for all skill levels, so there’s no embarrassment for not being an HTML and CSS design wizard, even though you can write a proof for an Erlang program in 10 minutes.
Codemod, from Facebook
Codemod is just one of many interesting open-source projects that have come out of Facebook. As you can guess, most Facebook projects are related to scaling data and Web content to ridiculous levels. This is why Facebook also created HipHop for PHP, a tool that compiles PHP into C, allowing it to run at hardware (not OS) speeds.
Codemod is a fairly small tool considering the other cool stuff available at Facebook, but it’s a very useful piece of software nonetheless. Any Java developer can tell you the best feature of JetBrains IntelliJ is its refactorings. But if you’re not a Java developer, what can you do? You can use codemod, which is written in Python and was designed to combine computerized refactoring with human intervention. As the description on Facebook’s developer site says, codemod is for large-scale code refactorings that can be partially automated, but still requires human intervention.
ZXing (“Zebra Crossing”), from Google
Rather than crow about Web Toolkit, the old Instantiations tools, or even the hip programming language Go, we thought we’d let you know about a Google project you’ve probably never heard of. ZXing, also known as Zebra Crossing, is an open-source, multi-format 1D and 2D barcode image-processing library implemented in Java.
There are other language ports, which is what makes this project so interesting. Google and its contributors have pushed support for the project C#, C++, Ruby, and even an iPhone client and Objective-C library. If you’re going to build anything that reads a barcode, you’d do well to consider ZXing before you get started.
Yelp, from KegMate
You know you love beer. And even if you don’t, it’s a safe bet a fair number of people in your office do. So treat them to this little bit of ice-cold refreshment by building a KegBot. The KegBot is an open-source project that seeks to build an Arduino-controlled kegerator. With one in place, users can swipe RFID cards to open the taps, and in doing so, keeps track of who’s had the most to drink in the office.
The project is broken up into components, and the KegBot faithful have shoehorned all manner of pieces into the puzzle, mostly out of necessity. But what you really need to get this working is a kegerator, an Arduino, a flow-monitor component, and an iPad, Android tablet or PC. Be sure to check out www.kegbot.org for further instructions.
Three20, by Facebook
We already mentioned Facebook, and with good reason: Its back-end infrastructure tooling is insanely helpful for high-volume sites with lots of transactions. But we felt there was still a need to push out one more Facebook project to our loyal readers, one they’ve probably never heard of: Three20.
From the website: “Three20 is an open-source Objective-C library used by dozens of well-known brands in the App Store, including Facebook, Posterous, Pulse, Meetup.com and SCVNGR. Three20 provides powerful view controllers such as the Launcher, the popular Photo Browser, and Internet-aware tables.
“The library is modular, meaning you choose which elements of the library to include in your app. This modular design allows Three20 to be one of the only Objective-C frameworks that encourages what are called ‘extensions’ from the community.”
Three20 makes iPhone apps a lot easier by including so many of the important frameworks for common iPhone tasks. It’s definitely a must-have for commercial iPhone developers and social app creators.