Posts in category 'hacking'
Given my job these days I forget how much I enjoy throwing on a set of headphones, putting my favourite album on repeat, firing up Vim, and willing something into existing that didn’t exist before I started.
It’s odd but satisfying when I discover a 15 year old project of mine remains useful to someone.
I’ve always found the demoscene incredibly inspiring. The marriage of art and technological innovation never ceases to blow my mind, and MONOSPACE by @p01 is no exception.
Indieweb Activity Logging
My hacky solution to book blogging and exercise tracking in the indieweb.
My personal blog, a static site built with Jekyll, is a bit of a frankenstein. I really need to write some posts that get into the dirtier details of how I’ve stitched various bits together (like webmentions, POSSE syndication, and so on). But for this installment I wanted to start with something I’m doing which I think is a bit unique.
So, backing up, as we all know, social media isn’t just about long-form articles on Medium, medium-length rants on Facebook, or short-form trollbait on Twitter. We also track what we read, what we listen to, what we watch, the games we’re playing, the exercise we engage in, the websites we’re bookmarking, and on and on. Basically, if there’s some human activity that we want to collectively experience, there’s probably a social platform somewhere.
I wanted to explore these same ideas, but in the context of my blog. First I started with replacing Goodreads. I’ve since followed that by blogging my cycling PESOS-style with Strava. In both cases I’ve used a combination of purpose built, locally hosted tools for collecting metadata, and then integrating those tools with my blog to enabling publishing the data to the world.
I won’t claim this is a friction-free approach. But it’s working pretty well for me, so I figured it was worth sharing!
Continue reading...Taking Control of Chat
Documenting my absurd journey to bridging an IRC client to a bunch of messaging services. Totally nuts and totally worth it.
IRC, or Internet Relay Chat, is unquestionably the progenitor of modern online chat systems. IRC preceded instant messaging platforms like ICQ or AOL Instant Messenger, and in doing so connected people in real-time in a way that would lay the groundwork, not for just those instant messaging platforms that would follow, but for modern social media platforms as we know them today. And today, while certainly diminished, IRC still plays an important role in connected communities of people, particularly in the IT space.
But IRC isn’t without its flaws, and those flaws created openings for many competitors:
- Chatting is ephemeral. If you’re not connected there’s no way to receive messages that were sent while you were away.
- Text-based. No images or giphy animations here, and file sharing is direct, client-to-client only.
- The mobile story in general, and notifications in particular, are weak.
Now, the IRC community has worked hard to address the first problem with bouncers and changes to the IRC protocol (I’ll dig into this later).
Issue two… well, bluntly, I actually view that as a benefit rather than a drawback, but obviously that’s a matter of personal taste.
As for issue three, it’s still true that the mobile story isn’t great, though there is slow steady progress (Android now boasts a few pretty decent mobile IRC clients).
But IRC also has some enormous benefits:
- It’s open and federated. Running a server yourself is trivial.
- Clients are heavily customizable for power users.
- It’s fast and lightweight.
And these various other products (like Slack, Signal, etc) have some mirror image drawbacks:
- Closed walled gardens.
- Zero ability to customize.
- Heavy, memory- and CPU-intensive clients.
And then there is the fragmentation. My god the fragmentation. Every app is its own beast, with its own UX quirks, performance issues, bugs, and so on. Even the way they issue notifications varies from product to product. And some (I’m looking at you, Whatsapp) don’t offer a desktop client product at all.
I spend every day working with these messaging products, and I wanted to find out: Is there some way I could use an IRC client of my choice to interact with these various walled gardens (recognizing that, yes, that would come with some loss of functionality)?
Well, with a lot of hacking and elbow grease, I can definitely say the answer is yes! Though… this is, as is the case with many of my projects these days, probably not for the faint of heart…
Continue reading...Running Debian Buster on an OLPC
Back in 2008 I got an OLPC XO-1 during the G1G1 program. Question: Can you successfully run Debian Buster on this modest hardware? Answer: Yes!
Way back in the before time, in the long long ago of 2008, I decided to participate in the One Laptop Per Child Give One Get One program. The vision of the program was compelling: play a small part in enabling childhood education by providing children in the poorest parts of the world access to cheap, simple, rugged computers. Load them with electronic books and educational software. Add support for wifi and mesh networking to enable connectivity. Unlock creativity in kids the way computers unlocked creativity in me.
Things didn’t exactly pan out as everyone had hoped, but I still ended up with my very own OLPC XO-1, and it’s sat quietly in a closet ever since, a toy that I take out and play with occasionally.
Well, we recently did a top-to-bottom purge of our house, and in doing so I once again ran across my XO-1. So I decided to take it out and play with it again. In particular, I was curious: what would it take to run the very latest version of Debian on this modest little device?
Turns out not much! But where it got tricky, it got really tricky…
Continue reading...The ai thought leader on Twitter is now one of my favourite things (and also makes me want to play around with GPT2)…
Fun with themes
For kicks I wanted to build a dark mode for my blog, which led me down the garden path of CSS custom properties and easter eggs…
One of the many things that attracted me to tech, back in the day, was the total DIY freedom of hacking computers to do whatever I wanted. And when you’re a kid, it’s even more fun because you aren’t looking at your pet projects through the lens of “value” or “product market fit” or “differentiators”. You just… do stuff, simply because it’s fun!
Or, put more simply: You play. And as adults, we have play beaten out of us. And that is just a darn shame.
Well, one of the fun things about running your own blog on your own server with software you control is that it’s a wonderful place to play! Heck, the re-design of this blog started off as just me screwing around for the fun of it.
So, while on vacation, I thought it would be fun to build a dark mode theme for my blog using the technique outlined in this post (which it turns out is one of many).
If you want to see the results… well, first off, if your OS is set to use a dark mode theme, you might already be seeing it! Otherwise, the little lightbulb icon in the navbar toggles the themes.
In addition, if you poke around in my site, you might find an easter egg that enables a couple of additional retro themes designed to honour the computers of the past that inspired me and lead me to where I am today!
Continue reading...