Tag: Games

  • Week 25.26

    Week 25.26

    • Howard mentioned that he was using Claude or Codex to remake an old game called Little Computer People for his own amusement. That gave me a sudden brainwave: I could remake High Seas Solitaire, a simple Windows-based game I used to love. I’ve tried several times in the last decade to find something like it, or get it running on my Mac — one attempt involved setting up Boot Camp and installing/patching Windows, which took up most of a day.
    • It’s actually simpler and more fun to just make a whole damned game than to deal with Windows. Here’s a post about Island Solitaire, my recreation of the same game mechanics with some of the vibes. Or you can play it directly at solitaire.sangsara.net.
    • Tim Cook spoke to the WSJ and set expectations for Apple to raise prices because of the rising cost of RAM and chips. I took that as a sign that this is the year for me to finally upgrade my 2020 M1 MacBook Air. The order has been placed, and I hope to welcome an M5 model next week. The irony that this is indirectly happening because of people making shit with AI is not lost on me.
    • I was thinking about AI art while in the shower yesterday and came out with some thoughts I figured I should write down, so here’s a little interlude.

    A shower thought on valuing human art against AI art

    When we buy human-made art, we’re not just buying someone’s vision. We’re buying the time put in — a slice of their life that can never be recovered. It’s the process of trying to put a price on a year spent realizing and perfecting a single idea. This much is already obvious.

    AI art works from a different equation. It’s less produced with time than with compute — GPUs, data centers, and electricity. We pay for electricity constantly without a second thought; as an input, it carries no inherent meaning. But when you pay for human art, you are purchasing the accumulated experience of a life. The conversations they had with their parents as a child. The mistakes they made in their twenties. Every influence, decision, and accident that shaped their way of thinking and seeing.

    Generative AI models “think and see” through a distillation of civilization’s digitized products. One process is organic and irreproducible, while the other is probabilistic and derivative. Both are magnificent in their own ways, but we more deeply value the one that speaks to how we are built.

    Collecting art satisfies two deeply human impulses: the urge to possess and the desire to appreciate. When you purchase a work, you are claiming a piece of someone while simultaneously declaring, “This life had meaning.” Even in AI-generated work, the most interesting component is the human intent — the prompter’s editorial choices. An idea is only a nucleus. Yet an entirely human-made work is a whole atom: not just the nucleus, but the colossal mass of time that surrounds it — years of practice and application. An artist may emerge who creates AI works so intricate they’ll take years to complete. That would be a different story because the effort imparts the value.

    When an artist makes many things, we call it a body of work. Each piece informs the next, and narratives emerge; some are easier to see than others. It is a curious coincidence that art uses the word “cycle” to describe a sequence of related works sharing a purpose. But in AI generation, cycles run in the opposite direction: millions of GPU cycles are spun up to produce a single output. Human cycles accumulate meaning through experience over time, while machine cycles search for probabilities through brute force.


    • We watched Alice and Steve on Disney+, a six-episode comedy about what happens when one 50-something man starts dating the 26-year-old daughter of his 50-something female best friend. It’s uncomfortable but funny, which I suppose is the kind of setup for which you cast Jermaine Clement as the older friend. I’d say it’s worth watching although they never quite sell the mutual May–December attraction, and it doesn’t end as satisfyingly as I’d hoped.
    • I went out to see The Furious (2025) with Jose and Reg. This is a martial arts film you cannot help seeing mentioned online this month, in part because the legendary Jet Li talked about it on his podcast (what a world we live in). It’s a Hong Kong production with a Japanese director, and is set in an unnamed South East Asian city that mashes up the entire region. The streets look like they’re in Thailand, but you hear characters speaking Tagalog, Bahasa, English, and Mandarin. It’s designed for maximum relatability, although, as someone pointed out, most of the baddies are brown and the good folks are Chinese coded.
    • I ate two hot pot-based meals and got food poisoning from the sukiyaki (I suspect their handling of “Japanese raw eggs”), but the Chinese one was fine. Coincidence?!
    • It’s the middle of June, which means I listened to Glass Animals’ 2020 song, Heat Waves, quite a few times. This of course is because it contains the line, “Sometimes all I think about is you / Late nights in the middle of June”. I’ll bet it’s a very good week for their global streaming royalties.
  • Island Solitaire

    Island Solitaire

    For many years, I’ve wanted to go back and replay this old freeware Windows PC game called High Seas Solitaire. It was there for me when I had hours to pass at my desk job in the military and then later in college, over two decades ago.

    The charm of HSS for me was its simple and relaxing gameplay, accompanied by a sparse soundtrack of wave sounds, bird calls, and the creaking of your wooden ship. Its variation on pyramid solitaire was also unique: matches are made up of cards with the same number, or numbers adding up to 14. I’ve never found a similar game mechanic since.

    It was supported by advertising, and is now considered abandonware. Its creator, ZapSpot, has long vanished. Even if any of the copies online were still working, they wouldn’t run on a Mac.

    Island Solitaire is my reimagining of this little-known gem.

    I decided not to recreate HSS’s presentation, but pay homage with a similar nautical and nature theme. Where HSS had a predetermined set of puzzles to clear, Island Solitaire randomly generates layouts each time, using a full deck of cards. You are given a draw pile of 26 extra cards to help you make matches.

    A concise “How to Play” panel can be found in the bottom-right corner, and I guarantee it will make perfect sense once you start. I hope this is half as fun for you as the original was for me in those simpler millennium days.

  • Week 24.26

    Week 24.26

    It was WWDC week. Apple made good on their promise of a smarter, generative AI-powered Siri two years after first describing the concept. Enough has been said about that slipped deadline, but the verdict on social media this time is that they’ve actually delivered. I was tempted by all the reports of how stable the first developer beta is, and installed it on my M1 iPad Pro. I hope I don’t regret it, but so far so good.

    It’s no surprise that the first beta is in good shape, because this year’s OS updates are looking to repeat the feat of Mac OS X Snow Leopard, where effort was expended on optimizing performance and fixing longstanding issues rather than adding new features. There’s a list of nearly 300 improvements, and I’m looking forward to many of them, especially the faster loading of items in Apple Music. There are also very welcome refinements to the controversial new unified design language system colloquially known as Liquid Glass. Steve Lemay, may this life bless you and yours with happiness and good health.

    There was so much to discuss and dissect this week that Michael and I spent over four hours across two FaceTime calls. Okay, some of that time was spent talking about his new collaborative crossword puzzle game, Crossmate. I’ve played a couple of games and it’s a lot of fun, like how we used to play the NYT crosswords at the office on a big screen. It’ll be on TestFlight soon for wider testing and I’m excited to see how people like it.

    But the next generation of Apple Intelligence was the headliner and the thing most people will hear about. While I expected most of the things announced, there were a few I didn’t. The new Spatial Reframing capability, for one, is a brilliant use of image generation to enhance an existing photo beyond the removal of objects — one that treads very close to contradicting Apple’s earlier stand that photos should be documents of things that did happen. This new take technically does ‘respect’ a real moment in time, with the exception of the camera’s position in space. I wonder if this is as far as they’ll go, or if the line will continue to be redrawn over time (turning a photo into a video, for example).

    I also did not expect Apple’s AI to offer text generation from scratch, helping you to fill a blank page, much like what ChatGPT or any other consumer chatbot has done since the beginning. I thought their initial approach of only proofreading or editing existing text was the right one, but it’s clear that market forces are guiding their hand and features like this and photorealistic generation in Image Playground are simply table stakes now.

    After the presentation, I thought it was super obvious that the new Siri AI will make ChatGPT, Claude, Perplexity, etc. unnecessary for many casual users of AI, and many commentators on Twitter have also since shared this opinion. For people using chat interfaces to look up quick answers, do a spot of online research, brainstorm ideas, and generate text documents and images, there’ll be no quicker or more cost-effective way than to ask Siri on one of their Apple devices. On an iPhone, just swipe down from the Dynamic Island and the prompt field appears. Or hold down the power button and speak.

    It appears that the combination of on-device and cloud models will handle a normal amount of requests for no charge, and subscribers to iCloud+ storage will get more generous limits. Why would anyone pay USD$20 a month for third-party AI unless they also needed it for coding? And that’s before you even add in the advantages of having all your personal context available for Siri to work with, privately. I’ve long held off on connecting my email, Dropbox, and other services to ChatGPT and Claude, even if it would make them more useful. Once you open the gates for data to flow out, there’s no getting it back in. Apple is the only company I’d trust with all of it, precisely because their approach doesn’t require me to trust them.


    • Remember how I complained a few weeks ago that Amazon Fresh was ceasing local operations? One positive side effect of that emerged this week, in the form of a push notification arriving around 9:30 AM saying that some alcohol products were on 60% clearance sale. I jumped on that with a quickness, and received 20 bottles of wine later the same afternoon. If we lived in Australia, we’d be paying those prices on an everyday basis, but we don’t. I should have gotten twice as much.
    • Japanese konbini inspire all sorts of media, and I’ve read the books Convenience Store Woman and The Convenience Store by the Sea (which is now a live-action series). They’re… okay. This week I played the game InKonbini on Switch 2, which simulates a week of running a countryside store in 1993. I’ve had this indie game on my radar for a couple of years, but initially resigned myself to never playing it because they’d only planned to release for PC/Windows. It’s now on every major platform, and a very chill and cozy game, albeit short enough to finish in a couple of days. I spent a lot of my time straightening out the shelves and making sure every can, bottle, and sandwich faced outwards.
    • John Scalzi’s “Old Man’s War” series of books continues to be a very fun sci-fi adventure. I’ve finished Book 4: Zoe’s Tale, and it pulls off a rare Rashomon move across two installments. It essentially retells the entire story of Book 3, but from another character’s (Zoe’s) perspective, while somehow managing to be additive rather than repetitive. That’s quite a feat.
    • If you’d asked me what films I’m looking forward to this year, Disclosure Day would have topped the list. I’ll watch Nolan’s The Odyssey but I’m not in any hurry. We saw DD this weekend and I had a good time throughout. Nobody puts a scene together like Spielberg; everything is dynamically shot and immersive. But I was left afterwards with the feeling of too many plot holes, and too much exposition of the film’s values through monologues rather than action. Wait, I forgot that I would have also put The Drama on that list, and I’d been dying to know what the awful “secret” alluded to in the trailer was. We also saw that this weekend and had a lot of fun, even if it didn’t fully live up to my high expectations either. Both films get 3.5 stars.
    • I watched Empire Records (1995) for the first time, because Netflix said it was leaving their catalog soon. This was a film I’d always sort of believed I’d seen, but it turns out that I just knew the soundtrack really well and seen a couple of scenes. What a glorious document of its time. Immaculate vibes, and probably more entertaining today than it was at the time because of how much there is to appreciate — not just the lighting, set design, and music, but the whole nostalgic idea that a giant, two-storey record store could be the cultural center of a community, and that people would fight to protect it. Killing them was a tragic error.
    • While talking about it, Cien said the film dates itself by virtue of its message that selling out is bad and uncool, which I didn’t quite understand. Isn’t selling out still uncool!? And then Michael said the same thing on an unrelated topic — that selling out was something only us senior millennials and Gen Xers shunned. Everyone after sees it as a sign you’ve made it. I think they meant this on an individual level, which is jarring enough. But the film is about independent spaces being consumed by soulless chains, and I worry even that’s an alien idea to younger generations raised on influencer culture and brand collaborations. I haven’t been the same since.
  • Week 23.26

    Week 23.26

    • Summer is suddenly upon us. Like an overbaked Instagram filter stacked on top of an already eye-searing Photoshop edit, the heat in Singapore has been turned up to unglamorous levels. It is impossible not to be sweaty; we are at SWEATCON 1; omnisweat, eversweat, permasweat; we have always been in sweat in Eurasia. It was 31.5ºC and 79% humidity in my living room one afternoon, according to my HomePod. Somebody on Reddit worked out how much it costs to run the AC, in a bid to justify their own use. They say it might last till October.
    • It’s WWDC next week and I’m looking forward to seeing what Apple’s AI story has evolved into. I don’t envy their position — if I were in charge of a billion devices owned by all sorts of users, I wouldn’t want to put an AI assistant across all their data either. I doubt it’s possible to get 100% accuracy at scale understanding people’s appointments and emails in all their permutations, to say nothing of more complex use cases. The result is someone somewhere will lose something important and learn that their phone can’t be trusted. Is that worth it? Should everything AI have a permanent “(beta)” tag?
    • Even when it comes to writing code with AI, you have to be willing to accept bugs or only build simple, generic things. I think letting AI generate small pieces of functional code for people has some promise. Google and the ‘Nothing’ company are doing vibe-coded widgets on Android, so it would be nice if Apple copied that feature along with the long-rumored Shortcuts upgrade (the idea being that a more capable Siri would use Shortcuts and App Intents to control the system under the hood).
    • I was minding my own business this week when an idea for a website suddenly hit and I started to see if I could make it. Within four hours, I had a working version and decided to just publish it and walk away. Big mistake to think that, of course. I spent the next two days fixing bugs, expanding its data sources, and adding more features. What is it? It’s called Chinese Era and it creates random pairings of classical Chinese art and poetry. Some combinations are fittingly beautiful, others make you work to find a connection. I think that challenge makes the poetry even more powerful. I’m very happy with it, because it has the feel of a museum visit, albeit one curated purely by chance. I have no idea where the idea came from — did I see some Chinese artwork recently or read a Chinese poem? Not that I can remember.
    • How does it work? I read some translated Tang Dynasty poetry from Project Gutenberg many years ago, so I knew books were out there in the public domain for the taking. I didn’t know if I could access the necessary paintings, but it turns out institutions like The Smithsonian happily provide their collections via APIs. There’s also a free radio livestream of traditional Chinese music that I was able to incorporate for more atmosphere. Appropriately, the app was created with an open-source Chinese AI model: DeepSeek V4 Flash.
    • In terms of media activity, it’s been a week of tying up loose ends. I finished a bunch of shows that have been lying about half-watched for months: Lioness S1 on Amazon (S3 starts in August), Drops of God S2 on Apple TV, and the anime Tengoku Daimakyo (Heavenly Delusion) on Disney+. I even attempted to finish Carole & Tuesday, a Netflix show I remember watching back in 2019 (!) on my iPhone 11 Pro Max hooked up to my hotel room’s TV in Manila. But it’s just not very good.
      • Later edit: I spoke too soon. C&T has some really prescient stuff going on, with a police squad called MICE (Mars ICE) violently deporting illegal immigrants, and the central plot is about AI artists replacing human musicians? This was in 2019!
    • Keeping with the theme of unfinished business, I started Yakuza Kiwami 2 on the PS5, a game I bought during my first sabbatical in 2021 and never got around to playing before I went back to work. I hope this time I finish it before the next paycheck lands.
    • Speaking of unemployment, Peishan had an afternoon off and we went to the IKEA restaurant I wrote about last week so she could see the situation for herself. This time it was like a full-on retirement village. People sat there in their groups for hours, chatting over bottomless cups of tea and the remnants of their salmon and meatball lunches. Apart from worrying about whether this is actually sustainable, I found it shameful that a Swedish furniture company might be subsidizing a better community center for our seniors than the government’s organizations. More imagination is needed.
    • I read (re-read?) There is No Antimemetics Division, in its proper final form — the first version of the book I read last year was self-published, and it was completely rewritten for release by Penguin Random House. The old version can hardly be found now, which is very fitting for a story about disappearing memories and unknowable artifacts. The new version reads very well, and it’s much clearer what’s happening at all times. However, I rated the original 5 stars on Goodreads and this one felt like 4 stars. It’s undoubtedly a better version for mainstream release, but I enjoyed the original because its concepts were so vaguely sketched, its images so hazy, its atmosphere so oddly suspended between science, fantasy, and eldritch horror.
  • Week 20.26

    Week 20.26

    • On Tuesday and Wednesday I acted as a facilitator for an AI vibe coding class that YJ teaches. It’s been a minute since I’ve been in that sort of workshop environment helping participants through activities, but it was fun and I enjoyed meeting the rest of his team. I was happy to join for several reasons: I thought I might learn something new, I was curious to see how “real people” engage with these tools, and he said I could come in a t-shirt and jeans (this is my real non-negotiable).
    • Incredibly, Jose works in the same building (I did not know this) and spotted me through the closing doors of an elevator. So we met up for breakfast the next day and he told me about how he’s been using Zo Computer — a new-ish AI tool that I think struggles to define its value proposition to normies beyond “personal cloud computer”. For the most part, it’s doing what you can do with your own computer, an AI agent, and a web host. I signed up and have been playing around but it still feels like a bunch of features duct-taped together in search of a problem.
    • Coincidentally, the team behind it was in town for a series of AI conferences happening this week. I watched a recording of one of the Zo team’s presentations at one event, and basically, instead of subscribing to a bunch of services like Linktree or Squarespace or Buffer for personal or business needs, you can use Zo to vibe code your own versions which will run on their servers… or sorry, your computer in the cloud. I’ll admit the automation story is useful: paid users can keep services running continuously, so you can script triggers and schedule operations. It’s kinda sorta like having your own OpenClaw setup, they say. I wish I had a need for this, but like I said to someone, I actually like doing some stuff myself and don’t want to automate everything away.
    • While tuning into the livestream of Day 2 of the AI Engineer Singapore conference, I heard a talk by the designer Josh Newton that articulated things I’ve been upset about for the past couple of months. About how AI enables creative and curious people to make great things, but also impatient and lazy people to make soulless things at scale (not his exact words). We need more craft, more intent, more muscle for individual expression so we can have nicer things. The design community is very fond of saying ‘design matters now more than ever’ at moments of existential crisis, but for once I think it’s actually a critical imperative rather than a defensive posture. I’m tired of so many “builders” building for the sake of it. I want to see a piece of the creators in everything that gets pushed out.

    Aside: I’ve been talking to a couple of people about the need for more apps to be created under a “benevolent benefactor” model, i.e. delightful, useful, deeply personal software created by people with no profit incentive, no dreams of a big exit, and no need to surveil users or blast them with ads. Just made for the love of the game, and maybe to give back to society. Michael’s Listless and YJ’s JustNow are two examples. The newly revived Friendster might be another. I think AI can get more of this out into the world. I don’t want to hear about monetization — how boring! How déclassé!

    • My Gemini subscription was ending, and so I got pulled back in for one last job. I thought I would simply update Window Box with a new Tokyo location, but that wound up bringing on a bunch of significant changes. Snow, for one, which I’d intentionally avoided before by choosing Singapore and Hawaii as initial locations. I solved the aesthetic problem of dead plants by introducing the Japanese camellia, which blooms in winter, and the nandina (Heavenly Bamboo) which goes from green to red tones in the cold. But once I added snow and seasons, I started revising the way cloud cover and precipitation were determined, and ended up tuning the environmental sounds, and the animations of rain, leaves blowing in the wind…
    Window Box — Tokyo with a light dusting of snow
    • After seeing how the basic GPT-mini model in Zo Computer managed to code me a simple web app, I started to rethink what free models can do today. So after my Gemini subscription lapsed, I tried adding a transition animation when switching between cities in Window Box, and was absolutely stunned that Gemini Flash (the ‘dumb’ model you can use for free) managed to help me get it done. It certainly wasn’t one shot or perfect, but wow. Very soon we’ll be locally generating (streaming?) live app code on our mobile devices.
    • On Friday night, I met up with Jose (again) and Reg to attend a production of 8 short food-related plays at Wild Rice, chiefly to support our friend Munz who is one of the performers. It’s the culmination of a year-long theatrical incubator program she’s been in, and we came away very proud of her, impressed with all the actors, and some of the writers.
    • It became a bit of a slog near the end, but I’ve finally finished Donkey Kong Bananza on the Switch 2. For a game that’s partly about the power of music, I found the soundtrack pretty mediocre, and for a game that’s partly about a great singer, the vocals in the songs are sadly weak and buried in the mix. It’s not one I think I’ll ever revisit.
    • My book club is reading Speaker for the Dead, the second book in Orson Scott Card’s Ender series (as in, Ender’s Game). I’ve long heard that this book is like the Dune and Foundation sequels: not worth reading because they spin off into weird territory and lack the tight purpose that made the first books great. I’ve finished it and can say that while it does go in a very different direction, it’s undoubtedly worth reading. You don’t even need to remember very much from Ender’s Game, scanning a quick synopsis online will suffice. I’ve been very sleep deprived all week, and even then (!) easily stayed up wide awake past 2 AM in order to finish it.
    • I had to make this stupid House of the Dead image after I had the idea in the shower and couldn’t shake it. In the past, that would mean way too much time in Photoshop for not that great a payoff. Now it’s just a quick prompt to Nano Banana 2.
  • Week 19.26

    Week 19.26

    Brian was kind enough to think of me when he had an extra ticket to see Kraftwerk at their one-night-only local show on Friday. I was not even aware they were still alive, let alone touring. Turns out it’s just one co-founder left holding the project together, Ralf Hütter. After some drama with the tickets — for a moment it seemed like we might not get in — we were treated to an hour and a half of classic electronica.

    One effect of having a discography that spans five decades is that the music varies to an extreme degree. Their early material is rigid, with an almost classical approach to using synthesizers. Everything builds without resolving. This was electronic music before The Drop was invented. But Kraftwerk are necessarily more important than they are fun, which I mean as a compliment. Seeing where the structures and traditions originated helps you understand why what came after sounded so liberating. Their newer material has more swing, more layers and polyrhythms. I think Computer Love and the stuff from that era was my favorite of the night. As Brian said, it was a once-in-a-lifetime experience to see these OGs in action, and when I listened to Daft Punk’s Discovery on the way home I heard it differently.

    The week was also marked by a dentist appointment I’d been dreading for awhile. It was just to get a filling done, but I was told there’d be an injection and drilling involved. The visit was a rollercoaster: it started with an x-ray and the suggestion that the cavity might be in a difficult to reach location, and ended with a closer inspection (in which an injection and drilling were sadly involved) that found… no apparent cavity after all. The tooth has now been sealed with some material that will surely leak microplastics into my mouth, and we’ll monitor it over future x-rays to ensure there wasn’t really anything going on in there. Fingers crossed.

    In other sad news, Amazon Singapore has decided to sunset their Amazon Fresh grocery delivery service. It’s not my main source, but I appreciated their “free” (with Prime) next-day delivery and used it maybe every 4–6 weeks. Lately, they’ve been a primary source for sardines, pasta, and ice cream, if you wanted to know how balanced my diet is. The evil multinational corporation giveth and taketh away.

    I’ll still keep subscribing to Prime though, because it’s letting me do terribly wasteful things like see English language editions of Brutus magazine while in a Tokyo bookstore last week, decide that I don’t want to carry them around all day and get creased, and so order them online for delivery to my home a week later — for virtually the same price. High off the Snoopy Museum visit, I also ordered these two big, lovely Made-in-Japan mugs that will be my daily tea delivery vessels.

    Kim got me a copy of My Beautiful Dark Twisted Fantasy on vinyl for my birthday but it’s only just arrived. I have yet to play it, but the artifact is heavy, substantial, important. It’s no exaggeration to call it one of the best albums of all time, and I think it’s consistently raised my goosebumps for the last 15 years.

    Peishan and James also got me a couple of records, and one of them was a Record Store Day ‘preview’ of two tracks from some upcoming John Coltrane releases that were not on my radar. The Tiberi Tapes are a legendary collection of secretly recorded live sessions of Coltrane in the 1960s, made by saxophonist Frank Tiberi. The recordings were imperfect, but new digital technology has made them fit for release, and Impulse Records is set to unleash a bunch of them soon (it’s Coltrane’s centennial year).

    A few weeks ago, I released Orchids, Once. and several people independently told me that the procedurally generated music was good for having on in the background while they worked. That gave me the idea to make something designed to sit in a browser window on a second screen (or in the background) keeping you company throughout the work day with music and visuals.

    My first idea turned out to be too ambitious — way beyond my current abilities in terms of graphics and animation. I got a prototype working but it wasn’t worth going further. So I pivoted to a new idea yet again leveraging the orchid models I’d already made to get started quickly.

    Window Box is the result. It simulates looking out the window of an apartment, seeing a planter box of flowers set outside the windowsill. I’ve never actually seen one of these in real life; I think I first encountered them on Sesame Street as a kid and thought they were cool.

    You can currently choose to be in Singapore or Honolulu. There’s dynamic real-time weather and lighting pulled from the Open-Meteo API, to reflect current conditions in either location. There’s an incredibly beautiful (if I do say so myself) rain animation system, along with environmental sounds. I also came up with a neat blending technique to transform the photographic backgrounds to reflect time of day and weather.

    Instead of doing more procedurally generated music, I decided people would want real music, so there’s a radio tuner with a handful of curated stations. That includes Apple Music Radio just because I think more people should listen to their shows! There’s also a great Hawaiian station, KAPA-FM, which is a treat when you’re using the Honolulu location.

    And just for you readers of the regular blog, here’s a hidden feature: click the app title in the top left 20 times and it’ll unlock bird sounds to complete the scene.


    Media activity

    • We watched Season 2 of Beef on Netflix. I was primarily excited for the casting of Carey Mulligan, Cailee Spaeny, and Oscar Isaac, but wasn’t keen to see more of the same petty adversarial conflict from the first season. Well, be careful what you wish for — my chief complaint is that it has so little connection to the first season and the concept of beefing, that I think it should just have been a different show. This one raises the class warfare stakes tremendously, goes much darker, and then ends in a tonally unexpected way. Maybe the best Netflix Original in awhile.
    • I’ve been playing more Path of Mystery: A Brush with Death, the new Japanese murder mystery adventure game on Switch that I mentioned back in January. It’s an above average game for the genre, and I’d readily recommend it. The chapters are structured and presented like television episodes, which makes it perfect for playing in a couple of short sessions. Each one opens and ends with (skippable) animated credits, and there’s a short “next time on…” video afterwards to give you a preview of the following episode. I haven’t seen this done before, and it adds to the enjoyment of the story that is both interesting and occasionally funny.
    • Speaking of episodic anime, I got back into Frieren to try and finish the first season now that a second season is out. Previous episodes were pretty easy to space out across large spans of time, but the final arc with the First Mage exams is surprisingly addictive and bingable. I watched the last 11 episodes in 24 hours. I’m not one for fantasy settings but Frieren is brilliant — especially how it explores the perspective that comes with a longer lifespan and outliving all your friends.
  • a maze, a maze, a maze…

    a maze, a maze, a maze…

    A new maze every day, for everyone.


    Play a maze, a maze, a maze… at amaze3.app

    Every day, a new maze appears. Everyone in the world gets the same one.

    There’s something cozy and comforting about knowing that right now, somewhere, another person is navigating the same corridors, hitting the same dead ends, and having the same moment of doubt about whether they just walked in a complete circle. Some days the maze is generous and you are out in twenty seconds. Other days it will make you work for it, and you will feel the exit before you see it.

    Each maze has a target time based on the shortest possible path. Finish close to it and you’ll earn an S-rank celebration and a shareable stats message. Go slower and you’ll land somewhere between a laudable A and a sad D.

    Three modes: Standard comes with breadcrumbs showing where you have been; Hard Mode removes them and trusts you to hold the map entirely in your head; Chill Mode turns the timer off for people who just want to wander. Themes range from an outdoor garden maze to a retro game dungeon, so you can get lost in a way that feels right for you.

    A new one tomorrow. And the day after. A maze, a maze, a maze.


    Disclaimer: I made a maze, a maze, a maze… with the help of Google’s Gemini 3 Pro LLM. No responsibility taken for wrong turns or damaged self-esteem.

    Related blog post: Week 15.26

  • Week 15.26

    Week 15.26

    I’m looking through my camera roll to remember what happened this week and it’s mostly a bunch of “artworks” I’ve been making. Wait, let me step back: I’ve had an interest in procedurally generated graphics (GenArt) for awhile, and it peaked with the NFT boom of 2021–22, where I spent a relatively obscene amount of money minting and collecting artworks I really liked (not the monkeys). I’m mostly drawn to the idea of mathematically rigid routines producing organic beauty — the contrasts in that, and the unpredictability of what you get when you roll the RNG dice.

    So after my recent experiments in making apps, I wondered if I could get AI to write me code that would generate images based on concepts I described. The answer is, of course, yes! It’s important to note this isn’t prompting for images (like when you use Midjourney or DALL-E), it’s prompting for the math behind making images. And once you’ve created the rules by which it draws different art styles, you can create a nearly infinite number of unique artworks by dialing different variables up and down.

    One example is a “style” I made called Labyrinth, which produces actual, solvable mazes. Depending on the variables you adjust, you can make mazes ranging from tiny to massive, with just one solution, or many. If you asked an image generation AI to draw a maze, it would likely lack the coherence of a real maze, because of the way it operates — focusing on the superficial appearance and not the integrity of its paths. But an AI model can make the math to draw a maze.

    I start most of these by thinking up an artistic production approach, say “take sheets of colored cardboard or acrylic, and punch holes of varying shapes into them, then layer them on top of each other so the holes line up (or not), and randomly spray contrast-colored paint on some of them”. Then I describe the possible variations and variables I want to control to the AI, such as the density of shapes, the thickness of the borders, the ratio between angular and organic lines, and we iterate after seeing some of the results. Just think of all the methods and ideas you might want to play with, and how this lets any old idiot model them on their computers!

    The meta project is that I’ve made a modular app that handles all these different styles for me, whether they require a 2D canvas or WebGL. The app provides a common UI layer that all “styles” can plug into, which allows me to control them. Now that it’s done, I can just focus on experimenting and having fun making new artworks. I daresay a few of these are executed as well as any of those I spent money on.

    I’ll probably release it as a wallpaper generator once I have enough styles built in, if anyone’s interested. But mostly I love having this as a background project that I can dip into, on and off. It allows me to take on other app ideas as momentary “side quests”.

    While making Labyrinth, I showed a maze to Cong, who said “You should do a puzzle maker”. To which I said, “Nah.” And then a minute later… “Although, a daily maze game. Hmm.” It made sense that I could save time by taking CommonVerse’s daily random generation mechanic and combining it with Labyrinth’s logic to make a daily maze challenge. But would it even be fun to trace a 2D maze with your finger and try to solve it? No… so what if it was a 3D maze you had to escape?

    The first prototype took a couple of hours, and I’ve been polishing it for the last few days. I think it’s coming along nicely. I’ll put it out soon, once I balance the difficulty and get more feedback from testing.

    The development of a maze, a maze, a maze… was hampered by a rare bar crawl with Howard and Jussi on Thursday night that gave me a massive hangover lasting into Friday afternoon. When I got home, I was too plastered to care that my vinyl copy of J Dilla’s Donuts had arrived from Amazon US protected by nothing more than a flimsy paper envelope. By the clear light of day I was amazed that they would even do such a thing. The discs are intact, but the sleeve has a bent corner. If I’d ordered from Amazon Japan, I would bet a major internal organ that it would come wrapped in four layers of stiff cardboard, bubble wrap, and a handwritten apology for their carelessness.

    Did I mention we’re going to Japan again? It’ll be a short vacation, in a couple of weeks’ time. Not much on the agenda, just checking in on the state of curry rice and egg sandwiches. Maybe see some nice art. Take some photos.

    Which brings me to the latest betas of Halide MkIII, which I’m very much looking forward to using on the trip. They’ve been progressing the app nicely, and it might be enabling the Holy Grail of iPhone photography workflows for me. Ironically it involves using Halide not as a camera app, but just as a photo editor. You can shoot compact (lossy, JPEG-XL compressed) ProRAW photos up to 48mp with the default camera app, then edit them in Halide to have the same look as their Process Zero photos! What this means: you get all the benefits of computational photography at time of capture, including noise reduction and night mode, but you’re also free to dial it back and get natural, “real camera” photos in post if the scene calls for it.

    As much as I like these side quests, I think making my own photo editor would be biting off entirely too much to chew, so I’m still rooting for these guys to crack it.

    While writing this post, I got the news that an elderly aunt passed away at the age of 93. She had been in reduced health since the Covid years, but by all accounts she went very peacefully and I guess you can’t ask for much more than that after a long life. The extended family’s Chinese New Year routines fell apart in recent years after she pulled back from organizing them, so it was fitting that some of us got to reconnect at her wake on Sunday evening.

    See you next week.