The Clockwork Penguin

Daniel Binns is a media theorist and filmmaker tinkering with the weird edges of technology, storytelling, and screen culture. He is the author of Material Media-Making in the Digital Age and currently writes about posthuman poetics, glitchy machines, and speculative media worlds.

Tag: coding

  • Operation Tech Revival, Part 2

    Read Part 1 here.

    Photo by Alessandro Oliverio on Pexels.com

    Part 2: Mmm, Pi.

    A few years back I bought a Raspberry Pi 3B+, with the intention of using it as a safe little sandbox for learning to code. I thought maybe I would buy up some components and make little robots or something, maybe a web server or the like. Who knows, one day I may still do all of these things (and/or continue learning Python, which I abandoned at about the Functions mark).

    The Pi was a fun little thing to boot up every now and again when my primary computer became too slow/overwhelmed through lockdowns, or when I became overwhelmed by to-do’s, notifications, projects, etc, on my work machine. It really only has enough juice to run a web browser with one or two tabs, or LibreOffice Writer for basic word processing/drafting.

    But I never really considered how the Pi might fit into my overall tech set-up, or whether it might actually be suitable as a regular machine at all.

    I’ve always been intrigued by people returning to simpler modes of engaging with tech, particularly those in knowledge work where plenty of writing or focus time is required. Devices like the Freewrite, the AlphaSmart, the ReMarkable, all speak to a desire for writing with less bells and whistles, less , more focus and control over your ‘machinespace’, if not your actual space or environment.

    Cue late last year and early this year, where I started thinking more seriously about writing more regularly, particularly for this here blog. Cue also the aforementioned death of the Mac, and desire to revive some old tech, and maybe the Pi is just the right (write?) minimalist tool for the job. With an internet connection and basic desktop functions it’s not exactly a ‘dumb’ device, but I figured it might be a nice restricted environment to get some words pumped out.

    Booting it up again, there was the old OS, Raspbian, a basic standard desktop wallpaper, and a Documents folder festooned with abandoned coding practice files. I figured starting from scratch might be a good idea. I won’t bore you with the details, but suffice to say sorting out which version of the new Raspberry Pi OS would work best on an older model of Pi was… taxing. Between the Pi and the Macbook I do want to be able to use at least some of my main apps/tools etc, including Obsidian, but finding a version of such programs that are compatible with both older hardware and older systems is fairly painful.

    Whenever I plug into ethernet, I feel like I’m going into lightspeed.

    For now, I’m running 32-bit Raspberry Pi OS. There’s no Obsidian (that may have to remain on the work laptop/iOS devices depending on how the 2011 Macbook goes), but I’ve got a basic version of LibreOffice up and running for docs, presentations, spreadsheets. The process really inspired me to try and get back into Python, if only to build up a working knowledge of it over the rest of this year. While more complex projects may function better on one of the bigger machines, I can at least use the Pi as a dedicated coding tool for now. Depending on how it all goes, I may end up trying some of those robotics or server projects I was daydreaming about.

    “Get outta my dreams; Get into my car…”

    I’m running this bad boy with the top down. Do Pi people say ‘with the top down’? I don’t really care, to be honest. I just mean I took the lid off because the poor little thing got quite hot, what with being wiped and reloaded 3-4 times over the course of a few hours. For shits and gigs, I also love hooking the Pi up to my enormous 4K monitor; pretty remarkable that this tiny little box can project to a display so huge with decent resolution.

    Once again, precisely how it fits into my workflows, processes, projects, let alone how it could remain semi-permanently in or on the physical workspace, remains to be seen. It was fun, though, to get it back to zero, to a place where I can answer some of those questions as I move forward.

    Speaking of moving forward, the doorbell just rang; I think a solid state hard drive just arrived. Which means the Pi is done for now… next up, the Macbook…

  • Rules

    img_2964

    Taking my first steps in the world of programming, I’ve been intrigued to see that many of the overarching rules for ‘best practice’ and the more philosophical protocols for program design/code structure, are nearly the same as in screenwriting.

    1. Keep it simple.
    2. Show, don’t tell.
    3. Don’t repeat yourself.
    4. Only do one thing at a time.
    5. Write for your audience.

    These aren’t rules in the traditional sense. They aren’t dictums passed down from on high that every programmer/screenwriter must adhere to. Occasionally you simply can’t keep it simple. You may well have to tell, rather than show. And sometimes, because it’s necessary (or because it’s something of an artistic flourish), you may have to repeat yourself.

    Rather, these are popular rules, finely honed over the 120 years that people have written for the screen, and the 200+ years that programs have been written for machines.

    It’s not just rules that translate between programming and cinema, though. There are quite a number of connections between the art of creating computer programs and the prevailing analytic approaches to film; but that’s for another time.

  • DOMs away

    75% of the way through an Essentials course in JS, and I can’t wrap my head around the DOM. I get the concept, but the logistics of actually manipulating it are eluding me.

    Yes, I realise there are simple syntax solutions to most problems. Variables, functions, arrays, etc, have well and truly sunken in, but the DOM is a wall in which I can’t seem to find a doorway.

    Bah.

  • Entering the matrix

    I’ve found myself frustrated in the last twelve months or so with a few mundane computer tasks that I have to undertake regularly, both for life admin and for work. Things like sorting out variable savings budgets, typing the same sentences over and over again in emails and other correspondence… I have also found myself wanting to play with websites in interesting ways, and am looking forward perhaps to looking at some of the intersections between cinema and code for research. All this — along with an institutional subscription to Lynda — has led me to undertake something of a crash course in programming. My initial efforts are the usual (Hello world, guess my number etc), but it’s enlightening to see how much work goes into the simplest of applications.

    Stay tuned…