← Home Archive Photos About Also on Micro.blog
  • I’ve been looking at a lot of generative art libraries. Tyler Hobbs has done some amazing stuff with genartlib (which wraps Quil which itself wraps Processing, the original democratising force here). But Tyler’s stuff in particular I love.

    → 11:12 AM, Jul 24
  • Array Programming Languages

    I’ve been fascinated by languages like APL, J and BQN, and the succint expression of dense computation they allow.

    Sure, I’ve always been fascinated by programming languages. But one constant bugbear has been just how much code it takes to express any significant computation. Array languages offer a set of primitives that operate and compose on much richer data sets (n-dimensional arrays) than the default in other languages, at the cost of looking quite… dissimilar to what programmers normally expect to see, code-wise.

    I genuinely love that APL stands for “A Programming Language”. Iverson’s Notation as a Tool of Thought is eye-opening in its promise, no less so today then when it was written. BQN seems to be the best-available modern open-source implementation, but its documentation is still lacking, especially for programmers new to APL-derived languages. So I thought I’d start with J, especially as it doesn’t need the symbol set APL requires, and it has some interesting means of combining operators (hooks and forks) that looked fun to play with too. There’s also ngn/k, an open-source implementation of K that has an online playground if you just want to jump in and be bewildered.

    That means that my total experience writing APL-style code to date amounts to some tentative J written while following their tutorial. I’ll publish some notes on the experience when I’ve completed it. It’s been fun so far, but not without its own warts & cruft. Host OS interactions look, well, absurd. But I’m still the neophyte here, so it’s their party.

    → 3:59 PM, Jul 17
  • Animating the Pimoroni Keybow keys

    The Pimoroni Keybow is a great little 12-key macro-pad kit. I got mine with Kailh Gold clicky keys too, as I wanted to see what those were like - they’re nice, light to press but with a definite click. They come with a DSA keycap profile too. I’m currently fascinated by keycap profiles and I really want to build a keyboard with high-quality SA keycaps and heavy clicky keys to emulate the look and feel (if not noise!) of the beam-spring behemoths of yore - but that’s a topic for another day.

    Back to the Keybow kit. You can make it without any tools and it gives you a RaspberryPi-powered macropad - a small but fully-fledged computer that you can configure to your heart’s content, if you’re comfortable digging into configuration files and maybe some light programming.

    The Pimoroni Keybow

    Even if you’re not, you can still do some fun things! Each key has an RGB LED under it, and Pimoroni have set it up so that you can animate the LEDs just using an image file in PNG format. Any popular image-editing tool can create these. The image file should be 12 pixels wide, one for each LED, and you can animate it by having additional rows. One row is a single step in the animation (so just have a single row for a static set of lights permanently on).

    It’s not clear from the Keybow’s documentation which column in the image corresponds to which key. It doesn’t match how the keys are numbered in the programming sections. After some experimentation, if you orient the keybow so that the USB cable is coming out of the top, column one of the image is on the bottom left, the bottom right is column four in the image, the top left is column nine, and the top right is column twelve. The two keys in the middle row are columns five and six of the image, and so on.

    With that worked out, I wanted to make a snow animation, matching the orientation of the keys (i.e. with the narrow side facing up). The image file I made is here. It’s not quite as random/unpredictable as I’d like, but a few more animation cycles would help - pull requests welcome :)

    → 7:44 PM, Nov 10
  • For programmers, Vim is the minimal but powerful text editor present on every unix system worth talking about. For designers, Vim is the forename of a renowned designer. If you like either, check out Minimal Vim for a nice exploration of minimalism in font design.

    → 5:41 PM, Nov 5
  • If you’re coming from the javascript/React/Redux web app development world, Henrik Joreteg has a great article on architecting UI state to handle rapid design changes (in part by mandating simplicity). If you’re a ClojureScript developer, Re-frame works like this by default 🎉

    → 2:41 PM, Nov 5
  • RSS
  • JSON Feed
  • Micro.blog