We all hear about the great products being built within Colorado’s digital startups. But we often hear about this digital work in the eyes of CEOs instead of our city’s most dedicated and creative employees: our developers. This series will be giving some love to a few local devs who are super active with various personal and work projects - which are showcased on their GitHub profiles. To recommend a local developer for this series, email [email protected].
[ibimage==27652==Large==none==self==ibimage_align-center]Matt Butcher (https://github.com/technosophos)
His day job: Leading the cloud team at Revolv: “My team spends about 70 percent of our time coding and 30 percent doing devOps and sys admin work. Revolv has several REST API services, and that's what I'm usually working on. I'm willing to bet the bank on the nascent "Internet of Things" market, and Revolv is right on the forefront.”
Open source at Revolv: “As a team, we've contributed back to several open source projects (often in the form of bug fixes). In the last two weeks, we've sent patches to the Apache Thrift project and the InfluxDB project, and we also open-sourced a Heka plugin that we built.
Why he’s excited about Go: “It's an emerging language that feels like a perfect fit for cloud services. It's amazingly fast, has a robust tool chain, makes it easy to do heavy-duty parallel processing, yet feels as straightforward as Python. When we initially ported a Java server to Go, it went from an 80M jar file to an 8M Go executable. It was a huge win for us.”
What he’s looking forward to this year: “I was thrilled that the first ever Go conference, Gophercon 2014, was hosted just off 16th and California in Denver. And it was a huge success. One of the organizers said that when they started planning they had anticipated 100-200 attendees. They were finally forced to cap registration at 700! The extra-curricular events at Gophercon played to Colorado's strengths, too, as they did tours of area microbreweries and coffee shops.”
What he started on GitHub:
- QueryPath is basically jQuery in PHP. It's got tens of thousands of installations worldwide and was the subject of a Google Summer of Code project a few years ago: “I wrote the first version of QueryPath when I lived in Chicago. Each evening, I commuted home by train: a 45-minute trip. And each train ride, I wrote another function or two.Looking back, I've spent hundreds of hours working on QueryPath, but those hours were broken down into small and enjoyable moments spread over years.”
- HTML5-PHP is the only complete HTML5 library for PHP and so has enjoyed a rapid ascent to popularity.
- Cookoo is a tool for building big web services by chaining together reusable components. The Cookoo team just launched 1.0 a few weeks ago, so it’s still a young project, “but Revolv already runs it for our REST API servers, and it's been rock solid so far.”
From Chicago to Colorado: “I have been thrilled with the Colorado tech community. When I lived in Chicago, I went to various meetup groups. At the time, I was working on Drupal, and there were plenty of events. But it was hard to cross-pollinate. Within the tech community, each niche seemed to have its own events. And in some sense each group was a little protective of its membership and its technology. Colorado feels very different to me. For example, this week is Boulder Startup Week, a week-long event geared toward tech startups. The entire program is designed for cross-pollination.”
Dev talent in Colorado: “On the one hand, there are clearly some very talented developers, technologists, and entrepreneurs. But on the other hand, the talent pool here is shallower than, say, the Bay Area, New York or Chicago. That said, I've been encouraged by the proactive stance of many area technology organizations who actively encourage developers to relocate to the area. I know Coloradans are sometimes a little protective of their ‘native’ status, but to flourish as a tech hub it will be crucial to attract technologists to the area.”
[ibimage==27651==Medium==none==self==ibimage_align-right]Gavin Wahl (https://github.com/gavinwahl)
Day job: Building web applications at Fusionbox using Django and Python. Recent client work includes building an application to collect warranty fees and working on software to find the perfect-fitting bike.
Open source at Fusionbox: “Our biggest open-source project right now is Widgy. Depending on your perspective, you can consider it a complete CMS, or an extensible content-editor to use in your own applications. Widgy is based on editing tree-structures. I noticed that in a lot of situations, our clients have data that looks something like a tree, but there really was no way to give them an elegant interface to edit it. We built Widgy to be this interface. We've been working on Widgy for about a year and a half, and deploying it on our clients' websites all this time, but we're starting to publicly promote it recently. We were recently on the front page of Hacker News which was pretty exciting.”
The fun (and funny) projects:
- Mouseware is a memorable, high-security password generator. I'm a security and cryptography enthusiast, so this was a nice chance to implement a cryptographically-secure random-number generator and to encourage people to use strong passwords.
- Plight [aka pee-light] is a stoplight that indicates if the office bathroom is available.
- django-authtools is making Django custom user models easier. Django 1.5 was released with a new feature called custom user models, making it easier to accommodate changes in how user authentication, authorization, and information works. It was a little too hard to use, though, so we made it easier.
- Dinero is a payment processing library. We couldn't find any good Authorize.net client library for python, so we wrote one.
Why he’s excited about Django: “There is some unflashy, but very interesting and important work happening in Django right now. There were two Django features funded through kickstarter recently: one project will add schema migration support to core django. This has been available as a third-party package for a while, but the developer was able to add a redesigned (and much improved!) feature to Django. And this project is adding support for progres features to Django. It'll be fun to use this features when they have full integration with the Django ORM. Both were started by Django core developers who were able to dedicate more time to their Django work with the kickstarter money. This is a really interesting way of funding open-source projects.”
Personal GitHub work:
- Optimistic Lock implements an elegant technique for preventing conflicts while multiple people are editing the same resource on the web.
- sdb is what I use to manage all my passwords.
- Shepherd is a study of Unix processes and signal handling.
Ben Johnson (https://github.com/benbjohnson)
Day job: He is currently sponsored by Shopify to work on an open source behavioral analytics database he wrote called SkyDB. Shopify uses it extensively to power the reporting tools they provide to their online merchants.
What he’s looking forward to: “I've really been enjoying the Go programming language over the past year. It's really made programming fun again for me. It seems to be picking up steam quickly and I hope to see more companies using it. I'm excited to see local companies like SupportLocal and SendGrid heavily using it.”
- Go-raft is “an implementation of the Raft distributed consensus algorithm that has been used to power commercial tools like etcd and InfluxDB. It's a library that allows developers to easily distribute their application across a cluster of machines. I've probably put about 300 hours into writing, refactoring, and testing go-raft.”
- BoltDB is a “fast, low-level key/value database to use with Go. It makes writing data-focused tools in Go much easier than before. I've spent around 200 hours getting BoltDB to where it is today. There's been a lot of work to not only make it fast but also stable and usable.”
Outside-of-work obsession: “I've been working on a project called The Secret Lives of Data to help educate people on how databases and distributed systems work through the use of data visualization. Currently there's only one visualization on the Raft protocol but I hope to expand it to more in the future.”
Learning from other devs: “I like meeting up with other devs downtown for lunch and catching up on what they're doing. I find that one-on-one conversations are a better way to dig deep into topics rather than the more high-level discussions I get into in larger group settings.”
Building up Colorado tech: “I really enjoy the tech community as a whole in Colorado. We have smart, caring people and everyone wants to help everyone out. The biggest problem I see with the local community is that it tries to compare itself to other tech communities. I'd like to see more profiles of local developers and cool projects they're building and fewer Top 10 Tech Cities lists or Series A announcements.”