2016 was a pretty big year, I kept chipping away at my monastic engineering experience. And a big chunk of the last three months has been researching and developing a curiosity. It got finished in late December and is sitting in the workshop awaiting its maiden launch in a week. Here is a little tease:

Marsarium ready for launch.

I still managed to get lost on my engineering journey, some distractions punished my productivity. So for 2017 I’m trying something different, inspired by a quote from the main character ‘Will’ in the film About a Boy:

I find the key is to think of a day as units of time, each unit consisting of no more than thirty minutes. Full hours can be a little bit intimidating and most activities take about half an hour. Taking a bath: one unit, watching countdown: one unit, web-based research: two units, exercising: three units, having my hair carefully disheveled: four units. It’s amazing how the day fills up, and I often wonder, to be absolutely honest, if I’d ever have time for a job; how do people cram them in?

Will is 36 years old, rich and child-free. His thoughts about time set the ambience for his own self-indulgence. Before starting the monastic engineering experience I was the opposite, everything came second to School/University/Job. So I guess that is why there are days where I feel downright guilty. My whole professional career was geared around delivering value: People need to do Y! Build an efficiency improving thing so they can do more Y!

When I replaced Y with ‘because I can’ or ‘what would happen if?’, I also gave up a steady pay cheque. I completely lost my reference point for value. So yeah, some days I feel self-indulgent and guilty. Mostly because it is difficult to see how monastic engineering adds value to our society. I guess that is why this website is such an important part of the journey. Writing down solutions helps me better understand them, but if they also help others? Relief. Value delivered express to others via the Internet.

So for 2017 I’m going to take a leaf from Will’s book and break my year into units of time, a total of 2400 units. Many of those units will be budgeted towards indulgent, ‘what is the value?’, curiosities. I guess they are a loss-leader for the articles that do help others. I’m also going to make a couple of small products, one I will give away, the other I might try to sell. Here is what I want to create:

three curiosities, two products, two collaborations and 30 articles.

My collaborations, is really a bit of consulting. Stuff where I work for others using skills I have picked up along the way. I have booked two for the year and I’m pretty excited about them. One is something I have been helping out on for over a year now, ‘Measure The Future’. More on that soon.

Oh yeah. Exercise is still an important part of the monastic engineering experience. I managed to run 610km’s in 2016 and this year I’m aiming at running a half marathon (21kms).


Dear Meagan Streader,

This letter is way overdue in more than a couple of ways. I’m going to dive into the things I find awesome about what you create, but first forgive a little digression.

For the last few months I have been trying to balance out who I follow on social media. My feed was so male dominated it wasn’t funny, eventually I decided I would try and follow an equal number of men and women. Long story short, my social media is more balanced but certainly not equal. And the net result has been overwhelmingly positive, a vastly more interesting and pleasant place to browse. My list of influences though? Still completely messed up. I’m trying to fix it.


Shh. Don’t tell anyone, but I’m kinda a closeted geometry nerd. I love the stuff, you won’t believe how excited I get when I have the opportunity to bust it out when I write software. The set of spatial drawings you recently made in New York gave me a huge blast of this geometry induced oxytocin.

Skewed Panels by Meagan Streader.

I also don’t know much about art or aesthetics, and the only decent way I have ever been able to learn anything is by doing. For the past little while I have been making odds and ends heavily influenced by Tom Sachs. Pull something apart, write some software and put it back together in the most ‘Sachsian’ way I can manage. I guess I’m a bit like those shitty bands covering Pearl Jam in the back of an RSL club. Except I’m writing software and making fan art?

Anyway, a new friend of mine wanted to collaborate on an interactive light thing for an electronic music festival. It was all fitted to a large aluminium hexagon tunnel. My first response: “Hey! Do you know the work of Meagan Streader? She is an awesome Australian artist, she makes these amazing ‘tronscapes’ out of EL wire. Maybe we could do something like that?” I gotta be honest here: initially I got a blank stare back. But I persisted. “Here. Lemme show you.”

We ended up building something out of LED strips that was a random noise pattern till someone was inside the tunnel. Then it would burst out and yell ‘Meagan!’, all the LEDs would come on and approximate a hexagonal manifestation of your EL wire spatial drawings. It was only just for a brief moment as they past, maybe a second? So I guess we kinda subliminally blasted your work at punters as they arrived to get their dance on.

One Quarter U Bend Column by Meagan Streader.

In the process of creating our tron tunnel I discovered a hidden element of your work. Your recent adoption of cool white lights leaves you with an awesome minimalist palette. It lets the geometry, light and shadows do all the work. It feels like it is from the future. A fantastic future full of mars colonies and electric cars.

I’m really looking forward to your next creations.


Clinton Freeman.

P.S. I have a quick question: Who are your top five influences?


I love the Raspberry Pi. They are small, cheap and don’t need much power. Most of the time use them in projects that need extra computing punch. Stuff like Over-engineered man hole covers, installations for travelling science exhibits and fish-detecting aquariums.

For these sorts of projects the Raspberry Pi isn’t connected to the Internet or a screen. The Pi is just lurking out the back, with some code controlling sensors, lights or something. But when I was developing this projects I ran into some sort of stability problem with the Raspberry Pi. Randomly the Pi would crash, it could be after 5 minutes, or 5 hours. But eventually the Raspberry Pi will get into a state where it looks like it is on, but doesn’t do anything.

I’m not the only one, many others have had similar issues:

“If I left the Pi running without interacting with it for some time and try to ssh or VNC to it after a while, it stops responding back. But the ethernet lights and the Power (red) LED keeps glowing without indicating any activity. I tried unplugging and reconnecting the LAN wire, pendrives, etc. but the only way was to unplug the power cord and restart the RPi.”

Provide enough Power

Raspberry Pi 3 Model B plugged into a 5V wall wart adapter.

Make sure you are running a 5-volt power supply that provides at least 2.5 Amps.

And if you are attaching USB peripherals, like a webcam or something. Go with an external powered USB hub. Although this is something that has improved, the earlier variants didn’t like USB devices drawing much power at all. All the same, I still go with a cheap generic hub for powering all USB peripherals plugged into a Raspberry Pi.

Use a high quality Micro SD Card

You want to add a decent SD card, something with wear levelling and a decent amount of space. The cheap generic cards tend to quickly become corrupted. I usually throw something like a 16GB SanDisk Extreme into my Raspberry Pi.

Remove GVfs

Raspbian comes has a package called ‘GVfs’ (GNOME virtual file system). For me, GVfs seems to do nothing but cause kernel panics (crashes). It is the first thing I uninstall:

  $ apt-get purge --auto-remove gvfs-backends gvfs-fuse

Naturally if you are using the GNOME desktop environment or working with data accessed via GVfs, this won’t be an option for you.

Blacklist the cfg80211 module

I try to disable the cfg80211 module whenever I can. This is something you won’t be able to do if you are using Wi-Fi (you need cfg80211 for Wi-Fi to work). But I sometimes get kernel panics from this module, especially when it is not in use.

Edit raspi-blacklist.conf and add cfg80211:

  $ sudo vim /etc/modprobe.d/raspi-blacklist.conf
  blacklist cfg80211



Each time I build an image with docker, it gets tagged with the project identifier. You know, Something like ‘$ docker build -t cfreeman/reprage .’ The problem is that old images don’t get cleaned up, they just get left behind. Dangling until I clean them up, usually when I hit an inevitable ‘no space left on device’ error when building something.

 cfreeman/reprage   latest              c71e362c3635        4 minutes ago       755.1 MB
 <none>             <none>              58393936e5f1        7 weeks ago         754.3 MB
 <none>             <none>              4eaee92d2db0        7 weeks ago         754.2 MB
 <none>             <none>              337bf3d01226        8 weeks ago         754.2 MB
 <none>             <none>              5335ebaadca3        9 weeks ago         753.5 MB
 <none>             <none>              ef5f6cb0a7a0        10 weeks ago        753.4 MB

Ugh, such mess and much wasted space. I use the following bash script to prune out the old unused docker images:

 #docker-clean.sh: Removes all images that have don't have a tag.

 docker images | grep '<none>' | while read -a line ; do
     docker rmi -f ${line[2]}

The script uses grep to filter output from docker to return only the images without a tag. Bash builtins (‘while’ and ‘read’) are used to read one line at a time from the filtered output. These lines get broken into words and sequentially assigned to an array. The docker image ID lives at index ‘2’ of this array, the ID is used to remove the image from docker.


Oh yeah. This is totally legit. You have no idea how good it feels to be typing this post. I think I may have finally completed an epic side-quest for the perfect keyboard.

A picture of WASD mechanical keyboard

It has been some time since I was studying Computer Science at University. Many of my classes where held in this cool old laboratory, ‘The Madsen Building’. The lab was originally constructed as the National Standards Laboratory for the CSIRO. It was also an important facility during World War II, when a radiophysics division took up residence and pumped out radar improvements.

There was also a rumour that the building had a secret escape tunnel. The tunnel entrance was allegedly somewhere on the lower basement floors, and supposedly lead underground to a nearby college. Finding that entrance was a final year obsession; that sucker is still hiding from me someplace…

I spent a fair chunk of my time in the computer labs on the lower ground floor. Most of them were refurbished, decked out with the beige towers of the early 2000’s and ‘modern’ flat screen cathode ray tubes.

But a couple of the rooms still rolled with these kickin’ old terminal style computers. At busy times, all the flashy new computers would be taken up first, and the old terminals last. I was a bit of an exception, because I always headed straight for one of the rooms with the older computers. Why? The world’s BEST keyboard lurked in that room. It had a silky smooth action and it felt like you were typing on a cloud.

I have spent the last few years trying to recreate that typing experience. I knew it had to be a mechanical keyboard of some kind, so I got myself an IBM Model M keyboard. It wasn’t the same - it needed way more force to get the little springs inside the switches to buckle. Plus it clacked and clattered and wasn’t like typing on a cloud at all.

More recently I put in a bit of effort researching modern mechanical keyboard switches. It seemed that the premium switches used by manufacturers in their keyboards all came from the Cherry Corporation. Cherry’s MX series of mechanical switches are inside Das keyboards, Logitech, Corsair, WASD Keyboards and many others I’m sure.

These Cherry MX switches also come in a variety of flavours or ‘colours’, each with a different actuation force and ‘feel’. Actually this YouTube video does a neat job of showing how they each work and sound.

Naturally from the video you have no real idea how the key ‘feels’. So you can pick yourself up a little tester kit so that you can try out each of the switch styles. But I was impatient, and from what I could see. Brown? Yeah. MX Cherry BROWN, they looked like the business. So I decided to take a punt.

I’m not a fan of the whole horrible rainbow back-lighting you find on many ‘gaming’ keyboards. Plus I use a Mac, so my options were pretty limited to WASD keyboards. They are kinda cool actually - super customisable and no rainbow lighting. They’re not cheap, but I do spend lots of time at a keyboard typing sweet nothings into a compiler so I may as well make it good.

It arrived the other day, jet black and chunky. The appearance completely belies the gentle typing cloud lurking underneath. I also picked up the foam wrist pad, and while it doesn’t lock into the keyboard itself, it is pretty grippy and seems to mostly stay in place. But the keyboard itself? It has a build quality that feels like I will be typing on it for years to come. I love it.

My MX Cherry Brown mechanical keyboard from WASD gets 4.5 starts out of 5.

4.5 stars out of five

Dear Adrian Bliss,

Woah Greg. Relax. This isn’t that kind of love letter. What are you doing reading Adrian’s open mail anyway? Ugh. Sorry. Readers who haven’t watched Vlogvember and Vlune are already completely lost. This letter needs some bloody context and foreshadowing…

Adrian, your satirical take on social media culture and ‘YouTubers’ is brillant. I don’t know about you, but I can’t remember the last time I watched broadcast television. Shit, I don’t even have a television these days. But as a teenager I grew up with one and the Seinfeld intro was something that would come blaring from the living room most evenings.

Yeah, I’m going to go there. Your vlog series is as good as Seinfeld. Like Jerry, you adopted a fictionalised version of yourself and set him up with aspirational life goals. You tear your fictionalised self to shreds and the self-deprecating tone softens the underlying critques. It helps us all laugh at the absurdity of our own roles in social media. Just the way Seinfeld did with the minutiae of life in the 90’s.

It seems fitting that a modern adaptation of a format popularised by Seinfeld is played out on YouTube. Your series is one of the first to cross the ‘YouTube Singularity’, where short format indie content is better than the majority of traditional productions. I’m really excited by what your generation is creating and how it will bring the established entertainment industry to its knees.

Throughout both of your vlogging seasons you managed to weave an amazing story of love and friendship. Something that you wielded so artfully that I found myself rolling through a wide spectrum of emotions in a single episode.

Spoiler alert, the following frame is from the end of Vlogvember. Seriously, watch the series from the start.

A still frame of Adrian and Greg at the end of Vlogvember

Secretly I like to think that you sprung that, completely unawares on Greg. Just to capture a genuine reaction.

This fan letter is actually part of a series, where I dig into my ‘family-tree’ of influences. I want to try and better understand why I like the things that I like. People such as yourself are pretty hard to learn more about. I have no idea where to even look to try and figure out who are your influences. But I’m trying.


Clinton Freeman.

P.S. Keep making all the things.


In the last few years, the popularity of Arduino based devices has exploded. Lots of other manufacturers have started slinging a lineup of ‘clones’ and counterfeit products. Meanwhile, the ‘official’ Arduino brand imploded. All this choice makes purchasing Arduino devices a minefield for newcomers.

You first have to overcome terminology, what the hell is a ‘clone’ anyway? It is such a strange backhanded phrase to use in the context of open hardware. Someone shared their ideas, while others borrowed from them and sprinkled in a couple of their own? The offshoot gets labeled a ‘clone’ and frowned upon? But isn’t that what was supposed to happen? People learning from your ideas? Remixing them? Extending them? Sharing them?

Here are a couple of Arduino ‘clones’. The one on the left uses cheaper manufacturing, while the other includes substantial hardware improvements:

Two Arduino compatible devices.

I think ‘compatible’ is a much better term for either of the above options.

Although at times, ‘forking’, a phrase from the open source software community also works. A fork explains what happened to the ‘official’ Arduino brand last year; when a trademark dispute erupted between core Arduino developers. It ended with a split, the original hardware manufacturer going one way, while the IDE and library developers went another. The project ‘forked’ and so now there are Genuino products as well.

I think we have reached the point where any hardware manufacturer should start using the phrase ‘100% Arduino compatible.’ That is to say, this board is programmable with the Arduino development environment (IDE).

This is different from counterfeit boards, they are a ‘bad thing’™. Someone spending time and effort to make their product look the same as another vendor? They should have saved that effort and just mentioned that their product is compatible. Trying to make a few extra bucks by printing someone else’s brand on your product is a jerk thing to do. It is a subtle difference, but an important one. To borrow an analogy found in your supermarket, imagine you are a drink company. You can’t just go around slapping ‘coke’ on your products, that is something that belongs to the Coca-Cola Company. You can still call your drink a ‘cola’, a descriptive term for a group of similar drinks. But you can’t use any of the imagery that clearly identifies a bottle of drink as coming from Coca-Cola.

A manufacturer using counterfeit components in their Arduino compatible devices is also a jerk move.

The semiconductor company, FTDI sells chips for converting serial transmissions to USB. They made the bit that made it easy for a computer to upload content to an Arduino over a USB cable. In 2014 FTDI got frustrated by others cloning and selling knock offs of their integrated circuits. FTDI fought back and released a software driver that would ‘brick’ or make counterfeit chips inoperable. The bricking could be undone, but not without additional legwork. This was also a bit of a jerk move on FTDI’s behalf, many people had no idea if their Arduino compatible boards contained a counterfeit FTDI chip or not.

A genuine FTDI serial to USB chip.

Confused yet? Yeah. I just want to get to making something cool too. But I also want to kick a little back into the community that created lots of this stuff. So here is a little buyers guide I use when buying Arduino compatible hardware:

Is it counterfeit?

If someone is clearly trying to pass off someone else’s brand as their own, I don’t buy it.

Does the manufacturer use counterfeit components?

This is impossible to tell from photos when placing an order online. But these days I go out of my way to avoid anything that has an onboard FTDI chip. I have a breakout board with a legit FTDI chip if I need to go down the FTDI road. But lots of the newer Arduino compatibles are USB native and don’t use FTDI at all to communicate with your computer.

Does the manufacturer share the designs of their own improvements?

I go out of my way to hunt down manufacturers who spend time and effort documenting their own changes and improvements. It follows along in the ethos of the original Arduino developers who shared their own ideas.

Does the manufacturer pay a royalty?

This isn’t a huge deciding factor for me. The big end of town like Intel pay licensing fees and are certified by Arduino. While the average manufacturer of Arduino compatible devices doesn’t. Like a generic cola company, these manufacturers pass on savings in branding costs to the consumers. It is not quite the same, but it is still cola. Same with an Arduino compatible device, not quite the same but for the most part it will do a similar job.

The problem here is that hardware sales and royalties have for a long time supported improvements to the Arduino development environment.

So if you are buying Arduino compatible boards and no royalties are getting back to the Arduino developers, then it is much harder for them to work full-time on improving the platform.

If you are buying Arduino compatible devices, there are a couple of other ways you can still contribute to the platform:

  • Donate. Those few bucks you saved buying an Arduino compatible device could be donated straight to the developers of the Arduino IDE.
  • If you are strapped for cash, you can always contribute your own time and ideas. Head over to github and get involved in the Arduino development effort. This could be everything from helping write documentation to coding bug fixes and enhancements.

Dear Elon Musk,

Don’t freak. Sure this might be titled as a love letter, but it is just a way of formalising my own thoughts; what I like about your work and how it influences my own. The whole love letter thing is just something inspired by an industrial film directed by Van Neistat. Yeah, he has his own love letter too.


You genuinely give a shit about humanity.

It is more than one of those passing “oh yeah climate change, we gotta do something about that” thoughts. It seems to be more akin to “I’m going to put everything on the line and bloody help”.

You founded Tesla to accelerate the transition toward sustainable transport with their electric cars. You also founded SpaceX to reduce the cost of rocketry to the point where it is viable to create a colony on Mars. A backup of humanity.

Sometimes I joke that Tesla is an extremely over-engineered carbon-offset program for SpaceX. (Hey, this couldn’t be all serious, otherwise I would end up in fawning love letter territory.)

Anyway, 2008 really knocked you around. It sounded like you faced the perfect storm: an imploding US economy, Tesla on the verge of bankruptcy and SpaceX burning millions on getting a rocket into orbit. I think it was in the Vance biography where you talk about some of the stress you faced, and the fact that you probably had burnt out a few circuits during that time. But your resilience and determination never faltered. You put everything on the line and kept pushing to the end.

In many ways it reminds me a little of that infamous Winston Churchill speech:

“We shall fight on the beaches, we shall fight on the landing grounds, we shall fight in the fields and in the streets, we shall fight in the hills; we shall never surrender.”

You were never going to give up on Tesla or SpaceX. You were going to keep trying, right down to the last dollar. Because you genuinely give a shit. Because you see both Tesla and SpaceX as critical to humanity becoming sustainable. Perpetual.

I have a daughter; she is three. So thanks. Really. Thank you for putting it all on the line for her, for everyone. This stuff is important, and in the sea of horrors that is the unfolding climate disaster it gives me hope.


Clinton Freeman.

P.S. My daughter and I watch SpaceX launches like many would watch their favourite sports on TV. I’m really looking forward to the night were I get to wake her in the middle of the night so we can watch humans set foot on Mars.


The Intel Edison comes with a neat command line tool configure_edison that makes it easy to connect with existing wireless networks. With A few extra tweaks you can convert your Intel Edison into a wireless access point (AP) and private network that other wifi devices can use.

Network diagram that show the differences between client mode and access point for the intel edison.

Connect the ‘console’ port of your Edison to the USB port a computer and follow the Intel instructions for setting up a serial terminal.

Then switch your Intel Edison into access point mode:

$ systemctl stop wpa_supplicant
$ systemctl start hostapd

This stops the default wifi client and starts the host access point daemon. To ensure this setup boots on startup, you also need to tweak the start up scripts:

$ systemctl disable wpa_supplicant
$ systemctl enable hostapd

Now access point mode will automatically start when you power up your Edison. Other devices can connect to your Edison and the default configuration will be:

  • SSID / Network name will be the same as the device name you set when you ran configure_edison.
  • Password will be the same as the password you set when you initially ran configure_edison.
  • The IP address of the access point will be

Other settings and options for the access point are tailored in the configuration file found at /etc/hostapd/hostapd.conf.