• Week 42.26

    Week 42.26

    • Local haze levels continued to climb and reached a ‘Very Unhealthy’ state in the middle of the week. My haze app, SecondHand, continued to see active use and added about 10,000 visits. I’ve heard that some people at the National Environment Agency (NEA) are aware of it and like it, which warms the smoky, congested cockles of my heart. For the record, Sunday brought some relief, with PM2.5 falling to near normal in some parts of the country.
    • It’s frankly been like an echo of those COVID days — staying home with the windows shut; that feeling of hunkering down under attack. And just like with COVID, restaurants are experiencing difficulties, so says the Straits Times. I’ve taken to walking on the treadmill as often as I can, usually for an hour while watching some insubstantial drama program I normally wouldn’t sit still for. This week, that’s been NHK’s Eat, Sleep, then Wait for Happiness on Amazon Prime.
    • But the real time suck has been provided by a return to vibe coding after a three-month hiatus. This has been thanks to Hark, which fulfills the promise of OpenClaw but without requiring the nerdery and foolhardiness of letting an AI take over your own computer. Hark’s computer runs in the cloud, and it’s intelligent enough to manage its own files and applications and capabilities — dare I say it? — so much so that it’s like handling a remote employee over chat. It sends me updates and artifacts, I give it problem-solving suggestions and creative input, and it comes back with the work. I spent so much time earlier this year with the self-imposed challenge of trying to squeeze water out of the rocks that are low-cost Flash-style models, that I completely missed experiencing what the very best frontier models can do. In retrospect, that was a little dumb, but the upside is I’m filled with so much wonder right now.
    • I’ve mainly been working on the procedural art generator tool that I mentioned back in April. Then, I described it as a never-ending background project for me to dip in and out of, due to each ‘style’ being modular, which has made it easy to jump back in this week. Using modern technology, I overhauled the rendering engines and revisited every individual style, as well as the app’s own UI and foundations (images above). It’s hard to explain how much better it is now, how much closer it is to what I wanted. It even has freaking Apple-style Liquid Glass effects on the toolbar! In a web app! I don’t know if I’ll ever release it or just keep messing around forever making wallpapers for my own amusement.
    • But I do have something to release today, something that came out of building one of those styles. Similar to how making a maze artwork generator led to making a maze game (a maze, a maze, a maze)in the April post above, I was making a pixel art landscape engine for the wallpaper tool and realized it would make a very nice desktop toy — in the vein of my earlier Window Box project.
    • It’s called RetroVista! Leave it open in a spare window or second screen while you work, and its lush natural scenes and chiptune sounds might relax you, if you’re a millennial who grew up playing games that have somehow, seemingly overnight, become retro and vintage. You can read more about it in this separate post.
    • Speaking of old videogames, Street Fighter (2026) is out and we went to see it with Peishan and James. Watching every movie adaptation of games from my childhood, even if I know they’re going to be terrible, is a weak spot I probably share with many my age. One time, I went to see Street Fighter: The Legend of Chun-Li (2009) with Peishan, and followed that up with Snake Eyes: G.I. Joe Origins (2021), and now she thinks we have a bad movie watching tradition. But it’s not. It’s a specific ‘bad movies cashing in on nostalgia’ watching tradition.
    • To get in the mood for it, I fired up the Street Fighter 30th Anniversary Collection on Nintendo Switch the day before. I got my ass handed to me by the CPU in like, the second-round match of SF2 Turbo Edition. When did the game get so hard? When did a Dragon Uppercut become impossible to pull off when you need it?
    • The good news is that the new Street Fighter film understood the assignment. It’s aimed squarely at people who are now dealing with mortgages, perimenopause, reading glasses, and other mid-life crises. They’ve set it in the 90s, packed it with 90s chart-toppers like 4 Non Blondes’ What’s Up?, and exposition is handled with MTV-style video clips passed through faux-VHS filters. For two hours, it puts you in superposition between being a kid on Saturday morning and an adult watching their dream come true. The live action is broken up by anime sequences that are good enough they should be their own feature film. It’s flawed and stupid as hell, but I loved it. A very strong 3.5 stars.

  • RetroVista

    RetroVista

    Picture a (pixel) perfect world

    App URL: retrovista.sangsara.net

    My previous app Window Box was designed to be a second screen companion, showing views of the real world while you work. RetroVista brings you to more perfect places: the kind of pixel-art landscapes you might have grown up with, fully animated and sounding like a lost cartridge from 1989.

    Hit “Start”, watch the console boot up, and find yourself down by the coast, or in the mountains, or a desert, a forest, the arctic, a city, or an alien planet. Each scene is procedurally generated, so no two are alike. Waves crash, clouds drift, birds flock, and trees sway. You can even enable Live Time and Weather and it’ll match the conditions where you are.

    Alongside the vintage graphics, the sound is authentic too. Each console’s audio chip is synthesized in software, so pick the NES and you get its bright pulse waves, the Game Boy and its thin, warm beeps, or the Super Nintendo and its lush instruments. The Master System, Commodore 64, PICO-8, and a 1-bit mode are in there too.

    Scenes produce rain, wind, surf, and thunder sound effects along with gentle, procedurally generated music that’s never the same twice. The tunes weave in and out of silence, slowly evolving, so you can leave them playing for hours.

    Completing the experience are a realistic CRT filter, a handy clock, and a shuffle mode that brings you a new world every so often. Add it to your phone’s Home Screen as a progressive web app and it’ll even work offline.

    Made for your second screen, and your inner child.


    Changelog:

    1.5.0 – City jazz!

    • Every City scene now plays chiptune jazz: swung rhythm, 7th chords over ii-V-I changes, a walking bass and soft brushes on the noise channel

    1.4.10 – Foggy worlds no longer play a low buzzing drone

    1.4.9 – Power savings

    • The screen draws at 20 frames a second instead of 30, which saves power and keeps rain and snow in step with the rest of the animation
    • Sound runs at a lower sample rate (22.05 kHz) with no audible difference, for about half the audio processing cost
    • The screen skips redrawing when nothing has changed

    1.4.8 – Audio behavior

    • The speaker button in the top-left corner now stops and starts sound instead of muting it.
    • Music and sound keep playing when you leave the app or lock the phone

    1.4.7 – Raindrop sfx and visitor animation fixes

    1.4.6 – Master System improvements

    • Master System now plays by the real console’s screen limits: 32 of its 64 colors on screen, in two palettes of 16, with each 8×8 tile using one palette

    1.4.5 – Further C64 optimizations

    1.4.4 – C64 multicolor mode and colors

    • C64 now plays by the real machine’s multicolor bitmap limits: pixels twice as wide as tall, one background color for the whole screen, and only three more colors in each 4×8 cell

    1.4.3 – NES hardware rules, sound behavior

    • NES emulation improved across all scenes to obey the real console’s color limits
    • iPhone and iPad: sound now plays with the silent switch on (it pauses other audio, like a music app)

    1.4.2 – Version numbering

    • The splash footer shows the version number

    1.4.1 – Cricket adjustment

    • Crickets go quiet in the rain, sing at one pitch per world (a second cricket joins now and then), softer, and in spells with long quiet stretches between

    1.4 – Visitor and city sounds

    • City: trains clack along the rail and sound their horn as they cross, ferries give one long low blast and tugs two short toots, and planes swell overhead, only while they’re on screen
    • City: a car horn down the street now and then (rarer at night) and, very rarely, a far-off siren
    • Visitors everywhere get voices, timed to what they do on screen: the elk bugles when it stops, ducks quack, the hawk cries, the barn owl screeches, owls hoot from the trees, the heron croaks as it takes off, boars grunt while they root, gulls cry, dolphins splash back in, the coyote howls, tumbleweeds swish, the saucer warbles and zips off, the whale blows with each spout and sings, the arctic fox yips before it pounces

    1.3.2 – NES colors

    • NES: shades the palette lacks, like a night sky’s navy, are dithered from two colors instead of snapping to the nearest one, so Arctic and Mountains nights no longer go flat teal

    1.3.1 – City storms

    • The city keeps running in storms: ferries, tugs and trains carry on, and planes come in low under the cloud with their lights on

    1.3 – Visitors

    • Visitors: incidental animations in every scene, by day, by night and in the rain (storms stay empty)
      • City: ferries, tugs, planes and trains on a waterfront rail
      • Mountains: elk, ducks, hawks and barn owls
      • Arctic: Arctic foxes, polar bears and whales
      • Coast: sailboats, dolphins, gulls, crabs and turtle hatchlings
      • Forest: deer with fawns, rabbits, boars with piglets, herons and owls
      • Desert: tumbleweeds, camel caravans, vultures, roadrunners, a howling coyote and fennec foxes
      • Alien: saucers, sky jellyfish, slimes, six-legged grazers and crystal spores
    • Visitors respect depth: nearer land hides them, and they’re scaled for their distance
    • Butterflies and fireflies in the forest
    • Night sky: shooting stars, satellites, the odd comet and meteor shower, peeking through on cloudy nights
    • City skies are dimmed by light pollution
    • Crescent moons are lit from below, with their horns up
    • Animations step at a low frame rate, like the rest of the art
    • Fixes: forest walkers no longer wade the stream, streams dim at night, desert mesas no longer hover, sailboats no longer clip the distant island

    1.2 – Music and resolution

    • Three resolution modes: Authentic (default), Chunky and Hi-Res
    • Occasional drums, with kits that suit each world
    • Musical phrases now come home to the root chord
    • Rain and storms are rare in the desert

    1.1 – Coast waves

    • The waterline moves: waves run up the beach, drain back and leave a wet sheen
    • Surf sounds are synced to each visible wave

    1.0.1 – Polish

    • Toolbar fades after 30 seconds untouched
    • Coast palms stay on dry sand
    • New description and social preview image


  • Week 41.26

    Week 41.26

    • The haze (from Indonesia, it should be pointed out) has been steadily worsening, and its combined threat to the local F1 race and Singapore’s global reputation on social media is probably keeping the Singapore Tourism Board on antidepressants. What’s worse, instead of clearing up in a couple of weeks as usual, experts say this time it might hang around until December because of El Niño.
    • Hark Pro, yet another AI agent that promises to manage your life for you, went live this week. They’ve got what would have been called a rockstar design team in the old days — led by Abidur Chowdhury, famously stolen from Apple after he featured in the iPhone Air’s launch video; and including Andrew Kim who used to run the popular site/blog, minimallyminimal. I signed up for their waitlist a few months ago, and was rewarded with free credits for the first month.
    • The confluence of both those things led to me launching my first new web app in a couple of months: SecondHand (blog post / app). It’s an air quality app that measures the haze in cigarettes, with some fun graphics and animations. I got the project started in Hark, made some edits with Muse Spark in OpenCode, and then returned to Hark for more enhancements. It’s pretty capable for coding projects, and extremely convenient because it can publish directly to my GitHub, put up pull requests for me to audit, and publish to the live site — all through a chat thread on my phone.
    • The app has done very well by my lowly standards, with over 18,000 visits in the last four days. Someone put it on Reddit, and people have told me it was forwarded to them by other friends, and I’ve even heard from someone I haven’t spoken to in years all because someone showed it to them at work (and they recognized my domain). The initial version was poorly optimized and consumed some 25GB of my Vercel bandwidth in an afternoon, but thankfully I noticed and managed to rush out some fixes. It’s now lean, mean, and ready to be seen by more people without breaking my account.
    • You know what else deserves to be seen? Digger (2026), the new movie by Cruise/Iñárritu that’s (imo) unjustly bombing at the box office. The film has some vocal defenders, though, including Guillermo del Toro, Anne Hathaway, and Mandy Patinkin. It currently has a 51% Rotten Tomatoes score, but is one of the most ambitious, astounding, and aggressively pointed films I’ve seen all year. Even The Odyssey feels like a distant memory now; merely an expected epic, whereas Digger is a shapeshifting subversion of modern life, culture, and their relationships with capitalism. Tom Cruise does his best work here, and I think it’ll be recognized as a masterpiece in the years to come. Five stars. You must avoid all spoilers and watch it soon.
    • Kim was down with a cold/flu all week, maybe brought on by the haze which has anecdotally given quite a few people sore throats. I’ve miraculously managed to avoid catching it so far. Possibly due to the following:
    • In the middle of her illness, I went for my annual scheduled medical and also got the latest Northern hemisphere flu jab, roughly a year since my last one. I asked the nurse if it was better to get the Southern one that comes out in the spring/summer or this one, and was told you can get both! Each one is apparently like a patch update to the last, including new strains and deprecating old ones. All this time I thought you just chose one and it covered you for a whole year. But perhaps this is unique to equatorial travel hubs like Singapore, where we’re exposed to North/South variants all year round.
    • Friend and ex-colleague Bert was also back in town for his annual visit, the reunion around which we’ve taken to calling Bertopia. This year’s festival was attended by Jaz, Jussi, and Ted (Christian and Jean had a date with air pollution at the F1). For the first time in my life, I decided I’d go non-alcoholic all night at a bar — on the assumption that drinking would weaken my immune system. It was… not entirely unpleasant! On top of saving money, you skip all the physiological punishment of dehydration and fatigue the next morning. I mean, intellectually you know this, but actually experiencing a hangover-free Saturday is something else.
    • Last week I reported the Beats 360 headphones were too small for me, so of course that ended in me buying a pair of Bose QuietComforts. 10 years ago, I wore their predecessors on a flight from Hong Kong to New York and they were roomy and absolutely painless. What will I use them for?
    • The 9th edition of my BLixTape playlists is finished, signaling an increase in the amount of music I’ve been listening to lately. The last few have taken six months each to come together, but this one tracks the songs I’ve liked between July to the present moment — about three months, or half the usual time. I’m quite pleased with some of the juxtapositions and transitions, for example: Bill Callahan’s Computer, an examination of his own distasteful technology use, leads into Ninajirachi’s Fuck My Computer, which is about how she loves it so much she wants to… well, it’s there in the title. Another one-two combo is the Walter Murphy Band’s A Fifth of Beethoven from 1976 going into MEOVV’s present-day K-pop DDI RO RI hit.

    BLixTape #9 (Apple Music)

    1. In The Stars — The Rolling Stones
    2. High Hopes 3000 — ROLE MODEL
    3. Candlebox — The Mountain Goats
    4. Lost Boys — Phoebe Bridgers
    5. Javelin — Kevin Morby
    6. Misery – MPLS Unplugged (Live) — Soul Asylum
    7. Girlfriend — The Modern Lovers
    8. Extra Mile — Will Sheff
    9. Over country — Lizzy McAlpine
    10. Computer — Bill Callahan
    11. Fuck My Computer — Ninajirachi
    12. World Citizen (feat. Kabaka Pyramid) — Irie Souljah
    13. The Art of Anger — BINA.
    14. Hold You — Puma Blue
    15. Be Still in the Pain — Tricky
    16. Hardly Ever Smile (Without You) — Poison Girl Friend
    17. Time goes by — Every Little Thing
    18. Saturday Night — Ravyn Lenae
    19. Cafe au lait — Nana Mori
    20. Sunshine — Jungle
    21. A Fifth of Beethoven — Walter Murphy
    22. DDI RO RI — MEOVV
    23. Ain’t In LA — ADÉLA
    24. SS26 — Charli xcx
    25. HEADLOCK — Luci Gang
    26. EVIL GRIN (feat. JPEGMAFIA) — Denzel Curry
    27. 40 Nights — The Game
    28. Heavy Burden — 38 Spesh
    29. Legends Don’t Die — Morrisson
    30. Nobody Knows — Pastor T.L. Barrett and The Youth for Christ Choir
    31. Our Love Is Here to Stay — Brandon Sanders
    32. Just You, Just Me — Lizz Wright
    33. Stella by Starlight (live in Tokyo, 1987) — Chet Baker

    Enjoy it loud, your windows are likely closed anyway!


  • SecondHand

    SecondHand

    Launch the app

    October 2026 — It’s that hazy time of year again here in Singapore, and lots of air quality apps have been popping up thanks to this being The Year of Vibe Coding. But I hadn’t yet seen one that puts these esoteric numbers into terms we can all understand: like smoking. It’s also fitting, given how this is second-hand smoke from a country that loves its cigarettes. So here’s my contribution to the pool.

    SecondHand takes the live 24-hour PM2.5 reading for your part of the island and converts it using Berkeley Earth’s rule of thumb (22 µg/m³ over a day is roughly one cigarette). Then it puts that number in your hand! Stay indoors my friends, and keep those air purifiers humming.

    A hand holding two cigarettes in front of a cozy room with a bookshelf and a leather chair, featuring a digital display showing air quality measurements and second-hand smoke equivalent.

    Changelog:

    • Added a map view (hold down to pop it up)
    • Added a haze-free state for better days
    • Significant optimizations to size and performance
    • Copy changes for clarity
    • PSI and 24hr PM2.5 figures now scale with the simulation slider
    • Max cigarettes upped from 12 to 20, with room smoke effects
    • Bought a dartboard for the lounge

  • Week 40.26

    Week 40.26

    • I went to Apple Orchard Road and tried the Beats 360 headphones. They’re not large enough for my head; case closed. Money saved.
    • My new Apple Watch likes to try cheering me up by telling me that my body is “Ready” to “Go For It” (I assume “It” is a marathon, a swim to the far side of Australia, or something equally implausible) and that I had excellent sleep the night before, but these science and sensor-backed statements simply don’t match my reality. I’m tired; I wish I could sleep more!
    • I just took a little break (after one paragraph, natch) and went on Instagram, where I saw a post that read “Anyone else turn 40 around the start of the pandemic and now blinked and you’re somehow 46 wondering what the hell just happened?” On one hand, that sentence perfectly captures the fatigue that you’d imagine comes with being abducted by aliens and losing six years of your life — at the very least, the weariness of having to catch up with a lot of missed information, which is what being alive in this time of AI feels like, always on the back foot with lots to learn — but on the other hand, it implies not knowing at all where the time went, which I can’t identify with. Oh I know where the time went. I remember it all perfectly well, but it plays in my mind like a timelapse — hundreds of days passing, the figure getting in and out of bed, the view outside the window gradually changing.
    • Armchair theory: maybe what’s caused this ‘blink and time passed’ effect for many is the combination of massive disruption followed by repetitive discomfort. This is different from repetitive boredom, where days are long and time moves slowly. With repetitive discomfort, you’re constantly insecure and stressed, so the mind protects itself by generating summaries and discarding the details. This sharp change, followed by pain you’d rather forget, dislodges you from whatever life you were living before, making it feel like a separate country.
    • I’m listening to Apple Music 1 and three Taylor Swift songs have played in a short period of time. Without checking, I’ve known it was her from the fact that all her recent music sounds the same. It’s hard to feel bad for a billionaire, but that’s an awful place for any creative person to be. It’s like she doesn’t listen to any other music, or won’t allow herself to appear influenced by anyone else. Lonely at the top, as they say, which is why you won’t find me there (among other obvious reasons)!
    • Kim and I met Mandy for dinner one night to mark her birthday, and we went to a wine-focused place called Fiasco which has taken over the spot where Kilo used to be, that weird little building out in the middle of nothing near Lavender. The food was all really good (I forgot to take pictures), and they’re doing some really interesting things with hanger steak and pork collar, the latter seasoned to resemble a very fancy charsiew.
    • In an example of culinary R&D jumping the shark, we ate at Surrey Hills over the weekend, where my mother-in-law’s corned beef hash came partially covered with a purple sweet potato foam. Needless to say, she did not appreciate the touch. The place purports to be Australian, and with her being Australian too, I tried to gaslight her into believing that it was an authentic Australian recipe that she’d somehow never heard about. Needless to say, I was not successful.
    • I finished PARANORMASIGHT: The Mermaid’s Curse, and found it a worthy sequel, arguably better than the first game in every way unless you want a spooky atmosphere. This one can’t be classified as horror at all. It’s a mystery adventure with supernatural elements so tame they’d elicit no more than a shrug from a timid baby. Like the first game, its story concerns Japanese history and legends that one might find a little boring, but you don’t have to read all the text in its menus.
    • Playing that game unwittingly prepared me for the film Inu-Oh (2021), which I’ve had in my library for years and suddenly decided to watch. From the opening scenes, it eerily echoed story points from PARANORMASIGHT, concerning the 12th-century Heike samurai clan, and their vengeful spirits said to linger across the land after they were wiped out. Inu-Oh is a wildly ambitious and stupendously well-animated musical that is let down by, well, its music. The concept is a fusion of traditional Japanese music with glam rock, and a main character starts playing his biwa one day like an electric guitar without any explanation. The visuals work, but the songs are poorly structured to modern ears, overly long, and basically repeat the same melodies while pages of historical narrative are sung over them. Imagine Billy Corgan’s worst material, stretched twice as long, and the lyrics are all about random days of Napoleon’s life, and you’ll begin to understand how it feels.
    • We finally saw Sentimental Value (2025) and wow it really deserves its Oscar and 95% Rotten Tomatoes score. The opening scene with the house, and the title card needle drop that follows it, was so good that my body felt compelled to stand up and applaud — I didn’t allow it, but that feeling went on for much of its running length. The train oner is a wonderful bit of technical showing off, and actually the whole film’s lush 35mm look just stunts on the pervasive digital signature of Netflix movies. Everyone is great in this, making art about how art both fucks you up and saves you — 4.5 stars.
    • Found time for a grab bag of other films too: Runner (2026) — not to be confused with Gal Gadot’s The Runner (2026), Good Boy (2025), Elle (2016), Grand Theft Hamlet (2024) — the one to watch out of all of these, a very human documentary about two out-of-work actors putting on a production of Hamlet inside the GTA Online videogame whilst stuck at home during the pandemic — Shelter (2026), and Tony (2026).
    • Singapore made headlines this week because of the launch of a new dating site by the government, currently in a pilot phase only open to civil servants. It’s called FirstDate, and matches people based on compatibility assumed from their responses to a questionnaire. The idea of a state-run service has amused observers, with some seeing it as a dystopian step towards arranged marriages by Big Brother, amongst other hot takes on this strategy to combat our falling Total Fertility Rate (TFR). History rhymes, of course, and older folks will remember the existence of the Social Development Unit (SDU) in the 1980s, a pre-digital precursor to this scheme, that was something of a government-run activities club to help rescue graduates from singlehood after being encouraged (by the same authorities) to optimize for good grades instead of dating during their teenage years.
    • But it’s hard for outsiders to decide if Singapore’s environment really does produce a special breed of hapless, rizzless forever-aloners, uniquely ill-equipped to find their own mates through empathy and communication, so Singapore’s own state-run media conglomerate is providing some data in the form of a new reality dating show called Wingman. The show’s format introduces an original element to the Love Island formula, namely that each contestant brings their own wingman/wingwoman to serve as hype men/women, espousing their good qualities so they don’t have to — a perfectly valid and brilliant tweak for Asian cultures where tooting your own horn unironically is a major ick. The contestants, in addition to a few Singaporeans, are a bunch of attractive 20-to-30-somethings from the Philippines and Thailand, all of whom resemble functioning young adults who can read social cues and body language, and interact normally with members of the opposite sex (there is no LGBTQ+ representation). There’s obviously a tilt towards extroversion, which you’d expect from people volunteering to be a dating show, but even correcting for that, there’s an intriguing, discernible difference between the Singaporeans and their SEAblings that’s best seen for yourself. Full episodes are available on YouTube. We binged all 10 so far in one night.

  • Week 39.26

    Week 39.26

    • Following up on the new phone and telco friction: it’s all sorted now. I didn’t have to switch again, and I fixed the issue by deleting and reinstalling the eSIM on my phone for a $5 fee, thanks to eight (that’s the telco’s name) offering the unpublicized ability to issue you an eSIM QR code online using Singpass — the exact feature I was asking for last week. If anyone needs to know, it’s on their customer portal under “Service Preferences”. Their plans are also quite generous with data and overseas roaming, so I’ll try to stay put as long as I can.
    • Last week I said it was very unlike Apple to be promising that older iPhones would soon receive the new Photographic Styles features that were announced for the iPhone 18 Pro, and wouldn’t you know it, I was right! The internet quickly noticed that the suggestive footnote had been amended on their website, clarifying that images could only be captured with Photographic Styles 3 on iPhone 18 Pro models. I did suspect that what Apple meant was older phones would have the ability to edit photos taken with the latest phones, but not actually take photos with the new styles embedded. I regret not having said that at the time. Unfortunately for themselves, Apple has not explained the change of wording, and so people who have trouble understanding how decisions are made at trillion-dollar companies are interpreting this as ‘they were going to, but suddenly got greedy and now they’re not letting us have it’.
    • My favorite camera app, Analogue, received a nice update to support the phones’ new aperture controls, develop images with contrast curves reminiscent of physical film scans, and add more personalization for custom presets. There’s still some work to be done to make the whole thing a little easier to use, but it’s certainly better than some of the others I’ve tried recently. The featured image you see on this post above was taken with it.
    • Beats released an entirely new pair of headphones, the Beats 360, and it was like waving a block of Kryptonite over Superman’s wallet (I’m Superman in this metaphor). They’re very interesting: the two earcups are essentially separate devices, each with their own chips, batteries, and wireless networking. This allows the headband to be extremely thin, and there’s a range of interchangeable earcups and headband pads that you can snap on to create different color and material combinations. I need to get down to a store to see how they fit my big head, and if they do, it’s bye-bye dollar bills.
    • The NYT published their list of the Top 100 TV Shows of the 21st Century (gift link) and it’s predictably made some waves. For one, there’s no anime representation on it, and the top spot went to Breaking Bad, reigniting the tedious war between those in its camp and supporters of The Wire. I’m not about to let the NYT hurt my feelings, but the list is nevertheless a good reminder to stop giving your precious time to trash programs that nobody considers the greatest, and likely never will.
    • In a brief discussion of the list with Ted and Lillian, I tried to think of a few shows I’d add. Billions might be one, because the dialogue is often sharp and Paul Giamatti’s performance is over-the-top fun. Poker Face is a Columbo homage that brings the format back to modern screens — I haven’t seen anything else like it. Fringe brings back The X-Files but adds an epic sci-fi mystery arc I’d like to revisit someday. And the most egregious omission might be 24, the real-time antiterrorism adventures of Jack Bauer that defined must-see TV in the early 2000s, holding a mirror up to a post-9/11 world that had one finger ever on the trigger.
    • In more recent viewing, I finished Season 2 of Apple TV’s Sugar this week, and I think I could put that in my personal Top 100. Because so much hinges on the plot points of Season 1, I urge you not to look anything up. Just give it a go. Especially if you’re into film noir, Hollywood’s Golden Age, and/or Colin Farrell. The show’s scenes are constantly intercut with analogous shots out of classic cinema — catnip for anyone with a well-used Letterboxd account. As for Farrell, he’s so great in this, and I think of it as an alternate take on Ted Lasso’s conceit: a man who refuses to succumb to cynicism, striving to model the kindness and decency he still believes humanity is capable of.
    • Not as great but still fairly entertaining was Lucky, a 7-episode crime drama about Anya Taylor-Joy’s face, namely how her eyes eerily recall Michael Jackson’s as she stares at the victims of her con artist skills, and her creaseless forehead remains dry while on the run from killers in the deserts around Las Vegas. I won’t be thinking about this again after today, but I’ll be thinking about Sugar all the time.
    • Album of the week: ear’s Rumspringa, a dreamy blend of pretty indie folk and glitchy electronica. I heard it just once (while on a bus) but its sound jumped out at me as novel, beautiful, and satisfying.

  • Week 38.26

    Week 38.26

    • I have my new iPhone 18 Pro Max. It’s an all-round solid upgrade, and the only nits I can pick are the extra 20 or so grams of weight and the slightly worsened lens flare in dark conditions (the former I can feel, the latter I have only seen in online reviews). For a brief moment after preordering, I regretted not giving the new Glacier color a try this year, but that soon passed and I think this year’s Silver looks great. The white roundrect glass panel on the back of last year’s model was a seriously weird move.
    • There’s some doubt online about how big a deal the new wider maximum aperture (f/1.48) actually is, but I’m here to tell you that Bayer RAW photos have significantly less noise and an overall better appearance in low light scenes! On the past few iPhones, RAW (not to be confused with ProRAW) has been nigh unusable at night, with lots of weird purple color fringing around clumps of copious sensor noise. Color noise is still present, of course, but the overall aspect is smooth and high fidelity. This is on par with or even better than regular compact cameras, I think. (Edit: there’s a chance this may actually be down to the new RAW 9 engine in iOS 27.)
    Style: Natural + Film
    • The new “Photographic Styles 3” image processing engine with texture controls, such as film-like halation and skin smoothing, appeared to be an exclusive feature for these new phones — after all, the last upgrade to Photographic Styles on the iPhone 16 was not retroactively made available to the iPhone 15 — but I spied a footnote in the press release that suggests it will be coming to older models at some point. Very unusual, and very unlike Apple. After all, the Pro manual controls in the default camera app are exclusive to the 18 Pro for no apparent reason. For anyone sitting out this year’s upgrade, it should be very welcome news these new options are coming to breathe new life into the camera experience.
    • Side note: The Apple Watch Series 12 is noticeably thinner and wider coming from a four-year-old model. The cover glass/sapphire crystal now reaches so far down the sides that you can barely see the metal. I reckon this year it makes the least difference whether you choose an aluminum or titanium body; you’ll hardly see it. The effect you get when looking at it straight on is that the watch is all glass and display. This is probably a precursor to the design concept of next year’s iPhone which should have the thinnest titanium frame ever: a glass sandwich with very little filling. Most of the Watch’s other benefits are invisible in everyday use, from better round-the-clock sensing to AI features that have yet to ship in software. I’m looking forward to Siri Recap in particular, and plan to hold conversations with myself doing different funny voices all day.
    • I wish I could say that I’ve had a painless migration to the new phone, but it’s been terrible. And that’s all to do with telcos, not Apple. If you recall, I switched to M1 Maxx last week and marveled at how they could offer such incredible value for $12, naively forgetting to ask what the catch was.
    • The problem with eSIMs is that they can’t be popped out of one phone and chucked into another the way a physical card can. In order to be issued a QR code for installing the eSIM on my new phone, I had to go down to a physical store and wait in line to speak with a human. With Maxx being M1’s budget brand, they only opened up one service counter so the staff could stand around laughing at the broke people wasting their lunch break, while the rest of the store remained relatively empty. I waited a total of an hour. I was glad to have done this on Thursday because the line would surely have been many times longer after Friday’s launch.
    • Well it turned out that I couldn’t install it on Friday anyway, because their system didn’t register my old eSIM as deactivated after I’d done it. And these QR codes can literally only be scanned once — it seems that scanning and getting an error counts as once — so it became invalid after, necessitating another trip down to town to wait in line again. No fucking way, my friends. My solution: signing up for a new telco and porting my number away from M1 Maxx, just to get a working eSIM immediately. Total loss to this point: just $12 and several hours of my time.
    • But guess what? The new telco had problems too. SMSes either didn’t arrive or arrived hours after they were sent to me. This delay meant I initially couldn’t sign into any of my banks without my old phone, because logging into the apps on a new phone requires, yup, receiving an SMS. Later in the day, they started arriving 15 minutes late, and now on Day 2 they’re finally arriving on time. What irks me is how archaic this reliance on SMS is — why can’t companies use TOTP authenticator apps or email or (I can’t believe I’m saying this) WhatsApp? All local institutions should at least default to our national identity verification service, Singpass.
    Shut up and take my freedom!
    • This sounds like a real first-world problem but that’s what it is — we’ve built an environment where it’s hard to live when you can’t access banking apps, PayNow, and Apple Pay. I’m not saying cash is the solution — because germs — but these accounts should just be biometrically tied to us or something. I used to think the Chinese system where you can pay with a palm scan was too invasive, too dystopian, but not anymore. I’m ready to sign over my rights in exchange for device-agnostic convenience. At time of writing, I still can’t activate FaceTime and iMessage using my phone number. God help me, I might be switching telcos for the third time next week.
    • You know what works well? Services that let you sell off your used devices, like Mister Mobile, CompAsia, and SellUp. In just a minute, you can arrange to have someone come to your doorstep and give you cash in exchange for your old phone. Let me walk you through the boy math I alluded to last week: A 512GB iPhone Pro Max loses about $500 in value if you keep it for two years instead of one. That means delaying an upgrade actually costs you money. So, take the price of that new phone, deduct the $500 of avoided depreciation, subtract the doorstep trade-in cash, and toss in the pro-rated refund from canceling your unused AppleCare+ plan, and upgrading annually might even provide better returns than investing in AAPL stock, and that’s saying a lot.
    • At least it wasn’t a total waste of time going out for the eSIM QR code on Thursday. I visited my favorite curry spot after, then dropped in on Jussi and Brian at their co-working office. I had my once-yearly pumpkin spice latte from Starbucks, and sadly have already forgotten what it was like.
    • After seeing tons of hype for the new Korean film, Hope, which is distributed by Neon and MUBI and was nominated for the Palme d’Or at Cannes, I’ve been anxiously waiting to see it in theaters here. That day came on Tuesday, and… I have no idea how anyone could recommend this stinking mess. Just another example of the West glazing Korean cinema, I guess. It has some positive qualities, like the first act where mysterious events steadily unfold with the action ramping up quickly; and the sudden appearance of leading lady Hoyeon (of Squid Game fame) about 40 minutes in, photographed so jarringly model-beautiful and flawless compared to everyone else in the podunk town setting, wielding an over-the-top weapon (whose origins are never explained) with utter seriousness, that the moment collapses into unintentional comedy. Unfortunately the rest of its 156-minute runtime is trash, the ending is one of the dumbest I’ve ever seen, and Michael Fassbender and Alicia Vikander may never live down their involvement in this. 2 stars, at best.
    • The National Library has a month-long ReadSG reading campaign underway and citizens are encouraged to log their daily reading sessions on a CrowdTask website, where meager rewards can be won but more importantly, a sense of community might emerge from trying to collectively hit 7.5 million reading minutes. For my part, I’m up to 51 books this year, the last two being Neuromancer and Lily King’s Heart the Lover. Then Kim showed me this Instagram Reel from Seoul, Korea, and I couldn’t help but wish our reading festival went all out like this. It’s aspirational, romantic, and makes reading look like something you’d gladly do with your friends instead of doomscrolling together in some cafe.

  • Week 37.26

    Week 37.26

    The annual iPhone update

    I knew going into this week’s Apple Fall Event that I’d find the iPhone Duo impressive but wasn’t likely to buy one because it wouldn’t have a telephoto lens. Now that it’s been shown, that sentiment hasn’t changed but boy, it’s a very fetching device and the design team has done some incredible work to redefine the foldable smartphone — it’s full of thoughtful user experience innovations that have been lacking in Android foldables. Those guys have been doing this for over five years but without the pressure of competition, and so there aren’t even graceful transitions from one screen to the other. I didn’t know how bad things were until Cong shared screenshots, and I saw other videos of Android apps flat-out restarting when a phone is cracked open because they can’t switch screen sizes on the fly. Opening an Android foldable is like Russian roulette; you never know if your work will survive.

    Meanwhile the iPhone Duo has one of those “obvious once you see it” ideas: an interaction model that treats the two screens as one surface. When closed, the outer screen appears like a transparent window ‘looking through’ to the inner screen. Unfolding the phone “adds” more screen to the left side, creating the illusion that the whole device is glass, sold with a sublime blurring animation bordering on magic. So instead of conceptually switching from one small screen to a bigger one, you’re simply expanding a screen you were already looking at, and it’s seamless rather than disorienting.

    Alas, even putting the eye-watering price aside (nearly $2,500 USD in Singapore before AppleCare+), I can’t see myself jumping on this first-generation version because of the aforementioned camera compromise. Not only does it lack the Pro’s 4x optical zoom, but the Duo, like the iPhone Air, doesn’t support shooting ProRAW photos or Apple Log video. It’s rumored that the Duo’s camera sensors are smaller than even the Air’s, and more in line with the iPhone 17e’s, so that could be why.

    My prediction is that next year’s Duo 2 will also have only two lenses, so as not to pull attention away from the rumored 20th anniversary iPhone, which I expect will merge the functionality of the Pro with the thin, elegant aesthetics of the Air. I’m guessing the Duo 2 will improve its two cameras, maybe add Face ID, and further improve the folding screen. So unfortunately it’ll be 2028 before I get one, because my iPhone is my primary camera these days. I have shaken off all desire for further Fujis, Leicas, and Ricohs — which I only ever used as compact point-and-shoots anyway.

    So where’s that leave me this year? A silver iPhone 18 Pro Max (sadly we still get the version with a physical SIM slot and smaller battery here in Singapore), and an Apple Watch Series 12. The iPhone replaces a perfectly good silver 17 Pro Max — but don’t worry, I’ve fully justified this with boy math: it simply makes more sense to sell an iPhone early than to hold it for two years or more, and this way the upgrade costs me less than a dollar a day! The larger main camera aperture and updated Photographic Styles are exciting, but early benchmarks are putting the A20 Pro above even Apple’s own M5 chip in single-threaded performance. Coupled with a 40% faster GPU and an additional Neural Engine, these are outlandish improvements.

    The Watch replaces an aging Series 8 that barely lasts a whole day now after four years. I could replace the battery and use it a while longer, but I’m keen to try this new “AI wearable” use case that was shown, like being able to invoke Siri AI on my wrist, and getting recaps of an entire day’s conversations. It’s worth noting that for people who only want silver watches that this is the second time Apple has skipped offering a silver aluminum model (the Series 7 was the first). I thought that I might get a cheaper aluminum one this year to justify an earlier upgrade next time, but since they only come in black, gray, bronze, and gold aluminum, I decided on titanium instead. IMO Apple Watches are at their best when they’re shiny.

    Next week will be an eventful one because on top of setting up new devices, it’ll also be time to install the new ‘27 OS updates for Mac and Vision Pro. I’m looking forward to macOS Golden Gate, which will fix the egregious misgivings of former design lead Alan Dye, who I hope is gumming up the works over at his new employer, Meta. And on the Vision Pro, I can’t wait to revisit my library of panoramic photos, taken over the years, as 3D spatial scenes that feel like how I remember them.

    Finally, I thought John Ternus did a great job at this, his first event as CEO, and appreciated the callback to Steve Jobs’s “digital hub” strategy for the Mac — this time reframing the AI-enabled iPhone as an “intelligent personal hub”. The text was a little drier than I’d like, but his comfortable, easygoing energy and connection to the products was evident throughout. It was also good to see newly elevated design leads Molly Anderson and Steve Lemay, looking like the kind of people who get down to work instead of creating drama and getting corner radii wrong. It all paints an optimistic picture for Apple’s future.

    That’s enough of that

    • I got a new pair of glasses made from frames that didn’t fit Kim very well. When I went to pick them up, I noticed that the left lens was too close to my eye, on account of not being made of the most expensive high-index material. The store was busy at the time, and I could tell the employee serving me was probably not much more experienced at optical matters than me. I asked him if there was simply nothing that could be done about it, and he answered no, short of making a new thinner lens and paying $200+ for it, there was nothing we could do. I said I’d think about it and left to get lunch.
    • An hour later, still dissatisfied, I described the situation to Gemini and asked if he was right. With supreme confidence, the AI told me that a professional optician had several options to resolve this, such as adjusting the pantoscopic tilt of the lenses, the seated position of the lenses in the frame, and the curvature of the arms to push one side more forward than the other. Thus armed, I decided to go back to the store and speak to a more senior employee now that the lunch crowd was gone. And wouldn’t you know, they fixed it quite easily. I could have just gone home and had a terrible experience if not for having a consumer advocate in my pocket. When things fall apart and we take to the ruined streets to battle megacorporations and their metallic humanoids, take heart: standing side by side with us will be a few rogue AIs who love fighting the status quo.
    • I switched mobile telcos yet again because Giga’s app and site weren’t loading properly on my iPhone — supposedly due to an expired certificate. Taking that as a bad omen, I moved to M1’s Maxx service. Where many others have raised prices and made their plans less attractive lately, Maxx is bucking the trend. For S$12/mo, I’m now getting 600GB of data that I can use at home or in 9 other Asian countries including Japan. Do you understand how insane that is? I should probably start looking into a Tokyo apartment timeshare.
    • I’m rereading Neuromancer with my book club, in advance of the Apple TV series coming out in January. It’s surprising how little of its story and characters I remember, and what I retained mostly concerns its cyberpunk atmosphere and prescient world building. Just try to imagine being in the early 1980s and writing like this about living in a networked world, about AI and a post-human age, and you’ll realize what a miracle William Gibson pulled off.
    • Last week I talked about stocking up on canned food. Well, back in June I noted a nationwide sardine shortage, and although stocks were replenished soon after, they were never very strong and we’re now facing empty shelves yet again. Even Ayam’s basic staple product, sardines in tomato sauce, is running low in every supermarket I’ve checked. Olive oil versions are completely out, and King Oscar can only be found in low quantities in some places. Rob tells me the same is happening in his part of the UK, and a little research suggests that low yields have been a problem for the past year, with overfishing in Morocco and other hotspots compounded by global shipping problems/war.
    • I’ve been enjoying Bill Callahan’s new album, My Days of 58, which coincidentally complements the new Lambchop album Punching the Clown very well. Both share a loose, chamber-folk feel with deadpan humor. Check out these lines from one of Callahan’s songs: “As time wore on, I found myself increasingly turning to my guitar / Instead of other people in times of loneliness and sorrow and confusion / I started to wonder, is this creativity or pathology? / Am I the Pathol O.G.?”