Category: technology & toys

I am a nerd by nature and a geek by trade, and I have a few things to say about all kinds of technology from enterprise platforms to playful games.

  • little green squares

    Describe your 2025 in tech or tools

    … to which I am going to answer with a picture of my Github contribution graph:

    If you know you know, but if you don’t know what this is, let me explain. Github is a code repository. It is like a cloud drive for computer code that keeps a hyper-detailed change record of writing software with the intended use cases being collaboration and tracking for software development. It is like a little library tool for writing and publishing and bookkeeping for code. Any time you are happy with your code, inasmuch as it runs and you want to snapshot something you built in case you break it or need to share it or just make a record of that work, you make a “contribution” to the repository. 

    I made 687 contributions to my repositories last year. 

    That little chart is a kind of heat-map of when I was writing code… or at least when I was saving something I wrote to a permanent record of development.

    In among those green boxes are:

    • a video game I’ve been developing
    • my personal social media feed app
    • two public wordpress plugins

    And what you don’t see there are:

    • a couple of private professional projects (…which probably account for another 300 or so contributions) 

    All in all, I would guess I submitted to Github repositories (albeit my own) about a thousand times in 2025… which is to say I wrote a heckuva lot of code in 2025, kind of equally split between Rust and PHP.

    That’s not trivial. 

    I wish I could tell you that I wrote a thousand stories in 2025 or drew a thousand sketches in 2025. I cannot.

    I can tell you that I sat down at a keyboard and wrote out tens of thousands of lines of intricate computer code, some for myself and some for professional work, that turned into functioning software. I can tell you that my 2025 was a year of making, and that I am coming out of this year in a state of having made interesting and useful things in computer code that a year ago were either ideas or maybe not even that much.

    I just spent nearly three weeks in Japan and made over a hundred posts to my own micro-feed app, a lite-cms that I have been writing for three years and honing for the last few months.

    I have a game that is still deep in development but it runs on my SteamDeck and I have logged a few dozens of hours play-testing it and it is not terrible.

    I spent multiple weeks spread over five months writing code for professional clients under the flag of my new corporation and that code has now all been deployed and (I am assuming) helping those clients run websites and business operations.

    That has been my 2025 in technology: highly coded, and contributed, and there is a neat little graph that marks it all in a record of progress right there as a series of little green squares.

  • i, capitalist, part one

    I have all these little things floating around in my life that are probably worthy of entire articles. Heck, if I wrote some of this stuff down and started a blog about each of them I would probably get wicked traffic… you know, because the whole money, investing, business and buying shit is the type of stuff that ninety-nine percent of other guys besides me salivate over day after day. 

    It’s not that I don’t do any of it, it’s just that I’m not intellectually interested in it… the same way that I don’t really care about professional sports. The teams are companies. The games are repetitive. And unless you’re gambling on it or cheering for the playoffs it’s all one big circle… of whatever.

    That said, I do a lot of capitalism things and this is site is kinda like my journal and half the point of it is to drain the thinks out of my brain onto the page, so… yet another new series: i, capitalist, wherein I yammer about my business and my investing and my other stuff.

    Like, I’ve been getting all consumer capitalist drooling over a new computer. I’m writing this on a six year old iPad. It works. But kinda just barely. I’ve been working on a contract for my business and the business is definitely going to be investing in a new computer so that I can do business work on something besides my gaming desktop computer in the dark basement or an aging iPad. And crazily enough Apple is apparently announcing the next version of their MacBook Pro series. I’ve been doing a lot of coding and sound design and a bit of video work, not to mention writing millions of words (on a freaking iPad) and while it all kind of works with the equipment I have, those new M5 terabyte multicore drool-inducing laptops are haunting my dreams. I don’t yearn for much, but a slick new laptop is hard to resist… especially if it’s a business expense, huh?

    And speaking of business I’ve been trying to figure out what it all means to be the sole director of an incorporated business. About six months ago while I was job hunting I had a few opportunities to apply for some sweet government work. Long story short, I didn’t get it because they closed all the competitions because of a labour dispute or something, but in order to apply I had to do so as a corporation. It’s not exactly an epic origin story for the side of a beer can to write “8r4d Consulting Ltd was built on the owner’s dream of meeting the minimum requirements to apply for a part time government system analyst contract …and the rest is history!” But here I am. And I need to responsibly track all the money and the bits so that I can file taxes and be a good corporate owner guy. It’s a time. 

    And speaking of money and bits, I got suckered by an advert, I admit it, and I downloaded one of those day trading apps to my phone and plunked a bit of mad money into the stock market. As of this morning I’m up… but only by about eight cents at the moment. It was as high as 35 cents when I started writing this, but such is the rollercoaster of the financial markets. (It’s particularly fitting that as I was writing this at a Starbucks, my actual investment guy who works at the bank across the parking lot strolled by with his coffee. We’ve got cash in a managed fund portfolio through him that all kinda makes my little trading app look like I’m playing a video game. But heck, I’m almost fifty and I know virtually nothing about the stock market. I figured I should learn a little bit.) My thought was not to try and partake in some get rich quick fantasy, but rather to spend a little bit of cash to see how the system works. It’s unlikely I’ll lose my shirt gambling a few hundred bucks on some tech and energy shares, but I’m playing with the assumption of a sunk position anyhow… and the rule of not chasing bad investments with more. I am more of a gamer than a money guy, after all. 

  • code monkey, one

    I have been writing code for nearly as long as I have been using computers—which, ugh, it sparks my nostalgic angst fuse to write it but that was in grade school in the nineteen eighties. 

    To that point, I have been coding increasingly more and more these last few years, and making more and more meaningful tools in code.

    I thought it was high time I started a reflective series of posts on the topic. 

    Oh, sure, you can toddle on over to one of my other blogs and read about the intricacies of my coding efforts when I choose to write about them. I am specifically referring to my game development blog where I was for a while simul-writing about the creative processes behind indie game design—but bluntly those posts tend to get into coding and design weeds quite deeply and are not everyone’s cup of joe. 

    Code monkey, part one then—and it begins with a wistful reflection on the recent overhaul of my Microfeed Applet. 

    Three years ago I was livid.

    I was so damn sick of the broken-ass nature of social media I set out to divest myself of participation on the platform which I had once loved and cherished, but which had betrayed my trust: Instagram.  Doesn’t that sound weird, to confess such adoration for a social media platform? Well, it was once a triumphant tool of personal expression and sharing. I could make comics or photos or art and spread them to friends and the world. It was like perfect digital self-publication tool made real and easy.  But those damn platforms do as those damn platforms are wont to do: they blurred the notion of customer and user and suddenly I noticed that I was no longer a customer, but just another user who flailed about in algorithmic hell of lost potential. 

    In reaction and protest, I wrote some code to upload my photos and text to my own server: 8r4d-stagram, I called it.  It kinda looked like a rudimentary version of Instagram, which back then was the whole point: if they are going to fuck up their platform, then I can just make my own. I can code personal projects, and it’s not like I was going to sell it so who cares how or who or what I replicated? 

    We went to New York a couple weeks later and there I used the new little photo posting system every day to post pictures from our trip. It was clunkier than Instagram, to be sure. Of course it was. It was essentially a home-brewed, web-based, beta-version of a billion dollar platform. It could never compete in real life, but it was good enough for me—and I took a lot of notes on what worked and what didn’t. QA on the fly, on the road.

    That was nearly three years prior to writing this post. In those years I have tweaked and improved the tool in fits and bursts, but improved it nonetheless. I have extended it, adapted it, fine tuned it and overhauled the guts of how it worked inside. I have added features, removed some of them days or weeks later, enhanced security, broadened the flexibility and made it work so much better than it did during that trip to New York trial period

    Code, after all, is one of those iterative efforts. A thing you make might never be done, so long as you can think of new ways of bending and blurring what you are trying to make it do, but then you can update it and improve it. That’s the joy.

    I have built hundreds of little programs over the decades, but only a handful have amounted to anything more than toys. My Microfeed Applet is one of those that has become in its own right so much more than a throwaway project.

    The last couple of weeks I have put my head back into the code and worked to push it even closer to maturity and even further from a simple Instagram clone. I reskinned the design. I added a menu system. I fine-tuned the back end code that you’ll never see but removes even more of the “clunk.” I refined the usability. All of this is not just in anticipation of another vacation trial period and me taking the tool to Japan to post our adventures in a few months, but because I am an iterative code monkey-type who thrives on continuously improving his tools, sharpening his blade, and enhancing his own skill. I use it. I learn from making it.

    And now that I have over a thousand posts on my own faux-social site, every code tweak it makes it easier to keep using it and not go back to broken-ass platforms.

  • head over feets, seven

    With the pool closed now, I have been a couple of things fitness-wise, frazzled and lazy. I mean, it is going to take me a couple solid weeks to find a rhythm and routine again, and one of those fail points is definitely reared up as my lack of logging of everything here. Yeah, I haven’t posted—not that anyone but me is checking, but accountability is accountability, even to oneself.

    So I figured I would do two things: (1) try for a running streak in September and (2) reset this log starting on last Saturday (back in August) when my running streak properly started. 

    So Saturday, huh? Yeah, I woke up feeling motivated and drove down to Park Run. I don’t want to say I’m a rare participant in Park Run but the August long weekend was only my second outing of the year and my ninth overall.  The vibe is that of a race, even though people have literally argued with me about this online, but for me it checks enough boxes—start and finish lines, timed results, online records, lots of participants—that I feel like I’m racing, so I try a bit harder. As it was I pushed myself and came in just barely under thirty minutes, good but not great, but still anything under thirty feels like I’m not completely out of shape.

    It doesn’t strictly count as a fitness point, but I ordered a pair of wireless waterproof bone conducting headphones. I’m a normal kind of guy, after all, and I like to listen to some tunes while I work out. I tried the whole fruit-based pod thing and they get sweaty and fall out, and I know the new ones have improved—but then I saw the waterproof wrap-around version (no brands mentioned) were on the reward points website and so, I’m like, that seems like an upgrade for my purposes. They are currently on order and I won’t say a done deal, but I expect them in a week or two.

    Sunday we met thirty minutes early for our Sunday run because the forecast was for hot, hot, hot by mid-morning—and it wasn’t wrong. We logged an honest eight klicks and tried to keep it to the shade.

    I figure that pretty much anything I log with my watch counts as fitness, so having logged a two hour paddle down the river with my wife and dog on Sunday afternoon I can say, yeah, kayaking down a river is a workout. I was tired like crazy that evening.

    I was feeling dedicated to my still-young run streak on Monday but the firesmoke had rolled in and we cancelled our traditional breakfast run meetup—in that we still went for breakfast but skipped the run for health reasons.  But I had a run on my mind and a rec centre pass in my wallet so I hit the track and logged a five klicks track run shortly after we washed up from dinner.

    Now, summer vacation proper is over, effective as I write this knowing my kid is off to school again, and my days can be a little more focussed on getting back into the fall and winter routine—and that includes some serious ramping up of my training. Stay tuned.

  • the emdash conundrum

    What is that mysterious double-dash and why isn’t it a red flag for inhuman writing?

    Maybe you’ve heard this one before: as I write these words there’s a post actively circulating written by some guy who can tell you “one simple trick” for spotting generative AI content online.

    “Look for the emdash!” he writes. “It’s a dead giveaway.”

    Thus we come to the problem of the emdash.

    Oh, you know what an emdash is, right? Oh, sure, you know—but that guy reading over your shoulder doesn’t so I’ll explain here so that he can keep following along.

    Simply, an emdash is just punctuation. 

    We use all sorts of punctuation in English writing and the kinds of punctuation one uses is often a matter of the form and formality of said writing. There are punctuations that get used to mark the end of sentences, say, most commonly periods, exclamation marks, and question marks. There are “quotation marks” both double and ‘single’ that call out words or phrases as a kind of contextual clue that these are someone else’s thoughts, words, ideas, or have broader meaning beyond the text one is reading. And then there are all sorts of helper punctuations that get used to help simulate the cadence of speech patterns like pauses and passes towards new ideas. These include commas, parentheses, colons, semi-colons, ellipses, and—you guessed it—emdashes.

    Emdashes are probably the least well known, and infrequently used of the bunch, and basically are just a double-dash. A single dash might tie a pair of words together, where an emdash might tie a pair of concepts or sentence-fragments together, and are often employed (at least as I have found) as a more informal version of the semi-colon, a hint to the reader that a conversational tone is implied as one reads and very much used like a pregnant pause or a “get ready for this” beat in the reading.

    And I’ll tell you what else: speaking as a writer myself, they are fun to use stylistically once one starts to think in that vibe and to think of someone reading the words on the page better matching the cadence in the writer’s head. Also, with modern variable-width fonts pretty much standard now, they make even more sense than even a decade or two ago with their less-relevant strict type-setting rules. In other words, people are using them a lot more these days, particularly for casual writing.

    One guess what is busy slurping up a lot of modern, casual writing these days and using it to emulate human conversational writing styles.

    Yeah—AI.

    So. Here we are at the emdash problem: when an increasing majority of content is rapid-generated by AI engines, and those engines are emulating the most modern of casual writing that they have pilfered and scraped from public websites, it was then almost inevitable that (a) those generated AI texts were going to use punctuation trends that are common in text that was written in the last decade and (b) any human reader who is used to more formal writing would immediately misidentify this less-common, human-mimicked punctuation as a red flag gotcha for generative text.

    Yet, it will never be so easy. Don’t let down your guard.

    I can tell you this with confidence because almost everything I’ve written (at least, written casually) in the last couple of years has made frequent use of the emdash as a stylistic choice. I like the emdash. I use the emdash. And your objection to my use of the emdash is no more valid than telling an artist they use too much blue paint or a musician that their choice of chord progression is wrong: these are stylistic choices and—fuck off, I’ll write how I want to write.

    People—human people—use the emdash and it is not a dead giveaway for anything, not even AI.

    Like everything else we see online, we need to be a little suspect and cautious: we now have the job to use our brains to unravel the source of authorship, and yeah—guess what!—there is no easy quick trick to deducing origin anymore. It’s a toss up if a human or an algorithm wrote it.

    The author of this particular viral meme accusation against all emdash-containing text is not entirely wrong. I mean, kinda mostly wrong, but not completely wrong. There will almost certainly be a trend towards greater use (and misuse) of emdashes in generative text for a while and for the very reasons I wrote above… but emdashes are no smoking gun nor flawless clue. They are but a single part of a complex profile of the origins of the modern written word, a profile that will get more complex as each day passes and more algorithmically generated content floods our feeds. We need to use our very human brains to detect these things and always be skeptical of sources and authors, but this means doing research to understand those sources by seeking to find profiles and consistent histories of the real people writing things, testing ideas against multiple perspectives, and shining sunlight on simple and stupid solutions to the complex problems we will face in the challenging of our own humanity.

    AIs didn’t invent the emdash, and insisting they did is an insult to the thousands of real humans who have adopted this as part of a stylistic toolkit and are trying to write interesting things in what is already an uphill battle against the processors.