Category: Projects

  • Holding Pattern: Combating Time Blindness with a custom daily planner

    The curse of meetings

    I’ve always hated meetings.

    Whether in-person or remote – they always felt like an interruption; A distraction from what I was supposed to be doing. A disruption to productivity. One single 60 minute call could effectively de-rail an entire day.

    Over time, I’ve adopted various strategies to limit the number of calls on my calendar, and deliberately batch them to mitigate the heavy cost of context-switching.

    Such an aversion to calls can often be seen as laziness, but the truth is that not everybody operates in the same way, and I’ve come to realise that rather than a deficiency, the manner in which my brain perceives time, concentration, and obligations is just a bit different from others. (While not exactly the same, there’s a good article that touches on the idea of the Maker v. Manager schedule).

    To some end this has been a blessing. For one thing, I have managed to avoid the trap that many mangers or senior people seem to fall into – with constant, back-to-back meetings attended out of a self-imposed sense of expectation, sucking up all of my available time.

    However. Meetings are also unavoidable. And dare I say it, also sometimes beneficial. Especially if you work remotely – as it provides an opportunity to communicate ‘face to face’, rather than asynchronously over text – with all of the associated positives. As a result, I have continued to search and experiment with different ways to hopefully lessen the cognitive burden.

    Time Blindness

    Something I discovered was that my natural inclination is to fixate on any scheduled calls as the ‘big thing’ for that day, which in my mind then squeezes out the ability to do anything meaningful on either side. A kind of time blindness.

    I tried different ways to combat this. For example: Tagging every item on my to do list with an estimated time of completion. The idea being that this would force my brain to realise that there was time to do other tasks, even if it felt there wasn’t. However, nothing really stuck.

    The closest I came was with a physical daily planner. By laying out the ‘big things’ I had to do on paper, I could clearly visualise the amount of time left – which was always much more than expected.

    As much as I love the tangibility of that… it is also inherently inflexible. Schedules change. Things move around. And you can’t easily change what has been commited to paper. So… I created my own digital version.

    The Daily Planner

    Holding Pattern is a bespoke daily planner that I created with Claude Co-Work.

    It pulls in data from my personal and work calendars via Google oAuth, and allows me to augment these bigger ‘events’ with smaller additional daily ‘tasks’ that aren’t important enough to warrant their own calendar entries.

    Similar to my old-school paper planner, the tool allows me to visualise each day in a way that clearly demonstrates how much time there actually is – rather than fixating on the one ‘big’ meeting or call.

    Fake data!

    Another feature I built-in was the ability to tag, and then check-off or track different events. This produces a list of completed tasks, demonstrating at a glance how much (or little) I have done over any given period, and providing a source for producing bi-weekly personal updates.

    I need to do more, clearly.

    There are definitely tools out there that do various bits of what this tool does. Calendars, To Do Lists, Planners – but none of them combined all of the features I wanted in a single place – without additional fluff or complexity.

    Implementation

    The planner took a day or so to build, and is hosted on GitHub Pages, served via a custom subdomain to make it easier to remember.

    It relies fairly heavily on Google oAuth – both to connect to my calendars, but also to synchronise the additional ‘task’ and settings data to Google Drive. That, coupled with the bespoke personal nature means that it is unlikely to be much use off the shelf to anybody else. But… perhaps it will help to spark some ideas for folks out there who have similar struggles with scheduling. The project source is available on GitHub, should you want to poke about.

    While there are certainly many major questions about the advent of AI technology, I can’t help but be impressed and excited about the potential it provides for individualised solutions like this.

  • DMG DarkRoom // GB Camera Companion App

    As ridiculous as the Game Boy camera may be, it is also strangely charming.

    Outside of its obvious limitations, one of the big challenges has always been how to get your pictures off the camera in a usable format, since it was obviously never designed to shoot, store, or transfer images via SD card.

    Various clever methods have been developed by the community over the years, and often involve extracting the images from the camera’s save file. There are some great tools available for this, but their feature sets are often fairly limited. While I liked the whole GB Camera a e s t h e t i c, I also didn’t want to spend ages in Photoshop afterwards, upscaling and stylising them every time. So… after rediscovering the format when I bought an Analogue Pocket, I thought I would put the development in AI technology to use… to build a dedicated Game Boy Camera image extractor and processor. Hence: the DMG Darkroom.

    DMG DarkRoom: GB Camera Companion

    The concept of the app is simple: You load up a Game Boy Camera .sav file, or save-state via a connected Analogue Pocket, From there, you can then view, edit, and export the pictures with a variety of different options that are specific to the lofi nature of the beast.

    The features include…

    • SAV & SD card loading – Open Game Boy Camera .sav files directly, or auto-scan your Analogue Pocket SD card
    • Photo grid – Browse all 30 photo slots with adjustable thumbnail size, solo view, lightbox, and fullscreen presentation mode
    • 100+ colour palettes – DMG, GBC, SGB, Lospec community palettes, plus a custom palette editor with import/export
    • Stackable filters – 12 lo-fi effects including CRT Scanlines, LCD, Dot Matrix, Phosphor Glow, Chromatic Aberration, Vignette, Noise/Static, and VHS Ghosting
    • Per-filter controls – Each filter has its own collapsible parameter panel — tweak scanline weight, bloom radius, echo offset, and more
    • Tone controls – Brightness, contrast, and split toning with adjustable shadow/highlight colours and balance
    • Per-photo settings – Palette, filters, and tone can be set globally or overridden individually per photo
    • Transforms – Rotate and flip photos non-destructively
    • GIF export – Build animated GIFs with a drag-to-reorder frame strip, per-frame palette, bounce mode, and adjustable frame delay
    • Batch export – Export all photos as PNGs, or generate a contact sheet in one click
    • Project files – Save and restore your entire session — photos, settings, and all — as a .gbcp file
    • Effect presets – Save and recall favourite filter combinations

    What’s more… all of this runs right there in your browser – available completely free as a web app over on dmgdarkroom.allmyfriendsarejpegs.com.

    For those of you curious about how things work, or if you want to build and host your own version, you can. Everything is open-sourced over on GitHub.

    For a long time, I’ve been able to use and enjoy my Game Boy camera thanks to the work put in by other folks in the community to keep them alive. Hopefully this project… with all of its added features proves just as useful to someone else.