A vectorized pixel-art picture of Max Glenister Max Glenister

AboutWorkBlogNowVRRSS Feed icon

  • The Bigme B6 Color E-Ink Tablet: I’ve owned plenty of Kindles and Android tablets over the years, but I’ve been curious about colour e-ink for a while - whether it’s actually useful or just a gimmick....
    androide-inkreview
    26 Jan 2026
  • Why can't I read this picture book?: I’ve spent the last five years reading picture books with my kids at bedtime. Hundreds of them - and I’m still going, even as my eldest moves on to chapter...
    accessibilitydesignux
    23 Jan 2026
  • Installing Android on the Nintendo Switch: A banned Switch sitting on a shelf is prime hardware for Android. Turns out the Tegra X1 that powered Breath of the Wild runs a full Android OS surprisingly well....
    androidguidenintendo-switchretro-gaming
    16 Jan 2026
  • Building an emoji-only chat app: My daughter finds emoji hilarious. She’s 6 and will scroll through an emoji picker for ages. My wife and I started by letting her use WhatsApp’s emoji picker to send...
    emojijavascriptweb-development
    12 Jan 2026
  • Moving to GitHub Actions (and adding .txt posts): This year I moved the blog from GitHub Pages’ built-in Jekyll to a GitHub Actions workflow, then added .txt URL support for posts. Inspired by Terence Eden’s blog post about...
    guidejekyll
    09 Jan 2026
  • Building a Balatro-lite game with vanilla web tech: I’ve spent countless hours playing Balatro, and I’ve always wanted to create my own game with similar mechanics. When TrinketOS announced a game jam, it was the perfect excuse to...
    game-developmentjavascripttypescript
    02 Jan 2026
  • Exploring OTA firmware updates on the Mangmi Air X: After reviewing the Mangmi Air X, I got curious about how the firmware updates worked. Mangmi have been pushing updates fairly regularly, which is great to see on a budget...
    androidguide
    08 Dec 2025
  • The Mangmi Air X: Back in 2015 when I reviewed devices like the GPD XD and similar Android handhelds, the whole ecosystem felt half-baked. Emulation wasn’t particularly good yet, the devices came from obscure...
    androidhandheldretro-gamingreview
    28 Nov 2025
  • Replacing the macOS audio switcher with SwiftBar: The built-in audio output menu in macOS has always felt a bit limited. The icons aren’t very helpful, the device names can’t be customised, and if you’ve got a few...
    guide
    11 Oct 2025
  • The end of Dingoonity: If you were familiar with Dingoonity, you might have noticed by now that I’ve made the decision to shut down the website.
    archivaldingoonity
    20 Feb 2023
  • The Movies I Watched in 2022: Through 2022 I kept track of most the movies I watched. In this post I’ll talk about how I took that data and, combined with the OMDb API, used the...
    guidejekyll
    31 Jan 2023
  • Using a Raspberry Pi to Host a local Visual Studio Code Server: I tend to work on this blog from multiple machines in my home. These include a desktop PC running Windows, a MacBook Pro running macOS, and a Chromebook with the...
    guideraspberry-pi
    26 May 2022
  • A Bit of a Bodge To Make MASSIVE Emoji: I’ve been fiddling with an instance of Known over on social.omgmog.net. As part of my fiddling I’ve been trying out some of the plugins for Known. I came across the...
    guideindieweb
    05 May 2022
  • Installing Chrome OS on a Late 2009 MacBook: I’ve got an old 2009 MacBook 6,1 (A1342) kicking about in my office that I’ve been playing with on and off lately.
    chrome-osguide
    22 Apr 2022
  • Adding support for Webmentions: I’ve added Webmention support to the posts on this blog. Webmentions are a method for websites to know that they’ve been linked to (or mentioned) from elsewhere on the web....
    guideindiewebjavascriptjekyllweb-development
    08 Apr 2022
  • DevTerm Stuff: I helped crowdfund the DevTerm from ClockworkPi back in November 2020 and it arrived in January 2022. It’s a nice device, but it’s not perfect. Here’s some of the mods...
    clockwork-pidevterm
    28 Mar 2022
  • The Inevitable Oculus Quest Post: I sold my HTC Vive back in 2020 and bought an Oculus Quest. Was it an impulsive lockdown treat? Perhaps; but it was time for an upgrade. I went for...
    gaminghardwarereviewvr
    08 Mar 2022
  • Adding an internal speaker to the Pocket CHIP: The Pocket CHIP doesn’t come with internal speakers. It has the GPIO pins for audio, but nothing is hooked up. On the CHIP itself there is a 3.5mm audio jack...
    chipdiyguidehardware
    10 Nov 2021
  • Adding Global Volume Control to the Pocket CHIP: I’ve been gradually adding internal speakers to each of my Pocket CHIPs lately and found it cumbersome to have to either open alsamixer or use the volume control page in...
    chipcustomizationguidelinux
    29 Sep 2021
  • GameShell Stuff: I bought a ClockworkPi GameShell back in October 2019. I’ve been playing with it a bit lately (in anticipation of the ClockworkPi DevTerm shipping!) and I realised I haven’t yet...
    clockwork-pigameshell
    27 Jul 2021
  • The Raspberry Pi Pico and the Pimoroni Pico RGB Keypad: In January the Raspberry Pi Pico was announced. The Pico is a RP2040 microcontroller featuring a dual-core Arm Cortex-M0+ processor with 264KB internal RAM and support for up to 16MB...
    guidehardwarepythonraspberry-pi
    19 Feb 2021
  • CHIP Stuff: This page is a changing document. I’ll probably add more notes to it in the future. These are just some notes that I’ve put together in the past about flashing...
    chipguidehardwarelinux
    03 Feb 2021
  • Using ORCA with FluidSynth on the Pocket CHIP: This post is about using the ORCA livecoding playground on the Pocket CHIP From the ORCA wiki: Orca is a two-dimensional esoteric programming language in which every letter of the...
    chip
    26 Jan 2021
  • Using a Chromebook in 2020: I’ve just got hold of a Lenovo Ideapad Duet 2-in-1 Chromebook/tablet. ChromeOS seems to have come quite a long way since I last used the HP Chromebook 11 back in...
    chromebookhardwarereview
    07 Nov 2020
  • Pico-8 on the Raspberry Pi with Game HAT: I’ve been playing with Pico-8 a lot lately. I’ve got a small Pico-8 project site to launch soon, but in the mean time I’m more occupied with getting Pico-8 running...
    guidepico-8raspberry-pi
    10 Feb 2019
  • A Foray Into Home Automation: This is an overview of why and how I decided to automate part of my home, and build my first IoT device…
    home-automation
    09 Aug 2018
  • 3D Printing a new remote control: I bought a 3D printer back in November last year and have been steadily filling my home office with 3D-printed miniatures, things to fiddle with, and functional solutions to problems...
    3d-printinghardware
    10 Feb 2018
  • The Deepoon DPVR E3 Virtual Reality Headset: Today I’m reviewing the DPVR E3. This is a Virtual Reality headset with a high resolution display, comfortable straps and an experience that’s similar to the Oculus Rift.
    reviewvr
    22 Aug 2017
  • The Virtoba S1 Daydream VR Bluetooth Controller: The Virtoba S1 is a Daydream compatible controller from China that costs around £15 ($20). Let me just start with saying I’ve got a lot of cheap Bluetooth controllers –...
    reviewvr
    16 Aug 2017
  • My workflow for discovering new VR content: Since launching the UX of VR website last year I’ve been looking for ways to keep on top of new VR content. For most of the last year I relied...
    vr
    02 Aug 2017
  • The GPD Pocket Ultra-mobile PC UMPC Laptop: The GPD Pocket is a 7” Ultra-mobile PC that at first glance resembles a shrunken Apple Laptop, but it’s metal unibody exterior is where the similarities end.
    reviewumpc
    24 Apr 2017
  • The inevitable HTC Vive post: I bought an HTC Vive last November (a week before the Black Friday sales, doh!) and have spent the time since trying to get the most out of it. So...
    gaminghardwarereviewvr
    02 Apr 2017
  • Well that has been a crazy couple of months... Onward!: In October 2016 I spent every day of the month creating something for Google Cardboard using JavaScript — Cardboctober. Since then I’ve been preoccupied with a couple of other mostly...
    vr
    03 Mar 2017
  • 31: Something in the Shadows: Today is the last day of Cardboctober! And less surprisingly, it’s also Halloween 🎃 - For today’s hack I’ve made something spooky. If you don’t like spiders, you should look...
    cardboctobervr
    31 Oct 2016
  • 30: Github Contributions: For today’s Cardboctober, having shed the burden of creating Tetris in VR, I decided to hack around with data visualisation.
    cardboctobervr
    30 Oct 2016
  • 29: Blocks out of the pram: Bit of a lame one for today. I feel like I’ve not been making much progress with the Tetris rewrite, and tackling collision detection with unexpected results is getting quite...
    cardboctobervr
    29 Oct 2016
  • 28: Planning Revisited: I thought it’d be weird to drop a hardware post in this week as I’ve not finished the Tevris game yet, so this week’s post will continue the Tetris theme...
    cardboctobervr
    28 Oct 2016
  • 27: Moving with gaze: Today’s hack is more an aside while I’m focussing on yet another Tevris rewrite.
    cardboctobervr
    27 Oct 2016
  • 26: Rotating Pieces: For today’s Cardboctober we’re still working with Tetris. The task today is to make the pieces rotate.
    cardboctobervr
    26 Oct 2016
  • 25: Creating and Moving Pieces: Today we’re going to be looking at creating Tetromino pieces and moving them around the board.
    cardboctobervr
    25 Oct 2016
  • 24: Basic Game Board: For today’s hack we’re going to start putting the teVRis game board together. We’ve already looked at positioning objects in a circle around the camera, but that doesn’t solve the...
    cardboctobervr
    24 Oct 2016
  • 23: Planning Tetrominoes in VR: I outlined the plan for the week yesterday: To make a tetromino game. So here’s how we’re going to do that.
    cardboctobervr
    23 Oct 2016
  • 22: Putting it all together: We’re starting the final (full) week of Cardboctober now, so I thought I’d do a week-long project to pull together some of the ideas from Cardboctober.
    cardboctobervr
    22 Oct 2016
  • 21: One size doesn't fit all: An important factor in whether VR works for you or not is how well the hardware fits – both in terms of fitting your head shape and being aligned with...
    cardboctobervr
    21 Oct 2016
  • 20: Which way is North? Part 2: In yesterday’s post I talked about the problem of using Cardinal North with device orientation, and how Three.js’ Device Orientation Camera provides a utility function for setting the alphaOffsetAngle, today...
    cardboctobervr
    20 Oct 2016
  • 19: Which way is North? Part 1: When developing for Google Cardboard VR with JavaScript we’re depending on the browser’s support of device orientation to know which way the user is looking. You can’t guarantee the user...
    cardboctobervr
    19 Oct 2016
  • 18: Moving around in VR: Unless your VR experience is a roller coaster or some other sort of rail-based experience, you shouldn’t take movement control away from the user. Lack of movement control can cause...
    cardboctobervr
    18 Oct 2016
  • 17: Displaying Pertinent Information: Some Cardboard experiences might require pertinent information to always be visible to the user. As we’re working with a stereoscopic and not particularly high resolution screen this raises a couple...
    cardboctobervr
    17 Oct 2016
  • 16: Getting in and out of Fullscreen: Today we’re looking at the task of getting in and out of Fullscreen. Fullscreen helps maintain an immersive experience. When using JavaScript as we’re confined to the capabilities of the...
    cardboctobervr
    16 Oct 2016
  • 15: The Hierarchy of Needs in Quick Google Cardboard Hacks: This week I’m going to be writing about some of the UX challenges encountered while creating Cardboctober hacks. In VR experiences it’s important to consider the needs of the person...
    cardboctobervr
    15 Oct 2016
  • 14: Debugging your Cardboard with Chrome: Today I’m going to be talking about how I test and debug while working on this Cardboctober hacks. If you make it to the end I’ll have a recap of...
    cardboctobervr
    14 Oct 2016
  • 13: AAAAH! More Zombies: For today’s hack I’m revisiting yesterday’s zombie game again. With a full re-write to un-bodge the implementation.
    cardboctobervr
    13 Oct 2016
  • 12: AAAAH! Zombies: Today’s hack was going to be built around the gamepad API – but I utterly failed to get it working nicely with any of my USB or Bluetooth controllers. Not...
    cardboctobervr
    12 Oct 2016
  • 11: Webaudio Beat Sequencer: For today’s hack I’ve decided to make a VR beat sequencer. Nothing says inclusive-fun like a VR experience that makes noise! So let’s get on with that.
    cardboctobervr
    11 Oct 2016
  • 10: HTML5 Video: Today we’re looking at HTML5 video – well not in the traditional sense. We’re looking at using the <video> element to create a texture and then applying it to an...
    cardboctobervr
    10 Oct 2016
  • 09: Speech recognition: Today’s hack is using the speechRecognition API. How can this be useful in Google Cardboard VR? It can add another level of input to our limited arsenal. So let’s take...
    cardboctobervr
    09 Oct 2016
  • 08: Playing sounds: Kicking off Cardboctober week 2 (in which I’ll be talking about using various Web APIs) today we’re looking at audio. Or more specifically how to get audio in to your...
    cardboctobervr
    08 Oct 2016
  • 07: Cardboard hardware (cardware?): Today’s hack (and each Friday for the rest of October) is going to be hardware rather than software themed. If you get all the way to the end of the...
    cardboctobervr
    07 Oct 2016
  • 06: VR Pairs Game: Todays hack is intended more as an activity to pull together various bits from the first week of Cardboctober and make a game. So here we go, it’s a “pairs”...
    cardboctobervr
    06 Oct 2016
  • 05: Loading external models: Using a couple of Three.js plugins you can load external models in to your scene. The plugins are: OBJLoader.js MTLLoader.js OBJLoader lets you load .obj format models, and MTLLoader lets...
    cardboctobervr
    05 Oct 2016
  • 04: Skyboxes and generating meshes: Skyboxes There are a couple of ways you can create a skybox in Three.js Using a skydome (a textured sphere) Using a skybox (a textured cube) I’m using the textured...
    cardboctobervr
    04 Oct 2016
  • 03: Even better gazed based look interaction: Improving on yesterday’s Raycaster based look interaction, I’ve improved the raycasting experience. I’m using a library called vreticle.js, though I’ve tweaked it a bit.
    cardboctobervr
    03 Oct 2016
  • 02: Raycaster based look interaction: For today’s Cardboctober hack I’m doing some basic look interaction. As you look at each ghost in the circle surrounding you the ghost will cover their eyes.
    cardboctobervr
    02 Oct 2016
  • 01: Basic VR: Kicking off Cardboctober I’ve decided to go with something very simple. This is actually pretty much one of the JSCard demos that I created last November for my 20 Minutes...
    cardboctobervr
    01 Oct 2016
  • Announcing Cardboctober: Throughout October Ben and I are working on a project called Cardboctober. The challenge is hacking on something new every day using Google Cardboard.
    cardboctobervr
    29 Sep 2016
  • The Chuwi Vi10 Plus Windows and Android Tablet: I’ve been on the hunt for a 10” tablet for a couple of months now. Besides Google’s Pixel C, there isn’t much choice in this area (ignoring the iPad). There...
    androidchuwi-vi10-plushardwarereviewwindows
    08 Sep 2016
  • Upgrading to El Capitan with an old installer: I upgrade my Macbook to El Capitan as soon as I could, and have had very few issues with the release. On my iMac at work though, I’ve been putting...
    guidemac-os-x
    03 Aug 2016
  • Summer of Hacks: Game Dev Day: As part of the JS Oxford-organised Summer of Hacks, I co-organised the “Game Dev Day” hack day in Oxford. This is the second time I’ve held an event during the...
    hackdayvr
    24 Jul 2016
  • Getting to know @for, @each and @while in Sass: I use Sass every day, both professionally and in my side projects. One thing that never seems to stick in my mind though is the correct way to use @for,...
    cssguidesass
    25 May 2016
  • 20 Minutes into the Future with Google Cardboard and JavaScript: I gave this talk at JS Oxford in November 2015. The talk is about using JavaScript and various web APIs to create Google Cardboard experiences.
    talkvr
    18 Nov 2015
  • Downgrading Nexus 5 from Android 6.0 to Android 5.1.1: I jumped on Android 6.0 Marshmallow as soon as the developer images were available to flash, and to be honest as far as “major releases” go, it was pretty underwhelming....
    androidguidenexus-5
    15 Nov 2015
  • UX in Virtual Reality: I’ve been trying to find resources on the subject of User Experience and User Interface design in Virtual Reality a lot lately, as I’m thinking about Google Cardboard, and preparing...
    designguideuxvr
    30 Oct 2015
  • The GPD XD Portable Android Games Console: I’m back with another Android console out of China from GPD, the GPD XD. I’ve had the GPD XD for a couple of weeks now, and to be honest I’ve...
    androidgpd-xdhardwarereview
    16 Sep 2015
  • In which I find a better Imgur screenshot uploading application: … Well not much of a battle really, rather just some comments on my needs of an Imgur uploader, what I’ve been using historically, and what I’m now going to...
    appimgurmac-os-x
    11 Sep 2015
  • On being spammed for being interested: The amount of personal data that we give away these days is insane. It’s true of a huge number of online services that “free isn’t free”, and that your personal...
    emailprivacy
    18 Aug 2015
  • Getting Notified when a process is using 100% CPU on Mac OS X: Lately I’ve noticed node.js occasionally spawning a process that’s using 100% CPU. When this happens, the battery on my MacBook quickly drains.
    guidemac-os-x
    17 Aug 2015
  • Jekyll Antipatterns: If you’ve used any framework or language for long enough, you might find that you’ve got parts of your code that are not using the language in it’s current state...
    jekyllweb-development
    12 Aug 2015
  • Creating an icon font: I’ve recently been doing a lot of working designing an icon font that works well at small sizes for my day job. Here’s an overview of the process I’m using...
    designguidesvgweb-development
    30 Jul 2015
  • Extract the first image from a post in Jekyll: I decided that I want to show an image next to posts in my “article list” type pages in Jekyll. It would be tedious to go through each post and...
    guidejekyll
    30 Jul 2015
  • Launching Sketch Toolbox from inside Sketch: I’ve been making use of Sketch a lot lately. One of the coolest features of Sketch is it’s plugin support. I’m using a tool called Sketch Toolbox to manage plugins...
    guide
    30 Jul 2015
  • My face and words in print: Recently I was contacted to provide a short quote about why CSS preprocessors are awesome. This wasn’t a hard task as I spend a lot of time evangelising the use...
    cssweb-development
    11 Jun 2015
  • The Revo K101 Plus Portable Games Console: Today I’m refreshed to be reviewing a console that doesn’t try to cram too much in to the form factor, but instead tried to focus on doing one thing well....
    handheldretro-gamingreview
    03 Jun 2015
  • Maintaining updates for a bunch of WordPress sites with Google Spreadsheets: Here’s a useful trick I’ve come up with, to maintain a list of WordPress installations and easily see if they’re up to date.
    google-spreadsheetsguidewordpress
    28 Apr 2015
  • Vivaldi: Another contender to the array of Webkit-derived browsers: Earlier this week a new browser called “Vivaldi” sprung up across many of my early-morning technology news feeds. I managed to put off trying it out for a couple of...
    browservivaldi
    28 Jan 2015
  • Creating 'Material Design' shadows in Photoshop: Somebody over on Designer News asked how to re-create the various z-height shadow effects from Google’s Material Design in Photoshop.
    designguidephotoshop
    19 Jan 2015
  • So you want to organise a hack day?: These are based on my experience of organising SusHack in 2013 and 2014. For more information about SusHack, check out https://sushack.github.io
    guidehackday
    28 Nov 2014
  • Better link underlines with Sass: There has been some talk lately about how iOS 8 has started to handle typography descenders when text is underlined. They’ve done away with the usual overlapping line intersect in...
    cssguidesassweb-development
    11 Nov 2014
  • The Tronsmart Mars G01 Game Pad: A different sort of review today, the Mars G01 Game Pad from Tronsmart. Geekbuying provided me with this G01 to review, so first of all a thanks to them for...
    gamepadhardwarereview
    10 Aug 2014
  • The GPD G5A Portable Android Games Console: I’ve got another Android gaming handheld to review, the GPD G5A from GamePad Digital. I’ve had this device for a little while now, and have played with it loads. This...
    androidgpd-g5ahardwarereview
    05 Jul 2014
  • SusHack #2: This past weekend was the second SusHack. Following on from the success of the first SusHack there was some demand for a second one, so a little later than planned...
    hackday
    03 Jul 2014
  • jQuery Conference 2014: Another year, another jQuery UK conference. I wrote previously about the jQuery UK conferences that I attended in 2012 and 2013, now I’ve finally gotten around to writing up my...
    conferencejquery
    20 Jun 2014
  • Why your reasons for no-longer using a CSS pre-processor are wrong, and you're wrong, and you should feel bad.: I read an article recently that explained why a web design agency had stopped using CSS pre-processing as part of their development process, as a means to “optimise [their] internal...
    csssassweb-development
    19 Jun 2014
  • Some approaches for creating diagonal section separators for your website: In their simplest form, web pages are made of stacked rectangles. Every block-level element takes up as much vertical space as the content requires, and fills as much horizontal space...
    cssguideweb-development
    22 May 2014
  • Max Glenister Uses This: This is a Q/A article in the style of “The Setup”.
    interview
    21 May 2014
  • Making suspend on lid-close work with Arch Linux on the HP Chromebook 11: The more time that I spend using Arch Linux on my HP Chromebook 11, the more things I find to tweak and tinker with. The latest thing I’ve addressed is...
    arch-linuxchromebookguidelinux
    28 Apr 2014
  • Using the Zed editor with Arch Linux ARM on your Chromebook: I’ve been using Arch Linux on my HP Chromebook 11 for a little while now. One of the problems I’ve had with the setup has been that Sublime Text is...
    arch-linuxchromebookeditorguide
    16 Apr 2014
  • Compressing PDF files from your Mac or Linux terminal with Ghostscript: I arrived at this solution recently when looking to compress a massive print-quality PDF for the web. If you search for “compressing pdf files on mac” you’ll get lots of...
    bashghostscriptguidelinuxmac-os-xpdf
    28 Mar 2014
  • Using "jekyll-redirect-from" with GitHub Pages: Last week GitHub finally added support for some useful plugins to their implementation of Jekyll used for GitHub Pages. The most notable of these is the support for the jekyll-redirect-from...
    github-pagesguidejekyll
    17 Mar 2014
  • Jekyll for dummies: 2014 has been heralded as “the year of flat-file websites”. This blog in fact uses Jekyll to generate the very blog post you are reading. I’ve been using Jekyll in...
    github-pagesguidejekyll
    12 Mar 2014
  • Video: Installing Arch Linux ARM on the HP Chromebook 11: Just to follow up from my earlier post about Installing Arch Linux on the HP Chromebook 11, I’ve put together a video of the process to show how simple it...
    arch-linuxchromebooklinuxvideo
    25 Feb 2014
  • The GPD G7 Portable Android Games Console: Hot on the heels of my last Android device review I’m back with another device: The GPD G7 Quad-core from GamePad Digital. The G7 is very similar to the JXD...
    androidgpd-g7hardwarereview
    17 Feb 2014
  • Installing Arch Linux ARM on the HP Chromebook 11: I concluded in my previous post about the HP Chromebook 11 that it’s a good device for casually browsing the internet, but it’s no replacement for a regular laptop or...
    arch-linuxchromebookguidelinux
    09 Feb 2014
  • Getting started with using Sass in your existing website: Sass is a CSS-compatible preprocessor for CSS. It allows you to reduce the amount of duplication and complexity in your CSS by using variables, mixins (functions), nesting, and other cool...
    cssguidesassweb-development
    19 Jan 2014
  • On the subject of "Pixel-perfect PSD to HTML/CSS": I read an article on the subject of implementing a PSD design of a website perfectly in HTML/CSS, and without wanting to spend my time writing a lengthy response in...
    web-designweb-development
    16 Jan 2014
  • So, I've got all of these Raspberry Pi accessories... now what?: I wrote back in May about having a Raspberry Pi, and very few ideas about what to do with it. Here’s an update on the subject.
    hardwarekickstarterraspberry-pi
    09 Jan 2014
  • The JXD 7800B Portable Android Games Console: It has been a while since I’ve had a new portable console to play with (and I’m still waiting for my GCW to arrive!), so let’s ease back in to...
    androidhardwarejxd-7800breview
    20 Dec 2013
  • The HP Chromebook 11: I bought a HP Chromebook 11 as soon as I possibly could when it was announced. I’ve had a couple of weeks to play with it now, so here are...
    chromebookhardware
    09 Nov 2013
  • SusHack #1: Building the foundations of the Oxford Flood Network Stack: This past weekend I held my first hack day. This is a recollection of why/how SusHack came to be, and how the day went.
    hackday
    05 Nov 2013
  • Migrating from Outlook .pst to mbox and then uploading to an IMAP mail server: Microsoft Outlook uses a stupid/proprietary format to store mail locally. This is the burden I had to deal with recently while attempting to rescue mail from a friends dying computer....
    emailguideoutlook
    31 Oct 2013
  • Gamification of life with the Fitbit Flex: Earlier this year, Jenny got a Fitbit Zip, it’s basically a pedometer, but with the added cool-factor that it can synchronise over Bluetoooth with your computer (and some mobile devices),...
    fitbithardware
    03 Oct 2013
  • Adventures in IMAP: Migrating lots of mail to Atmail: Besides my day job as a front-end developer at 2degrees, I run my own web design company with my partner, called Marmalade & Jam. When launching Marmalade & Jam, I...
    emailguideimap
    02 Oct 2013
  • Making Postgres work nicely on OS X Mountain Lion: Postgres on OS X has been a pain in the ass for as long as I have had to use it. To start with, the version that comes with OS...
    guidemac-os-xpostgresql
    01 Oct 2013
  • Adding support for <!-- more --> tag to Jekyll without plugins: Here’s a quick tip for an approach I’ve started using to split post content at a given point for displaying in an archive page, without using a plugin.
    guidejekyll
    24 Aug 2013
  • Awesome Bash arrays: Just some examples of how to do things with Bash arrays, and their analogous examples in Javascript.
    bashguide
    23 Aug 2013
  • On second thought...: … Google Hangouts for Chrome needs some work.
    appgoogle
    22 Aug 2013
  • Converting SVG to PNG online and in your terminal: This post is mostly for my own benefit on the rare occasion that I have to convert SVG files to PNG. I always spend a large amount of time looking...
    guide
    14 Aug 2013
  • Chrome 'Add to Trello' extension: I attended the third Refresh Oxford hack day yesterday, hosted at Incuna’s offices in Summertown.
    chromeextensiontrello
    23 Jun 2013
  • Removing the Blackberry Desktop Software for Mac without having to re-download a 70mb installer from Blackberry: If you happen to have installed the Blackberry Desktop Software and you want to remove it and it’s annoying persistant daemons, you might have discovered that this can only be...
    blackberryguidemac-os-x
    29 May 2013
  • Google's relaunched Hangouts -- Wow.: The long-speculated consolidation of Google Talk, Google+ Hangouts, and Google Video Chat has finally occured, and it’s pretty spectacular. My digital life is so dependent on Google services that it’s...
    androidappgoogle
    15 May 2013
  • So I've got a Raspberry Pi, now what?: I was going to title this post “In which I moan about the Raspberry Pi”, read on to find out why. I’ve had a Model B Raspberry Pi in my...
    hardwareraspberry-pi
    04 May 2013
  • Meta post about making this blog responsive and not using px: If you’re a returning visitor to blomg you might notice some changes to the design.
    cssjekyllresponsive-designweb-development
    01 May 2013
  • jQuery UK 2013 - A tale of beer, colourful cakes and no wifi: Yesterday I attended the second jQuery conference in the UK (the first being last year, which I blogged about here). I failed to get any nice pictures at the event...
    conferencejquery
    21 Apr 2013
  • Fluid video embeds for your responsive website: Recently I came across an interesting problem, fluidly scaling iframe/embed code on a responsive design. The problem surfaced because I was using a fluid width and a fixed height for...
    cssguideresponsive-designweb-development
    15 Mar 2013
  • These tabs they are a changin': The latest update to Chrome (25.0.1364.99) seems to have brought some slight tweaks the interface. The tab bar has seen some tweaks to the spacing of the close button, as...
    chromedesign
    25 Feb 2013
  • Factory resetting a Nokia N900 from Mac OS X Mountain Lion: I had a Nokia N900 when they first came out, this was unfortunately shortly before Android had matured to a usable state, and so I didn’t use my Nokia N900...
    guidemac-os-xnokia-n900
    12 Feb 2013
  • Testing responsive layouts with the RWD bookmarklet: Lately I’ve been doing some work with responsive CSS and media queries. This bookmarklet has been very useful. It allows you to switch between four different browser widths (for iPad...
    chromeresponsive-designweb-development
    07 Jan 2013
  • The woes of trailing commas in IE: If you leave a trailing comma in your JavaScript code, you’re a terrible person. It’s right up there with omitting semicolons as far as I’m concerned.
    guideinternet-explorerjavascript
    20 Nov 2012
  • Ubuntu (native) on the Nexus 7: Last week, a Ubuntu native installer for the Nexus 7 was released, along with instructions on how to install Ubuntu on the Nexus 7. The plan is that the Nexus...
    guidelinuxnexus-7ubuntu
    29 Oct 2012
  • A simple 'stacked paper sheets' effect with CSS3: This is just a short post about an unobtrusive CSS3 effect that I”ve used on some projects lately. Using the ::before and ::after CSS pseudo elements and some CSS3 styles...
    cssguideweb-development
    11 Oct 2012
  • Installing MySQL on OS X Mountain Lion: I was having some issues getting MySQL installed on OS X 10.8 Mountain Lion, and then I came across a useful article describing how to do it.
    guidemac-os-xmysql
    28 Aug 2012
  • The Nexus 7 Android Tablet from Google: I’ve been putting this post off, and it has been hard. I usually like to declare my love for a new gadget just moments or hours after unboxing it; I’ve...
    androidhardwarenexus-7review
    15 Aug 2012
  • Making HTML5 input placeholder text behave in Safari: Making assumptions during web development is never a good idea – especially if your assumptions are about the way a new feature will behave across modern browsers. This is an...
    csssafariweb-development
    24 Jul 2012
  • Getting to grips with git log: git is a powerful tool. After using it for the past couple of years I’m still finding new/powerful things that can be done with it.
    bashgitguide
    03 Jul 2012
  • Saving your CSS changes in the Google Chrome inspector: In the process of rapid prototyping and trying out new CSS styles I often find myself making changes to styles within the inspector in Google Chrome. This works quite well,...
    chromecssguide
    22 Jun 2012
  • Dynamic location based desktop on your Mac with Satellite Eyes: I came across this awesome application today, it sets your wallpaper to a satellite view of your current location. The application features a number of rendering mode, and full support...
    appmac-os-x
    20 Jun 2012
  • The Mele A2000 Android TV Box: I decided to buy an Android-powered set top box because my Apple TV 1 didn’t cut it for playing HD media, and I find it inconvenient to hook my MacBook...
    androidhardwaremele-a2000
    17 Jun 2012
  • Dealing with crappy memory management in OS X: Using a lot of memory-intensive programs throughout the day, such as Virtualbox virtual machines, Photoshop and numerous browsers each with a couple of handfuls of tabs, you come to realise...
    guidemac-os-x
    01 Jun 2012
  • Using jQuery to create a custom thumbnail for an embedded video: Recently Jenny asked me for a way to embed a YouTube video with a custom thumbnail that would play the video when clicked.
    guidejavascriptjqueryyoutube
    14 May 2012
  • A possible solution to 'bad interpreter: operation not permitted' error on Mac OS X Lion: Out of the blue I started having an issue in my Terminal.app on Lion where downloaded scripts/applications wouldn’t run. I first noticed this when trying to setup the Android SDK....
    guidemac-os-x
    12 May 2012
  • High fidelity in low fidelity emails: Recently it was pointed out to me that Pizza Express provide a nice fallback for photos on their picture-heavy emails. Take the following example, from a promotional email they sent...
    designemail
    07 May 2012
  • On scrolling: Scrolling on the web is something that we take for granted when thinking about how users will interact with our website. There are two schools of thought on the subject:...
    uxweb-development
    12 Apr 2012
  • Video integration with Jekyll: Adding some functionality to Jekyll to allow integration of YouTube videos is a pretty easy task. First we need a couple of things: A nice video hosted on YouTube The...
    guidejekyllyoutube
    07 Apr 2012
  • Upgrading my Macbook Pro: I’ve had my Macbook Pro for about a year now. It’s the Early-2011 15” bells and whistles model. The specs (the bits we care about, if you can’t be bothered...
    hardwaremac-os-x
    31 Mar 2012
  • Updates to my 'install all firefox' bash script for Mac OS X: I wrote briefly about my install-all-firefox shell script back in December last year. Since then the script has received a complete rewrite, and some new features.
    bashfirefoxguidemac-os-x
    18 Mar 2012
  • jQuery UK Conference 2012: Yesterday I attended the first European jQuery conference, which was hosted here in Oxford at the Saïd Business School. This was the first big conference I’ve been to (though I’ve...
    conferencejquery
    11 Feb 2012
  • Adding more post metadata to Jekyll with YAML: NB: This flurry of content might be shortlived, but for now I’m excited to be posting again so shush! Jekyll, as it turns out, is a really nice blogging platform...
    guidejekyllyaml
    30 Jan 2012
  • On migrating from Tumblr to Jekyll Bootstrap: I’ve been toying with the idea of moving away from Tumblr for a long time now, having had my own share of problems with Tumblr downtime.
    github-pagesguidejekylltumblr
    29 Jan 2012
  • Synchronising your Sublime Text 2 preferences with Dropbox: I use Sublime Text 2 both at work and at home, and it’s hard to manually keep my settings/packages in sync.
    dropboxguidesublime-text
    27 Jan 2012
  • prev/next to left/right arrow key bind userscript: This is a userscript for Google Chrome (it might work with Firefox/Greasemonkey but I haven’t tested). It binds the left/right keys to click on prev/next links.
    chromeuserscripts
    02 Dec 2011
  • Bash script to install all major versions of Firefox on OS X: I wrote a nice bash script that automatically downloads and installs the major versions of Firefox, sets up profiles for each and modifies the .app launchers so that they start...
    bashfirefoxmac-os-x
    01 Dec 2011
  • Imgur Url Changer and pics/funny comment link subreddit remover aka reddit link stuff: I know, it sure is a catchy name! This is just a modification of my previous “Imgur to Filmot url changer” userscript for reddit.com
    reddituserscripts
    29 Jul 2011
  • Reddit open imgur links in new window/tab: Derivative of the previous reddit/imgur userscript I wrote, this one simply makes all imgur links open in new window/tab (target="_blank") Download
    reddituserscripts
    05 Jul 2011
  • Reddit imgur to filmot url changer: Browsing Reddit while at work probably isn’t the best thing to do if trying to be productive, but sometimes it’s necessary to unwind periodically. Inside our intranet at work imgur...
    reddituserscripts
    13 Jun 2011
  • My solution to the JavaScript challenge 07/03/11: Okay so this solution is a bit later than I planned, but a busy working week and lack of motivation toward the end kind of got the better of me....
    javascript
    13 Mar 2011
  • Javascript function to group repeated values of an array with totals: Something that took a little while to pull of well while working on the JS challenge this week, thought I’d throw it up here as it has its uses practically...
    javascript
    11 Mar 2011
  • Javascript/jQuery challenge of the week 07/03/11: Okay well this is something Tomas and I have been planning to do for ages, and in fact we did something like this a year ago, but it didn’t amount...
    javascript
    07 Mar 2011
  • Building JavaScript arrays from HTML using regular expressions: Bit of idea ping-pong with Tomas this evening, to provide a solution to something he is working on. He had some text in a table cell that needed to be...
    javascript
    05 Mar 2011
  • Redesigning and relaunching Dingoonity: Over the weekend I relaunched Dingoonity.org. I launched the site back in November 2009, a bit of a rush job as far as the design of the boards was concerned...
    dingoonityweb-development
    23 Jan 2011
  • Using Greasemonkey scripts with Google Chrome: This isn’t new news, but it’s something I’ve found quite useful. You can use userscripts created for Firefox/Greasemonkey in Google Chrome. Many of the scripts that you can find over...
    chromeguidejavascriptuserscripts
    31 Oct 2010
  • Upgrading Mac OS X Snow Leopard on the Dell Inspiron 1525 to 10.6.4: In this part of the guide, I’ll be covering upgrading to 10.6.4. You can read the first part of this guide here - Installing Mac OS X Snow Leopard on the...
    guidehackintoshmac-os-x
    11 Oct 2010
  • Installing Mac OS X Snow Leopard on the Dell Inspiron 1525: This is an update to my previous guide. I’ve since changed platform for my site — and even changed computers — but there is enough interest in this guide to...
    guidehackintoshmac-os-x
    07 Oct 2010
View more

Looking for even more? I recently had a Spring clean and archived a bunch of old posts. You can find the raw posts in the Archive on Github


A vectorized pixel-art picture of Max Glenister

Max Glenister is an Interface Designer and Senior Full-stack Developer based in Oxfordshire. For work he spends his time designing, validating and implementing user interfaces. For fun he tinkers with Virtual Reality, 3D printing, embedded systems, game development and many other things.”

You can keep up with Max on MastodonGithubRedditDiscord


© 2010—2026 Max Glenister. Licensed under CC BY-NC-SA.
Website last built: 26 January 2026

←🕸💍→