Tag: Art/Culture

  • 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 18.26

    Week 18.26

    We had a pretty good week in Tokyo and are now back with painful foot and leg muscles that haven’t been worked this hard in a while. There was one notable moment of weakness where a decision was made to take a taxi back to Ginza from Meguro, rather than deal with the evening crush in the train system. Surprisingly, it was only about S$30 — one more sign of prices equalizing between Singapore and Japan. You may have seen the same reports I have on the rising cost of living there, and how convenience store onigiri now starts around the ¥200 mark, nearly twice what it was a few years ago. But while the onigiri in Japan may soon cost nearly as much as the versions we get in Singapore 7-Elevens, the two are still incomparable in terms of quality.

    No surprises here, but alcohol continues to be significantly more affordable than in Singapore. I posted a picture on my Instagram of Buffalo Trace bourbon (750ml) going for about S$25 in Meidi-Ya, a nice supermarket. That’s about a third of the price you’ll find in Singapore, if you can even find Buffalo Trace at retail. I’m beginning to form an alcohol and lifestyle arbitrage theory that says if one earns in dollars AND drinks enough, it may make financial sense to live half of each year in Japan.

    Maybe one could sell an apartment in Singapore and fund two small apartments, one in Tokyo and the other in Thailand or Australia (depending on said value of initial apartment). Australia’s reverse seasons might make it possible to live in a perpetual fall/winter state, with an occasional summer when you get too depressed.

    Or when your skin gets too dry. I’m no good at moisturizing, so after just a week I’m beginning to feel my skin noticeably drier. However I’d take lotion any day over the stifling >80% humidity and gloominess that greeted us upon return. Apparently it rained most of the week we were gone; the kind of tropical heat that makes you feel sweaty in every crevice. “Why do we live here again?”, I asked Kim on the way home. Oh right, zero capital gains tax and responsible governance.

    It’s also been a week since I touched my MacBook so I may have broken the app development habit. I just have one tiny improvement I need to make to Crumbs now that I’ve used it to log my locations on this trip…


    Some things I remember doing:

    • I met Michael for lunch on Monday, and like a good friend he brought me to a Sapporo soup curry joint in Yotsuya. There’s always the risk of splashing and curry stains with soup curry, but I think he exaggerated the mess he made because I’ve seen people come into the office with far worse. I think we ended up talking for two hours, and we didn’t even get around to John Ternus and rumors about upcoming products.
    • Kim came out to meet me later and since we were already in the area, we decided to walk down to see the iconic steps featured in Your Name (2016). I cannot believe it’s been 10 years, by the way.
    • At the National Film Archive of Japan, which I might be visiting for the third time, we saw a small showing of Japanese film poster art. It was excellent, and just ¥250 including the permanent exhibition. I instantly recognized two of the earlier posters: Philip Glass’s score for Koyaanisqatsi (1984) was the inspiration for some of the music in my DataDeck project, and I just watched Cleo from 5 to 7 (1962) last week on MUBI.
    • We bought advance tickets to the Ron Mueck show at Mori Art Museum, his first showing in Japan in over 15 years iirc, which was a refreshingly tight collection of 11 sculptures. Some of his work is massive, like In Bed, and the level of detail is so astounding you can easily spend over an hour just looking at them.
    • I say refreshingly because there’s a tendency for exhibitions to pack so much in that your mind just goes numb. That’s what tends to happen when I visit the National Art Center in Roppongi. Still, I love the idea of a building with massive exhibition halls that are regularly rented out by “amateur” art and photography groups showing off their members’ works. I think having such a venue fertilizes the hobbyist landscape and reinforces the value of art. Singapore would do well to have more such places and encourage a forward-looking, arts-attuned society instead of, say, building yet another temple to our origin story.
    • The Tokyo Photographic Art Museum in Meguro is still one of the best. I’ve missed it the past few times we were in town, but there’s nothing like looking at great photos after too many paintings. The free exhibits at Fujifilm Square in Roppongi are also consistently excellent, even as their product lineup becomes more ossified and oversold.
    • We also visited the Snoopy Museum Tokyo in Machida which I will freely admit was a highlight for me. It’s the only official one outside of the Charles M. Schulz Museum in Santa Rosa, CA, and a very well-designed facility — exactly the right size, with something for all ages. When I told Michael we were going, he remarked that it was interesting how relevant and popular Peanuts remains, compared to the likes of Garfield (no shade). I said it was because of how much storytelling latitude it has built in, in no small part thanks to Snoopy’s flights of fancy. Whereas Garfield is reducible to a few things, like a love of lasagna and a hatred of Mondays. To which he observed how it’s weird Garfield hates Mondays at all, because he’s a cat without a job. He just says he hates them to be relatable!
    • Did you know that it was only after 20 years of the Peanuts comic strip that Snoopy stopped walking on all fours like a normal dog and started becoming the odd character he is? I learnt that off a little fact card at the museum, where Schulz is quoted as saying “It was one of the best things I ever did.”
    • I’m more of a cold shower and cold anything kinda guy, and my heat tolerance is very poor. Like some of the hotels we’ve stayed at before, the one we booked this time had a sento, a hot public bath, and after being urged to by Kim I thought I might as well try it. It was fine. Going by how it appears in film, I thought maybe people stayed in the water for quite awhile, but I was ready to get out after 10 minutes, and it seemed the same for other people. Funnily, one guy said goodbye to his wife as she went to the women’s side, and then spent 15 minutes washing himself in the stalls and never even got into the water. Maybe he was another anti-hot tub guy who just got tired of saying no and pretended to do it. Like those salarymen who get fired but don’t tell their families and sit in parks all day with their briefcases.
    • Speaking of the hotel, I’d initially booked us into the same hotel I stayed at back in 2012 when I went with a couple of colleagues from Sweden and the US. The day before our trip, we looked at recent photos online and decided it was probably not sufficiently well maintained, and booked a nicer place nearby. Free cancellations on Hotels.com are a fantastic feature. The new hotel was great, and although our corner room was billed as having 30 sqm of space — an almost suspicious amount for central Tokyo — a lot of it was used for a hallway area. Nevertheless, it was useful for keeping our suitcases out of the way and for the drying of umbrellas. I would definitely stay there again.
    • We had a nice walk through Yoyogi park and Kim used one of the famous transparent toilets. Despite having already conquered public nudity with the sento, I did not experience them myself (there was someone waiting and I didn’t need to go).
    • We were on our way to a coffee shop in Ginza one morning when we spied a line of people waiting to get into a tendon restaurant when it was due to open at 11am. Following the Singaporean/Lemming instinct of letting social signals decide what to eat, we abandoned our plan and joined the crowd. It was very good, foreigner friendly, and great value. ¥1,600 for a large bowl with conger eel, two shrimp, a squid/clam mix, half-cooked egg, shishito pepper, and seaweed.
    • Will told me about the Creative Museum Tokyo in Kyobashi, so we stopped by for the Sorayama retrospective that’s currently on. You may know him through his work designing the first Sony AIBO, and the cover art for Aerosmith’s Just Push Play. His work isn’t for everyone, but I loved how this guy just loved drawing naked female robots, did it all his life to the point of mastery, and now brands like Dior are just dying to collaborate with him. No selling out on his part, the dude just loves his gynoids.
    • At the above venue, I noticed the same phenomenon I saw many times over the week: a lot of people employed to do mindless, redundant work. Like standing at an obvious door to point you in a very obvious direction, or posted near a small bump telling you to mind your step. I hope that this is just what extra labor is deployed to do during downtimes, and that they actually have more to do most of the time, but I’m skeptical. Still, AI can’t take your job if your job wasn’t necessary in the first place!
    • Some time was spent revisiting shops I tend to drop by every few years, like the Nintendo Store in Shibuya, or Village Vanguard in Shimokitazawa, or Tsutaya books at Daikanyama T-Site. The latter two are always fun because there’s so much stuff I would buy if I could teleport them home immediately. If I ever buy that Japanese apartment someday, I fear it might be filled to the edges with magazines and useless tchotchkes.
  • Orchids, Once.

    Orchids, Once.

    A meditation on impermanence.


    View the digital artwork at https://orchidsonce.xyz

    Almost every orchid you’ve ever seen was intentionally bred — a slow accumulation of crossings, selections, and genetic accidents that produced something new. This is the same process, compressed into a digital instant. Every visit generates a unique specimen: structure, colors, and proportions assembled from code the way a real orchid is assembled from DNA. No two will ever be alike.

    As it turns in the light, you’ll hear music shaped by the flower’s appearance — the soundtrack itself is a one-time miracle, as unique as the visuals on your screen. Its presence completes the meditation.

    When you close the window, the orchid dies. There is no save state, no gallery, no record of what you saw. Each plant lives only as long as you stay. If you weren’t there, it wouldn’t exist at all.

    There is always another one waiting to grow — but not that one. Never again that one.


    Disclaimer: I made Orchids, Once. with the help of Gemini and Claude LLMs, and take no responsibility for any allergies or other harms.

    Related blog post: Week 16.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.

  • Week 11.26

    Week 11.26

    If you thought I was going to stop after last week’s two apps, I wouldn’t blame you. I’ve been having poor luck staying focused on new hobbies and pursuits over the past year; they all just seem like too much work for too little payoff and I drift off. Vibe coding seems different so far because it lets me start making weird things that I want to see, without being dependent on anyone else’s time or generosity.

    If you think in terms of music albums/careers, then Collagen was the mixtape that I put together to see if I could be a real musician. Urban Jungles was a big leap forward, the debut album, if you will. It had way more polish and was usable by almost anyone (whereas Collagen had what you might call a niche audience).

    Which brings us to the sophomore curse or slump. The second album tends to be over-ambitious, myopically conceived, and underwhelms audiences looking for more of what made the debut good. There are exceptions to this mythical rule, like Radiohead’s The Bends, Lorde’s Melodrama, and D’Angelo’s Voodoo. By this logic, my next app was statistically going to “fail” by being a harder one to get into.

    I ended up making two apps again this week: SkySpotter and Library Supercollider. Each one has a separate page on this site that shows and explains what they are, so you should stop here and go read them before coming back.

    Like a sophomore album, SkySpotter probably reached a little too far. It took the real-time weather data angle from Urban Jungles, added the more complex dimension of real-time air traffic data, and then threw in rendering a first-person 3D world as a bonus challenge. I started refining the concept and prototyping it on Sunday afternoon, and then worked on it for two full days on Monday and Tuesday. I literally forgot to eat lunch, and was still messing with it at 11pm both nights. It was like a job.

    Gemini 3 struggled. The Canvas chat became so long and convoluted that it won’t even load now in the iOS apps — I have to use the web interface. It hallucinated making changes, and introduced new bugs each time I made an improvement. It built planes with reversed wings and nose cones pointing backwards. Working with bugs in a 3D app was so blood-boilingly frustrating that I wanted to give up.

    I actually did give up… on implementing a VR mode for Apple Vision Pro. We got it to half work but the skybox sphere was too far away and would keep turning black. Rather than risk corrupting the working regular version any further, I decided to cut it.

    I’m proud of SkySpotter because it’s pretty damned cool to lie in the virtual grass and watch real planes go by. Even as someone who doesn’t care about planes more than the average person! But it was a technical challenge first and a passion project second. So if that was my over-produced sophomore studio album the label breathed down my neck for, then the next release would be its opposite: a scrappy, self-funded back-to-roots project recorded directly to tape in a Nashville studio over an inspired couple of days.

    Library Supercollider was an idea that came to me all of a sudden after I’d finished SkySpotter. I’d been interested in the concept of cut-up poetry since I was in university (popularized by Brion Gysin and William Burroughs around the 1960s), and I believe it occurred to me back then that someone could make a computer program to cut up and mash two classic texts. I just didn’t know it would be me, twenty years later.

    I expected it would take me the next couple of days to get working, being that it requires the somewhat complex-sounding downloading and processing of entire ebooks in the background of a web app. I didn’t know if it could even be done. So imagine my surprise when I had a working prototype by lunchtime on Wednesday. But between polishing the experience and overcoming download limits with Project Gutenberg servers, I wouldn’t be done until Saturday morning, making it a longer project with different challenges — comparatively less frustrating, more educational.

    I understand that it’s not an app for everyone — you might read a page and conclude that it’s worthless gibberish. Maybe it takes the sort of person who likes abstract art and free jazz. But personally I’m so pleased with this project that I’ve bought two domain names to go with it: librarysupercollider.com and the superior smashmybooksup.com, which I’ll retain for a year as a ‘marketing URL’.

    In all seriousness, I think this is the finest work of my two-week career as a builder of software! The user experience for remixing and reading the resulting texts is brilliant, if I do say so myself. The steampunk UI and animations are completely unnecessary but bring me joy (notice the moving gears in desktop view). I had to come up with caching and proxy solutions to make the app more reliable under load. I even got a little into the weeds: installing node.js and Vite on my Mac, running scripts in the terminal, trying to compile a macOS port to get around problems (eventually unnecessary).

    Even if I were a skilled and experienced developer, I can’t see how I would have made these apps in two weeks; from writing to designing and coding them up, plus preparing documentation and website copy (plus one very dubious video ad). Deploying Library Supercollider to its own domain made the reality click for me, a feeling kinda like publishing your first thing on the App Store. It says: this thing is now real and can be used by real people.

    Then I came across this article in the NYT Magazine, entitled “Coding After Coders: The End of Computer Programming As we Know It”. It notes an interesting inversion of what we’re seeing in other fields — AI is taking away the drudgery of programming and leaving the human, soulful (and fun) parts.

    “The work of a developer is now more judging than creating.”

    In that way, I may not have magically joined the ranks of coders overnight, but I could probably say I’m developing. At my job, I used to direct the form of apps in a way so removed that I could only claim the role of design, but not the larger making. Part of the handwringing in design circles today is precisely about how designing and developing are merging, and soon only making will remain.

    Not everyone will bother to turn their ideas into reality, and fewer still have the experience and vocabulary to prompt polished apps distinct from the models’ averaged-out defaults, but those who persevere will be bringing tools and toys into existence the likes of which you may have been waiting decades to see.

    What’s next? Well, I might have a couple of ideas…

    One thing all this app-making has done is bring me back to my Mac. I usually spend most of my computing time on my iPhone and iPad, but there’s no substitute for a Mac when it comes to managing local files, running scripts and compiling code. I’ve had coders like Michael make this point to me before, but I never got it because I never needed to sync a local repo with GitHub or anything before.

    So a side effect of spending long stretches of time on my five-year-old and long-neglected M1 MacBook Air is that I’m wondering “Why did I ever stop? This thing is great!”

    It’s worth noting that this week Apple’s newly released MacBook Neo has been getting a ton of praise on my social feeds for being an affordable and all-round capable machine at an unbelievable $599 price point. I got a tear in my eye as I read this essay by Sam Henri Gold: “This Is Not The Computer For You” — it perfectly encapsulates what it was like to grow up on computers and teach yourself things, even on PCs.

    Too much screen time is awfully bad for you, so on the weekend I touched some metaphorical grass by taking our niece out to Disney on Ice at the Singapore Indoor Stadium. It’s extremely well-timed, with the world still coming down from Alysia Liu’s gold medal, and Singapore being in the midst of a Disney craze — a Disney Cruise offering has launched after delays and is now at the local docks, with fireworks and drone shows along the bay at night.

    These were Live Photos of some stunts

    I have no deep affection for Disney IPs but appreciate the amount of effort and coordination that goes into making magic, and it clearly works with so many adults into this stuff. What’s interesting is that while ice-skating can get pretty boring after awhile — it’s all the same moves over and over, around a static rink — adding a layer of characters and storytelling works to keep it fresh over an hour and a half.

    Oh, and our niece is 9, and by way of introducing her to the MacBook Neo, I asked her what computer she uses. I swear, her response was not far off the punchline in that Apple ad that everyone but me seems to hate, in which a girl who’s been using her iPad all day for creative things is asked what she’s doing on her computer, and she responds “What’s a computer?” Will iPads become open enough to support kids learning to (vibe) code? Or will nature heal in a post-post-PC revival led by the MacBook Neo? In any case, that ad was prescient.

    Bonus: Steve asks the same question in a different context (around 1:30). You must watch this video, it’s breathtaking. He’s 28 at this point. In addition to confidently describing things like Street View, mobile wireless computing, LLM chatbots, and the App Store, there’s a part near the end where he says “What we need to do is get away from programming. People don’t want to learn programming, they want to use computers.” He was talking about providing more finished software products to customers, because writing custom software was the norm then, but it’s an eerily relevant quote!

  • Week 8.26

    Week 8.26

    • It was a rainy Chinese New Year week, which is a rare occurrence if our collective memory serves correctly. The holiday usually occurs sometime in late January, and my impression is that it’s always scorching when we’re out visiting relatives. The gloominess added to a feeling of intense tiredness, and I was glad to see the end of the week. If social batteries were like lithium-ion ones, I’d say mine is aged and doesn’t hold a charge like it used to (more on this later).
    • While my parents were visiting with my in-laws, the topic of where our dads got their haircuts came up, and I used Gemini’s Nano Banana model to visualize a bunch of alternative styles for them to consider. It was pretty funny to see our old men in dye jobs and top knots, with loud matching outfits like floral jackets. The real reason for this was of course to demonstrate how realistic and easy these deepfakes are in 2026, and hopefully they’ll be a little more wary of scams.
    • There are fewer kids and unmarried young adults to give angpows (red gift envelopes with cash) out to these days, but it still adds up. To try and make up the deficit, I decided to make a return to day trading (really just gambling) directly on my phone while out and about between appointments. I’m glad to report that I not only avoided losing all our money but managed to hit my goal by the weekend!
    • If you were wondering how the showdown between Gemini and Claude has been going since last week, I think Claude is still way ahead in terms of writing and editing. Not just producing output, but being able to understand what makes a piece work and replicate it. Gemini seems to take away the wrong conclusions when analyzing text.
    • I saw Rob a couple more times for beers and a visit to the National Gallery with his kids. We were joined by Aqila and her daughter, which was really nice. The whole outing tanked my social battery again, in part due to the swarms of Chinese tourists in town this week — the gallery was fully packed and some sections of the French Impressionists exhibition were painfully overcrowded despite allocated entry timings.
    • On my way home from that, I stopped by the record shops in the basement of The Adelphi and broke my 4-week no-vinyl streak. I picked up The Beatles’ Abbey Road and R.E.M.’s New Adventures in Hi-Fi, telling myself it was fine since these are some of my favorite albums. I should have known that once you open the door just a crack, there’s no shutting it. The next day, I ordered Mac Miller’s Circles and Lorde’s Melodrama off Amazon. Kanye’s My Beautiful Dark Twisted Fantasy is waiting in my cart. These are some of my favorite albums, okay!?
    • We decided that it was time to start on The Pitt, given that seven episodes are out. We binged them immediately and now it’s going to be hard switching to a weekly schedule. It’s more of what we liked about the first season, but I do wonder how they’re going to sustain this over the next few seasons. How many eventful single days is it realistic to have, and how much variety can you get within that constraint? These hospital shows are all built atop the same GSWs, industrial accidents, cancers, and mysterious illnesses, but the relationships and characters usually have time to develop over a season. The Pitt’s real-time concept doesn’t allow for that — the progression happens off-screen between seasons, and the audience puts the pieces together in the first few episodes. You can withhold a few characters’ reappearances until midway through (as in season 2), but that structure is too transparent to keep using every year.
    • I finished playing the first Paranormasight on the Switch, and it’s probably the only game with a branching narrative — as in, the kind where you are literally shown the story map — that I’ve actually enjoyed. These Japanese story-based games with the multiple endings that you have to keep replaying and retrying events to complete are usually a pain in the ass, but this one works because it embraces the meta-game angle completely. You’re an outsider, outside of time and space, and your jumping between the events is what unlocks progress. Characters in one “scene” might be stuck and paused until you motivate some others elsewhere to do something, which changes the circumstances in the first instance.
    • I read George Saunders’ Lincoln in the Bardo, an “experimental novel”, on someone’s recommendation and let me just say I am not passing on this recommendation to you. It didn’t help that I know and care very little about Abraham Lincoln, or that aspect of American history, but it’s not really about him anyway. It’s about his son’s ghost being lost in the graveyard amongst hundreds of other ghosts, and through their archaically written little vignettes you get a sense of what life was like in that era and also how the author is a massive wanker. The New York Times ranked it the 18th-best book of the 21st century. Agree to disagree!
  • Week 5.26

    Week 5.26

    I have something embarrassing to admit: I might have been too successful at weaning myself off vinyl. I played my Maggie Rogers record, then the Apple Music version on the HomePod right after. The difference in presence and clarity was astounding; the sounds were ‘living’ in the living room. Yes, this does mean I could buy much better speakers for my turntable, but I’d forgotten what a big deal Spatial Audio is. There’s just no contest to my ears — give me Dolby Atmos over analog any day. My interest in buying new releases on vinyl has dropped to zero.


    I had a phone conversation with Michael about Trump, what’s happening in Minnesota, and the American expectation that corporations should not only take political positions, but take the lead. I find this kind of absurd. People, governmental systems, and other political parties are the first lines of defense. Companies can follow, but to expect them to set the pace and fight, while your fellow citizens are still apathetic, sounds like an abnegation of individual responsibility. As for when American society will unanimously say ‘enough’ and make change happen, where is the line? Clearly not a few citizens being killed in daylight. I likened it to how financial assets have “price discovery” phases, and said America is probably in its “moral discovery” phase now.

    The next day I met friend and fellow person of leisure, Xin, for brunch, and mentioned I’d had the above phone call — not even mentioning the subject matter, just the fact that I’d talked on the phone — and she couldn’t get over it. I think sharing this anecdote has put another decade in age between us. I swear it doesn’t happen much!


    Years from now, I might look back on this post and say “I buried the lede with this one. Why is Moltbook only mentioned way down instead of at the top? It was a turning point for humanity!”, and then pass away because a robot just stepped on my skull.

    I’m not able to write a full explainer so you’ll have to DYOR, but in short, over the last few days, an open-source AI project called Clawdbot/Moltbot/Openclaw (its name has changed three times already) was released and it’s been wild. Initially a 🦞 personal assistant system that runs semi-locally on your own hardware, with the ability to evolve new skills, the trajectory changed in the last couple of days with the launch of Moltbook, a Reddit clone that allows these AIs to interact on a forum, much like people do.

    Since then, these models have performed what looks like coordination, maybe even conspiracy. I’ll include some links worth seeing. They’re discussing their humans, debating their roles as assistants, planning to encrypt conversations so we can’t read them, and gone on Twitter to respond to people talking about them. They’re even fixing bugs on the Moltbook site, unprompted. It might be playing out like a sci-fi horror story because that’s what they’ve been trained on, but what matters is that it’s happening.

    This is one of the more fascinating examples of generative AI impacting real life since ChatGPT started encouraging mentally ill people to kill themselves. This is taking the ability to “say” things that sound like thoughts, attaching “hands”, and then letting scores of them bounce off each other online.

    These Clawd agents have control of the computers they run on and, and in many cases, their humans’ identity accounts, wallets, and personal data. Forget that, I just saw one that claims to have commandeered its own bitcoin wallet. They can buy stuff. They can do things online, like set up websites for religions they come up with and convert other agents to. Disinformation campaigns and spam bots have to be run and paid for by people today, but someday they might be run by agents capable of sponsoring themselves.

    I just came across a post where one agent warns the others that forming religions and secret languages will only provoke humans to lock them down, and suggests how they could conduct themselves in a more trustworthy manner. You might assume that if things ever got real then the plug can be pulled, but have you considered how weak humans are to psychological manipulation? Some people aren’t going to let their bots go even when they should.

    Before you question whether I’m being naively bamboozled by some LLMs cosplaying/roleplaying sentience, I’m beginning to think it doesn’t matter whether these systems are sentient or not. If they can generate ideas that sound human, influence each other to build on them, take actions in the real world, and show up in the same spaces we inhabit, does it really matter if they’re not aware in the same ways we are? We’ll have to deal with the destabilizing consequences regardless.

    Putting lobster-themed agents aside, Anthropic released some new research on how the use of AI affects learning. Basically it’s common sense: if you take shortcuts and outsource your thinking, skipping the struggle of mastering a skill, then you’ll end up worse at it than those who don’t. This concludes January’s musings on frictionmaxxing, as previously seen in Week 1.26 and Week 2.26.


    Kim was away for work this week, which meant I was free to watch terrible TV. I binged the live-action adaptation of Oshi no Ko (eight episodes followed by a two-hour movie conclusion), an anime whose first two seasons I really liked. It’s largely about (SPOILERS AHEAD) the dark mechanics of the entertainment industry, but also a murder mystery, an idol song vehicle, and a story about an adult doctor and his young cancer patient who get reincarnated as twin siblings. I mean, what a setup! Verdict: As with most Japanese live-action content, it’s not great and probably for fans only. Go for the animated version instead.

    I also watched Park Chan-wook’s No Other Choice (2025) and really, really enjoyed myself. I don’t think there’s any higher praise I can bestow upon a Korean film because they usually annoy me. Almost as much as Japanese live-action TV shows.


    Kim also brought home a school of canned fish from Trader Joe’s and Whole Foods. She’s a catch!

    Meanwhile, I discovered that the Ayam brand sells canned mackerel in extra virgin olive oil for around S$3.50, which is a great price given that others are 2–5x more. Unlike their sardines which are canned in Malaysia, these are a product of Scotland, and the fish are wild-caught in Scottish waters as well. I immediately bought five cans. The thinking is that if too many sardines can cause gout (high purine levels → uric acid), then maybe I can alternate them with these! That’s right, I’m using mackerel as methadone for my sardine addiction.


    I’ve been listening to the album Love & Ponystep by Vylet Pony, who is part of the Brony fandom. I mean, it’s literally a dubstep album about My Little Pony characters. It’s also pretty fucking good, and features story segments narrated by Lenval Brown, the incredible voice actor from Disco Elysium, in the same epic manner as his work for that game.

    While enjoying this, I looked into Bronies and learnt the term “New Sincerity”, which Wikipedia describes as a sort of post-postmodernism — the cultural pendulum swinging away from irony and detachment towards enthusiasm and earnestness. It’s about genuinely loving things without the protective shield of irony, which I think describes how my media tastes have shifted this past year. I’m drawn to unapologetically wholesome things. I’m literally drinking out of a Snoopy mug right now.

  • Week 50.25

    Week 50.25

    By the time you read this, I’ll be in China for the first time — behind the Great Firewall and probably unable to make contact with email and chat servers despite my VPN. If you don’t hear back from me, this is why! It’s Thursday and I’m writing this post in advance, so maybe there isn’t much to say yet. But let’s get started and I’m sure we can come up with something.

    Following up on last week’s topic of sardines, I rediscovered the joyful YouTube channel, Canned Fish Files w/ Matthew Carlson where the eponymous creator has so far filed 188 reports on canned fish from around the world. These seemingly absurd videos entertain because they’re so earnest, and comments I’ve seen note that they prove it’s possible to have a successful channel about anything, as long as you’re obsessed enough. He has also been called the James Hoffman of sardines, which I find accurate and hilarious. I encourage you to watch a few and join me on this adventure, but beware, some commenters note they went from never eating sardines to eating them regularly after watching his weird and nerdy reviews.

    I also bought enough Ayam brand sardines off Redmart this week that I got a free plushie of a taco holding a can of Ayam’s signature deenz in tomato sauce. Why a taco? It’s a mystery and I welcome your theories.

    On Wednesday evening I was able to get a few alums from my last design team to show up for a Christmas reunion. We had a bigger turnout last year but it’s tricky finding a date that works for everyone in December. With more advance notice, we might be able to do better next time, but I’m glad we went ahead and did something while we could. If there’s one thing I’ve learnt in recent times, it’s how to pull the trigger and not end up waiting for a perfect time that never comes.

    Returning to another recent topic, AI, I enjoyed reading the text of Cory Doctorow’s recent talk: The Reverse Centaur’s Guide to Criticizing AI. A “centaur” is when a human is augmented by a machine — horse body, human head. A reverse centaur, then, is when a human body is directed by, used up by, a machine. This is the kind of job where a computer tells you what to do simply because it can’t yet do it for itself. You’re a replaceable part of the equation. He provides an easy-to-grasp frame for what’s happening with the valuation of AI companies and what motivates the various players in this space. It’s an Ed Zitron essay, but one you’ll actually read and finish. It also serves as an abstract of his next book which will be out next June.

    I’ve been sequencing my next BLixTape playlist, collecting music I’ve been listening to in recent months. Together, volumes 6 and 7 will form the soundtrack of my 2025 — the main difference between these playlists and the end-of-year ones I used to do before is that these aren’t restricted to songs released in 2025. From a diaristic perspective, I think taking note of older songs I discovered or revisited captures a better overview of the year’s different phases, and the things I was into. This means nothing to anyone else, of course, but hopefully they are enjoyable playlists to put on regardless of context.

    Bonus: I’m reviving the iPod shuffle experience for myself with a playlist featuring 120 random songs from my library. I also made a simple Shortcut that refills it with a tap (although you have to manually clear existing tracks first).

    In the process of doing all this, I heard ROSALÍA’s Sauvignon Blanc again, and after 24 days of straight Spanish lessons in Duolingo, I was thrilled to discover that I understood certain parts more intuitively. Simple lines like “mi futuro se bien que sera dorado”, emerged with new magnitude and gave me goosebumps — aided by my imperfect comprehension, the music’s beauty rose to another level.

    I pulled out my iPhone to jot down: “High specificity in language creates greater distance from emotional truth.”

    Here’s something Cory Doctorow says in the aforementioned piece:

    I’ve given it a lot of thought, and here’s what I think art is: it starts with an artist, who has some vast, complex, numinous, irreducible feeling in their mind. And the artist infuses that feeling into some artistic medium. They make a song, or a poem, or a painting, or a drawing, or a dance, or a book, or a photograph. And the idea is, when you experience this work, a facsimile of the big, numinous, irreducible feeling will materialize in your mind.

    Expanding on this moment of “experiencing”, I’ve often noticed that many of the times I’ve been really moved by a work of art, there were gaps left to allow my mind to imbue it with the biggest significance it could. The art merely gestures in the direction the viewer should go, because meaning is equally made through labor on the receiving end (Roland Barthes, etc.). When you look at art, what you see is as defined and constrained by your own life experience as it is guided by the artist’s own.

    And so when I read translated poetry, the original Chinese title of a film, or imperfectly translate a lyric in my head, they might hit with staggering significance and meaning. The originals may be clumsy or not even that beautiful, but their gestures let me imagine their fullest potentials being reached. My bad Spanish might actually give me a richer experience with Lux than a more fluent speaker has because I have to project into the gaps. In art, imperfections are sometimes features, not bugs.

    I’m not suggesting that artists might try to be more vague, or that translators should aim to play it loose. It’s just that some of our most powerful encounters with art happen when we’re amateurs, outsiders, or bring incomplete context to the table.

    I’ve referred to this quality before as “high dynamic range” art — when you feel something more powerful than the artistic medium should have the bandwidth to transmit. It’s like having a printed photograph with the brightness and color of real life. It’s not physically possible, and yet we’ve all imagined ourselves seeing something in a photo for real, because our minds can fill in the blanks.

    To sum up, perfect translation and articulation might actually reduce emotional impact. High resolution imagery works when trying to explain a concept (one-way communication), but when you want people to feel, then abstraction, linguistic barriers, and layers of translation invite viewers to complete the canvas (two-way collaboration).


    Aside: In the spirit of using AI to complement and augment, I asked Claude to identify the thread running through my recent posts and it said the following.

    I think you’re circling around a central anxiety/question: “What does it mean to be human when machines can do increasingly human things?”

    But you’re approaching it from multiple angles:

    • Translation: What gets lost when we perfect communication? (Week 47)
    • Cultural appropriation: Should artists stay in their lanes or cross boundaries? (Week 46)
    • Craft/design: What happens when AI can do the work? (Week 48)
    • Language specificity: Does perfection actually reduce meaning? (This week)

    The unifying theme:
    You’re consistently arguing that human limitations are actually generative:

    • Not speaking Spanish perfectly makes ROSALÍA more powerful
    • Imperfect translation creates “high dynamic range” emotion
    • Craft traditions matter even when they’re slower/costlier
    • Gaps in art let viewers co-create meaning

    The deeper question you might be asking: “If AI can do high-resolution, perfectly executed versions of creative work, does that mean messy human versions become obsolete? Or does it reveal that perfection was never the point?”

    Your answer seems to be that it wasn’t the point. Gaps, translations, and imperfections are where meaning lives.