#Vietnam2026 Lotus flowers and surreal gardens

We had our first tropical storm of the trip today, as evidenced by my soaked clothes and shoes! We’d taken a short trip to the Vinhome Mega Mall in District 9, and the rain came completely out of nowhere. Well, from the sky specifically.

We came to the Vinhomes Grand Park area in the eastern periphery of Ho Chi Minh City to see family of my in-laws yesterday, and it became our base for a couple of days. Vinhomes is a massive residential property developer in Vietnam, and the Grand Park precinct is a mixed-use development with clusters of huge apartment towers and lots of places to explore. I grew up in Singapore, so this sort of apartment living is right up my alley; give me walkability, parks, and views over the traditional “quarter acre with a backyard” any day. But I digress.

The day started with a phở bò at a local restaurant which was better than any I’d had in Australia, though I think the phở they make in Hanoi is generally better than in Saigon. In my experience, you can get far more rice dishes here, whereas the north does amazing noodles and broths. Given how cold it can get up there, it probably makes sense.

While my extended in-laws prepared for their day of wedding photos, Clara and I bundled into a Grab with her parents, and we traveled down to a lotus lake garden which felt like a whole other world. After coming off the highway, our driver took us down an increasingly narrow and unpaved road overgrown with leafy trees and vines. Eventually we arrived in a small clearing, with the place stretching almost as far as the eye could see. A small platform extended the length of the lake, which let us snap some fun photos of all the beautiful flowers. This might have been the highlight of the trip so far, even if I wish I’d brought my f/1.8 prime!

Back on the road, and we travelled down to “Long Island”, a formerly private garden that’s now open to the public, surrounded by a stone wall facade designed to mimic castles of yore. Absolutely everything about the place bordered on the surreal or downright bizarre, from the garden statues to the general feeling of isolation. I felt like I was in a dream, albeit one seemingly tailored for influencers to take selfies (I hate that I know both those words).

We ventured back to the serviced apartment, then back down to the shopping centre in the middle of the residential complex for a bite to eat and some coffee. We had some Marukame Udon, which took Clara and I right back to their old branch in the Sydney suburb of Chatswood before they closed down for some reason. We also came back shortly after to stretch our legs, and to get some beautiful Đà Lạt arabica at a local Phê La coffee branch. If there was one chain I wish we could get in Australia it’d be this; though I still suspect it wouldn’t be the same.

If I may digress again for a moment, it goes without saying that the ultra modern new shopping centre has a branch of Nitori, the Japanese homewares store that gives IKEA a run for its money in a few key areas. Australia has most of the international Japanese stores, but we still don’t have one of these! I’d buy everything from here if I could.

My brother in law and his fiancé had a photo shoot in town, so we got another Grab back into District 1 to visit the Ho Chi Minh City Museum. We’d been here before, but it was still interesting wandering around the halls. I’ll get around to writing and sharing photos of the exhibits from our first trip there at some point, but for now here are some views of the building itself.

Our plan was to spend the evening walking around Chinatown, but it was already getting late by the time we arrived, and the markets had closed for the day. We did at least get to go inside the Chợ Bình Tây building and have a quick look, then went to the stunningly vibrant temple hidden away on a side street. I use the “ART” setting on the OM-3 for fun, because the colours popped.

We had a coffee on a small, traditional Viet-style street corner café, then wandered down and ended up at a Cantonese-style Chinese restaurant in town. My parents in law were relieved to be able to speak Cantonese to people again and order, and I was lucky to have their services :). The room was gigantic to accomodate functions and weddings, but had a decidedly retro Chinese banquet hall aesthetic (and air conditioning!) I appreciated.

Off to the seaside town of Vung Tau tomorrow, after my brother in law and his fiancé are done with their photos. Looking forward to having a relaxing day.

Tagged: travel vietnam vietnam2026


#Vietnam2026 Ho Chi Minh City wanderings

Today was our first full day in Ho Chi Minh City again on this trip, and the weather almost held out for the whole day! It was humid and sticky, just like I remembered every day in Singapore feeling. There was some light drizzle later in the afternoon and into the early evening, but it brought a refreshing, cool change which was beautiful. I think the Little River Band did a song about that.

I wish I had kept a travel journal for our first Vietnam trip which we took last year, because I’d love to refer back to some of my earlier thoughts about it. That last trip was longer, and we went to Hanoi and Da Lat as well. Hanoi was steeped in history, traditional culture, and frankly the best food I think I’ve ever had. Ho Chi Minh City by contrast is Vietnam’s cosmopolitain centre. It has the best Vietnam has to offer, alongside Japanese, Korean, Thai, Malaysian, French…!

Case in point, we started today trying to find a specific coffee shop, but we ended up at a branch of KOI Thé in the middle of District 1. I think they’re a Singaporean chain; their site references Toa Payoh which is not that far from where I worked part time between high school and uni back in the day. This branch is, of course, built into a small corner store that looks decidely Parisian, a trend you’ll see across the city thanks to the historical French influence. Their breakfast combo came with cute little baguettes, which we ate before I got a change to take a picture, and then we were even halfway across the street before realising I didn’t even get a photo of the building. Sacrebleu.

I had to get some more trousers—like a gentleman—so we took a quick detour to the Saigon Centre which has more Japanese stores per square metre than I think anywhere I’ve ever been outside Japan. We went into Uniqlo, and marvelled at the fact that if you wanted a useful tourism map of Saigon attractions, all we needed to do was go there!

We went for a long walk along the tree-lined boulevards near the Opera House and down to the river, partly just to explore, but also in search of the Vina Groove, a renowned local second-hand music store. Alas, we got there only to discover they weren’t open on Monday, something I really should have checked before we left (cough). Fortunately, there was a Singaporean-style dim sum store next door that looked—and more importantly, smelled—amazing, so we took some needed shelter from the heat and sun for some nostalgic grub. They had their own take on a pan-fried egg dish with rice that I used to kid was Chinese Singaporean omurice (and dare I say as someone who’s otherwise a fan of Japan, this variation was even better).

I know it’s cliché to talk about a place being a “city of contrasts”, but Ho Chi Minh City fits the bill. You’ll be walking down a large street with towering, ultra-modern buildings and immaculate flowerbeds, then the next moment you’re on a street lined with imposing government buildings and flags, then the next you’re on a side street with clusters of narrow buildings run by small merchants and surrounded by parked scooters and patrons on little stools. I used to think Kuala Lumpur had the most diversity of streets I’d been to around Southeast Asia, but Saigon takes the cake here. Or coffee; so much good coffee.

Clara and I spent an entire day just exploring the stunning new Ho Chi Minh City Metro system on our last trip, which I subsequently forgot to share here. I’ll tempt fate and say I’m saving a proper walkthrough for a future post, but we did find ourselves wandering through the Opera House station to use it as an underpass. It was designed and built in part by a Japanese consortium, so if you’ve ever travelled by train in Japan (or even played that subway exit game on Steam), so much of this would look familiar! The bright yellow wayfinding signs, icons for each of the stations, the decor, the whirring sounds and chimes of the trains, the tactiles for the visually impared, it was unreal. They have the look of some of the Tokyo Metro stations that were refurbished for their Olympics, but with local design elements as well. Absolutely stunning… I can’t wait to see this system built out.

Speaking of which, the next stop was to try % ARABICA near the Notre Dame, which was still covered in scaffolding as part of its multi-year restoration. I’d been to the Kyoto % ARABICA branch alongside the serene river in Arashiyama, and it’s one of my single favourite places in the known universe. I’ll admit, we did go to their Ho Chi Minh City branch last year too, and I knew that a bit of that magic was transported here along with the beans and know-how. We watched them make our Chemex brews of their house blend I’ve come to really appreciate and love over the years, and marvelled at their immaculate kit, roasting machines, and views of the city from the window.

Alongside % ARABICA sits the Saigon Central Post Office which we didn’t get to see inside last time. Unbeknownst to me at the time, it’s still a functional post office! My favourite feature had to be the wooden booths with glass doors by the entrance, presumably stocked back in the day with phones for private conversations.

On the way to the next part of our sightseeing tour we stumbled across the famed Book Street we’d been meaning to explore last time. It’s one of the most charming places in the city, and such a fun collection of little shops. Japan made us more than a little obsessed with those inked stamps places put out for tourists, so we bought a small book handmade with Dó paper, a unique low-acid paper that has a beautiful texture, and proceeded to smother the first few pages with tourist stamps!

But the highlight of the day had to be the Independence Palace/Reunification Hall, one of my all-time favourite examples of modernist architecture anywhere in the world. It was built in the 1960s to replace the original palace built by the colonial French a hundred years prior. Americans and Australians likely know it as the site where the Vietnam War officially ended, when a tank breached the gates and the last of the American troops evacuated the city on the 30th of April 1975. As an Australian who had family who were drafted into that conflict, and others who were consciencious objectors, I also had… more feelings for the place than I expected.

From the outside the building looks simple, almost brutalist in its construction, but it’s far more intricate than you might realise. The slits in the windows are actually formed by convex columns stacked three blocks high across much of the facade. The walls, light fixtures, and overall layout of the building is very 1960s modern, but the reception rooms, halls, and accomodations are a fascinating blend of Vietnamese, Chinese, and Japanese architectural elements. It’s far more stunning than I realised, and may get a dedicated post going into more detail when we’re back in Sydney.

We had to head off to visit my in-laws who just arrived from Sydney, and who had gone to District 9 on the other side of town to meet other family. I’ll save the adventures from around here for tomorrow :).

Tagged: travel vietnam vietnam2026


#Vietnam2026 Arriving in Ho Chi Minh City

My inlaws and I had so much fun in Vietnam last year that we deciced to come back again, if only for a short week this time owing to available leave and other commitments. The plan this week is to stay around Ho Chi Minh City and the southern part of Vietnam, and explore some of the sights we ran out of time to explore last time. Last time was also a bit of a wirlwind, so I didn’t get as much time to write about it.

If I hadn’t made it clear last time, Vietnam is one of my new all-time favourite places. I half joked before that if someone said they had a week to spend somewhere I’d reflexively say “Japan”, but now I’d give serious consideration to here as well. The atmosphere, art, food, sights, and history are unparalleled. I’m frankly angry at myself that I could have come here all the time when I lived in Singapore and Malaysia, but the stars never lined up.

Before this trip, Clara and I got to use the company card to get into the Amex Lounge in Sydney Airport which means… pancake machine! This contraption has featured on this blog multiple times over the years, which a normal person might find embarrasing. Surprisingly for the first time ever, we were turned back from the lounge owing to overcrowding and had to go back after 15 minutes. It’s a hard life being me.

The trip to Vietnam from Sydney was blissfully uneventful. Vietnam Airlines is one of the best carriers I’ve ever flown on, especially in economy. If Singapore Airlines is a 10, and Scoot is a 1 (ironically, given they’re owned by SIA), I’d rate them an 8 alongside Cathay Pacific. The highlight was a nice slice of cake with a Viet-style black coffee shortly after the first meal service :).

I had the inflight entertainment screen on the map as I always do, and I’m always struck at just how big and empty Australia is. The vast majority of us on the continent live, work, and travel in that temperate strip of coast with trees, rain, and green grass, but it’s really not that far before you’re probably in one of the most desolate places in the world. The views out the windows are just an endless expanse of orange rock.

We landed in Ho Chi Minh City, and that humidity and heat hit us as soon as the doors opened! Our 787 Dreamliner was parked in the middle of the tarmac alongside much of Vietnam Airlines’ fleet, and we were bundled into low-floor buses to the terminal. We had flown into SGN from Da Lat on our last trip, but this was our first international arrival to it.

Alas, fate can be a cruel mistress sometimes. I wrote last year how working in IT makes me a nervous traveller, because I know all the ways things can go wrong. We managed to time our arrival for an outage that took out Vietnam’s immigration system! We were extrodinarily lucky to be ahead of the queue, because after two hours of sitting on the floor we were able to go through first, and get to the taxi ranks at the front of the terminal before the crush of people from dozens of backlogged flights did. We were there so long, bags were being offloaded from the carousels to make space for all the other inbound flights. Oh well, at least we got through in the end.

The cab ride from the airport to the hotel hit so different from last time. In 2025 we were being driven through the late night fog and lights of Hanoi, but this time we were driving through Hi Chi Minh City and pointing out all the things we recognised. Vinomilk! I love exploring new places, but it’s just as fun returning to a friend too.

By this point we’d been travelling the whole day, so we went to stretch our legs and get some food. The whole area around the City Hall and Opera House was open to pedestrians, which was so much fun to wander around. We ended up at the Saigon Centre and had some bun cha at a small restaurant upstairs. We first had this in Hanoi, and while this was no patch on something more authetic, it was sill SO GOOD. I swear even “average” Viet food in Vietnam is still wonderful.

We also snuck in a tasty tea as a nightcap. I was delighted to see Chagee also had Da Hong Bao, just like Auntea Jenny I blogged about in Sydney recently, and of course it was SO GOOD. I got the “cloud” version which was a bit sweeter than I’d normally have, but it was a holiday treat :).

We walked back to the hotel surrounded by all the lights and sounds, passing the Town Hall and the Opera House. A week doesn’t seem like long enough, but I’m so happy to be here.

Tagged: travel tea vietnam vietnam2026


When the train becomes a limo

Sometimes Sydney Trains runs a special train, just for me! Or at least, I pretend they do. How luxurious.

An empty train carriage

As an aside, for those of you who live in cities with double deck train carriages, do you sit upstairs or down? I tend to sit downstairs, because the rocking motion of taller carriages is reduced slightly… though I admit the upper deck is more fun when I know I’ll be crossing the Harbour Bridge.

Tagged: thoughts australia public-transport sydney trains


The fewest enabled features security model

Calling this a security model is probably a stretch, but the first thing I do when installing any web-facing software is determine which features I can remove, disable, or otherwise make unavailable.

I’ll review:

  • Dependencies, to see if I can avoid installing any. For example, I don’t need XML-RPC packages if I never intend to use features that depend on them, and won’t ever have them enabled or exposed.

  • Plugins, add-ons, extensions, and extra themes which are moved, then deleted when confirmed they’re extraneous.

  • Features which I disable in configuration files or the web UI (I don’t edit source files if I can help it though, so I don’t deviate from upstream and cause problems with updates).

  • Endpoints I can block (or selectively expose) at the web server without breaking the core functionality of the software.

Admittedly, “core functionality” is a load-bearing phrase. What one person might consider such, I may not. But being the sysadmin, I get to make this choice based on my understanding of what the client, project, or family needs. I’ve been surprised by how few people notice or care, and when they do, it’s easy to selectively enable what’s needed.

(I’ll spare you from my usual rose-tinted, retrocomputer-tinged nostalgic view of software, though I’ll note it’s interesting how little core functionality has expanded over time. The 2006 WordPress install that ran this site for years would do what the vast majority of web writers would want today, which is also reflected in what I disable in modern versions. Maybe that’s a topic for another time).

I install software like this for a few reasons. It presents a smaller attack surface for when vulnerabilities are inevitably discovered. The software tends to perform better, and more predictably. It also has fewer places and moving parts for things to go wrong, because we all know things will go wrong.

Granted, I can see theoretically how doing this could backfire, but I’ve yet to encounter any meaningful side effects in practice. Installing software like this also takes significantly more time than a default install at the outset, but I’d argue the benefits in the long run are worth it.

Tagged: software security


Finding a bug in Textpattern’s URL resolution logic

I’ve been migrating WordPress blogs I host for people over to Textpattern. It’s a quality of life thing for all parties involved. In the process of replicating how people had their WordPress sites configured, I uncovered a subtle bug in the way Textpattern resolves URLs.

tl;dr: If your article links 404, define an empty section with something other than the side default URL pattern, and your links will work again. This will be addressed in 4.9.2.

How Textpattern defines pretty URLs

By default, Textpattern’s article URL pattern (what WordPress calls a permalink structure) uses your standard GET request scheme:

http://example.com/?=messy

If you want pretty URLs, Textpattern supports the following schemes:

  • /id/title
  • /section/id/title
  • /section/category/title
  • /year/month/day/title
  • /breadcrumb/title
  • /section/title
  • /title

Textpattern will write the appropriate Apache configuration for you if you select one. nginx can also be configured to do this with similar config to what you’d use for MediaWiki, WordPress, and the like. As a very basic (and incomplete) example:

upstream php {
    server unix:/var/run/php-fpm.sock;
}
   
server {
    [...]
    index index.php index.html;
    
    location / {
        try_files $uri $uri/ /index.php?$is_args$args;
    }
    
    location ~ \.php$ {
         include fastcgi_params;
         fastcgi_param SCRIPT_FILENAME $request_filename;
         fastcgi_pass php;
    }
}

To change to one of these patterns:

  1. Log into your Admin interface
  2. Go to AdminPreferencesSite
  3. Change the Article URL pattern to what you want

If you’re using the default theme, or using one that’s been written to handle URLs properly (cough, turns out one of mine wasn’t), this should be reflected on your site immediately.

Adding a forward slash

This is where a key difference between WordPress and Textpattern appears. Pretty URLs in WordPress always end with a forward slash /. By contrast, Textpattern only appends forward slashes to list pages by default.

This is how a blog post URL would appear:

  • wordpress.example.com/blog-post/
  • textpattern.example.com/blog-post

Stef Dawson explains in a post from 2022:

Anything with a ‘list’ context gets a trailing slash, which indicates there’s more under here.

Any individual single content (article, image, etc) gets no trailing slash to denote it’s a final endpoint.

Textpattern’s behavior is consistent with other software like MediaWiki. But it differs from WordPress. Fortunately, Textpattern now has an option to define what gets a / appended, which you can access here:

  1. Log into your Admin interface
  2. Go to AdminPreferencesSite
  3. Change the Add a trailing slash to URLs to what you want

There are three options:

  • No: Don’t append / at all
  • List: Only append / to lists (Textpattern default)
  • Yes: Append / everywhere (WordPress default)

When I set this to Yes, I have URLs that look the same as WordPress. Awesome!

404s for articles

As of writing this post, this logic fails in the current 4.9.1 version of Textpattern where the following two conditions are met:

  • Article URL Pattern = /title
  • Add a trailing slash to URL = Yes

Configuring your site as such results in Textpattern returning a 404 for articles with or without a forward slash. This is independent of whatever redirections you configure in Apache or nginx:

  • textpattern.example.com/blog-post/
  • textpattern.example.com/blog-post

After hacking on this for a while without success, I raised the isue on the helpful forums, and @etc figured out the problem:

It happens (whatever server) when only one (default) url pattern is used site-wise. URL resolution logic is simplified in this case, but probably too much. Will fix in 4.9.2. Meanwhile, if you create an empty section and assign it a different (from default) url scheme, it should work.

This works. By creating a new section, and assigning it a different URL pattern, the schemes site wide aren’t simplified, and work as expected.

To spell out if you get stuck:

  1. Log into your Admin interface
  2. Go to PresentationSections
  3. Click New section
  4. Enter workaround (or whatever) for the name and title
  5. Under Article URL pattern, choose anything other than Default
  6. Press Save

Now pages will render with the forward slash, and the defined URL scheme. Yay! I can now continue to import these WordPress sites. The last piece is to find a tag system that works for people.

In other news, I should get around to learning some PHP. Most of the stuff I host and run for people uses it.

Tagged: internet textpattern troubleshooting


Painting parts beige for retro towers (eventually)

So here’s the thing. Late last year I bought the excellent SilverStone FLP02, a retro-themed computer case with modern component support. It was absolutely, jaw-droppingly gorgeous, and has easily become my favourite modern case alongside the legendary NCASE M1. It’s big, relatively easy to work in with just a few caveats (a topic for another time), and yet looks the part so well. I’ve since moved our FreeBSD bhyve/jail server into our FLP02, and am giving serious consideration to an additional one for my desktop in the loungeroom. It’s that good!

I subsequently received email from angry people asking me what the point was, which I answered in a detailed reply. Turns out that just made them more cranky, because they thought I was mocking them somehow. Perish the thought!

The case out of its confides

But use of such a case poses a problem, and it’s the same one the plagued seemingly all beige computer towers at the tail end of what I call the Golden Era of computer cases. Which I suppose should really be called the Beige Era. The era when computer case manufacturers thought the buying public should be able to buy whatever colour they want, as long as it matches a Model T Ford. It was such a disappointing development. If we were going to replace beige—a colour mostly unique to computers in the consumer electronics space—why did it have to be the most boring colour (or lack thereof) of all time? But I digress.

The biggest problem beige towers face is the pairing of drives and peripherals. During that transition period between awesome beige and mediocre black, you were lucky to get a part that matched. Black optical drives in beige cases, and beige disk drives in black cases became a distressingly common sight. Retrospectively, I have friends who harbour a nostalgic attachment to that anti-design. To them, a beige case doesn’t look complete if it doesn’t have a mismatched drive.

I respect that position, but it’s not for me. I grew up with beige DIY towers with beige drives, and that’s what I want for this glorious FLP02 damn it! I want stuff to match, even though I concede plenty of people mismatched components owing to price, convenience, and/or availability.

Which leads us to this contraption pictured here:

Pictures of the drive cage with the black front.

This is a drive cage, designed to slot into two 5.25-inch drive bays and hold three 3.5-inch hard drives. While the FLP02 is stupendously wonderful, it technically has fewer internal drive bays for storage than the Antek Three Hundred I used to use, which resulted in me needed to purchase additional drive capacity. This drive cage allows me to mount an 80 mm Noctua fan (itself beige!) into the front, and keep three additional drives cool. I have a separate post about how this works pending.

I prefer finding beige components when I can for new and old builds alike, but when that isn’t possible I’ve developed a system that (mostly) works using these three cans:

The three cans of primer, paint, and top coat

They are, from left to right:

  1. A self-etching primer. I like the White Knight Rust Guard SLS the most, though I’ve had success with others too. Primer gives your paint better adhesion, and self-etching means you don’t need to do any manual work to rough up the surface to accept the paint. This is especially important for smooth painted surfaces or bare metal, though it’s also worked great on rougher powder-coated computer parts for me.

  2. A colour, of course. Rust-Oleum Chalked Chiffon Cream is brighter than the beige used in computer components, but it’s the closest match I’ve found thus far after exhaustive testing.

  3. A top coat to protect the painted surface. I like Rust-Oleum’s Satin Clear, becuase it gives a similar finish to the powder-coated surfaces on beige powder coatings.

Painting takes a while, but I’ve found being slow and building up very thin coats works best. My approach:

  1. Wipe down and clean the item to paint with isopropyl alcohol until there isn’t any dust, fluff, or other detritus across the surface. If you don’t, and you paint over the top, you’ll get a lump that will have to be sanded down, and likely result in you repainting the whole thing.

  2. Place a tarp down over a table or other surface outside, and weigh it down with some heavy objects. We use a few large stone coasters. Don a mask too; you don’t need to vape paint, let alone anything else.

  3. Place the item to be painted on top of the tarp.

  4. Shake the cans vigorously for at least a minute. In cold weather, use a hair dryer to heat the can and its contents slightly (though obviously not too long). This is a tip multiple artists and industrial designers have told me about, before you write an email telling me this is a bad idea.

  5. Hold your can about 20-30 cm away from the part, and spray across the surface with your primer, overlapping a little with each pass. I find two coats works best, with at least an hour between each coat. The cans claim they dry in less than ten minutes, but yeah, nah.

  6. Spray three to four thin coats of your beige coloured analogue, leaving at minimum an hour in between again. Err on the side of not applying enough instead of applying too much. You can always build up more layers, but if you apply too much at once, it’ll goop up, take forever to dry, and will get stuff stuck to it. Every mistake I’ve made has been down to impatience.

  7. Finish it off with one or two coats of clear satin finish.

This is what my drive case part looked like after two coats of the coloured paint. You can see the lower edge is slightly darker than the rest, so I went over that area a bit more on a subsequent pass. Note also the droplets of rain on the tarp, which required me to pause painting last week (cough).

The mostly painted cage front.

Once I’d finished, I attached it back to the drive cage and installed it into the FLP02, along with the Noctua fan and the supplied dust filter. Success!

The drive cage inside the FLP02, showing a slight difference in tone.

As you can tell, the colour isn’t exactly the right shade of beige, but it’s still a significant improvement (to me) over the matte black of the previous part. If anything, slightly yellowed case parts look closer to it, so this approach works especially well for older towers.

Now I just need a SATA DVD-RW in the appropriate beige colour, and another drive sled to arrive from SilverStone (post incoming!), and this build will be done. What an awesome case. What a fun time!

Tagged: hardware colour flp02 guides retrocomputing


Married 🪐

The Pyrmont registry office venue.

Clara and I finally tied the knot after more than a decade. It was a short ceremony at the Pyrmont registry with close family, but it was lovely. The celebrant joked that it was “her first Sanrio wedding” on account of all of Clara’s Pompompurins, many of which her brother and fiancé brought for her. It was adorable.

We met at our university anime club. We hung out, and gradually it turned into something more. Our first “date” involved us sitting at a bubble tea shop and talking from midday until closing time. That’s been our vibe ever since, from travel, to cosplaying as Yuki and Kyon from Suzumiya Haruhi, to planning dinner.

In some ways this was merely codifying something we had already built for many years, but it didn’t make it any less meaningful. I wish my mum were alive to have met her; I know she would have loved her too.

We’ll be back in Vietnam in a couple of weeks for a short family trip again to celebrate, which will be lovely.

Tagged: thoughts family


Clinton H. Groves’ aviation photos

This is going to come as a shock—a SHOCK—to some of you, but I harboured a not insignificant obsession with liners when I was a teenager, both of the ocean and air kind. I loved reading about commercial ships and planes of yore, learning about how they were operated, and contrasting them to how we get around today. Some of my favourite tomes were technical reference manuals and so-called “coffee table” books that explored these incredible machines. You could keep your books on cars and motorbikes, these liners were where it was at.

I recall one of my favourites was a photo book on commercial aviation from the 1960s to the early 1990s, the majority of which consisted of scanned slides taken by Clinton H. Groves. His work was meticulous, well framed, and fascinating. I was just as interested in the historical backdrops as I was the planes. Cars whizzing by a parked plane in NYC in the 1960s, the skyline of the late Kai Tak Airport in Hong Kong, people tending to those pencil JT3C turbojets fitted to the DC-8 and 707. Glorious.

Well I was wandering through Wikimedia Commons again yesterday (as one does), when by chance I saw a familiar photo:

Cathay Boeing 707 by Clinton H. Groves

That’s a Cathay Pacific Boeing 707-351C, taken in Hong Kong in 1983. Even if you weren’t familiar with the classic jetliner pictured, you can likely tell from the film grain, buildings, and aircraft livery that this is a photo from another era. It’s also… a photo from that aforementioned book! Not to get all turns out on you, but turns out many of Clinton’s photos have been archived on Wikimedia Commons. It was so much fun flicking through this gallery of jetliner history again.

It even has one of my favourite photos he ever took: this bright orange Braniff International Boeing 747 227B from 1980:

Braniff 747 by Clinton H. Groves

You don’t often see the Jumbo Jet from this angle; I always thought it looked sleek AF. Which is interesting, considering the 747 was supposed to be the bulk carrier in the age of supersonic jets that really were sleek. But I digress.

If you’re at all interested in commercial jetliner history, don’t go to that gallery if you’re busy. You might end up opening far more time looking through it than you expect (cough).

Tagged: media avaition history


Finding and using a 5:4 display in 2026

People in my area keep getting rid of some amazing kit. Last week I was walking back from our local coffee roaster—like a gentleman—when I chanced upon these two panels covered with autumn leaves by side of the road. Clara said words to the effect of “uh oh, more stuff we have to take back?”

Yes, yes indeed. I’m sorry.

Two monitors on a bench.

The widescreen is a Dell something something. I don’t know what the model is, and I don’t care much to look it up. I hate 1080p for robbing us of the vastly superior WUXGA and its glorious 1920 × 1200 resolution we briefly had in the 2000s. And besides, it only ran for a few minutes before it made like a Matrox VGA card playing Commander Keen and started glitching. I fear that reference may be a bit too niche.

The NEC though, well that was another story. First, it weighed an absolute metric tonne. I can only assume, like Hi-Fi gear, that weight is correlated with quality. Maybe the liquid in the crystals is denser, or something. I only narrowly missed dropping it once, and it’s a good thing too or otherwise I might not have had a functional foot to carry me the rest of the way home with it.

Having made it home, and proving the Dell was broken, I turned with keen interest to the NEC. Commander Keen interest? MATROOOOXXX!!

☕︎ ☕︎ ☕︎

The NEC is a Multisync LEC 1790NXp (gesundheit). According to the official datasheet I was able to source from the Sharp Displays Europe website (huh), it’s a 19-inch TFT with an 800:1 contrast ratio, 20 ms response time, SXGA resolution, and enough weight to crush my aforementioned foot. Not amazing specs, but not bad either. Quite respectable for the time, actually.

So naturally I decided to plug it into my work MacBook Air to see Mac OS X rendered in such a way again:

Mac OS X rendered in SXGA resolution.

I’ll admit… this resolution and aspect ratio stirred something in me long dormant. Three things, in fact.

  • This is a bullet point. I know you know that, and I know you know I know you know that, but did you know I knew you knew I knew that you knew I knew? I know, right?

  • It sent me back to my first LCD panel from my childhood. I spent my first paycheque from a part-time IT job in school on a 19-inch Philips panel with similar specifications as that NEC (albeit without DVI). I wax lyrical about retrocomputer nostalgia here, but I harbour no attachment to CRTs. They whined, took up more space than I had, and gave me headaches (yes, including the better CRTs you’re thinking of and are about to email me about). That crisp, svelte LCD was a revelation. Oh boy, did I love that monitor something fierce.

  • I remembered just how optimised that aspect ratio felt for me, and how subsequent monitors do not feel this way. 19-inch SXGA panels hit that sweet spot where I could run two text editors or terminal columns in one virtual desktop, and a web browser at full screen in another. Not being a widescreen, I didn’t have to dart my eyes from left to right to see everything at once. Everything was within my field of vision. It was perfect.

Thesedays, my retrocomputer table is set up with a couple of 15-inch SVGA LCDs connected to a veritable hornet’s nest of upscalers, converters, adaptors, and other paraphernalia to connect everything from Commodore 64s and Apple IIs, to SGIs and SPARCStations. But now I’m thinking I’ll swap one of these out for this 19-inch panel. NetBSD with CDE (or even Xfce fashioned to look like how it used to) on those machines running at SXGA might just be what I need in my life again.

The next step was to plug it into my FreeBSD ThinkPad E14, because I wanted to see how a modern *nix desktop would render in this glorious year of 2026 in SXGA resolution. I saw the image appear on screen for a solid minute before an audible buzz developed, then a loud POP, accompanied by a strong odour of crispy electronics. Well shucks, at least I got one screenshot before it went the way of the Dell.

As for modern displays, a Retina or 2× HiDPI panel with such an aspect ratio and size would be incredible. Fsck widescreens. I know people have been repurposing old iPads and Samsung tablets with their squarer displays for desktop use; maybe I need to wait for one of them to make a Super Max version, or something.

Anyway, I’d better open a window before the smoke alarm goes off. It’s bad enough when I burn crumpets, let alone whatever caps or power supply components let out their magic smoke. I really should be doing that instead of writing this post. Yet here I am. Funny that.

Tagged: hardware monitors retrocomputing