Max Glenister

#software

35 posts across 6 categories

2026

  • Android's 24 hour sideloading wall

    I was showing a friend the Pokémon gen1recomp project on my phone the other day, and he wanted it on his. Easy enough. Hand over the APK and the files it needs, walk him through the setup, ten minutes while we’re sat in the same room.

    • 4 min read
  • Using split view in Chrome

    Chrome’s split view tabs is one of those features that silently arrived and slipped into my workflow. I’ve found myself using it more and more over the past couple of weeks since it rolled out at the end of 2025. It’s as intuitive as tab grouping (hold shift when selecting multiple tabs), and genuinely useful. The kind of feature that slots in and makes me wonder how I managed without it.

    • 3 min read

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 different outputs, it becomes tricky to quickly tell what’s what.

    • 3 min read

2018

  • Some Notes About Android Virtual Devices

    Running AVD emulator from the Windows command line/Powershell/mingw32 This assumes you’ve got Android Studio installed. First you need to have the tools path in your $PATH variable, to do this edit Path in Windows’ Environment variables to include for example: C:\Users\Max\AppData\Local\Android\Sdk\tools Then you can use emulator.exe from anywhere. The Android Studio docs fail to mention this. $ emulator -no-boot-anim -accel auto -writable-system -no-snapshot -gpu host -avd K10_API_22 Installing Google Play Services I’ve been messing around with older device profiles, and trying to run things in Chrome on Android 5.0 (API level 21). You’ll need to sideload the Google Play services system APKs (from a gapps package for your target system, e.g. for Android 5.0, but you might find that the /system partition is full. No problem, you can sideload to /sdcard and symlink: $ adb remount # Fails... $ adb push .\GmsCore.apk /system/priv-app $ adb: error: failed to copy '.\GmsCore.apk' to '/system/priv-app/GmsCore.apk': No space left on device # Works... $ adb push .\GmsCore.apk /sdcard/system/priv-app $ adb push .\GoogleLoginService.apk /sdcard/system/priv-app $ adb push .\GoogleServicesFramework.apk /sdcard/system/priv-app $ adb push .\Phonesky.apk /sdcard/system/priv-app # Symlink them $ adb shell ln -s /sdcard/system/priv-app/GmsCore.apk /system/priv-app/GmsCore.apk $ adb shell ln -s /sdcard/system/priv-app/GoogleLoginService.apk /system/priv-app/GoogleLoginService.apk $ adb shell ln -s /sdcard/system/priv-app/GoogleServicesFramework.apk /system/priv-app/GoogleServicesFramework.apk $ adb shell ln -s /sdcard/system/priv-app/Phonesky.apk /system/priv-app/Phonesky.apk $ adb shell stop $ adb shell start Messing around with /etc/hosts It’s trivial to edit the /etc/hosts on your AVD, but it only works if you have blank new line at the end of the hosts file. $ adb pull /etc/hosts hosts $ nano hosts # make your changes to the hosts file locally... $ adb push hosts /etc/hosts

    • 2 min read

2017

  • VPN Connection Indication on Windows

    As of tomorrow I’m going to be switching to working remotely. Same job, just from the comfort of my home office (and without 2-3 hours of commute daily!). With this change I figure I’ll have about 8-10 hours of extra time per week to work on things.

    • 2 min read

2015

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 not available for the ARM architecture.

    • 2 min read
  • 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 bad results. There are lots of paid applications out there that claim to be able to do this, but they’re (obviously) not free.

    • 2 min read

2013

  • On second thought...

    … Google Hangouts for Chrome needs some work.

    • 2 min read
  • 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 for an online SVG to PNG converter or a terminal one-liner to do this.

    • 2 min read
  • Chrome 'Add to Trello' extension

    I attended the third Refresh Oxford hack day yesterday, hosted at Incuna’s offices in Summertown.

    • 1 min read
  • 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 nice to find some cross-platform consolidation.

    • 3 min read
  • 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 well as the hover/active/inactive states of tabs, and the infamous blank ‘new tab’ button has been stretched a little. The inactive state of tabs and the ‘new tab’ button seems to blend in to the background a bit more too.

    • 1 min read
  • 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 and iPhone in portrait/landscape orientations).

    • 1 min read

2012

2011

2010

  • 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 on userscripts.org can be used effortlessly by Google Chrome, and once installed can be disabled/uninstalled from the Extensions tab.

    • 1 min read

2006

  • Human foobar buttons

    These buttons were requested by ‘ynnoj’ to match the Windows port of the great ‘human’ theme for linux. human-foo.zip

    • 1 min read
  • heart rating icons for foobar

    Somebody requested these over at hydrogen audio. rating hearts

    • 1 min read
  • My foobar setup

    After the great response to screenshots of my foobar setup, I have decided to post how to make you foobar look just like, or similar to, my foobar setup. Keep reading to find out how.

    • 5 min read
  • Grey Media Icons

    I made these to be used with foobar2000, but I guess you could use them anywhere that you need some media-control icons. 24bit PNG, 16x16, goes well with most colours.

    • 1 min read
  • New Columns_UI Config

    I’ve been working on this for a while, on and off.. it’s not too complicated, and it comes with 5 colour schemes!

    • 1 min read
  • New foobar buttons

    created some new buttons for foobar2000, based on the playback buttons in windows media player 11.

    • 1 min read
  • Foobar2000 Tutorial

    Well, i’ve started putting together a tutorial for setting up foobar2000. I’ve seen plenty around, and there are plenty of cryptic foobar wiki’s, but none of them made it simple enough. so without the crap, here it is it’s still being written, but what’s down is good

    • 1 min read
  • Pointless software

    .. what the hell is the point in this songbird crap :| imagine if itunes and firefox made love, songbird is the demonspawn of that unfortunate circumstance. i’ll stick with foobar2000, thankyou very much. .. its only a preview release, but damn.. they need to work on the interface a bit, and perhaps “think different” even if that is hard enough to do, stealing the apple dream.

    • 1 min read