An attempt to implement the Gigatron TTL Microcomputer on an FPGA, in Migen.
Never send a human to do a machine's job
Having trouble with /dev/ttyACM* devices? Think you've disabled SystemD ModemManager? Think again ...
Some hardware on my workbench ...
Espressif sent me this nifty "ESP32 Meshkit Button" to play with, let's have a look ...
My Python 3 conference T-shirt ...
A pretty cheap, nifty little 3D printer which works well right out of the box
FuPy is a port of MicroPython which runs inside an FPGA. I take a look at it and try to get my head around how to program for it ...
I headed to PyCon 2018 in Sydney for lots of Pythonic goodness, and then back home for Compose Melbourne, a newish FP conference.
What if you could have a rich web frontend without developing one?
Editing an AST in the browser
What if there were no functions?
Are programs really text files?
Improving the out-of-box experience for MicroPython using WebUSB
Talking MicroPython at LinuxConf in Sydney!
A build log for the "Rocket Surgery" project at BuzzConf 2017
IoT Networks without IP? Madness. But ... maybe ...
PyCon 2017 in Melbourne!
Want to sprint on MicroPython?
Conferencing continues in 2017 ... LinuxConfAU, PyConAU and perhaps YOW
This site is now on Github Pages.
The ESP32's capacitive sensors, and how to use them from MicroPython
I've been doing a lot of work on MicroPython ESP32 lately ...
I've been to LinuxConf before and I've been to Hobart before but this time I'm going to LinuxConf in Hobart, for the Open Hardware Miniconf
Why can't I just ping this widget?
Unicode? Too simple! Try Omnicode!
some utility programs to copy and mount MicroPython filesystems from your computer
I did roughly the same talk again for IoT Aus
So far in 2016 I've been to LinuxConf, PyConAU and Compose, and if it hadn't been the same weekend as PyCon I'd have gone to DDD as well. I've also been along to plenty of smaller meetups including MelbDjango and BuzzConf Nights. So why all this relentless conferencing?
Flobot gets a rewrite into MicroPython, a new hardware platform and a lot more discussion ...
PyCon 2016 in Melbourne ...
IP-layer load balancing without an actual load balancer, by abusing (well, extending) ARP.
Trying to better understand the problems of the IoT by actually listening to its detractors.
So some ludicrous proportion of SQL these days is generated by one ORM or another. And all the cool kids have decided to move on to the next thing anyway. So that got me thinking ... when we talk to an SQL database through an ORM, we're turning a bunch of operations on objects into a human readable query language, then turning that back into a query plan. *Why?*
A brief and not necessarily totally accurate history of diff3
Improving on the design of the NodeMCU modules ...
A project to create mini robots for education purposes
Bringing databases into the Blue-Green Deployment process by using CQRS and idempotent work queues.
Working on a graphical dataflow language for educational robotics.
I like the idea of ephemeral, immutable servers in light containers but what I really want is to put the entire state in a Git repo ...
Linuxconf 2016 was held in Geelong ...
I was talking to $PERSON from $BIG_COMPANY the other day, and they happened to mention that around 80% of their CPU time was spent on serializing and deserializing data ...
OSDC 2015 "Talking with Leviathan: Interfacing Open Source to SAP"
Distributed Disruption of Surveillance ...
Apple uses a signing mechanism for in app purchases, but its behaviour is a bit weird. This post outlines how to confirm the validity of Apple's receipts in Python.
Accidentally putting a foreign key between an InnoDB table and a MyISAM table results in an error "Cannot add or update a child row: a foreign key constraint fails"
My presentations at OSDC 2014 on the Gold Coast!
A vulnerability in 'bash', popularly called 'ShellShock' has been all over the news this week. I've spent a lot of time talking to clients about it over the last couple of days, and checking up on systems, so I thought I'd write some of those conclusions down.
From the "Ideas I'm Never Going To Implement Myself" bucket: NoMail is an email service which doesn't store anything. Anything at all. Email received by NoMail is ephemeral and exists only in your client.
I presented a session on 'Programming for non-Programmers' talk at General Assembly Founder's Bootcamp ... here's some notes which I jotted down afterwards ...
Perhaps instead of looking at cookies as a proxy for passwords, we should be looking at passwords as a transport mechanism for secrets! The desired result is to share a secret key between the server and one or more browsers, and the password is merely a mechanism to prove the browser worthy of the secret ...
Tranquil is a protocol framework which is designed to be very simple and very extensible.
I was setting up Django using Gunicorn behind an Nginx proxy the other day, and hit this problem which took a while to find an answer for ... all Django would do was return `400 Bad Request`
Django REST Framework: The Good, the Bad and the Ugly. Presented at MelbDjango 0.9 on 6 Feb 2014
A (somewhat sketchy) connector between HTTP and postgres stored procedures ...
A short rant about a common beginner's mistake in dynamic languages
A couple of people have mentioned that while they like the idea of offloading their site to a CDN, they're not ready to have their site look like some relic from 1999 ...
Using CSS to make nice looking buttons for Native Apps (using PhantomJS)
The current storm in a teacup seems to be about static vs. dynamic website design. As usual, this is a False Dichotomy ... actually, there's a whole range of options to explore.
I presented at the MelbDjango user group on 11 July 2013, here's the slides and some quick scribblings re: the content of my talk, and the feedback from the Djangonauts present.
This site is now created using Pelican and hosted on Amazon S3.
I want to discuss some weirder things on this blog, but I think it'd be a good idea to start off with an overview of how to build a very simple HTML5- or Native App friendly architecture.
HTML5 Canvas reminds me of the good old days of the `APPLE ][` ... this article looks at how to do some interesting things with Canvas and numeric.js Splines.
Mostly, getting stuff done fast in the web world requires doing things in parallel. However, every now and then you bump into a problem where this just doesn't work ...
I've used this authentication method on a couple of different client projects so far, so I thought it might be useful to write up a quick explanation of how it works.
Image a WWW using Cryptographic Hash URIs instead of URLs.
Getting data onto curmudgeonly devices
a very old article indeed!
(rather out of date)
GCC 4.6 is slightly fussier about the order of its options than predecessors ...
Repeated substitutions are Turing Complete
The great EBS Outage of 2011
the only useful blog post comments I ever got before I turned them off forever
It seems, at first, that C# doesn't have first-class classes. But ...
a quick note for anyone trying to do FreeTDS through a tunnel or a firewall pinhole