Will Donnelly
About Me
I'm a generalist Software and Electrical Engineer with experience ranging from
circuit design/layout and microcontroller firmware, to backend servers and JavaScript
frontends. Currently working as a Software Engineer at Google.
I have a GitHub but it's been
dormant since I joined Google. I can be reached at
wgd@willdonnelly.net.
Posts
A discussion of the most efficient ways of encoding constant data in the Lambda Calculus,
where "efficiency" is measured in bits-per-bit when terms are serialized to the
Binary Lambda Calculus
encoding.
A useful bit of code that encapsulates some of the busywork of managing the
PointerLock API
and event listeners to collect mouse+keyboard input for HTML5 video game type uses.
A short note on how to add custom script
element types via a bit
of JavaScript which will fetch and execute the code on page load.
Barely coherent ramblings about how cloud storage of bulk data could
be done in a decentralized marketplace.
A brief development log of pirate-swd, a
weekend-project implementation of the Serial Wire protocol using Dangerous Prototypes
Bus Pirate for hardware interfacing.
It's come in handy a couple of times when I needed to program a microcontroller and the JTAG
scan chain was busted.
For a while I toyed with writing a portable standard library for a handful of common implementations
of R5RS Scheme. This obviously would require some way to determine what platform you're running on,
so I came up with a moderately-clever solution which used unspecified corners of the R5RS specification
to "fingerprint" the implementation it was running on.
Brian's Brain is a fun little cellular automaton. I wrote an implementation in Haskell
because that was the sort of thing I did in college.
I wrote a basic guide-by-examples of Scheme syntax-rules macro patterns.