Byte High, No Limit

illustrations illustrations illustrations illustrations illustrations illustrations
A year learning a language with Duolingo

A year learning a language with Duolingo

I should be bilingual. I grew up in a country where the indigenous language is not English. But given that it’s been 741 years since Wales was annexed by England, it’s not that the Welsh language is in decline that’s surprising, it’s that there are any native speakers left at all. I had a year of lessons before I left the capital for a border county. I remember how to count to five, and that’s about it. Instead I was taught French, badly. Over the years, I have tried various approaches to shake my monolingualism with little effect, until I went back to Duolingo.

Read More
iPadOS 26 is great, Liquid Glass not so much

iPadOS 26 is great, Liquid Glass not so much

Let’s address the transparent elephant in the room first. I don’t love Liquid Glass. It’s fine on my iPhone. The corners are too rounded on my 6.8 inch CarPlay display. If you have regular icons on your desktop on an iPad Pro, it’s a disaster. The transparency goes too far and the background icons blend into the foreground icons. I tried switching off transparency. It looks horrible. I tried permanent dark mode. Still not great. I made the icons big. That helps a lot, but it doesn’t fix it. I did finally come up with a solution: only have icon groups on your home pages. Then there isn’t so much color in the background to clash with the foreground icons. And now I can live with it. Having solved that problem, I moved on to making my iPad dock closely resemble my Mac dock.

Read More
Creating an information architecture with Chat-GPT 5

Creating an information architecture with Chat-GPT 5

Earlier this month, OpenAI launched GPT-5, its latest and most advanced AI model, for all ChatGPT users (including free users). The company claims the model is smarter, faster and more useful, particularly across domains including writing, coding and health care. It also claims GPT-5’s hallucination rate, where the model fabricates answers, is lower. This is the first time free tier users have been given access to a reasoning model (if they hit their usage cap, they’ll be given access to something called GPT-5 mini). GPT-5 support is also included in Microsoft Copilot.

Read More
A tale of two Asphalts

A tale of two Asphalts

This is the story of how an unloved mobile video game that was abandoned after four years was revived by Netflix and became a better gaming experience than the more successful title it was based on. It begins in 2004 with the release of the first title in Gameloft’s Asphalt arcade racing series for the Nokia N-Gage. The first dedicated gaming cell phone, the N-Gage was a flop. But the series is still going after more than 20 titles.

Read More
Profile: Chris Horrie

Profile: Chris Horrie

I did my journalism training at the London College of Printing back in the last century when newspapers were still a thing. It was essentially a 13 week NCTJ training course (without NCTJ accreditation) and a crash course in desktop publishing tacked on to a liberal arts degree. It has stood me in very good stead. The liberal arts side was provided by plain-speaking Yorkshireman Roger Fieldsend and philosophical anarchist Barney Summers. It did a pretty good job of filling in the gaps for people like me who didn’t have a classical education. Kathy Hilton taught me almost everything I know about typography and page layout (and enough about QuarkXpress that I was able to get a summer gig as a copy editor in my second year). The computer lab tech taught me how to use Photoshop (before it had layers) and the inner workings of the Apple Macintosh. The professor of journalism was Antony Delano who I kept in touch with for a while. My dissertation supervisor was Paul Charman (who fell out with his friend Mark Knopfler after writing about him for Time Out). And the course director was Chris Horrie. I was absent (due to lack of funds) when they allocated positions on the student newspaper project. I was given the position of copy editor. This meant I wouldn’t get to write for the paper. I was upset when my avant-garde page layouts were rejected, and decided to find a way to get something published. Perhaps I should have learned from Charm’s mistake, but I ended up writing a profile on Chirs. It has some minor inaccuracies, but I present it here as it was published around 30 years ago.

Read More
Emulation and virtualization on iPad in 2025

Emulation and virtualization on iPad in 2025

On a personal level, the last 12 months have been a lot. I stopped posting weekly updates back in June 2024 and I’ve been posting on an ad hoc basis since then. This probably explains why I missed the news that in April 2024 Apple approved retro console emulators in the App store; a decision that it subsequently updated to include retro computer emulators. I also missed that in the same month AlStore PAL, an alternative app store, launched in the EU; and while there was initially a small annual fee, a grant from Epic Games means that it’s now free. This is game-changing for emulation and virtualization on iPads (and to a lesser extent on iPhones too).

Read More
It's time for me to switch to Firefox

It's time for me to switch to Firefox

I’m old enough to remember when web apps were written to work with Internet Explorer 6. Thankfully, the days of being dependent on specific browsers are mostly consigned to the past. But one reason for this is because most browsers use the Blink engine (derived from WebKit, which is in turn derived from KHTML). The alternative is Mozilla’s Gecko (used in Firefox). Chrome is faster than Firefox, but because of its architecture it’s a lot more resource hungry. And Mozilla recently added the one feature that was preventing me from switching: built in page translation (which enables me to interact with Spanish-language communities on Telegram).

Read More
Creating an API style guide

Creating an API style guide

I was recently asked for my favorite resources and best practices for writing clear and structured API docs. I’ve developed my own style for writing API docs, but up until now I haven’t published it. Although I’ve mainly worked with REST APIs, this guidance applies equally to GraphQL and any other APIs. But before I get to writing style, the most important requirement for good API docs is a good API. If you’re using REST, validate it with Stoplight. If endpoints are inconsistent in how they handle common parameters, there’s no way to write around the problem. This seems to be more of an issue with REST and may account for the move away from REST toward GraphQL. The next thing that you need is static, searchable docs. Don’t expect your GraphQL users to find the information they need by browsing your schema in Apollo. Don’t expect your REST users to scroll to the bottom of the Swagger UI page to find out how to format data for a given endpoint. If you need a no-budget solution, Redocly CLI and Magidoc are good places to start for REST and GraphQL respectively. Unless you use AWS hosting (which doesn’t play nicely with Magidoc’s clean URLs). And don’t think that you’re done when you’ve published your schema. Developers need workflows, code examples and reference information to understand how they are expected to use your API. Ideally, this information should live in a public developer portal. Your rivals are not going to be able to clone your product by examining your API. And even if they start adding features based on it, you’ll always be several steps ahead.

Read More
Hybrid document management systems revisited

Hybrid document management systems revisited

In January last year, I was up for a documentation manager role and I needed to come up with a solution that would serve the needs of writers and developer-contributors. My solution looked something like this:

Read More
Byte High, No Limit goes monthly

Byte High, No Limit goes monthly

I’ve retroactively decided to return the Byte High, No Limit blog to a regular cadence. For the first two and a half years of its run, I published a new article every Thursday. But other pressures on my time meant that eventually became unsustainable. Last year, after I ended weekly publishing halfway through the year, I published four more articles for a total of 30. I think one a month is probably doable, not least because that’s the cadence many YouTubers who used to release new videos every week have now moved to. And quality videos are a lot more work than this. So this year, new articles will appear on the last Thursday of the month.

Read More
2025: No predictions for the year ahead

2025: No predictions for the year ahead

For the last two years, I’ve made predictions for the year ahead. Well this year when I looked in my crystal ball, I didn’t like what I saw. So I’m changing the format. Instead of making any predictions, I’ll be listing some things to look forward to in the year ahead.

Read More
2024: The Year in Review

2024: The Year in Review

Next year is the third anniversary of this blog. But this year, after two and a half years of publishing weekly articles, I had to take a break. After a sojourn in developer relations and solutions engineering, this is also the year I returned to technical writing and contracting. My most high-profile gig this year was contributing to TheSpectrum, a retro console that has been a big hit with consumers. The big road trip this year was from Dingle to Bangor around the coast of Ireland. I’ve previously sailed from Galway to Dublin and Dublin to Bangor. So now I’ve seen the entire coast of Ireland and visited all 32 counties. At the end of the trip, I had a birthday ending in a zero, which I celebrated with a meal at the Wolff Grill in Belfast.

Read More
The forgotten American 8-bit computer

The forgotten American 8-bit computer

Some time around 2010, my friend Bruno Florindo made contact with former Timex Computer boss Lout Galie. I provided the questions, Bruno conducted the interview and I wrote up the response for the original incarnation of Byte High, No Limit. Here is the unedited article:

Read More
Retro spotlight: Teresa Maughan and videogame magazines

Retro spotlight: Teresa Maughan and videogame magazines

In 1983 Teresa Maughan graduated from the University of Reading with a bachelor of science honors degree in Psychology and Zoology. She wanted to work in television, but she ended up becoming one of the most significant contributors to the UK magazine publishing industry, in particular in computers and video games.

Read More
Not the end

Not the end

Today is the two and a half year anniversary of this blog. That’s one article a week over the last 130 weeks. I always intended to scale back the amount of time I spent on the blog this year. But it’s become apparent that even with the plans I had in place to make life easier for me, this level of output has become unsustainable.

Read More
Review: One Night in Camden

Review: One Night in Camden

This week at work we launched a combined user documentation, REST and GraphQL API portal for a new product. I’m very happy with how it turned out. But there’s a lot of other stuff going on right now which hasn’t left me any time to dedicate to the blog. Normally, when I pull an article from my archive, I’ll completely overhaul and update it. But this one is a snapshot of a particular time in the mid-1990s when London was the place to be and I was getting my start in newspapers. So I present it in its original form from 1995.

Read More
Fully autonomous cars are only a decade away

Fully autonomous cars are only a decade away

This week I read an article in the national newspaper I subscribe to with the subhead: “carmakers appear to be abandoning the idea of fully self-driving cars.” It mentions that the recent French Open Tennis Championships offered a park-and-ride, fully autonomous bus service to and from the event. The bus was co-developed by Renault and WeRide, but the article quotes Renault spokesperson Christophe Lavauzelle as saying that the idea of fully autonomous vehicles other than buses that run along fixed routes was probably dead. The article questions how autonomous software would cope with being asked to share streets with existing human drivers. The answer is, it’s already happening right now in San Francisco and it’s doing just fine.

Read More
Leather Jacket

Leather Jacket

Like many boys before me, as I child I wanted to be a fighter pilot. I made Airfix models of Mustangs and Messerschmidts. I went to the Wales Aircraft Museum (closed in 2000) and sat in fighter cockpits. I wore jackets that looked like flight jackets. I had a radio that could receive aircraft transmissions wired up in my bedroom. I even got as far as talking to the Royal Air Force about a career, but gave up when I was told my eyesight meant I’d only be able to make navigator.

Read More
Essay: The rise of single-issue politics

Essay: The rise of single-issue politics

This is mainly a tech blog, and I normally steer clear of politics. But having spent 80% of my life at this point living in the UK, I still take an interest in what’s going on. I used to be a newspaper reporter and before that I was a politics student where I won a class bet on the outcome of the 1992 general election. Everyone predicted a Labour win, but I predicted the smallest majority. This time around, I think Labour will form the next government and the UK will have its fifth prime minister in as many years.

Read More
My curated list of animated shows (part 2/2)

My curated list of animated shows (part 2/2)

In the first part of this article, I got as far as “Invader Zim”, which laid the foundations for what came next. The 2010s is considered by many as the start of a cartoon renaissance. This decade saw the premier of diverse shows including “Adventure Time”, “BoJack Horseman”, “Gravity Falls”, “Harley Quinn”, “Regualr Show”, “Rick and Morty”, “Steven Universe”, “Sym-Bionic Titan” and “Teen Titans Go!. Netflix joined Cartoon Network, Disney, Nickelodeon and Warner Bros as a major player in animation. In 2013 it began producing original content in partnership with studios like DreamWorks Animation. In 2018 it set up its own animation studio. It has also provided a new audience for shows like “Avatar: The Last Airbender” and picked up canceled shows like “Star Trek: Prodigy”. These are some of my favorites for your consideration:

Read More
My curated list of animated shows (part 1/2)

My curated list of animated shows (part 1/2)

I thought a list of animated shows would be a relatively quick article to write. I was wrong. There’s no way to do it justice without taking at least a brief look at the recent history of television animation. I’m going to skip animated films entirely because they deserve their own article. And I should also note that although the 1990s is my formative decade, aside from MTV’s “Liquid Television” animation showcase (which is the reason I saw “Grinning Evil Death” before I saw “Tin Toy”), it passed me by. In fact, I only got back into watching animation during the pandemic.

Read More
Retro spotlight: Rebecca G. Bettencourt and bitmap fonts

Retro spotlight: Rebecca G. Bettencourt and bitmap fonts

Rebecca Bettencourt was drawn to computer programming from the age of 10, when she built her first website and started creating Macintosh bitmap fonts using only a resource editing tool. I first encountered her work when she added support for the FZX font format (that I created with Einar Saukus and Paul van der Laan) to Bits’N’Picas, her tool for creating and converting bitmap fonts.

Read More
An introduction to supply chain attacks

An introduction to supply chain attacks

On March 28 Andres Freund discovered malicious code in the XZ Utils package that could have compromised the security of around half the servers on the internet. The attack was audacious in its scope, planning and timescale, leading many to speculate that it was conducted by a state agency. What’s really terrifying is that it was discovered by accident by a database developer. Security researchers failed to spot it.

Read More
Retro spotlight: John Grant and Sinclair BASIC

Retro spotlight: John Grant and Sinclair BASIC

Earlier this month, Zilog announced that it would be discontinuing the Z80 microprocessor after 48 years of production. Coincidentally, 48 is the number of kilobytes of RAM in the Z80-based ZX Spectrum microcomputer, which by another coincidence was released 42 years ago this month. This numerological rambling probably only makes sense to you if you’re a fan of “The Hitchhiker’s Guide to the Galaxy” (see last week’s article) and read this paragraph in the voice of Peter Jones. If not, don’t panic. To tell the story of Sinclair BASIC, it’s best to tell the story of some of the minds behind it. A human from the planet Earth was one of them. His name is John Grant.

Read More
The Hitchhiker's Guide to the Grams

The Hitchhiker's Guide to the Grams

Douglas Adams’ “The Hitchhiker’s Guide to the Galaxy” is best known as a trilogy in five parts (with a sixth by Eoin Colfer). But before the books came the radio play. And the album; recorded to avoid the rights issues with all the music used in the first radio series. After that, the BBC learned its lesson… until Dirk Maggs adapted the books for radio and had Marvin the Paranoid Android hum Pink Floyd.

Read More
Profile: Tom Lehrer

Profile: Tom Lehrer

In a monologue preceding one of his songs, Tom Lehrer once said: “I wonder how many people here tonight remember Hubert Humphry, he used to be a senator. Every now and then you read something about him in one of those ‘where are they now’ columns. This became quite an issue last winter at the time of Winston Churchill’s funeral, when President Johnson was too ill to go and somebody suggested that he send Hubert. And he said, ‘Hubert who?’” Now people who are younger than me ask: ‘Tom who?’

Read More
Taking the grand tour

Taking the grand tour

From the mid 1600s until the mid 1800s, the Grand Tour was a trip through Europe (featuring Italy) undertaken by wealthy young men from high society. It piqued in the era of neoclassicism and died out with the advent of the railroad. The term was revived in the 1950s to describe touring cars designed to cover long distances at high speed in comfort. As motoring journalist Jason Camissa is keen to point out, today every car is effectively a grand tourer. Although I would argue that a GT should be front-engined, rear-wheel drive, with two seats plus two occasional seats (2+2) and enough room in the trunk for a trip from Coventry to Turin.

Read More
Building a replica Hendrix guitar

Building a replica Hendrix guitar

If you work in IT, it can’t have escaped your notice that there are a lot of musicians around, including enough guitarists to fill a stairway. Indeed, one of my former managers was the bass player in a band that had a UK top ten hit and appeared on “Top of the Pops”. The nearest I got to that was having a hastily written 8-bit computer game included on a vinyl EP released by Plastic Raygun (although I’m told it was used for scratching in live sets by the likes of Fat Boy Slim). I mention this to tenuously tie in this week’s article into the general tech theme of the blog. But the truth is that after 116 weeks of putting out a blog every week, I need a break. But they say a change is as good as a rest, so expect more left-field content until I’m fully recharged.

Read More
Getting started with GraphQL

Getting started with GraphQL

GraphQL is an API query and manipulation language. Created by Facebook in 2012, it was open-sourced in 2015. In 2018 it moved to the GraphQL Foundation and introduced a schema definition language (SDL). It seems to be replacing REST as the standard way to expose public APIs. With REST, you have to define the inputs and outputs for each endpoint. Whereas with GraphQL, there’s only one endpoint and you define a schema. The user sends only the required data to get what they want back. And unlike SQL, you’re not limited to a single data source.

Read More
Getting started with Automator

Getting started with Automator

Although I pretty much have this website how I want it now, I’m still tweaking the CSS and adding features. Lately I’ve added some more social networks to the landing page and some more options to the social share buttons on the articles. But one thing I really wanted to add is the option to listen to articles. I considered services which offer a free tier, such as Trinity Audio and Speechify, but I had too much existing content. Incidentally, Speechify’s AI version of my own voice was spooky. I could tell it wasn’t a real human, but only just. So in looking for a zero-cost solution, I ended up using macOS’s Automator app. I also decided not to convert articles with code samples, because those are best left to dedicated screen readers.

Read More
Retro spotlight: Jeri Ellsworth and the FPGA computer

Retro spotlight: Jeri Ellsworth and the FPGA computer

Jeri Ellsworth turns 50 this year. Her first job was building and racing cars, but in 2002 she kicked off the FPGA computer revolution with the C-One. Since 2012 she’s been working on augmented reality (AR) at Valve, castAR and now Tilt Five. At around the same time she was working on the C-One, I was working on an enhanced Timex Sinclair 2068. The projects converged in 2011, but I’ll get to that. First, a quick explanation of what an FPGA is and isn’t.

Read More
The Hipcrime Vocab

The Hipcrime Vocab

I can confidently predict that I will not still be writing this blog the next time February 29 falls on a Thursday. So today’s article is a little out of left field. I used to read a lot of science fiction when I was younger. But I hesitate to present a curated list, because the genre isn’t for everyone, and even within the genre there are so many sub-genres that it’s hard to find titles with universal appeal.

Read More
Retro spotlight: Mark Dean and the IBM PC

Retro spotlight: Mark Dean and the IBM PC

You might have read about Dr. Mark E. Dean elsewhere this month. Chances are, it was what in newspapers we used to call a “cuttings job”. This is when you assemble an article from previously published information. But you’re supposed to at least check that the information is accurate and still current. So while I’d like to focus on why one of the engineers responsible for the IBM PC has been using a tablet as his primary device since 2011, instead I need to clear up some misconceptions.

Read More
Retro spotlight: Hedy Lamarr and wireless networks

Retro spotlight: Hedy Lamarr and wireless networks

I first heard the name Hedy Lamarr in Mel Brooks’ film “Blazing Saddles”. The next time was when as a student journalist in the early 1990s I was trying to interview Tom Lehrer, and he suggested I interview her instead. I should have listened to him. I could have got the scoop on how her 1942 patent with George Antheil for spread-spectrum radio contributed to technology that we rely on daily, including cell phones, Bluetooth, GPS and Wi-Fi.

Read More
Using an iPad as an external monitor

Using an iPad as an external monitor

My five-year-old iPadPro is the most versatile gadget I own. A few peripherals transform it from a device for consuming content into an incredible productivity tool. And now, thanks to Lux Optic’s HDMI Monitor – Orion app, I can also use it as an external monitor. I waited to get an iPad until Apple added a USB-C port, and the app works with all such models. But before we get into it, here are some of the other things I use the iPad for:

Read More
Essay: Braver Newer World

Essay: Braver Newer World

Year one of the calendar in Aldous Huxley’s “Brave New World” is 1908, the year Henry Ford introduced the Model-T. As expected, the media duly noted the one hundredth anniversary of the event in October 2008. But they missed out on the fiftieth anniversary of the publication of “Brave New World Revisited”. In this non-fiction work, Huxley concluded that far from being some 600 years away in the future, his dystopian society based on ‘Fordian’ principles of mass production, commercialization and consumerism, was just over the horizon.

Read More
Retro spotlight: Avril Harrison and Deluxe Paint

Retro spotlight: Avril Harrison and Deluxe Paint

Deluxe Paint was a bitmap graphics editor created by Dan Silva and published for the then-new Amiga 1000 by Electronic Arts in 1985. He went on to join the Yost Group with Tom Hudson (who created the Atari ST equivalent package, DEGAS) which created the software that became Autodesk 3ds Max. Deluxe Paint became the standard graphics editor for video games in the 16-bit era. But what initially popularized the software was the art of Avril Harrison, in particular an iconic image of Tutankhamen, which became part of the Deluxe Paint brand.

Read More
Creating a hybrid document management system

Creating a hybrid document management system

This week, I listened to a podcast where the host opened with a sincere apology and the guest made some interesting points about the current social media landscape. Volume is king. Trying to do journalism without the backing of a large publication (particularly its fact-checkers and legal team) is both hard and risky. Journalists and content creators alike have to consider how what they do reflects on their personal brand. And there is a problem with the conflation of opinion and facts. Alternative facts are a thing (a bad thing).

Read More
Retro spotlight: Andy Remic and the 8-bits

Retro spotlight: Andy Remic and the 8-bits

Andrey John “Andy” Remic was a writer, filmmaker and retro computer enthusiast. In Februart 2022 he died from cancer at the age of 50, leaving behind his wife Linda and two children. Before his health began to deteriorate, he was working on a new documentary called “The 8-Bit Evolution” looking at modern recreations and evolutions of 8-bit systems. He was planning to interview me because of my involvement in the Mega 65 project. We had a long-running conversation on Facebook that culminated with me providing written answers to interview questions to be filmed at a later date. I think enough time has passed that I can now share some of my responses. But first, more about Andy.

Read More
My front pages

My front pages

It’s been two years since I relaunched my website as a personal portfolio and developer relations blog. Having been a journalist, a marlinspike sailor and a technical writer, I’m finally comfortable describing myself as software engineer (on the basis that my last two roles both included writing code). This seems like a good point for some reflection.

Read More
2024: Predictions for the Year Ahead

2024: Predictions for the Year Ahead

This is my second go at making predictions for the year ahead. As with last year, I’m not going to make any predictions on geopolitics or the climate crisis and will confine myself to commenting on technology. Although with all the general elections taking place around the world, it will certainly be a year of change. But first, let’s take a look and see how I did on my predictions for 2023.

Read More
Why you should try programming in Lua

Why you should try programming in Lua

Let me start by saying that I don’t have anything against Python. It’s the number one programming language for a reason. But I learned Perl before Python was invented, and I’ve never had a compelling reason to learn it. On the other hand, when I worked in video games, I needed to get familiar with Lua and I found it very much to my liking.

Read More
2023: The Year in Review

2023: The Year in Review

It’s been nearly two years since I began publishing a weekly article on this blog. The aim was to serve the DevRel community, and for the most part I’ve stayed on topic. As 2023 comes to an end, it’s time for that old staple of the look back on the past year.

Read More
Migrating documentation

Migrating documentation

Migrating documentation from one software platform to another can be painful. I remember the days when moving a Word document back and forth between Mac and Windows caused problems. I started working as a technical writer in September 2006, a month after the launch of Pandoc (the “universal document converter”), although I didn’t learn of its existence until many years later. It certainly would have helped with some of the migrations I’ve managed, but not all of them:

Read More
The analog era is ending

The analog era is ending

Among other things, I’m a car bore. But I’ll try to keep that part brief. In my household, we have two cars: a 2019 e-Golf and a 2013 Toyota 86 (originally sold as the Scion FR-S in the US, also sold as the BRZ by Subaru). They bookend two automotive eras.

Read More
Managing an online community

Managing an online community

Merriam-Webster describes community as a unified body of individuals with common interests. I’m not sure that I agree. Every community I’ve ever been involved with has factions. In addition to common interests, they also have competing interests. And if no-one takes responsibility for resolving conflicts, communities can split acrimoniously. Keeping communities healthy requires management. But it can’t be left to a single individual.

Read More
The art of story

The art of story

As humans, the two main ways we learn are through play and story. When you’re trying to learn a new task, it’s often easier to learn by trial and error than by traditional instruction. It’s often said that mistakes and failures are the greatest teachers. But sometimes it’s better to learn from the experiences of others to avoid repeating their mistakes. Stories are important. They enable us to reach an audience not only beyond our own geography, but beyond our own lifespan.

Read More
An introduction to the semantic web

An introduction to the semantic web

One of my predictions for 2023 was that there would be a lot more talk about Web 3.0. I couldn’t have been more wrong. Global events and the rise of AI have completely overshadowed web developments. But it’s still a topic worth some consideration.

Read More
Art and Artificial Intelligence

Art and Artificial Intelligence

It is a truth universally acknowledged, that a single technology in possession of sustained media attention, must be in want of government legislation. And so the governments of 28 nations including the US, India and China came together to sign the Bletchley Declaration on artificial intelligence (AI). It’s named after Bletchley Park, where Alan Turing worked as a code breaker (and my maternal grandmother worked as an army motorcycle dispatch rider) during the Second World War. Turing famously went on to invent the Turing test as a measure of AI; could a machine fool a human into thinking it too was human. Arguably, that test was passed in 1989 when a student at University College Dublin spent an hour and 20 minutes arguing with an abusive chatbot called MGonz.

Read More
Doing secure offline machine translation with macOS

Doing secure offline machine translation with macOS

Machine translation has come a long way since researchers figured out that it was better to translate phrases than individual words. It works best when there are many texts in the source and destination languages. So if you’re translating to and from languages that both have a small number of digitized texts, it’s likely that translation will use English as a middle step. In this case, the accuracy of the translation can be affected. And I wouldn’t trust even the best machine translation without some level of review. In my case, I use DeepL in conjunction with LanguageTool (see the links at the bottom of the page).

Read More
Docs as code doesn’t have to mean Markdown and Git

Docs as code doesn’t have to mean Markdown and Git

After almost 15 years as a technical writer for software companies, I’m a convert to the docs as code philosophy. But while I like Markdown and Git (I use them for this website), I wouldn’t use them to document enterprise software. I’d miss the benefits of dedicated documentation tools like structured authoring, single sourcing and high quality PDFs to name a few. You may have been told that you have to give up your tools and become more like a developer to do docs-as-code, but I don’t think that’s true.

Read More
Which natural languages should you support?

Which natural languages should you support?

I have long been an advocate for localization (even if I am somewhat behind with translating the older content on this site into French). It’s a fair assumption that, most of the time, readers would prefer to access content in their own language. But you have limited resources, so which natural (not computer) languages should you support?

Read More
My curated list of children's authors

My curated list of children's authors

This week I presented a talk on CMS, CCMS and related solutions at the TCUK23 technical communications conference in England. I had intended to write up my other idea for a talk as this week’s article. But while I was hanging out with my tribe (writers), some of us got talking about our favorite children’s authors. And I promised I’d share my list of recommendations.

Read More
A DevRel perspective on the Unitypocalypse

A DevRel perspective on the Unitypocalypse

For those of you who don’t work in video games development, Unity is one of the most popular game engines. It’s particularly popular with independent developers. Last week, without warning, Unity Technologies announced a radical change to its licensing model, and alienated so many of its users that the story was carried by mass news media outlets, not just the video games press.

Read More
Going Digital or: How I Learned to Stop Worrying and Love the Cloud

Going Digital or: How I Learned to Stop Worrying and Love the Cloud

As far back as I can remember, I’ve been a writer. And like most writers, I’m pre-disposed to hoarding. But about a decade ago, when I moved to a small house in London, I decided I had to downsize. I’m from Gen X, which means I like to own my stuff (music, films and television shows). Before the iPod was created, I was considering buying two Wurlitzer CD Jukeboxes to hold my 300 albums. But I had already ripped all my CDs before the move.

Read More
The importance of time management

The importance of time management

When I became a developer advocate, one of the first and best pieces of advice I was given was to protect my development time. Essentially, don’t take on so much other stuff that you don’t have time to code. It’s in most people’s nature to want to help. But it’s important to recognize how much time you actually have and be able to say no when you already have a full schedule.

Read More
Writing American when it's not your first English dialect

Writing American when it's not your first English dialect

When I started out as a writer I used to use Oxford English. That’s the one with the (correct) -ize spellings. Although as a journalist I was told to avoid unnecessary punctuation and so I avoid the Oxford (serial) comma. But when I became a technical writer I found myself using American English in my day job. Eventually I got fed up with switching back and forth and settled on using American English exclusively. In this article I’ll use Colonial to refer to all non-American dialects of English.

Read More
Using Freeform for whiteboarding on video calls

Using Freeform for whiteboarding on video calls

As a solutions engineer, I’ve spent a lot of time on video calls with customers brainstorming solutions to unique problems. Ideally, I’d like to do this in person in a room full of whiteboards. But that’s impractical, so I’ve been looking for an alternative that I can use on a video call. The solution I’ve found is entirely dependent on having a particular set of Apple hardware, so I apologize in advance to all my readers who aren’t as deeply entrenched as me in the Apple ecosystem.

Read More
Using Lighthouse to validate web accessibility

Using Lighthouse to validate web accessibility

I’ve long been an advocate of localization, which is why it was important for me to make this site multi-lingual. But I’ve been an advocate of accessibility for even longer. So I really should have done an analysis on the site long before now, and for that I apologize. People tend to think that web accessibility is about disability, if they think about it at all. And then they do a quick mental calculation that goes something like: “How many users with disabilities am I going to have and how much time and money is it going to cost to make my site accessible?” And then, unless they are mandated to by law, they tend to do nothing.

Read More
Designing an operating system

Designing an operating system

If you read my recent article on implementing DLLs for the Z80 CPU, you’ll be aware that I’m designing an operating system called SE/OS. It’s a component of the firmware (System 1) for the Chloe 280SE FPGA computer. Up until recently I’ve been doing so in something of an ad-hoc manner. But I’ve reached the point where that’s no longer good enough. After asking some of my developer friends for guidance, I was directed to Andrew S. Tanenbaum and Herbert Bos’s “Modern Operating Systems”, now in its fifth edition.

Read More
Getting the most out of analytics

Getting the most out of analytics

Last week, I wrote about the social media platform formerly known as Twitter (TSMPFKAT). If the T and P are silent, like in tsar and pfennig, it can be pronounced sumf-kat. And I noted that I’m no longer using it to promote this blog, based on the analytics. So this week I thought I’d go into a bit more detail about the analytics I’m using and how you can use them.

Read More
Twitter is the new MySpace

Twitter is the new MySpace

At the end of last year, among my predictions for 2023 was that Twitter would still be around at the end of this year. I may have only been half right. The company is rebranding to X Corp. At time of writing, there’s a redirect to Twitter. But how long will that last?

Read More
Bulk converting Markdown to HTML

Bulk converting Markdown to HTML

Converting Markdown to HTML is easy. Just publish it with a static site generator (SSG). But maybe you’re using a cloud-based Markdown documentation solution, and you don’t have a local SSG. Then you probably don’t want to go to the trouble of setting one up just to do the conversion. There are free online converters, but I haven’t found any that do conversion in bulk. There are also plenty of code examples for languages like JavaScript and Python. But what if you just need your Markdown in HTML format now?

Read More
Who ya gonna call?

Who ya gonna call?

IT support staff are the unsung heroes of every organization. According to the Gartner Group, between 20% to 50% of all support calls are for password resets. It can take anywhere between 20 minutes to an hour and a half to manually reset a password, leading to annual losses of hundreds of hours. The lesson is that it pays to have a password reset feature in place. But whatever the nature of the problem, it’s IT support who should be able to solve your problem and get you working again.

Read More
Creating Z80 dynamic shared libraries

Creating Z80 dynamic shared libraries

Anyone who has used the Windows operating system for any length of time has probably encountered the phrase “DLL hell”, even if they haven’t directly experienced it. The concept of shared libraries is common to many operating systems. But what made the original version of Windows different was that the entire operating system was composed of Dynamic-Link Libraries (DLLs) running on top of the disk operating system (MS-DOS). Typically, problems occur with incompatibilities between versions of DLLs.

Read More
Why you should build your data center in Ireland

Why you should build your data center in Ireland

There has been a lot of talk in the Irish press this month about the fact that the government doesn’t seem to know how many data centers are present in the country (it’s thought to be around 28). The concerns are mainly around the ability of the grid to support the electricity demand. Ireland should already have offshore wind farms that generate surplus energy, but nothing happens fast here. The suggested alternative is Iceland, which runs entirely on renewable energy and has a fast data link with Denmark. The eruption of Eyjafjallajökull is now a fleeting memory of the before times. But do you really want to store your data exclusively on an island known for its volcanism?

Read More
My curated list of French films from the end of the twentieth century

My curated list of French films from the end of the twentieth century

My blog articles on the lists seem to be very popular, so I decided to write another one. However, given the subject matter, it seemed more appropriate to write this one in French and then translate it into English. In the late 1980s, I started watching French films with subtitles on Channel 4 in the UK. This may explain why most of my choices are from the following decade.

Read More
Getting started with Postman

Getting started with Postman

I’ve written about REST APIs before, but up until now I haven’t covered the easiest way to get started interacting with them. Created by Abhinav Asthana in 2012 as a side project to simplify API testing, Postman now has more than 25 million registered users. I’m assuming you already know about REST APIs. But if not, I’ve got an introductory article on the subject.

Read More
My curated list of obscure macOS apps

My curated list of obscure macOS apps

This fall, I will have been using Macs for 30 years. I bought my first in my freshman year at university and nicknamed it Fleetwood. Since then, I’ve almost exclusively used Macs. There was a time when Apple didn’t make any hardware I wanted, so I built a Hackintosh. But I could never get it working reliably with the hacked firmware, and I ended up installing Windows 10 on it. That was my first and last PC. It was ok at the start, but over time Windows became more of a pain to use. I’m now on my sixth Mac, although I mainly use a 12.9" iPad Pro (2018) outside work.

Read More
Component single-source multi-channel publishing with Markdown

Component single-source multi-channel publishing with Markdown

This week, I finished work on the final beta of the classic BASIC interpreter I’ve been working on for the Chloe 280SE FPGA retro computer project. Like many home computers from the 1970s to the early 1990s, when you switch it on, you go straight into the BASIC editor. But unlike most home computers of the same period, it has effectively unlimited storage. And that means that it can include built-in help, a feature that Microsoft didn’t add to QuickBASIC until 1987.

Read More
Exporting a Confluence page to Word XML

Exporting a Confluence page to Word XML

I’ve written previously about exporting release notes from Jira in XML format. That was relatively trivial. This week, I needed to export a Confluence page in Word XML (.docx) format. That turned out to be much more involved. On any page in Confluence, if you click More Actions ( ) and then select Export > Export to Word, you’ll get a document with a .doc extension that Word can open. But it’s not what most conversion tools would recognize as a standard Word doc. And if you need it in XML format, you still have to open it and then resave it. And you also have to interact with the web page. I wanted a better solution.

Read More
Accessing a remote computer from a mobile device

Accessing a remote computer from a mobile device

Since 2018, I’ve been using an iPad Pro as my main personal computer (besides my work laptop). It’s great for all my creative work. But every so often I need to run something that’s not supported on iPadOS. So I bought the lowest spec Mac mini available at the time (a 2020 M1 with 8 GB of RAM and a 256 GB SSD). I use my work laptop in a desktop configuration (with an external mouse, keyboard and monitor), and I prefer not to have to swap the USB and HDMI cables over. So the simple option is to use remote desktop software. Microsoft offers its own guest client, but it can only connect to hosts running the Pro version of Windows. For everything else, there’s Chrome Remote Desktop (CRD).

Read More
Getting started with Bitbucket Pipelines

Getting started with Bitbucket Pipelines

I’m a big fan of GitHub Actions. But if you’re working for an enterprise software company, there’s a fair chance you’re using Atlassian’s Bitbucket Cloud (along with Confluence and Jira). If so, then you can use Pipelines to build continuous integration and deployment workflows. If you’re new to DevOps and CI/CD, I have a TL:DR for you.

Read More
Managing social media content with Buffer

Managing social media content with Buffer

One of the challenges of writing a weekly DevRel blog is trying to make sure as many people as possible who might be interested in it actually get to see it. Up until now, I’ve been manually posting links on Instagram, LinkedIn, Mastodon and Twitter. I recently configured automated site builds so that post-dated articles will appear on the appropriate date. But I wanted to do the same thing for social media posts. There are a number of options with a free tier, but in all the lists I checked, I couldn’t find any with support for Mastodon. So I went for Buffer. It’s one of the oldest apps on this market and usually highly ranked in top ten lists. And, as it turns out, it recently added Mastodon as a supported channel.

Read More
The American Computer Magazine: 1957 to 2023

The American Computer Magazine: 1957 to 2023

Print is evolving but, after 66 years, the era of the mass-market printed computer magazine is over. The last two holdouts were MacLife (formerly MacAddict) and Maximum PC (formerly Boot). The current issues are their last. Because I started out in print media (with a little radio on the side) and have long been following trends in computing for nearly 40 years, I have some thoughts on this. Which means this won’t be a rehash of Harry McCracken’s excellent article on the subject on Technologizer.

Read More
100 Years of Yankee Stadium

100 Years of Yankee Stadium

This Tuesday, April 18 marked 100 years since the opening of “The House that Ruth Built” or, as it was more commonly known, Yankee Stadium. I was alerted to this fact by an article by Frederic J Frommer that I chanced upon in The Guardian. You have to make it all the way to the penultimate paragraph for it to become clear that the original stadium was replaced in 2009. In fact, it was demolished in 2010. But, like the Ship of Theseus, for some fans at least Yankee Stadium is Yankee Stadium. It’s a question of identity, and that, ultimately, is a matter of choice.

Read More
My curated list of television shows

My curated list of television shows

To date, one of the most widely-read articles I’ve written for this blog was a curated list of podcasts. So here I am again with some off-topic pop culture. And this time I’m not even going to pretend it has anything to do with developer relations. That said, the tech world can be relentless, and we all need some escapism from time to time. While writing this article, I’d forgotten that I’d previously written a similar article for an earlier version of this website. So if it feels a little disjointed, that’s because I’m incorporating the parts of that article that are still relevant.

Read More
Using GPS satellite navigation without an internet connection

Using GPS satellite navigation without an internet connection

This week I’m on a 1,500-mile road trip around France, Benelux and Germany in my 10-year-old Toyota 86. When I bought the car, GPS was a US$1,000 option. You had to pay for updates and, if you kept the car long enough, eventually there wouldn’t be any more updates. So I opted to use my phone for navigation.

Read More
Stop press: Updates to March 2023

Stop press: Updates to March 2023

Back in my days as a newspaper reporter, the last paper I worked on was one of the last in the country to run a stop press. This was a physical mechanism by which the printing presses could be stopped, a small change made, and restarted, to capture the latest breaking news. Newspaper stories are ephemeral, but online articles last forever. However, they still date. For example, I’ve done several articles about Forestry (a headless CMS) which is now discontinued. Those articles are now just a historical curiosity. In other cases, I try to keep the content current; such as making sure that code examples still work after platform changes. I’m also still working on improving the site. But articles don’t have a changelog. So here are all the updates I’ve made up until the end of last month.

Read More
My translation workflow

My translation workflow

Last week, I wrote about how I added localization to my website. While I’ve translated all the core content, I still have a backlog of more than a year’s worth of articles to translate. So I’ve come up with a workflow to make the process easier. My aim is to simultaneously publish all future articles in English and French, and get to the backlog as time allows. I’m not fluent in French, but I’m trying to get better, and doing this is going to mean I’m exposed to the language on a weekly basis. The approach I take should work equally well for any other language that you have some familiarity with, even if you’re not a native speaker.

Read More
Adding languages to a Hugo site

Adding languages to a Hugo site

I’m a long-term advocate for localization, but this site has been monolingual for over a year now. It’s past time I started following my own advice. So last weekend I finally got around to localizing the site for French.

Read More
Surviving an uncivilized workplace

Surviving an uncivilized workplace

I’ve been fortunate in life to work for some companies that were genuinely great places to work. But I have also had the opposite experience. If you have financial obligations, it’s often the case that you have to tough out a bad situation until you’re able to find another job. If you don’t find ways to do that, you’re going to burn out. It was in just such circumstances that I first discovered Robert Sutton’s excellent book “The No Asshole Rule”.

Read More
A security alternative to giving online services your personally identifiable information

A security alternative to giving online services your personally identifiable information

You’re probably familiar with the social media memes that try to elicit password reminders from you to access your accounts. For example, your Steinbeck character name is the make of the first car you drove and the name of your elementary school. It shouldn’t need to be said, but don’t reply to those memes. And the reason these memes exist is because your bank demands that you provide this kind of personally identifiable information for password recovery, so you can access its online services.

Read More
Writing a résumé or curriculum vitae

Writing a résumé or curriculum vitae

As the tech crunch continues, it’s entirely possible that you’re one of the many people who suddenly find themselves looking for a new job. When I started out in tech, some 15 years ago, I had no idea what to put on my résumé (or CV), so I paid a company that specialized in producing them to do it for me. The results were rapid. I uploaded it to a few of the main job websites, and soon afterward I had interviews and about a month later I had a job. As part of the deal, I had a year’s after-sales support. So when I updated my CV, I sent it to them for review, and they told me that if I couldn’t get a job elsewhere they’d be happy to hire me. Since then, I’ve been advising friends on how to present their work history to their best advantage. And now I’m going to share that information with you, with the caveat that when I was hired for my current role, they never asked to see my CV.

Read More
Low budget developer portal

Low budget developer portal

Back in 2019, I had to create a developer portal with no budget. I wrote up the experience and last year I published it here as a three part series. My requirements were that it would have the tri-pane view, with contents, endpoints and code examples, that developers would be able to contribute to it, and that it would support diagrams. My solution was to create a Markdown-based static site with Swagger APIs rendered by Redocly and diagrams provided by Mermaid. I must have been on to something because recently, Redocly had the same idea. It currently has a developer portal product in beta. If you want to check it out, the company is now running its own website on it. Now if you have no budget, you can still do it the way I suggested, but for US$3600 a year (at time of writing) there is an easier way that includes hosting.

Read More
Using the Document Object Model with JavaScript

Using the Document Object Model with JavaScript

This week, I had a look at the Document Object Model (DOM) for the first time since graduating from my computer science degree over a decade ago. I can’t remember the last time I created a web page by hand in HTML. I’d much rather use a static site generator with a pre-defined theme and only change things if absolutely necessary. I’m also open to other solutions for automatically generating pages. But sometimes you want to change something on the page, and often it’s something that you can’t access directly from the settings. However, sometimes the settings allow you to include snippets of JavaScript, for example to support analytics. And this can provide a workaround.

Read More
Migrating from Markdown to structured authoring

Migrating from Markdown to structured authoring

I’m a huge fan of Markdown. It’s great for wikis and writing content for static sites (most of the content on this site is written using it). But there comes a point in software documentation when the size of the project or the number of contributors has grown to the point that you need to impose some kind of structure on it. And that’s what structured docs are for. One of the main reasons you’d want to do that is to separate the content from the presentation. And that in turn enables you to present the content in different ways on various targets, such as print and online. But you’ve got all this content in Markdown already. So what are your options? You could recreate everything from scratch (don’t do that). Or you could migrate from Markdown to a structured authoring system.

Read More
Sales for developers

Sales for developers

You’re a developer. Have you ever wondered how the software you write gets into the hands of users? No, me either. In over 15 years in IT, I never gave a thought to the sales process. But in my role as a solutions engineer, I had to take a crash course. And now I’m convinced that everyone who isn’t sales should at least understand something about it. Fortunately, my MasterClass subscription is still valid, so I was able to take Daniel Pink’s class on Sales and Persuasion. Previously, I watched the entire John Barrows YouTube sales tips playlist (if I hear someone say “make it happen” one more time, I’m going to scream). But unless you work at one of those companies where you’re told “everyone is in sales”, you probably don’t want to spend half a day watching those. So I’ll reduce it down to the essentials for you.

Read More
Running Intel binaries in Debian ARM with Rosetta

Running Intel binaries in Debian ARM with Rosetta

I’ve mentioned UTM before. It’s a nice wrapper for QEMU that enables you to create ARM virtual machines and emulate non-ARM machines on macOS. It’s a free download from the website, or you can get it in the app store. But one of the features I’ve been looking forward to is being able to use Rosetta to do X64 to ARM64 instruction translation, which is supported in the latest version of UTM on macOS Ventura. I was hoping to be able to install Intel VMs using Rosetta, but for that you still have to use QEMU. What you can do is install a Debian ARM VM, enable Rosetta, and then run X64 Debian packages on that VM. This can be useful if there’s a particular package you need that doesn’t have a native ARM build. Thus far I’ve only got it to run packages, and not individual Intel binaries. There is also a big caveat:

Read More
Migrating a Hugo site from Forestry to Tina

Migrating a Hugo site from Forestry to Tina

I launched the current version of my website a year ago. Having become a developer advocate in 2021, I didn’t think a WordPress site that hadn’t been updated in a decade would cut it any more. I wanted to do something a bit more modern. At my previous company, I’d built a developer portal on Hugo. The company ended up hosting the site itself, but I’d had discussions with Netlify and Forestry at the time. And I’d been using GitHub for my big open source projects for a long time. I picked a free Hugo starter theme from Themefisher that had built-in support for Netlify and Forestry. I spent a weekend on it: setting up the site structure, customizing the theme and adding content. I didn’t have all the features at first (search, tags and RSS came later), but it was a huge step up from my old site.

Read More
2023: Predictions for the Year Ahead

2023: Predictions for the Year Ahead

I like to think that I have a fairly good track record of predicting the future, although usually in fairly vague terms. I’d been waiting for another pandemic ever since I read Michael Crichton’s “The Andromeda Strain” in the 1990s. Indeed, I correctly predicted the outcomes of most of the recent political votes that were on my radar. But in these polarized times, to invoke Dylan, you don’t need a weatherman to know which way the wind blows. So I’ll skip over the ongoing pandemic, war in Europe and climate crisis, and focus on technology. And if we’re both still here next year, we can see how well I did.

Read More
How to survive a pandemic

How to survive a pandemic

If you’re reading this then, at the time of writing, thus far, through a combination of luck and guile, you have survived the pandemic. Well done. But what kind of mental and physical state are you in? What kind of state are your work and personal relationships in? Were you part of the great resignation, and now you’re struggling to find meaningful work in a job market looking down the barrel of ongoing war in Europe and a global recession? So long as you can couch-surf at the home of someone with a Netflix subscription, I have the TL;DR answer to your woes. Laughter.

Read More
2022: The Year in Review

2022: The Year in Review

At the beginning of the year, I committed to publishing a weekly article on my DevRel blog. I always aim to publish by Thursday morning on the US east coast, and I’ve mostly managed to keep to that. Coming up with new ideas can sometimes be a challenge, and I’ve often fallen back on what I learned in my days as a newspaper reporter, when I’d try to write at least one full page feature a week. Sometimes that meant going back to the well and reworking old content. And other times it meant relying on old staples, like the look back on the year past and the look forward to the year to come. I’m also going to allow myself one lighter article for the holiday season.

Read More
My curated list of podcasts

My curated list of podcasts

The original Apple iPod was announced on October 23, 2001. The final model was discontinued on May 10, 2022. It wasn’t the first portable MP3 player, but it was the one that entered the public consciousness. It gave us the term “podcast”, which is to public access radio as YouTube is to public access television (does anyone else remember “Manhattan Cable”?). As ever, the internet has democratized everything, but the problem is discovery. The signal-to-noise ratio has always been an issue. I therefore present a list of the podcasts that I’ve discovered, which I’d recommend to other people.

Read More
Adobe at 40: impact and alternatives

Adobe at 40: impact and alternatives

Adobe is 40 years old this month. Founders John Warnock and Charles Geschke both previously worked at Xerox PARC, where desktop publishing (DTP) was first developed. Adobe’s first product was the PostScript page description language. In March 1985 Apple began selling the first laser printer with PostScript support. In the following July, Aldus released its PageMaker DTP software for the Macintosh. Then in 1986, Eddy Shah launched Today, the UK’s first computer photo-typeset and full-color offset printed newspaper. Every other newspaper in the world rapidly adopted the technology. In 2022, the Saguache Crescent is the last remaining newspaper using the old technology, and its Linotype press is over 100 years old.

Read More
Creating documentation in XML

Creating documentation in XML

If your documentation has reached the limits of what’s possible in Markdown, and you’d prefer not to fall back to HTML, it’s time to consider authoring in XML. And no, I don’t mean using Microsoft Word and saving in .DOCX format. Whichever schema you choose (DITA, DocBook, XHTML or something else), you’ll get the benefits of single sourcing and structured authoring, which will save you time and money, especially if your documentation is translated into other languages.

Read More
How to offend most of your international users all at once

How to offend most of your international users all at once

We love icons. They’re a great way to convey information simply, even if many of them are skeuomorphs from a bygone age. You know, like using a floppy disk ( 💾 ) to mean save; a telephone receiver ( 📞 ) for voice calls; an envelope ( ✉️ ) for email; a single lens reflex camera ( 📷 ) for taking a picture; a movie camera ( 🎥 ) for video; a folder ( 📁 ) for file containers; a calendar ( 📅 ) for dates; a newspaper ( 📰 ) for news feeds; a spiral notepad ( 🗒️ ) for text editors; an alarm clock ( ⏰ ) for alerts; a stopwatch ( ⏱️ ) for timers; a bed ( 🛏️ ) for sleep; a book ( 📖 ) for electronic publications; and so on. And I took most of those examples from the current version of iOS nearly a decade after Apple supposedly abandoned skeuomorphism. But we keep on using them because they are unambiguous, with a one-to-one meaning. Unlike say, flags.

Read More
Converting images with ImageMagick

Converting images with ImageMagick

Photoshop is old. Really old. Well, in computer terms anyway. As of writing, it’s currently on version 24.0. It was originally developed for the Mac in 1987 by Thomas Knoll, a PhD student at the University of Michigan, and his brother John, who worked for Industrial Light & Magic. Photoshop is a raster graphic (pixel image) editor. And because of its age, it has features for rendering 24-bit images (16 million colors) down to limited palettes, (which were a common feature of computers in the 1980s), that are missing from, or hard to use in, other image manipulation programs.

Read More
Using GitHub Actions to automatically unpack a zip archive

Using GitHub Actions to automatically unpack a zip archive

I was recently working with some software that could push a zip archive of content to a Git repository. However, what I really wanted was for the contents of the archive to be pushed to the repository. So I created a GitHub Action to do that for me. I’ve covered the format of GitHub Actions before. But to recap:

Read More
Getting started in developer relations

Getting started in developer relations

It may surprise you that the field of developer relations has been around for nearly 40 years at the time of writing. It started at Apple with Mike Boich and Guy Kawasaki on the Macintosh project. But it didn’t go mainstream until nearly 30 years later.

Read More
Creating a code style guide

Creating a code style guide

I’ve written previously about the importance of a style guide for written content. The same is true for code. Arguably, it’s more important because code is much harder to understand. When it comes to code style, you’ll never find two developers who agree on everything. So my advice would be to get the input of everyone who touches the code and come to a consensus on what the style should be. And remember that it’s a guide, not a rigid set of rules.

Read More
Creating taxonomies

Creating taxonomies

The hashtag has become ubiquitous. Chris Messina was inspired by the way chat rooms were identified on Internet Relay Chat (IRC) servers, when he first proposed its use in a 2007 tweet. Since then, it has spread across all social media and beyond. For American readers not already in the know, the pound sign ( # ) is referred to as the hash sign in British English.

Read More
Creating documentation in an agile environment

Creating documentation in an agile environment

Google for images of agility, and you’ll get dog trials. So let’s go with that analogy. If you create written content for software, going from waterfall to agile can feel like being a dog unexpectedly facing an obstacle course when it’s time for walkies. And instead of once a day, now walkies is every hour. Maybe not the best analogy. I’m not sure what the dog equivalent is for having to throw away all the work you’ve been doing for the last week and start over. Ok, let’s start over.

Read More
Getting started with REST APIs

Getting started with REST APIs

REST (representational state transfer) APIs (application programming interfaces) have been around since the turn of the century, when they were defined by Dr. Roy Fielding in his doctoral dissertation. Since then, they have become the main method for connecting the components in microservices architectures.

Read More
An introduction to intellectual property for developers

An introduction to intellectual property for developers

This week, I’m going to take a brief look at intellectual property as it affects developers. It’s a vast topic, but the areas you’re most likely to come into contact with as a developer are copyright, trademarks and patents. Note that I’m not a lawyer and this isn’t legal advice. If you’re an employee, and you have any questions on intellectual property, consult your legal department.

Read More
Setting up a home office for video production

Setting up a home office for video production

In August 2021, TikTok increased the maximum length of videos on its platform to three minutes. By December 2021 it had overtaken Google, Amazon, Apple, Meta, Microsoft and Netflix to become the most popular website in the world. In response, Google introduced YouTube Shorts and Meta introduced Instagram Reels.

Read More
Revisitng DocBook

Revisitng DocBook

The Darwin Information Typing Architecture (DITA) and DocBook are two XML-based authoring frameworks. I strongly prefer DocBook. Today’s article is an update of an article on the subject that I originally wrote for the Spring 2011 issue of Communicator. I may have been on to something because in 2014, a group of DITA specialist gave up consulting to create their own component content management system (CCMS) based on DocBook.

Read More
Using LanguageTool to improve your writing

Using LanguageTool to improve your writing

As I’ve previously remarked, I missed two things on switching from print journalism to technical writing. I covered style guides last week, so this time it’s editors (I retained the black coffee addiction). If you have to write customer-facing copy, and you’re lucky enough to have an editor, make sure their boss knows how important their work is to your job. If not, there are some software solutions that can help.

Read More
Creating a writing style guide

Creating a writing style guide

When I switched from journalism to technical writing, the two things I missed the most were style guides and editors. When tech writing departments are downsized, editors are the first to be let go. On three occasions when I was the lone writer in an organization, I created my own style guide from scratch. But even when there is a style guide, it may not be current with modern terminology or language use. If you have to write customer-facing content as part of your job, especially if you didn’t train as a writer, you need a style guide.

Read More
Disambiguating Jamstack and MACH

Disambiguating Jamstack and MACH

Earlier this year, I gave a lightning talk on API-first. I’ve been planning write an article on it ever since, but first I wanted to lay the groundwork. Last week I covered event-driven architectures. That was quite a lot to digest. Today’s article is a quick overview of what the cryptically-named Jamstack and MACH are really all about.

Read More
Explaining event-driven architectures

Explaining event-driven architectures

Modern software development is all about automation, continuous integration, continuous delivery and software-defined life cycles. The idea is to maintain quality while enabling features to be delivered as soon as they are production ready. You’re also probably familiar with the move away from monolithic systems to a microservices architecture. The goal there is to build the system out of components that can be swapped out without having to rebuild the whole thing.

Read More
Getting the most out of MasterClass as a developer advocate

Getting the most out of MasterClass as a developer advocate

First off, the obligatory disclaimer. I was gifted an annual subscription to MasterClass by my employer, and I’m not getting paid to write this. There are a vast array of online learning resources. I’m not endorsing this one over any of the others. But if you’re a developer advocate, and you already have a MasterClass subscription, these are the courses that I’ve found the most relevant to the job.

Read More
Managing packages on macOS with Homebrew

Managing packages on macOS with Homebrew

If you’re a Linux user, or you read my article on Scoop, you’ll be familiar with package managers. They aim to simplify installing, upgrading, configuring and removing software. A key feature is dependency management: if a package requires software that isn’t already installed, the package manager can install it.

Read More
Updating a 40-year-old computer design

Updating a 40-year-old computer design

In my last article, I wrote a lot about the development of the firmware for my hobbyist microcomputer project that became the Chloe 280SE. In this companion article, I’ll cover the hardware. I’m not sure how relevant any of this is going to be to modern development, but I think it’s worth telling the other half of the story. But to tell that story, first I need to tell the story of the time when Timex made computers.

Read More
Reusing code, reverse engineering and collaboration

Reusing code, reverse engineering and collaboration

In this article I’m going to talk about code reuse, reverse engineering and the importance of collaboration. The example I’m going to use is my own hobbyist computer, which evolved into the Chloe 280SE. For simplicity’s sake, I’m going to lay it all out in chronological order, starting in the 1960s. This is going to be a long one. You might want to grab a cup of coffee and a box of donuts.

Read More
Essay: Assessing machine sentience

Essay: Assessing machine sentience

I’ve long been interested in the field known as artificial intelligence (AI). Today, I prefer the term machine learning (because we understand so little about what intelligence really is that we don’t know how to simulate it). Following the claims of a Google engineer that its LaMDA project has achieved sentience, I thought it was worth dusting down an essay I wrote on the subject when I was an undergraduate (before neural networks and big data went mainstream).

Read More
Fostering security awareness

Fostering security awareness

Today’s article is based on a presentation I gave at a security conference in the 2010s. It’s a bit longer than what I’d normally share, but I think it’s still relevant, possibly more so than when it was originally written.

Read More
Playing the greatest 4X game of all time on modern hardware

Playing the greatest 4X game of all time on modern hardware

Having spent my free time over the past couple of weeks binge-watching all 12 seasons of Tony Bourdain’s award-winning CNN series Parts Unknown (because it’s leaving Netflix in June), I haven’t been doing much extracurricular development. I’m also sleep-deprived. So when I was looking through the article ideas list, I went for the lowest hanging fruit. This will be a more rambling article than usual, but it may accidentally include some information that’s of use to developers.

Read More
Bulk updating documents with XSLT

Bulk updating documents with XSLT

XSLT (Extensible Stylesheet Language Transformations) is a language for transforming XML documents into other documents. I’ve mentioned it before in my article on creating release notes from Jira.

Read More
Managing packages on Windows with Scoop

Managing packages on Windows with Scoop

If you have even a passing familiarity with Linux, you’re probably aware of the concept of package management. The goal is to simplify the installing, upgrading, configuring and removing software. One of the key features is dependency management: if your software depends on some other software that isn’t already installed, the package manager will give you the option to install it.

Read More
Creating release notes from a Jira query

Creating release notes from a Jira query

In this article, I’ll describe a solution to simplify the process of creating release notes in MadCap Flare from a Jira query. Jira is a popular issue tracking platform from Atlassian. But this approach can also be adapted to any other platform that can export issues in XML format and any XML-based doc tool.

Read More
Doing continuous translation with Weblate

Doing continuous translation with Weblate

This week, I want to give a shout-out to Weblate, a web-based translation tool with Git integration that’s available free to open source projects. I discovered it by chance because a developer I was chatting with on Telegram had contributed to a project that made use of it.

Read More
Writing for a global audience

Writing for a global audience

At the end of last week, I attended a conference in Budapest. I had the opportunity to give a short talk on API First, and I’ll expand on that in a future article. But one of the biggest takeaways for me was that, as an industry, we still have a long way to go in making documentation globally accessible.

Read More
Tips for public speaking

Tips for public speaking

In my day job as a developer advocate, and in my volunteer role as community manager for the Chloe 280SE project, I’m sometimes called upon to speak in public. But regardless of your job, you may find yourself called to address an audience. On occasion, I’m asked for my advice on the subject, and so here it is, with a few digressions.

Read More
Choosing a mechanical keyboard switch

Choosing a mechanical keyboard switch

One of the things I do is design keyboard layouts and legend designs. My most popular design to date is the Commander X16 professional keyboard. I’ve also created a number of one-off designs for myself and friends. I get them made by WASDkeyboards.com. If you’re going for a one-off keyboard, it’s probably going to be mechanical, and that means expensive. So I often get asked for recommendations on which switch to order when purchasing a keyboard. As ever more options become available, it can seem even harder to choose. However, it’s really quite easy to work out which is the right switch for you.

Read More
Changing email provider in the age of 2FA

Changing email provider in the age of 2FA

Changing email provider is simple, right? Wrong. After the week I’ve had, I think there’s an argument that you should be able to transfer your email address to another provider, just like you can with a cell number. Of course, there are technical impediments to this. But I can foresee a future where your email address is unique to you and isn’t tied to the service provider’s domain at all. Or maybe we’ll all just use a DNA reader to log in.

Read More
Running Xilinx Vivado on an M1 Mac

Running Xilinx Vivado on an M1 Mac

I’ve written before about running non-Apple Intel binaries on an M1 Mac. The solutions I discussed work for most general purpose apps, but there was one app in particular that I’d previously been running on Windows 10, that I really wanted to get working on an M1 Mac: Xilinx Vivado.

Read More
Running non-Apple Intel binaries on an M1 Mac

Running non-Apple Intel binaries on an M1 Mac

Since late 2018, I’ve been developing on Apple Silicon. You can read about it in an earlier article. But that’s using an iPad, and the only native builds I can do rely on an app that’s no longer available. What most people think of developing on Apple Silicon, they’re thinking of M1 Macs. And I’ve been doing that since May 2021.

Read More
Running ARM Linux on an M1 Mac

Running ARM Linux on an M1 Mac

Next week, I’m going to look at running non-Apple Intel binaries on M1 Macs. But today, I’ll go over some options for running ARM Linux on M1 Macs. Specifically, I’m going to cover Ubuntu because it’s the most straightforward install. Why would you want to do this? Well, as good as homebrew is, I’ve found that there are quite a lot of missing packages and my experience of building from source on the latest macOS hasn’t been a particularly pleasant one.

Read More
Using an iPad Pro for development

Using an iPad Pro for development

This is my 2018 iPad Pro. It has replaced the Hackintosh workstation I built that I ended up installing Windows 10 on (story for another day) as my main computer outside work hours. The only local builds I can do are under iDOS (MS-DOS emulator, no-longer available in the app store), but I’m looking at setting up a Raspberry Pi Zero hanging off my NAS drive as a build server.

Read More
A tech industry blog

A tech industry blog

When I started writing this blog in 2022, I didn’t even have a name for it. It was just called Dev Blog. But it occurred to me that the magazine title that I had parked for future use, “Byte High, No Limit” would be ideal. And in fact, I’m going to combine selected articles into a magazine format (partly to keep my hand in with page layout, and partly to learn how to use Affinity Publisher).

Read More