tamberg's Blog

2012-12-31 by tamberg


I started this blog to dig deeper into ideas and projects but it seems there's so much going on at once that I never quite find the time writing anything up in depth. So, to keep at least an overview here's a short rundown of what's been going on in 2012.

Building a MakerBot Thing-o-Matic, which is a lot more reliable than the Cupcake, got me into home 3D printing again. The field is growing fast with new designs like Printrbot, Rostock or Portabee emerging, and established brands pushing the limits, resulting in ever more complex prints, like this 700 hour artwork by Micah Ganske.

For MakeOpenData in April we did tangible statistics (here's my intro), followed by "Fabbing Easter" and 3D printing with 9 year olds. As quite some people now have printers, I started @3dzh, the 3D Printing Zürich Meetup for makers, designers and those interested in DIY 3D printing. It's still small, but seems to work out nicely.

Another meetup I'm involved with is @iotzh, the Internet of Things Zürich Meetup, together with Christine Perey who also pushed me to do a DIY IoT Workshop that we held at MechArtLab. The material is CC BY SA, now my favorite license. IoT-wise, my 2012 favorite was definitely the Open IoT Assembly in London, with tons of interesting people and inspiring discussions. Plus I got to see Cosm, RIG (next to Makie Lab) and London Hackspace.

I also became a regular at the SGMK OpenLab held every Tuesday at MechArtLab Zürich. Stuff I built or presented there includes a motion triggered bed-to bathroom floor illumination for my elderly parents, which ended up on the Instructables front page and on Lifehacker. This, plus the 2010 Arduino Web LED being unexpectedly featured, helped boost my Instructables karma to 100% featured and 100k+ views.

At the SGMK OpenLab I also first met @dr_m_kroll, the hardcore Bluetooth Low Energy hacker who engineered the tōd and BLE Arduino Shield Kickstarter project as well as Matthias Ringwald who makes the btstack Bluetooth Stack. Add in Etan Kissling of BLE Adventskranz fame, and Zürich is definitely on the Bluetooth map.

During a five day workshop on physical & wearable computing by Massimo Banzi and Zoe Romano at SUPSI in Lugano, I built a first prototype of #BalanceShirt, an artificial "sense of balance" based on an accelerometer, force feedback and laser cut felt modules derived from Zoe's OpenWear collaborative clothing project.

On a last minute trip to Ljubljana, I got a lot of inspiration from Interactivos 12 and @dusjagr's NanoŠmano ŽiviSistemi DIYbio lab (built from raw planks, fittingly set up in a beautiful garden), where we built a microscope from old Web cams. Further travel led to Munich where we tested our #OktoberfestOfThings Internet connected Maßkrug, and Barcelona, to attend a city walkshop lead by @cperey and @gy4nt.

This year also brought countless gadgets like the WIMM Android watch (interesting "occasional connectivity" model), an #AirQualityEgg shield, the Twine and Ubooly, a connected kids toy. Plus a few Kickstarter projects that did not deliver yet. And I started using the Kindle as an ambient display for OpenLetten, which ran without a hiccup since June (aside from accidentally unplugging its power once). Probably as a result of the summer workshop I also got a very nice Arduino Starter Kit from RS Components (disclosure: for free). It was a great joy to unbox due to the beautifully designed packaging. I also beta tested @dr_m_kroll's BLE shield, hooked up to the floating solar fountain I plan to use as a platform for autonomous lake exploration.

For the second MakeOpenData in Basel we tried to connect a cheap blood pressure meter to the Internet. While the project could not be completed right on, we did get the core part working after a few evenings at MechArtLab, thanks to Jonas and his protocol analyzer. I learned quite a bit about the I2C protocol and EEPROMs.

Besides organizing meetups, I also presented, on DIY IoT hardware and bottom up innovation at IoT Zürich, and on wearing a SenseCam for eight months, at the first Quantified Self Zürich meetup, another nice addition to the meetup community.

So, that was 2012. Now let's build more stuff, to see what the future is all about.

2012-02-02 by tamberg

Gadgeteer Modular Hardware

Gadgeteer – an open system to build modular, Internet-connected devices, invented by Microsoft Research in Cambridge – really got into my focus when Cuno ordered the first commercially available modules from GHI, Seeed Studio and Sytech, while Beat started creating his STM32 ARM based Gadgeteer mainboard with Ethernet.

You might argue that electronics have been modular for a long time but this type of macro modularization with standardized connectors and IDE designer support takes the concept to another level. I've been excited about the Modu phone, followed the Java/OSGi-based Bug Labs project and looked at the Phidgets sensor platform, but never felt a real urge to use any of them. The first two were too coarse-grained and therefore limited the design space. The latter was the proprietary product of a single manufacturer and therefore quite expensive. Gadgeteer is based on the .NET Micro Framework which allows programming in C#, a main stream language. Simple PCB layout conventions let commercial providers and tinkerers build cheap modules that are not self-aware (which would require expensive chips on every module) but have a "software shadow" in the IDE. The decision to force mounting holes on a fixed, 5 by 5mm raster allows easy mounting. Rather than coming in a casing like BugLabs, the modules are bare bones and connected with flexible cables to enable using them with a custom made, laser-cut or 3D printed case. All those points together promise to significantly lower the barrier to designing custom devices. The Gadgeteer "Hello World" is a photo camera complete with a full color LCD display. Read that again.

In almost no time, it was perfectly feasible to build a Web-cam, a joystick operated game, a water level meter with daisy-chained LEDs and a Wu-tang name generator in a Chumby-like form factor. Of course, Gadgeteer is by no means the only viable approach. Other modular approaches include littleBits for electronics, TinkerForge, the Arduino-based Teagueduino, spatially configurable snap-together boxes named B-Squares, and Bildr, a modular approach to documenting electronics projects. But if the Gadgeteer ecosystem keeps growing and the prices for mainboards drop even further, this might quickly become my favorite hardware platform to build devices for the Internet of Things.

2011-12-18 by tamberg

RHoK 2011

Two weekends ago, December 3rd and 4th, a Random Hacks of Kindness (RHoK) hackathon was held in many cities around the world. I joined the event in Zürich.

Random Hacks of Kindness is a global community of innovators building practical open technology to make the world a better place.

More specific,

RHoK’s model is to start from identifying, defining and refining problem definitions provided by subject matter experts and local stakeholders. This ensures that volunteer time is focused on solving real problems for real people.

I learned about RHoK through @loleg and was eager to participate. My plan was to implement a generic service required by a number of problem solutions, rather than contributing to a single solution. The event was held at Hub Zürich, a nice local co-working space. After explaining the RHoK philosophy, the organisators presented a small selection of problems picked from the RHoK problem list. Then, some of the participants presented their ongoing projects. Twimight, the Twitter client app with a peer-to-peer disaster mode (based on ETH Zürich's PodNet project) made a good impression. But contributing to an established project doesn't have the same appeal as starting from scratch so most participants joined forces to create something new.

I spent some time pitching the slightly off-topic "SMS Web API Android app" idea to various people and drinking lots of coffee. Luckily, @acraphae decided to give it a try and help me build the app. Taking into account that we never met before and that neither of us had much experience with Android development, the enusing two days of intense hacking went very smooth. Starting with a reference model we split up the work along the necessary Android APIs and started pushing code to a shared repository until we had a working demo, five minutes before the final presentation.

Oddly enough, those final presentations were judged and ranked by a jury, which in my opinion degrades the time and effort each of the participants invested. This was the only down-side of an otherwise perfectly organised, very gratifying weekend.

2011-11-26 by tamberg

Makerbot's Next Step

Fabbing seemed too good to be true when I saw stereolithography demonstrated by ETH Zürich at the legendary Heureka exposition in 1991, as a teenager. But for the rest of the 90ies and on into the new millennium, it stayed disappointingly far away from everyday life. With the RepRap project, 3D printing reappeared on my radar. The goal to achieve self-replication made this project particularly appealing. It gave an "old" concept a new twist. But building such a machine was still a big challenge, undertaken only by the bravest of tinkerers. Three of them – Bre, Zach and Adam from NYC Resistor changed this for good with the announcement of their company MakerBot and its first product, the Cupcacke CNC. As mentioned earlier, I've built such a DIY kit in 2009. While the process was hugely rewarding and allowed me to gain a thorough understanding of how it works, having the technology at home also had a demystifying effect. At the end, the thing was not much more than a glorified hot glue gun, some motor drivers and an age-old file format. On the other hand, the simplicity of the design is its beauty and integrating those parts and materials into an easy to assemble kit is a fantastic piece of product engineering.

Anyway, since I've never had the time to become an expert in CAD my 3D printing experience was heavily influenced by a second crucial innovation introduced by the same people: Thingiverse. All things I made were 3D models downloaded from this Web site. And after learning a bit of Sketchup it was possible to upload some things I designed. No matter how basic it is, somewhere in the world there is a MakerBot owner in need of your design. Even better, you can subscribe to this RSS feed and watch objects getting born. Memorable designs from the early days include Glasses by lanfordw, Zaggo's Whistle and Skimbal's Cathedral. In between there have been many MakerBot parts, from random users as well as official, sometimes playful but often iterating proven designs, resulting in ever better print quality. A feedback loop on many levels, based on openness, that profits designers, users and the company.

This week though, not too long after the appearance of Heart Gears, a printable V8 Motor and the first two colored object, another next step seems to have happened. I suspect it started with the Turtle Shell Racer. Users were adding LEDs and other electronics to MakerBotted objects from the beginning but Skimbal took it to a new level by adding the innards of an RC car to a design with 25+ parts. The innovation though, is that he and MakerBot decided to make the required electronics available as a series of kits including assembly instructions, thus lowering the bar once again to fabbing at home.

2011-11-06 by tamberg

Side Projects (Internet of Things)

Arduino Web LED (2009). My very first demo for Yaler, our open source project and startup. All of the projects in this post – which is the last part in a series on side projects – are enabled in one way or another by using the Yaler relay infrastructure.

Ambient Weather LED (2010). The above Arduino Web LED allows you to set the color through a simple REST interface, i.e. the abstraction is close to the hardware. This way, the application logic can run outside of the object, in the cloud. The code which defines the behaviour of the connected object can be upgraded. In this case a small program reading Yahoo's forecast for Zürich and then setting the LED's color to reflect the conditions, makes the object act as an ambient weather notification.

Web enabled Polar heart rate monitor (2011). A simple hack involving a Polar belt, SparkFun's Polar receiver interface, a BlueSmirf module, and Liquidware's Lithium Backpack. The measured heart rate was transmitted to my laptop via Bluetooth and accessible through a custom Web service. At the Pachube hackathon we mashed it up with the XY stage of a DIY microscope to get heart beat controlled nematodes.

Web controlled EggBot (2011). Developed and sold as an easy to assemble DIY kit by Evil Mad Scientist Labs, the EggBot is a simple "robot" with a pen, able to draw on eggs. By programming a Web service that runs on the computer attached locally to the EggBot, it becomes possible to remotely control the EggBot via the Internet.

Web controlled power plugs (2011 - present). Controlling LEDs over the Web gets boring after a while, so a natural next step is trying to switch a power outlet. While I remember messing around with lamps, cables and switches as a kid, getting close to "real" current now suddenly seems quite dangerous. Therefor my Netduino Plus controlled power plug is using an opto-coupler based DIY circuit board designed by the knowledgeable guys at MechArtLab. Another attempt to avoid premature death is the power remote hack, where I modded a cheap, RF-controlled outlet's remote control to be (meta-) remote controllable over the Internet. Next up is Gadgeteer...

Web enabled bathroom scale (2011 - present). Inspired by the Withings WiFi scale, a flex sensor is attached to an old mechanical bathroom scale. A Netuino Plus reads the sensor and makes measurements accessible via Yaler. The main challenge with this project is calibrating the sensor, so for now this remains work in progress.

Tweeting SenseCam (2011 - present). A side effect of wearing a SenseCam all day is that you talk a lot about privacy and ownership. One such talk with @drbrian led to the idea of the Tweeting SenseCam. While the cam itself is not connected to the Internet, the computer on which I store the pictures is online most of the time. So if you see me, you tweet the tag #SenseCam to @tamberg and later, after the pictures are synced to my machine, you get a response containing a link to the pictures that were taken around the time your tweet was sent. This is mostly a concept and only partly developed, so please don't tweet yet. I'll write another post when it's ready.

Smartphone hosted SMS Web service (2011 - present). Using unused smartphones to provide a distributed backend for a SMS Web API came up as a project idea for the next Random Hacks of Kindness hackathon and is described in this post.

2011-11-01 by tamberg

New Google Reader Pinboard Import

I'm subscribed to 500+ blogs in Google Reader and had a nice setup to let Pinboard import every item I marked as shared (via the corresponding RSS feed), which was a huge benefit compared to the old semi-manual process I used to import blog posts into Delicious. This morning however, Google decided to update the Google Reader UI and replace the share functionality with a +1 button. Thanks a lot.

After some nervous googling I found this thread titled Adding Pinboard to "Send to" list in Google Reader. In the new UI the Reader settings are hidden behind the gear icon on the top right, and only shown if you're on the Google Reader site. This way of sharing is a bit less convenient but at least it still works. So, after adding an entry for Pinboard, the shortcut to send the selected item to Pinboard and save it there is:

[Shift]-[T] [Down Arrow] [Enter] [Enter]

Besides the increased number of keys the major downside is a short wait before the second Enter key. And the opened Pinboard bookmarking tab messes up Chrome's Reopen old tab functionality. But I fear we'll have to live with that.

2011-10-30 by tamberg

Side Projects (Hardware)

This is part three in a series on side projects. The title says hardware but only some of the projects required soldering. Others are about using existing hardware for self-tracking. Still, the enabling tool was a soldering iron, bought at Pusterla after having met the multi talented hacker and artist @dusjagr at a DIY-workshop. Besides this, SparkFun and Adafruit were essential as they provide parts and how-to knowledge.

Wearing a mobile Web cam (2008). When Qik came out with live video streaming for smartphones I thought it would be nice for self-tracking. By sewing a neck strap to a safety belt loop I built a holster which carried a smartphone. With that around my neck I started walking around, passively filming everything. Unfortunately the phone's battery was not up to the task and needed recharging every half hour. Also, data plans were way too expensive at the time. So the experiment didn't last long.

Facebook shirt (2008). At the time, Facebook used to be a valid conversation topic at parties. So, after some beers we came up with the idea of an Internet-connected shirt that would light an LED if you are near a person that has any common friends with you. The system was based on LilyPad Arduinos, the BlueSmirf module and smartphones. I even bought the domain "facebook-shirt.com", but then the project got stuck because of a problem with configuring the Blueooth modules.

Rfish – a system to count swimming laps (2009). As described in great detail on the Rfish Blog, this project is about building an RFID based online swim lap counter. A fully working prototype can be seen in the video accompanying the Weather proof, Bluetooth capable RFID reader Instructable. Unfortunately AppJet, who hosted the server side Javascript of the Web service, went out of business. I'm still looking for an equally easy to use replacement platform.

Building MakerBot #19 (2009). Having followed the RepRap project for some time before, the original announcement of the MakerBot "CupCake CNC" convinced me to venture into personal fabrication. Building this home 3D printer kit and watching it print the first object still is one of the more rewarding moments in my life. At the time I took a lot of pictures, which was a good reason to buy a Flickr account that I use ever since to document all sorts of stuff.

Wearing a SenseCam for a year (2011 - present). I wanted a SenseCam since I first read about it in an article about MyLifeBits, a Microsoft Research project aimed at storing every life memory. The project was lead by Gordon Bell, who wrote about his experience in the book Total Recall. When the cam was released as a consumer product through Vicon Revue, I got one and started wearing it all day. The resulting flood of pictures is overwhelming and I still have no good idea how to categorize or annotate them. One solution might involve Amazon's Mechanical Turk Service, but I never got around trying that. Another strategy is to just wait, as it's probable that a suitable tool will be built in the future, when everybody generates so many pictures.

2011-10-23 by tamberg

Side Projects (Software)

Here's part two in a series on side projects. This time it's all about software, mostly mobile applications written at a time the term app was not yet mainstream. Enabling factors were working at Oberon, were we built a set of libraries, our "tool" to speed up app development and Marc who built the hard parts like OSS and SDB (below).

Kfzm – inventory management for used car part dealers (2003 - 2005). To help the stepfather of my then girlfriend, who ran a small business selling used car parts, and did not yet use a computer at the time. While the system unfortunately never made it past the prototype stage, I learned a whole lot about gathering requirements from non-expert computer users. And he at least bought a PC in the process.

Res – a mobile questionnaire app (2004). I am not entirely sure anymore if this was on the job or a side project, but it involved an XML format to specify surveys that could be answered and stored on a smartphone's SD card, thus enabling students to collect data without a pen and paper. And it's named after my friend Res who came up with the original idea.

Po – a mobile notes app (2005). To explore how simple an app could still be useful, I built the note taking software Po, which was little more than a calendar with a text box. Every change was stored immediately and unnoticeable to the user, due to our file based object database (SDB). Nevertheless, I remained the only regular user.

Oh a Show – an art exhibition Web site (2008). My sister had curated an exhibition and needed a small site to document it. It was a quick job, but I still like this site for the minimalistic HTML (have a look at it with "View Source"). And since lately it's also completely hosted on Amazon S3.

Geo – a location tracking photo app (2008). Using the built in GPS of a smartphone the app allowed users to record their location and upload tracks to Oberon's Simple Storage (OSS) Web service. A static page hosted on the same service displayed the track on an interactive, embedded map using client side Javascript. Photos taken on the phone were geo-tagged and displayed on the same track. Shortly after, apps like Foursquare made it obsolete.

Finally, tamberg's Blog itself is one of those side projects I always wanted to do but never did, until now. Despite the Web 1.0 look, its architecture is quite 2011. Each page is generated exactly once with XSLT from custom XML and then uploaded to Amazon S3. There's nothing more, except for a CNAME entry at my domain host, and the comments embedded via Javascript, provided by the fabulous Disqus.

2011-10-19 by tamberg

Side Projects (Hiphop)

This post is part of a series on side projects. All of the following projects are related to Hiphop. The enabling tools were two Technics MKII turntables and a DJ mixer, important places were the record stores Get, Six Pack and Hum in Zürich, as well as the Kalkbreite squat. The person that was central to most of those projects is my friend and ex flat mate Goran, and a common driver was the Hiphop philosophy of spreading knowledge and creativity.

Daffodil Entertainment – a mixtape label based in my bedroom (ca.1996). The label Web site (one of my first) included Java applets looking like DJ faders that allowed visitors to play short snippets of recorded beats with some serious scratch action by Kratermann, my Hiphop DJ alter ego, whose mix tapes 6/96 and 3/97 still make up the entire catalog.

Quiet Records – a record label (2001 - present). Founded by my friends Goran and Nino, the label's releases cover a broad range of styles from underground Hiphop to emo punk. It features local artists and international collaborations, most of them on vinyl. But to be honest, my contributions to running the label were rather marginal.

Search – a radio show (2001 - present). Hosted by Goran, with Kratermann on the decks, this biweekly radio show "promoting artists who've got an original approach to what we call Hiphop" has been on air at LoRa 97.5 FM for over ten years now.

Somewhere Between – a concert label (2004 - present). Another branch of Goran's Quiet imperium. Starting with a legendary Buck65 concert at Bogen 13 in Zürich, a large number of quality underground Hiphop evenings were held at various squats, bars and alternative venues. As you can see in my collection of flyers, those events make up a good part of my recent DJ engagements.

Teaching programming at a youth prison (2011). Together with Bea, an art teacher I met through a common friend (who knew we both were into Hiphop), I went to a local prison. There we tried to teach programming Scratch to juvenile delinquents. I hesitate to call it a success, as for reasons beyond our influence the participants did change every time, but at least some of the kids seemed to like the lessons.

2011-10-17 by tamberg

Side Projects

Inspired by Gabriel Weinberg's history of (mostly failed) side projects and startups here's an attempt to list the past and present side projects I've been involved with:

  • Daffodil Entertainment – a mixtape label based in my bedroom (ca.1996)
  • Quiet Records – a record label (2001 - present)
  • Search – a radio show (2001 - present)
  • Somewhere Between – a concert label (2004 - present)
  • Kfzm – inventory management for used car part dealers (2003 - 2005)
  • Res – a mobile questionnaire app (2004)
  • Po – a mobile notes app (2005)
  • Oh a Show – an art exhibition Web site (2008)
  • Geo – a location tracking photo app (2008)
  • Wearing a mobile Web cam (2008)
  • Facebook shirt (2008)
  • Rfish – a system to count swimming laps (2009)
  • Building MakerBot #19 (2009)
  • Arduino Web LED (2010)
  • Teaching programming at a youth prison (2011)
  • Web enabled Polar heart rate monitor (2011).
  • Web controlled EggBot (2011)
  • Web controlled power plugs (2011 - present).
  • Web enabled bathroom scale (2011 - present)
  • Wearing a SenseCam for a year (2011 - present)
  • Tweeting SenseCam (2011 - present)
  • Smartphone hosted SMS Web service (2011 - present)

When I made this list and wrote a short paragraph for each of the items, I ended up with a blog post that was quite large and therefore hard to read. So I started looking for ways to cluster the projects and break up the post into multiple smaller ones. In the process I began to wonder what was the main enabler or driver for each group.

An obvious first cluster is Hiphop, which is more of a parallel part of my life, than a side project. Then, there are a number of (mobile) software projects, followed by a few projects focused on hardware. And towards the bottom, Web enabling devices is becoming the dominant theme, or in other words, the "Internet of Things". What drove the projects in all clusters are tools, places and well-connected key persons.

The next posts will cover the projects in each of those groups in somewhat greater detail. I'll try to update this post with links, or at least post them to the comments.

2011-10-12 by tamberg

Pre RHoK #4 Braindump

Today techup.ch, my favorite meetup portal, announced the Swiss RHoK #4 which will be held on Dec. 3rd and 4th in Zürich. From browsing the RHoK problem list it seems that at least two problem solutions require sending or receiving text messages from a Web server. One application provides local bus information to passengers in Bangalore, a second would enable the self-reading of water meters in Nairobi.

There are existing commercial SMS services providing convenient and flexible Web APIs at an affordable price, but it's not clear if they serve the above regions. And in any case, it would be even better to get the same flexibility in a vendor independent way, thus maximizing ownership and self-determination. I am quite sure that such a system can be implemented with existing open source software and readily available hardware components, and still be operated at low cost.

Given the task to provide a Web API for sending and receiving SMS, the basic idea would be to take a smartphone, insert a local SIM card, and run a small Web server on it that provides the API using open standards. This approach decouples the Web application from the SMS service. Web application developers will be more familiar with sending a simple HTTP request containing JSON than talking to a smartphone via USB in a proprietary protocol. But now there is a new challenge: In order to be accessible from the outside, the smartphone needs a well-known, static IP address. And if the traffic amounts to more than a few messages, a single smartphone might not be enough.

Enter Yaler, the project we've been working on for quite some time now. Many of the demos I'm doing involve Yaler, and one might argue that my proposal is driven by the urge to use this technology, but I try to make sure to only use it if there is a real advantage to the project. Through Yaler, the SMS Web service is accessible on the smartphone itself, without additional server software, except for the Yaler code which can be hosted almost everywhere, as it only requires Java. Further – because the SMS service is stateless – multiple smartphones could be pooled together under a single service URL. And because the solution is based on open standards, there is no limitation on which phone OS could be used to implement an SMS Web service provider, so even smartphones declared to be "out of fashion" and destined for the landfill could still serve a honorable purpose. What do you think, could that work?

2011-10-02 by tamberg

MakeOpenData 2011

This weekend MakeOpenData 2011 – the first Swiss Open Data Camp, was held in Zurich and Lausanne where the organisators brought together thinkers and creators to collectively make change happen. More specifically, the aim was to

...help Switzerland move towards a more ‘direct data democracy’ for participation, transparency and accountability from the grassroots.

Most of the projects were novel visualizations of openly available data, such as this simple yet useful site that answers the question Where did my taxes go? for Zurich citizens. Using statistical data provided by the city and some basic knowledge about tax law distilled into a formula, the site shows you how many seconds your money lasted the city. This might sound dull, but it's strangely engaging and connects you to the city and the other citizens in a wonderful way.

Less about data and more about open my own contributions revolve around freeing published, human readable data by making it accessible in a machine readable, open format. The first project, named OpenLetten for the lack of a better name, scrapes my favorite PDF document an re-publishes the contained water temperature of the Limmat river at Letten on Pachube, an open data platform. Being an avid swimmer I care a lot about this little measurement, which is published in said PDF document, dutifully updated once a day. But instead of having to look at a complicated table, I and everybody else can now build a simple Web page that shows a single value or a nice gauge complete with comfort zones, in a few lines of code. The reason for this is not Pachube in particular, but rather the fact that the data is now available in the open formats CSV, XML and JSON. The second project is a short write-up of an effort to put Switzerland on the European version of Geigermaps, a site visualizing crowd-sourced radiation measurements on a map.

Arriving two hours late the first day, I missed the introduction and the team forming phase of the event, which led to me being the only one man team and unknowingly breaking some of the stated rules. Besides this, the atmosphere was quite great and as a deadline driven person the two day format really helped me to get things done.

2011-09-21 by tamberg

Role Models

It has now been ten years since I started working at Oberon microsystems, a small software engineering company, right after finishing my studies in computer science at ETH Zürich. During university, minimizing work hours and attendance did often seem more important than getting in touch with potential mentors. In retrospect this was of course a blatant waste of opportunities to meet interesting people and learn something worthwhile. But, thanks to the engineering-centric culture at Oberon and the exemplary dedication of my friend and colleague Marc Frei, this was about to change for good.

Guided by Marc's deep literary knowledge and his ability to pull out every relevant book, paper and blog post on a certain topic, we became a sort of sect worshipping scientists and engineers: First, there were the pioneers, the undisputed gods in our Olympus of computer science. Dijkstra taught us through his (hand-) writings how not to make a mess of it. Parnas showed us the criteria to be used in decomposing systems into modules and Niklaus Wirth told us to make our programs as simple as possible, but not simpler. We also spent quite some time going back to ETH to see lectures by Don Knuth, Adele Goldberg, Leslie Lamport and Anders Hejlsberg. Oh and then there was that conference in Austria, where we went to hear Tony Hoare, Wirth and Jayadev Misra, but somehow ended up going for a drunk midnight swim in the Wörthersee wearing Brad Fitzpatrick's favorite robe.

Depending on the focus of our work at the time, we also had different "holy" books and authors. Early on, still at ETH, we read a paper by Doug Engelbart describing the mother of all demos. This was probably the first time I understood that passion can arise from reading such papers and trying to grasp their importance for how the world looks today. Later on, in the deep trenches of our daily software engineering work, many more or less practical books and methodologies drew our interest.

Bertrand Meyer's Design By Contract methodology heavily influenced our style of programming and is definitely our most important tool besides modularity. We also devoured Clemens Szyperski's book on component software, Sofwarearchitektur by Siedersleben, Mössenböck's Softwareentwicklung mit C#, as well as Krzysztof Cwalina and Brad Abrams' Framework Design Guidelines and Miro Sameks work on hierarchical state machines. And of course Spolsky. We even named an internal software after him. In terms of tools and libraries there was Lutz Röder's Reflector, Peter Foot's Bluetooth library, Jens Kühner's NETMF libraries and Adam Dunkels' uIP TCP/IP stack.

You might be surprised by the wide range of people listed above, but such are our daily battles that we sometimes look up more to the guy who made it work, rather than him with the noblest ideas. My personal heroes in this respect are the Makers and DIY engineers able to take an invention to the next stage by implementing it in the best possible way. Such as Bre Pettis, Zach Smith and Adam Mayer who built the Makerbot, Jean-Claude Wippler from Jee Labs who builds poetically simple wireless sensor nodes, or Ian Mercer, the king of home automation.

Besides gaining a lasting passion for engineering and other people's work and ideas, we probably also underwent a transformation from being theoretically sound (which goes hand in hand with over-design) to having the right intuition about what's really needed. But then again, there's a lot more people to meet and things to do and learn.

2011-09-11 by tamberg


At long last.

About | Contact | RSS