Latest Posts (20 found)

Contentment is a spectrum, too

I am quite content to be alone except on a mild evening at twilight. During the quick hours of the day I am busy. Busy with things I enjoy doing, for the most part. Or busy with people I enjoy being around. I count myself among the luckiest alive. During the night I am dreaming. Night is dreaming time whether I am asleep or awake. The dreams are all mine. I stretch out in the bed and in my mind. I  never had such space before. Even in my childhood, my dreams were so small, so bordered. Always tied to some other person, some predetermined identity, some set of standards to uphold. Now my dreams and I can wander at will. For this spaciousness, this freedom, I gladly pay the price of whatever loneliness may peek over the headboard or rattle in the closet. I don’t mean fantasies, here. Though the physical need for another person, another body, is real and present. That’s just a fact of being human, for most of us.  Not loneliness so much as lust. I handle both with the means at hand, and am largely content. But twilight comes. On a cold winter day, twilight enhances the coziness of my space, my routine, the comforts of my home and children and friends and hobbies. I can make a pot of stew and dance in the kitchen and get lost in a book and there are no emotions to navigate but my own. This is a peace I do not take lightly. But twilight comes. Twilight comes on a day when the windows are open and the light is mellow. The sunset streaks of gray and orange and blue linger behind a row of trees. I want to turn to someone and say, Look. The music filters through an open door as a bird sings. I want to turn to someone and say, Listen. I want to let this awe and gratitude bubble out and be seen for a moment by another person before it lifts up and away and disappears, as all things do. I want to be a point of reflection for someone else’s awe and wonder. Or pain. We all contain multitudes. Contentment is a spectrum. As is loneliness. I have been together and I have been alone. Loneliness is part of both experiences but it has different flavors. I have been together and I have been alone. Contentment is part of both experiences but it too has different flavors. We have to decide, each moment, what problem we are solving. Sometimes we get so busy solving the problem of loneliness, or lust, or ambition, or insecurity, or sadness, or fear, that we don’t see the larger context. Our larger context, our story, in which this one emotion, this one want , is but a single piece. A significant one, perhaps. But not the wholeness of our being. I want to fold things in, not push them away.

0 views

On screwing up

The most shameful thing I did in the workplace was lie to a colleague. It was about ten years ago, I was a fresh-faced intern, and in the rush to deliver something I’d skipped the step of testing my work in staging 1 . It did not work. When deployed to production, it didn’t work there either. No big deal, in general terms: the page we were working on wasn’t yet customer-facing. But my colleague asked me over his desk whether this worked when I’d tested it, and I said something like “it sure did, no idea what happened”. I bet he forgot about it immediately. I could have just messed up the testing (for instance, by accidentally running some different code than the code I pushed), or he knew I’d probably lied, and didn’t really care. I haven’t forgotten about it. Even a decade later, I’m still ashamed to write it down. Of course I’m not ashamed about the mistake . I was sloppy to not test my work, but I’ve cut corners since then when I felt it was necessary, and I stand by that decision. I’m ashamed about how I handled it. But even that I understand. I was a kid, trying to learn quickly and prove I belonged in tech. The last thing I wanted to do was to dwell on the way I screwed up. If I were in my colleague’s shoes now, I’d have brushed it off too 2 . How do I try to handle mistakes now? The most important thing is to control your emotions . If you’re anything like me, your strongest emotional reactions at work will be reserved for the times you’ve screwed up. There are usually two countervailing emotions at play here: the desire to defend yourself, find excuses, and minimize the consequences; and the desire to confess your guilt, abase yourself, and beg for forgiveness. Both of these are traps. Obviously making excuses for yourself (or flat-out denying the mistake, like I did) is bad. But going in the other direction and publicly beating yourself up about it is just as bad . It’s bad for a few reasons. First, you’re effectively asking the people around you to take the time and effort to reassure you, when they should be focused on the problem. Second, you’re taking yourself out of the group of people who are focused on the problem, when often you’re the best situated to figure out what to do: since it’s your mistake, you have the most context. Third, it’s just not professional. So what should you do? For the first little while, do nothing . Emotional reactions fade over time. Try and just ride out the initial jolt of realizing you screwed up, and the impulse to leap into action to fix it. Most of the worst reactions to screwing up happen in the immediate aftermath, so if you can simply do nothing during that period you’re already off to a good start. For me, this takes about thirty seconds. How much time you’ll need depends on you, but hopefully it’s under ten minutes. More than that and you might need to grit your teeth and work through it. Once you’re confident you’re under control, the next step is to tell people what happened . Typically you want to tell your manager, but depending on the problem it could also be a colleague or someone else. It’s really important here to be matter-of-fact about it, or you risk falling into the “I’m so terrible, please reassure me” trap I discussed above. You often don’t even need to explicitly say “I made a mistake”, if it’s obvious from context. Just say “I deployed a change and it’s broken X feature” (or whatever the problem is). You should do this before you’ve come up with a solution. It’s tempting to try to conceal your mistake and just quietly solve it. But for user-facing mistakes, concealment is impossible - somebody will raise a ticket eventually - and if you don’t communicate the issue, you risk someone else discovering it and independently raising it. In the worst case, while you’re quietly working on a fix, you’ll discover that somebody else has declared an incident. Of course, you understand the problem perfectly (since you caused it), and you know that it was caused by a bad deploy and is easily fixable. But the other people on the incident call don’t know all that. They’re thinking about the worst-case scenarios, wondering if it’s database or network-related, paging in all kinds of teams, causing all kinds of hassle. All of that could have been avoided if you had reported the issue immediately. In my experience, tech company managers will forgive mistakes 3 , but they won’t forgive being made to look like a fool . In particular, they won’t forgive being deprived of critical information. If they’re asked to explain the incident by their boss, and they have to flounder around because they lack the context that you had all along , that may harm your relationship with them for good. On the other hand, if you give them a clear summary of the problem right away, and they’re able to seem like they’re on top of things to their manager, you might even earn credit for the situation (despite having caused it with your initial mistake). However, you probably won’t earn credit. This is where I diverge from the popular software engineering wisdom that incidents are always the fault of systems, never of individuals. Of course incidents are caused by the interactions of complex systems. Everything in the universe is caused by the interactions of complex systems! But one cause in that chain is often somebody screwing up 4 . If you’re a manager of an engineering organization, and you want a project to succeed, you probably have a mental shortlist of the engineers in your org who can reliably lead projects 5 . If an engineer screws up repeatedly, they’re likely to drop off that list (or at least get an asterisk next to their name). It doesn’t really matter if you had a good technical reason to make the mistake, or if it’s excusable. Managers don’t care about that stuff, because they simply don’t have the technical context to know if it’s true or if you’re just trying to talk your way out of it. What managers do have the context to evaluate is results , so that’s what they judge you on. That means some failures are acceptable, so long as you’ve got enough successes to balance them out. Being a strong engineer is about finding a balance between always being right and taking risks . If you prioritize always being right, you can probably avoid making mistakes, but you won’t be able to lead projects (since that always requires taking risks). Therefore, the optimal amount of mistakes at work is not zero. Unless you’re working in a few select industries 6 , you should expect to make mistakes now and then, otherwise you’re likely working far too slow. From memory, I think I had tested an earlier version of the code, but then I made some tweaks and skipped the step where I tested that it worked even with those tweaks. Though I would have made a mental note (and if someone more senior had done this, I would have been a bit less forgiving). Though they may not forget them. More on that later. It’s probably not that comforting to replace “you screwed up by being incompetent” with “it’s not your fault, it’s the system’s fault for hiring an engineer as incompetent as you”. For more on that, see How I ship projects at large tech companies . The classic examples are pacemakers and the Space Shuttle (should that now be Starship/New Glenn)? From memory, I think I had tested an earlier version of the code, but then I made some tweaks and skipped the step where I tested that it worked even with those tweaks. ↩ Though I would have made a mental note (and if someone more senior had done this, I would have been a bit less forgiving). ↩ Though they may not forget them. More on that later. ↩ It’s probably not that comforting to replace “you screwed up by being incompetent” with “it’s not your fault, it’s the system’s fault for hiring an engineer as incompetent as you”. ↩ For more on that, see How I ship projects at large tech companies . ↩ The classic examples are pacemakers and the Space Shuttle (should that now be Starship/New Glenn)? ↩

0 views

Robin Hood (2025)

What’s going on, Internet? Haven’t done these in a while so here we go. I just finished up watching all ten episodes of Robin Hood (2025) . It probably isn’t a great television show but it was entertaining enough to watch across four evenings. I did find Robb a bit whingey at first, but I enjoyed how quickly he went from reluctant to ruthless. Tuck the monk was a great addition to the crew, I liked his wrestling with his faith and where he drew the line, but ultimately came back around. Little John was a weird one though, where he was literally hunting Robb, bested him and the millers, and then immediately joined the cause after a vision. That felt a bit rushed. The Earl of Huntingdon was an absolute munter though. Easy to dislike, which I suppose is the point. It’s always good to see Sean Bean in a show, he had such an impact on Game of Thrones in only a single season, but his portrayal of the Sheriff of Nottingham wasn’t as impactful. And Priscilla, his daughter, no idea what was going on there, lol. The show has me thinking about a Robin Hood: Prince of Thieves rewatch, a favourite when I was younger - maybe because of that banger Bryan Adams song on the soundtrack. The stories are similar but different enough to get me interested. I find the time period and story of Robin Hood interesting and the show has me keen to dive into some history of the Norman conquests - if you have any recs, let me know. Hey, thanks for reading this post in your feed reader! Want to chat? Reply by email or add me on XMPP , or send a webmention . Check out the posts archive on the website.

0 views

Introducing Showboat and Rodney, so agents can demo what they’ve built

A key challenge working with coding agents is having them both test what they’ve built and demonstrate that software to you, their overseer. This goes beyond automated tests - we need artifacts that show their progress and help us see exactly what the agent-produced software is able to do. I’ve just released two new tools aimed at this problem: Showboat and Rodney . I recently wrote about how the job of a software engineer isn't to write code, it's to deliver code that works . A big part of that is proving to ourselves and to other people that the code we are responsible for behaves as expected. This becomes even more important - and challenging - as we embrace coding agents as a core part of our software development process. The more code we churn out with agents, the more valuable tools are that reduce the amount of manual QA time we need to spend. One of the most interesting things about the StrongDM software factory model is how they ensure that their software is well tested and delivers value despite their policy that "code must not be reviewed by humans". Part of their solution involves expensive swarms of QA agents running through "scenarios" to exercise their software. It's fascinating, but I don't want to spend thousands of dollars on QA robots if I can avoid it! I need tools that allow agents to clearly demonstrate their work to me, while minimizing the opportunities for them to cheat about what they've done. Showboat is the tool I built to help agents demonstrate their work to me. It's a CLI tool (a Go binary, optionally wrapped in Python to make it easier to install) that helps an agent construct a Markdown document demonstrating exactly what their newly developed code can do. It's not designed for humans to run, but here's how you would run it anyway: Here's what the result looks like if you open it up in VS Code and preview the Markdown: Here's that demo.md file in a Gist . So a sequence of , , and commands constructs a Markdown document one section at a time, with the output of those commands automatically added to the document directly following the commands that were run. The command is a little special - it looks for a file path to an image in the output of the command and copies that image to the current folder and references it in the file. That's basically the whole thing! There's a command to remove the most recently added section if something goes wrong, a command to re-run the document and check nothing has changed (I'm not entirely convinced by the design of that one) and a command that reverse-engineers the CLI commands that were used to create the document. It's pretty simple - just 172 lines of Go. I packaged it up with my go-to-wheel tool which means you can run it without even installing it first like this: That command is really important: it's designed to provide a coding agent with everything it needs to know in order to use the tool. Here's that help text in full . This means you can pop open Claude Code and tell it: And that's it! The text acts a bit like a Skill . Your agent can read the help text and use every feature of Showboat to create a document that demonstrates whatever it is you need demonstrated. Here's a fun trick: if you set Claude off to build a Showboat document you can pop that open in VS Code and watch the preview pane update in real time as the agent runs through the demo. It's a bit like having your coworker talk you through their latest work in a screensharing session. And finally, some examples. Here are documents I had Claude create using Showboat to help demonstrate features I was working on in other projects: row-state-sql CLI Demo shows a new command I added to that same project. Change grouping with Notes demonstrates another feature where groups of changes within the same transaction can have a note attached to them. I've now used Showboat often enough that I've convinced myself of its utility. (I've also seen agents cheat! Since the demo file is Markdown the agent will sometimes edit that file directly rather than using Showboat, which could result in command outputs that don't reflect what actually happened. Here's an issue about that .) Many of the projects I work on involve web interfaces. Agents often build entirely new pages for these, and I want to see those represented in the demos. Showboat's image feature was designed to allow agents to capture screenshots as part of their demos, originally using my shot-scraper tool or Playwright . The Showboat format benefits from CLI utilities. I went looking for good options for managing a multi-turn browser session from a CLI and came up short, so I decided to try building something new. Claude Opus 4.6 pointed me to the Rod Go library for interacting with the Chrome DevTools protocol. It's fantastic - it provides a comprehensive wrapper across basically everything you can do with automated Chrome, all in a self-contained library that compiles to a few MBs. All Rod was missing was a CLI. I built the first version as an asynchronous report prototype , which convinced me it was worth spinning out into its own project. I called it Rodney as a nod to the Rod library it builds on and a reference to Only Fools and Horses - and because the package name was available on PyPI. You can run Rodney using or install it like this: (Or grab a Go binary from the releases page .) Here's a simple example session: Here's what that looks like in the terminal: As with Showboat, this tool is not designed to be used by humans! The goal is for coding agents to be able to run and see everything they need to know to start using the tool. You can see that help output in the GitHub repo. Here are three demonstrations of Rodney that I created using Showboat: After being a career-long skeptic of the test-first, maximum test coverage school of software development (I like tests included development instead) I've recently come around to test-first processes as a way to force agents to write only the code that's necessary to solve the problem at hand. Many of my Python coding agent sessions start the same way: Telling the agents how to run the tests doubles as an indicator that tests on this project exist and matter. Agents will read existing tests before writing their own so having a clean test suite with good patterns makes it more likely they'll write good tests of their own. The frontier models all understand that "red/green TDD" means they should write the test first, run it and watch it fail and then write the code to make it pass - it's a convenient shortcut. I find this greatly increases the quality of the code and the likelihood that the agent will produce the right thing with the smallest amount of prompts to guide it. But anyone who's worked with tests will know that just because the automated tests pass doesn't mean the software actually works! That’s the motivation behind Showboat and Rodney - I never trust any feature until I’ve seen it running with my own eye. Before building Showboat I'd often add a “manual” testing step to my agent sessions, something like: Both Showboat and Rodney started life as Claude Code for web projects created via the Claude iPhone app. Most of the ongoing feature work for them happened in the same way. I'm still a little startled at how much of my coding work I get done on my phone now, but I'd estimate that the majority of code I ship to GitHub these days was written for me by coding agents driven via that iPhone app. I initially designed these two tools for use in asynchronous coding agent environments like Claude Code for the web. So far that's working out really well. You are only seeing the long-form articles from my blog. Subscribe to /atom/everything/ to get all of my posts, or take a look at my other subscription options . Proving code actually works Showboat: Agents build documents to demo their work Rodney: CLI browser automation designed to work with Showboat Test-driven development helps, but we still need manual testing I built both of these tools on my phone shot-scraper: A Comprehensive Demo runs through the full suite of features of my shot-scraper browser automation tool, mainly to exercise the command. sqlite-history-json CLI demo demonstrates the CLI feature I added to my new sqlite-history-json Python library. row-state-sql CLI Demo shows a new command I added to that same project. Change grouping with Notes demonstrates another feature where groups of changes within the same transaction can have a note attached to them. krunsh: Pipe Shell Commands to an Ephemeral libkrun MicroVM is a particularly convoluted example where I managed to get Claude Code for web to run a libkrun microVM inside a QEMU emulated Linux environment inside the Claude gVisor sandbox. Rodney's original feature set , including screenshots of pages and executing JavaScript. Rodney's new accessibility testing features , built during development of those features to show what they could do. Using those features to run a basic accessibility audit of a page . I was impressed at how well Claude Opus 4.6 responded to the prompt "Use showboat and rodney to perform an accessibility audit of https://latest.datasette.io/fixtures " - transcript here .

0 views

album: girls by princess nokia

As I said before, I’m a lazy listener . I don’t listen to a lot of music; I often just like one song of an artist, and I tend to listen to single songs and playlists instead of albums. But recently, I finally checked out the new album of an artist I enjoy: Princess Nokia. It’s been a few months since the “GIRLS” release, but it totally passed me by until now. After listening to the album, I felt changed. Healed. It felt like a whole body experience! For once, an album that I wanna experience as a whole. I do not dare to pluck out songs from it, remove them from their context, or to play one over and over and over again. I want the whole thing, I want the experience of each song being embedded in the rest, I want to “earn” listening to my faves and eagerly await their turn. That’s a new experience for me. So I wanted to write down how the songs (except FM intro and interlude) made me feel, what moves me about them. I’ll bring up something that continues on throughout the album irrespective of specific songs: Uplifting songs, and specifically women empowerment songs are often rather… clean. They’ll talk about all their material wealth, their perfect looks, their moods and hobbies in a way that feels sanitized. Good vibes only, being confident but not too much, treading carefully, still being kind and nurturing, not pushing many boundaries, no talking about trauma or resentment, no offending anyone. There is just clean self improvement in a way that doesn't gross anyone out. They sound like “ I like myself, but don’t worry, I am not arrogant or anything, I’m not a downer and I still look fuckable in the eyes of men and will laugh at your bad jokes. ” I sometimes miss the darker, more embarrassing emotions; anger that doesn’t feel watered down, accusations that aren’t sugarcoated, beauty that doesn’t hinge on heterosexual performance. Grossness, imperfection, self-isolation that isn’t depressed or sad, a vibe that doesn’t feel like a curated version of the Manic Pixie Dream Girl. Songs that treat women fully as people with all kinds of uncomfortable edges and unreasonable feelings, not just advertising space, a decorative item, a housewife, the main character’s development, and a hole. Things that are embarrassing, that the world heavily wants to police you for. You are always supposed to forgive and forget, to be relatable and put others’ needs first, to be the bigger person and give in. You’re supposed to read everyone’s mind. You’re the homemaker. You’re supposed to wear eyeliner “ so sharp it kills a man ”, but do it for him. You can sing about getting all the guys and driving in your sports car, but it has to feel like a persona, a trend, an act (not real), a revenge on rap music, and you have to still shake ass for them. You’re defiant, but you're so palatable. Queer art and sexuality feels different, more free, less in this box. Your body is sexy like it is, but not because it is contorted and watched. There’s more room to be evil and disgusting, your worst instead of best version. The mainstream empowering songs can feel like you’re only your “true” self when half of your humanity is missing; you love everyone and not take anything personally and are above everything, and every struggle is already therapized, processed, and neatly packaged up into a relatable lesson for everyone’s consumption, with an unspoken vow to never do it again. Not here, at least in the beginning. We are in the struggle, we are holding grudges. We know healing isn’t linear, and indulging in our worst thoughts and re-entering some grief and anger about what happened to you every now and then is normal and healthy. The vibe is eerie, it’s deep at night, the wolves are howling. We’re up late, we’re sick with anger, we can’t and don’t want to sleep. Girlhood is a spectrum Pretty is destruction I just fell from grace And I made it into something Everywhere around us, we’re inundated with beauty ads under the guise of self care. Put on all these products to become happy and look your best, queen! Not doing this is so slob, so bedrotting, so depression. Have you done your morning shed? Your 5 minute gratitude journaling? To be a woman, you have to take care of yourself, be in your feminine era! I enjoy using some products to make me feel good and affirm my gender - that’s not a crime! But the goalposts keep moving, more and more products are presented as staples, and getting started with a routine feels overwhelming. Do I do it for me, or for you? For us? I nick myself while shaving my leg and bleed, and waxing hurts more; my trash can is full of sheet masks, and we’re all scrolling while the conditioner does its magic. The hair gets tangled up anyway, hurts while brushing. It mats in the neck while you’ve called in sick due to cramps and you keep rolling around in bed trying to find a comfortable position. Everything we carefully draw on our faces gets demolished again, every acrylic nail fades into dust, and there’s a callus where the nail tech hits your skin with the e-file. It's two-fold. What makes you pretty can also make you a target and bring you destruction; the attention of evil people, jealousy. Now I'm fucked up and I'm bended If only I could understand the reason for my crying If only I could stop the fear of dreaming that I’m dying This is also partially a quote from Jennifer Lynch from The Secret Diary of Laura Palmer. What bends can snap. Every time I know it’s coming, every time I think I am prepared, but I’m not. The feelings overpower me, but why am I so sad? Why does everything seem so dark and hopeless? Why does my mind wander to worrying about terrible events and tragedies? Why do I simultaneously want to kill myself and fear I won’t wake up again tomorrow? Even a look in the cycle tracking app doesn’t make that go away. I have to wait for it to pass and trust that this isn’t the truth. This is for my rapist And all of my abusers You may have all the world fooled But I see right through you [...] I've been a statistic, and everyone ignored me [...] But I am a girl, so they hate my fucking guts They tell me I ain't shit And that I fucking suck If I was a man, I would get away with murder But I am a girl, so I have mental disorder So many like me have coped by directing it all against themselves. The outside world can’t be reasoned with; they’ll blame you, they won’t believe you, they’ll make themselves out to be a victim because your criticisms or accusations made them feel bad. Every time you try to fix it or extend an olive branch, the other party stomps on it and the situation gets worse. So you comply, you grey-rock, you plan your escape, you write it in your journal, you daydream about a different life. You starve yourself, you overexercise, you cut and you burn, you give yourself a bad haircut at 3am, you spend money you don’t have to make yourself happy, you numb yourself with the benzos you got your your anxiety. You do everything but not punch their face, scream at them, or give them the silent treatment, because if push comes to shove, you. will. lose. You are dependent on them and their approval. Everyone who feeds you can also starve you. It also reminds me of the Ashnikko quote " God made me pretty, you made me mean. " I am very girly And also very violent The juxtaposition of girlhood and violence makes the final girl so compelling. The final girl is a woman who is the sole survivor of a group in (usually) a slasher film, who are chased by the villain. She gets the final confrontation with the villain and often ends up killing him. Final girls tend to be very beautiful and have a certain aura, an implied moral superiority through refusing certain behaviors or acting "like a lady". I’m past my expiration date He called me damaged goods I’m the rotten fruit Low hanging in the woods How dare you weaponize my looks? I’m a bad bitch You’re impotent and bald We all know why you’re angry You’ve hit the wall, they say. 30 year old women are ancient. Your life is over. You are undesirable. If no one chose you by now, there’s something wrong with you. Even if you tried getting with people, each relationship was one too many; now you’re a whore. You’re easy. You’re the last option. You are not allowed to have standards, be happy someone picked you at all. Make it work with them no matter what. Never be mean to him back! If he acts out, that’s your fault. Stop expecting anything of him, stop nagging him, stop being such a bore and a prude, stop bring slutty in public. Why can’t you be agreeable? Why can’t you maintain your body in a pristine condition? Who wants you with a buzzcut and your blood and sweat? It’s a projection. The people throwing these things at you do not age well either and are afraid of being alone. Manipulating women with kindness is such a sin to me Premeditated You pretend to be a friend of me And rip out my wings while I’m sleeping You’re fucking dead to me I remember the time when my friendships with boys started to transform in early puberty. They suddenly acted odd. They weren’t carefree and silly anymore, but more macho, sarcastic, weirdly flexing. It’s like they went from being a person to being the image of a gender, forcefully. They put on a mask and looked at me differently. Now hangouts became unsafe. Every conversation could send the wrong message. I was now expected to do the work of managing these hormonal moods around me, juggle everyone’s feelings, and fawn. Make people comfortable. Reject them, but not too much, and not in a way that would hurt them so deeply that they’d retaliate physically or by spinning up rumors. But you first have to learn that, so by the time you’re 16, you know that in the eyes of others you are simultaneously ugly and fat but also a slut, and everyone whose romantic interest you had to handle like a fragile flower and spend nights worrying about allegedly didn’t want you anyway. Friendship destroyed. But some are more sly than that, and that’s even more painful. They’ll strike when you least expect it and disarm you with kindness and safety before you know what’s happening. They wield your connection like a sword. He’d never do that; that was probably unintentional; he didn’t mean it like that; he just needed some support in a stressful time; I must have sent mixed signals; I didn’t say no, so it was my fault. My friend’s brother went and did some weird shit Do I tell her Or keep it to myself? Is it common? Does she already know now? If I told her, I think she’d be embarrassed I think about it and all the girls just like me I dance around it ‘cause I don’t wanna hurt her This is what keeps rapists and similar folks so protected in our society; they’re embedded in the systems we rely on. Not just emotionally, where they have the potential to destroy our friendships. They’re your coworker, and you don’t wanna create a weird environment at work (even though they did), or they’re your boss and you need that promotion; they’re your grandpa, your uncle, your older brother, and you’d make everyone sad and split the family, ruining the family get-togethers (even though they did). The common solution once again falls on the girl. She will suck it up, she will keep it a secret, she will direct the anger against herself and protect everyone else from seeing it. Succubus male demon I know what you did I know what you did I know what you did But the mood begins to lift. We got the pain and crying out of our system. Our pants are stained, our beds are messy. It’s laundry day. We kill ourselves a thousand times in our head, but now we’re better, we reemerge on the scene. The vibe is hopeful. Now we want it all and we don’t mince our words. Eat your heart out, cunt I’m holding nothing back Of course I’m wishing death on you I hope you have a heart attack Sorry, did I do that? I have not one remorse There’s a pivotal shift in your life, maybe because of therapy, when you stop internalizing everything and directing everything against you, no longer taking on the blame for everything and denying your own feelings. The time of making amends towards these people and prioritizing their comfort over yours is over. Now you let them know. You have become independent, you have a backup plan, you’ll make your escape. You’ll give them a piece of your mind. You allow yourself to have these dark thoughts and wishes that you have always swallowed and pushed away. You own it now. “ I’m a bitch? Okay, I’ll be that. ” You’ll get called mean for things men pat each other on the back for. And I’d rather be seen as arrogant while I love myself, than being seen as arrogant for self-isolating and sitting in the corner with a resting bitch face because I’m nervous, insecure and just want to hide. I heard I’m a fucking cunt I know I’m a fucking bitch I’m judgmental, mean as shit My autism make me tick This song makes me cry. The longing for a girlhood like the movies and TV shows depicted is as much as I memory as the real girlhood we lived. We searched for it and saw glimpses of it in the cherry-flavored glitter lipgloss we put on at 8 because it was included in some horse magazine for girls, the short skirts we aspired to wear while we played browser dress-up games at 12, or in the iced latte we got at Starbucks at 15, feeling like those Instagram girls older than us. Lemon girl, kiss, kiss, she's so sorbet Lip gloss, glass skin, and a doll-like face Bows tied, mini skirt, skirt, skirt, ballet Iced chai, stardew, internet cafe I like that this song doesn’t feel rooted in the past or too nostalgic; it still mentions more modern elements of girlhood of the girls growing up right now, not just the singers’ upbringing - like Chappell Roan, glass skin and matcha. Things change, but some things stay. The core is the same. The yearning, the collage of all these things we want to be, the Pinterest boards, the feeling of what it is like to enter puberty or be a teen, or your “second puberty” in your 20s. The idea of sleepovers, the stereotypical cliques, Mean Girls, giving the other girls gum or your Labello in class, strawberry cented paper or pens. Even if we didn’t live it, a part of us wanted to. So badly. And even just listening to songs that have this vibe feels like a throwback to that time where we thought this was in the cards for us. It's so healing, even when older, to occasionally do these really girly nights for you. Make your phone pink, add glitter, wear something pink, play a browser game again, add charms to everything. It's going to be alright. Brow tint Lash lift Nails done Life’s great In the first song, pretty is destruction . But here, it’s also self care, a way to feel reborn, make yourself feel good. Beauty rituals and feeling put together gives us a little boost. It’s affirming, it’s relatable, you’re in the in-group. No matter other disagreements or differences, stuff like this is what can transcend barriers between women, in a way. Even if the beauty standards themselves or the procedures and rituals differ, we share in knowing how it feels. It’s a gift and a curse; on one hand, strutting down the street feeling your best after getting your nails done, but also having phases of wanting to do away with all of it. It costs so much time and money, and is it feminist? Is it not? Who am I really doing it for? Would I do these things if no gender roles and beauty standards existed? The feelings around it are messy. Can you truly own something, make it yours, do it for yourself if it is so mandated? We try. I’m in love with her See myself in her Think I know that girl I’m in love with her See myself in her I think I am that girl This piece makes me feel warm and connected to any woman, no matter the age, upbringing, or the time when she first started pursuing womanhood. It makes me recognize myself in every woman, and recognize them in me. It also makes me proud of everything that I have already achieved and look forward to achieving more. I simultaneously feel like the little girl I was, and the protective adult woman I am, and the motherly figure I needed. I want to give all versions of me a deep hug. I know everything I admire in other women, I also have in me. God, boys are so out Girls are in, girls are in And I'm obsessed with them, I love everything about them Their hair, their nails, their accessories Their poetry, their songs The cherry girls, the latte girls, the lemon girls, the coconut girls, the tropical girls The girls who get it, the girls who don't get it The girls who rot in bed all day, the girls who get up and go to Pilates and yoga Like, I'm somewhere in between both of them and I just love it I love being a girl, there's nothing else in this world I'd want to be Do you know what I mean? This is the power song. The song to put on at the gym, the song for getting ready to go out, the song for strutting down the street in the summer in your best fit. The kind of song that makes you think of music videos showing moments of parties and jumping into the pool. The song for when you are sick of the sad songs after a breakup and start to own singlehood again, feeling relief and contentment with it all. Acceptance. A way forward. A little manic. Girlhood, girls bleed Mean girl, girl fun Girl books, girl code Girl hate, girl love Free the girls Hope they all get divorced It’s time to shock yourself awake, remember you have free will, do some daring stuff, reinvent yourself. What does the average common man have to reinvent himself? A new car? A change in beard style? Going bald? But you . You have everything. New makeup, new nails, new haircut, new hair color, new style, new clothes, new bags, new rings… even plastic surgery, if you want. New aesthetically pleasing home decor where his shit used to be. It’s a new chapter. Drop dead gorgeous Scream queen fun Beauty pageant killer She's the one It continues with a similar vibe: This song makes me feel like an it girl, a red carpet girl, a girl hunted by paparazzi. A girl dressed by Chanel and other luxury brands. The kind of super model that is inexplicably always somewhere in France. Once again, a nod to Gossip Girl (which I still have to watch!), what seems to be a staple in many teen and early 20s women's lives. This one is kind of the weakest song for me on the album, but still enjoyable. It feels like a breather in-between; just a nice imagery about loving the sea, craving the beach and feeling like a mermaid; beautiful, mysterious, a siren. My favorite on the album, and the second song to make me cry. Sound-wise, it’s very clearly inspired by, and a nod to, Lana Del Rey, who was also mentioned in a lyric in Drop Dead Gorgeous (“ Lana del Rey, side of fries and a Diet Coke ”). I first thought Lana had a feature on it, it’s that close. Tired of surviving, I just wanna live White picket fence with no man and no kid Love is romantic, I know that it is Love by myself is the love that I give The track fills me with hope for my future, that I can make it, that I can create the life I want for myself and the ones close to me. That even if everything goes wrong, I’ll still have the love I give to myself. Our wishes sometimes get distorted, we get influenced by marketing or the goals of others and wonder: Am I asking for too little? Should I aim higher? Am I a fool for wanting so little? If I reach my easy goals, what then? Am I missing out? The most peace we can give ourselves in life is to be happy with little and having the appropriate amount of gratitude towards the things we already have. You can aim high, but you can always be happy with less. Isn’t all that we want some damn safety, getting out of the stressful areas, some time with loved ones and ourselves, and time for our hobbies? Green juice, Bling Ring Soft girl life, take it easy Pink room, pink clothes Brand new house, Pink Bronco I remember being a teen and imagining the life I’d live once I moved out. Not just the aesthetic of the furniture, but how the fridge would be sorted and how my clothes rack would look. Always having fresh flowers on my desk. Hanging out on the balcony in the summer. A whole apartment to myself, not just a room that felt like it was rented from a parent. I’ve been out of my parent’s home for close to a decade now, and the dreaming continues; now about living in a different city, closer to friends and family, in a bigger place, with my wife. I have outgrown the person I was when I moved into this apartment. Back then, I was recently broken up with, in the middle of a traineeship, not earning much, financially reliant on parents, and it was my first own apartment. I was very frugal, modest, minimalist and very attached to an all-white, empty home. I swore never to move in with anyone again. But I have changed, and my needs have too. Nowadays, I work full time, I am no longer reliant on anyone financially, I am halfway through a degree, I got more qualifications and I am married. I welcome color now, textures, a bit more decoration, less sterile. I’m willing to let someone in, to live with someone again, to share a space. I want character. It’s time for a new chapter, to build something together. It has manifested in the desire to sell a lot of my furniture and get new one with my wife at flea markets, antique stores, and eBay. I am willing to let go of who I was and embrace my new goals, my new perspective and new life. I wonder about the room we’ll paint pink in our new place. This song reminds me of what I’m doing it all for. My pink Bronco are the degrees I want, the job I want, the home I want, the entire life I want. After everything I've been through, and all the hard work I put in, I deserve it. I want pink diamonds, pink flowers, pink sand Took off my hair and rolled in the sand Starting life over, it's my second chance Packed up my suitcase and never looking back I'm standing firmly, the past is the past Well, pink is forever, at least in my head I had to actually research who that is! She’s an influential fashion designer, and her current fashion brand also bears her name. The song is filled with references to powerful and influential women (real and fictional): Phoebe Philo Joan Didion Emily Dickinson Chloë Sev (= Chloë Sevigny) Beth Dutton Maxxxine (reference to the movie with its character Maxine Minx) Suspiria (reference to the movie its character Mother Suspiriorum) It’s clearly a girlboss-fantasy (“ I’m dodging taxes babe ”). I never thought I’d miss the boss babe era of online content and that stream of feminism, but now that influencers have shifted into romanticizing being a SAHM and tradwife, I kinda do. The lyrics and beat remind me of The Devil Wears Prada somehow; I think of Meryl Streep as Miranda Priestly. It makes me feel as if I’m walking to my luxurious fashion industry job, wearing a fashionable long coat, some heels, and huge sunglasses with a fitting fancy bag. This is more like Princess Nokia’s previous albums (especially Everything Sucks ) both the sound and the lyrics. It’s rap, it’s competitive, it’s Sugar Honey Iced Tea and It’s Not My Fault . It's a message to people that love to see you fail, that doubt you, that are jealous. There's a difference from a star and a girl in a moment Half of y'all is temporary and you don't even know it You had your fifteen and I seen that you blown it My bad, I had to show it, I think you had to know it The song, and therefore the album, ends with a little message I can relate to, applied to me and my circumstances. I’ll let it close this blog post, too. I finally understand myself and my process And I respect everyone, but I know myself best And I don't like working with writers I don't like working with a lot of producers The formula to my success is silence, isolation, stillness My talent is best suited in that environment I know what works and I know what doesn't work I know what I like, who I like, what I want to make And everyone who works with me, they respect me They don't question it, in fact they encourage it And yeah, I wrote this entire album by myself in a span of one year And I had the best fucking time and it's the greatest album I've ever made So I know what I'm doing I trust my process Reply via email Published 10 Feb, 2026

0 views

A Note on File History in Emacs

Once you start digging beyond the surface, you discover that an ancient piece of text editing software called Emacs was light years ahead of its time. It already contained a clipboard history ( ) and automatic saves/backups decades before contemporary editors took a half-baked stab at mimicking these features. Granted, I don’t make use of the kill ring because Alfred manages that for me across different applications, but it’s still pretty damn impressive. If you manage to stumble past the initial setup, that is. Many default settings in Emacs are… weird? The first thing to configure to transition to a bit of a sane default system is moving all those and backup and auto-save files to a central location to stop the editor from littering all over the place. That’s pretty easy to do but begs the question why they don’t change these defaults? Nobody wants random backup files popping up in their Git change set! Do you even need those files? The system feels archaic at first, but the more you think about the possibilities, the more brilliant the idea becomes. Let’s ignore the auto-save system for now—that doesn’t auto-save but auto-saves an auto-save backup that’s not a backup. Got all that? On every manual , a backup file is created or replaced, depending on your configuration. These files can act as your local file history in case you’re not rocking a version control system. If you do, Emacs notices this and stops producing backups. I do recommend setting to as you might lose interesting historical data before doing a commit. That is one of the more useful features of IntelliJ-based IDEs: to go back in time a few minutes to half an hour. Why would you need that? Emacs has a built-in undo history system! Very true, and perhaps better, as that doesn’t require a save, but isn’t persistent. I can hear you say it. You’re right: there’s a package for that . It’s called undo-fu-session and it serialises the undo information without changing any inner logic. This is even more brilliant if coupled with that helps you step through this. If you increase the three related settings, you will have a powerful way to go back in time. Perhaps a bit too powerful? What is a good limit? Contrary to IntelliJ, Emacs does not persist timestamps: it only works with bytes and limits those, so you’ll have to write a function that periodically cleans up those persisted backups. But are you going to remove the entire tree or just prune a bit? Because if you don’t, this is how your session will look like: The vundo tree: a visualised undo tree with a lot of nodes to diff... And that’s just a clean tree with no branching reapplied undo paths. Good luck trying to hop between different nodes, selecting the right ones to diff and revert to. Without timestamp info, a big undo tree is useless. So I removed : too much power, too much responsibility. Let’s keep that history local and non-persistent (even with a daemon you’ll end up with more than enough). I started fine-tuning the built-in backup settings: Which translates to: There’s a bit of a catch here: Emacs only saves a backup once per editing session and then assumes you’re safe. To force it to create a backup every time you save you’ll have to add to the . Or, as I learned from Alex , save with . Ridiculous. GNU Emacs already featured this snapshot backup system in 1985, when I was born! Fine, we now have a bunch of backup files. Then what? This is where things can get interesting. Since they’re just files, you can obviously run a diff tool against them. But which backup file to choose, and how to easily select the right file from the UI and go from there? Consult to the rescue. Consult is a completing-read on steroids that plugs seamlessly into Vertico, my minibuffer completion framework. It’s basically a fuzzy search tool you can throw anything at—including a list of backup files to choose from. Which is exactly what I did. You can change the label (parse the timestamps), choose a lovely icon if you’re using nerd-icons et al., and tell Consult what to do when (1) you preview the candidate and (2) when you select it. So the plan is this: The result looks like this: Selecting different backups automatically changes the opened diff on the right. I have no idea if I butchered , I tried a few things until it sort-of worked and had some help with the rest. You can find the source somewhere in the Bakemacs config files , look for . It could very well be that something like that already exists, but I haven’t found it so far. does something else. sounds good but requires you to navigate to the backup file yourself. The added advantage of mode is that you can revert the diff and re-apply specific hunks. The idea that I’ll never lose anything stupid I wrote will make me sleep better later tonight. Sublime Text’s persistent but unsaved changed file system and IntelliJ’s local history saved my ass more than once. The fact that I cobbled together a working thing using Consult makes this even more satisfying. Isn’t fooling around in Emacs the best thing ever? I hope these nerdy posts are not alienating too many faithful Brain Baking readers… Because, you know, the Lisp Alien mascot? No? Took it too far? Related topics: / emacs / By Wouter Groeneveld on 10 February 2026.  Reply via email . Keep multiple backup files : , , … Also backup even if it’s under version control Clean up older files: keep the oldest 2 and the last 10. Copy the file, don’t turn the existing one into a backup and save the buffer as the new file. For the current buffer, find all backup files. Easy: , substitute a few weird chars into !, read them from , done. (This very file has a backup called ) Sort and properly format a timestamp to show in the Consult minibuffer using . When previewed, with the current buffer into a new window on the right. When selected, make that diff window permanent. When cancelled with , cleanup the mess.

0 views

EDM: An Ultra-Low Latency Ethernet Fabric for Memory Disaggregation

EDM: An Ultra-Low Latency Ethernet Fabric for Memory Disaggregation Weigao Su and Vishal Shrivastav ASPLOS'25 This paper describes incremental changes to Ethernet NICs and switches to enable efficient disaggregation of memory without the need for a separate network ( e.g., CXL) for memory traffic. Fig. 1 shows the north star: Source: https://dl.acm.org/doi/10.1145/3669940.3707221 Servers are partitioned into Compute Nodes and Memory Nodes . When a compute node wants to access remote memory, it issues a request to its local NIC, which sends the request to the correct memory node (via a switch). The key problem this paper addresses is Ethernet fabric latency (i.e., the time taken for requests/responses to flow between NICs and switches). The paper assumes that the latency between the processor and the NIC is low (and cites other papers which describe techniques for reducing this latency to below 100ns). Typical Ethernet fabric latency is measured in microseconds, which is much higher than a local memory access. The Ethernet hardware stack can be decomposed into MAC and PHY layers. The MAC is higher level and sits on top of the PHY. The paper proposes implementing EDM (Ethernet Disaggregated Memory) with modifications to the PHY layer in both the NIC and the switch. Normal network packets flow through the MAC and PHY as they usually would, but a side channel exists which allows remote memory accesses to be handled directly by the enhanced PHY layer. Fig. 3 illustrates the hardware changes in Ethernet NICs and switches. Source: https://dl.acm.org/doi/10.1145/3669940.3707221 Remote memory access requests and responses are smaller than typical Ethernet packets. Additionally, end-to-end application performance is more sensitive to remote memory access latency than the latency of regular network traffic. The bulk of the paper describes how EDM achieves low latency for remote memory traffic. The EDM PHY modifications allow a memory request to preempt a non-memory packet. Say the MAC sends a 1KiB packet to the PHY, which begins to send the packet over the wire in 66-bit blocks. If a memory request shows up in the middle of transmitting the network packet, the PHY can sneak the memory request onto the wire between 66-bit blocks, rather than waiting for the whole 1KiB to be sent. Standard Ethernet requires 96 bits of zeros to be sent on the wire between each packet. This overhead is small for large packets, but it is non-trivial for small packets (like remote memory access requests). The EDM PHY modifications allow these idle bits to be used for remote memory accesses. The MAC still sees the gaps, but the PHY does not. If you ask an LLM what could possibly go wrong by trying to use the inter-frame gap to send useful data, it will spit out a long list. I can’t find too much detail in the paper about how to ensure that this enhancement is robust. The possible problems are limited to the PHY layer however, as the MAC still sees the zeros it expects. To avoid congestion and dropping of memory requests, EDM uses an in-network scheduling algorithm somewhat like PFC. The EDM scheduler is in the PHY layer of the switch. Senders notify the switch when they have memory traffic to send, and the switch responds later with a grant , allowing a certain amount of data to be sent. The authors implemented EDM on FPGAs (acting as both NIC and switch). Table 1 compares latencies for TCP/IP, RDMA, raw Ethernet packets, and EDM, breaking down latencies at each step: Source: https://dl.acm.org/doi/10.1145/3669940.3707221 Fig. 7 throws CXL into the mix: Source: https://dl.acm.org/doi/10.1145/3669940.3707221 Dangling Pointers Section 3.3 “Practical Concerns” has a discussion of what could go wrong ( e.g., fault tolerance and data corruption). It is hard to judge how much work is needed to make this into something that industry could rely on. Subscribe now

0 views

Amazon Earnings, CapEx Concerns, Commodity AI

Amazon's massive CapEx increase makes me much more nervous than Google's, but it is understandable.

0 views
fLaMEd fury Yesterday

Fresh 88x31 Buttons

What’s going on, Internet? Besides having an amazing website, 32-Bit Cafe community member Ritual pumps out little projects like no tomorrow. One of those projects is the 88x31 Button Creator , and I couldn’t resist taking it for a spin. The process was straightforward once I figured out what all the options did. Here are the buttons I came up with: If you do make one using Dan’s generator, just remember to use the “download” button rather than right clicking to save it. I’ve talked about Relics Of The Web previously and I love the 88x31 format, but I still think we could have a good time with a larger banner size too. Maybe Dan’s next project could be a banner generator? Let’s make it happen, lol. I’ve added these to my button archive . You may have also noticed I’ve brought the button display back to the homepage. I’ll continue adding interesting display badges over time. Hey, thanks for reading this post in your feed reader! Want to chat? Reply by email or add me on XMPP , or send a webmention . Check out the posts archive on the website.

0 views
fLaMEd fury Yesterday

The Summer Took Hold

What’s going on, Internet? I was going to have this post as the December wrap up post but the summer took hold of me and here we are at the end of January and a week into Feb, lol. December kicked off with a Tuesday night gig, Lewis Capaldi At The Spark Arena , a fantastic show. I finished off a post about what music ownership means to me , I was happy to get that one out of drafts and published. Then we were straight into finishing up work for the year and I took some time to reflect on the beers I drunk , the books I read , and the music I enjoyed throughout the year. Christmas was an exciting time. With a four year old and a two year old we were in full hype mode. I also got into the hype and had a blast. We had a pre-Christmas lunch at my brother’s place with his family and my parents, two days of work and then straight into Christmas Eve prep which we had at my parent-in-law’s place with the kids, their aunties and all their grandparents. They actually managed to go to sleep and woke up super excited and we got to do it all over again on Christmas Day. I braved the mall on Boxing Day and managed to pick up the last copy of the 2025 Indie Store exclusive re-issue of Get Rich Or Die Tryin’ pressed on red vinyl. The mall itself wasn’t too bad, but the traffic into the mall was horrific. Worth it though. With Christmas out of the way we had a couple days down time before we started our road trip down south. This was so much fun. Our end destination was the Marlborough Sounds, and we broke the trip up into stages so we could explore some of the country and also make sure that the kids weren’t stuck in a car non-stop for days on end. On day one we headed to the Hawke’s Bay via Orakei Korako Cave & Geothermal Park . We stayed one night in Havelock North and visited the national aquarium in Napier before continuing on to Martinborough where we spent two nights. The kids got some grandparent time and my wife and I managed to head over the hill to Wellington to catch up with some friends. On New Year’s Eve we packed up the car again and made our way with the kids to the ferry terminal in Wellington to cross the Cook Strait and make the drive to a remote part of the Marlborough Sounds . After four nights down there enjoying the remote tranquility of the top of the South Island, we headed back to the ferry terminal in Picton to catch the boat back to Wellington and drove straight back to Martinborough for a week of working remote rather than cutting the road trip short. We then packed the car up for a final time and made our way back up north, back to Havelock North again for one more night. Before heading north again the next morning we took the kids to Splash Planet and had a fun time in the water and playing mini golf. We stopped off in Hastings for some ice cream before heading back to Taupō where we stopped off at the Hooker Falls and Cobb & Co for dinner. My wife and I have great memories of family dinners and birthday parties at the Cobb and were hoping the kids would have a blast, but I think they were over it and were just tired. Luckily it was only three more hours back to Tāmaki Makaurau so I made the drive home while the family slept. Then it was back home to unpack and get back to the reality of the weekly grind of school and work. What an epic road trip though. I look forward to more of them, and they’ll only get better as the kids get older. I’ve been watching a lot of great shows recently, old and new. I saw Tulsa King on Cory’s website, gave it a go and ended up watching the entirety of season one over a couple days. I’m going to get right onto season two as soon as I can. The second season of The Vince Staples Show was like a fever dream. Short episodes, easy to watch. My favourite universe, the Power Universe had season three of Power Book IV: Force on the screen and I loved it. It’s so over the top and the premise is wild. Great end to the series and looking forward to Power Book Legacy! I watched all four episodes of Sean Combs: The Reckoning - it really shows what a psycho that guy is. The fourth season of Industry has started and I’m watching my way through that, I have no idea if I actually like this show anymore - it’s kinda fever dream like itself, but I’ll keep watching it. Shrinking is back for its third season. And finally A Knight of the Seven Kingdoms started, I loved the books and I’m loving this show. Set a hundred years before the events of A Song Of Ice And Fire, it’s a bit more lighthearted and funny than Game Of Thrones was. Been a good run of movie watching over here recently. Partly due to Mr 4 taking more of an interest in them. He’d been coming home from preschool talking about KPop Demon Hunters , and we’d been listening to the music and so we sat down and watched the movie together one afternoon. I really enjoyed it. He did too. He’s also been into Paw Patrol recently so as a treat he’s been able to watch some of the Paw Patrol movies starting with PAW Patrol: The Movie , which I also ended up really enjoying. Surprising at the big names doing the voices. Totally different to the budget voices on the Tonies 🤣 So yeah, the movie was really good, although he got quite upset when Chase lost his confidence. It was cute. Christmas was also a bigger than usual thing in our household this year and so on Christmas Eve we all sat down together and watched Home Alone with him. A fun movie which he enjoyed, and maybe laughed a bit too hard at parts. When the kids did eventually go to bed I enjoyed the annual screening of The Guardians of the Galaxy Holiday Special . During the roadtrip we stayed at a motel on the way down south and we took advantage of the yearly screening of Grease - one of my all time favourite movies. After the kids sleeping for hours in the car we knew they weren’t going to bed easily so we had a family movie night. Grease isn’t a kids movie, but it’s also quite tame compared to movies today. I enjoyed it, they enjoyed it and we all had a good time, and they eventually went to sleep. The other movies I enjoyed were Woodstock 99 which dove into the absolute state of the 99 Woodstock festival and how it eventually turned into what it was. What a shit time that would have been. On the lighter side I enjoyed Good Fortune and then Shithouse , which has a shit name, but explored the isolating side of social interaction. Eleven records added to the collection across December and January. A lot of anniversary editions and special pressings landed on the shelf. Here’s all the posts I enjoyed recently. You can check out more over on the Bookmarks archive. Shellsharks is back and publishing Scrolls again so go check that out. Hyde is still publishing his Over/Under series and has just published issue #50 with Bobby Hiltz . I really love the way Hyde personalises each Over/Under interview with his guest - it makes for an interesting read and shows that he does go out of his way to read their websites. xandra has also just dropped the Autumn/Winter 2026 issue of Good Internet magazine. I can’t wait to get stuck in and read all the new articles while I wait for my physical edition to arrive. Plenty of hacking on the website over the break. I’ve been messing with the homepage layout. I’m still not entirely happy with the bento, but it’s fine for now. I’ve added a “Stuck In My Head” section that highlights the six most played songs from last.fm . I’ve also moved the webrings into the bento and revived my buttons collection - I’ve got more to add here later. I’ve started adding garden indicators for living posts that I intend to keep working on over time. I will eventually create a /garden/ page to list these pages for easy browsing. I guess that tag page serves that purpose at the moment. Along with that I think I’ve improved the post metadata on each post that helps tell the story better with category, tags, and dates. Let me know what you think. I spent some (a lot) of time unifying the look and feel across Beer Fridge , Recordshelf , Bookshelf , and Comics pages with cleaned up CSS and introducing a common layout for the stat cards. That damn comics page needs a lot of work. This update was brought to you by Girl in Stilettos by Annah Mac Hey, thanks for reading this post in your feed reader! Want to chat? Reply by email or add me on XMPP , or send a webmention . Check out the posts archive on the website. App selection criteria - Cory Dransfeldt on his criteria for choosing apps. Delete Spotify? Sure, But Don’t Just Replace it With Another Subscription - Stephanie Vee on thinking beyond just swapping one subscription for another. Why RSS matters - Ben Werdmuller on why RSS still matters. What happened to the comment section? - The History of the Web looks at what happened to comment sections. Three Predictions For The Web - Three predictions for the future of the web. IndieWeb Carnival December 2025 – The IndieWeb in 2030 - The Frugal Gamer hosts the December 2025 IndieWeb Carnival. Static sites killed the blog comment star - Did static sites kill blog comments, and can old tech bring them back? An Island in the Net in 2030? - Khürt Williams imagines the IndieWeb in 2030. Drinking The Largest Beer At The Airport Makes Everything Better - A celebration of the airport beer. Backing up Spotify - How to back up your Spotify library. 30 Years of br Tags - A look back at 30 years of the humble tag. Looking beyond collective blogging - V.H. Belvadi looks at what comes after collective blogging. Readers, writers and blogging ethics - On saying what you mean and being damned. How and Why Do I Blog? - Reflections on the how and why of blogging. Building an IndieWeb house (I): introduction - Starting the journey of building an IndieWeb house. The IndieWeb Doesn’t Need to ‘Take Off’ - Susam Pal on why the IndieWeb doesn’t need mass adoption. Experiences with social medias - Reflections on experiences with social media. Writing Hyperlinks: Salient, Descriptive, Start with Keyword - Nielsen Norman Group on writing better hyperlinks. Why 90s Movies Feel More Alive Than Anything on Netflix - Why 90s movies hit different. You should start a blog today - A nudge to start blogging. Self-hosting versus lots of small indieweb providers - The trade-offs between self-hosting and using small IndieWeb providers.

0 views
Jim Nielsen Yesterday

A Brief History of App Icons From Apple’s Creator Studio

I recently updated my collection of macOS icons to include Apple’s new “Creator Studio” family of icons. Doing this — in tandem with seeing funny things like this post on Mastodon — got me thinking about the history of these icons. I built a feature on my icon gallery sites that’s useful for comparing icons over time. For example, here’s Keynote : (Unfortunately, the newest Keynote isn’t part of that collection because I have them linked in my data by their App Store ID and it’s not the same ID anymore for the Creator Studio app — I’m going to have to look at addressing that somehow so they all show up together in my collection.) That’s one useful way of looking at these icons. But I wanted to see them side-by-side, so I dug them all up. Now, my collection of macOS icons isn’t complete. It doesn’t show every variant since the beginning of time, but it’s still interesting to see what’s changed within my own collection. So, without further ado, I present the variants in my collection. The years labeled in the screenshots represent the year in which I added the to my collection (not necessarily the year that Apple changed them). For convenience, I’ve included a link to the screenshot of icons as they exist in my collection ( how I made that page , if you’re interested). Final Cut Pro: Compressor: Pixelmator Pro: (Granted, Pixelmator wasn’t one of Apple’s own apps until recently but its changes follow the same pattern showing how Apple sets the tone for itself as well as the ecosystem.) One last non-visual thing I noticed while looking through these icons in my archive. Apple used to call their own apps in the App Store by their name, e.g. “Keynote”. But now Apple seems to have latched on to what the ecosystem does by attaching a description to the name of the app, e.g. “Keynote: Design Presentations”. Reply via: Email · Mastodon · Bluesky Keynote -> Keynote: Design Presentations Pages -> Pages: Create Documents Numbers -> Numbers: Make Spreadsheets Final Cut Pro -> Final Cut Pro: Create Video Compressor -> Compressor: Encode Media Logic Pro -> Logic Pro: Make Music MainStage -> MainStage: Perform Live Pixelmator Pro -> Pixelmator Pro: Edit Images

0 views
David Bushell Yesterday

Big Design, Bold Ideas

I’ve only gone and done it again! I redesigned my website. This is the eleventh major version. I dare say it’s my best attempt yet. There are similarities to what came before and plenty of fresh CSS paint to modernise the style. You can visit my time machine to see the ten previous designs that have graced my homepage. Almost two decades of work. What a journey! I’ve been comfortable and coasting for years. This year feels different. I’ve made a career building for the open web. That is now under attack. Both my career, and the web. A rising sea of slop is drowning out all common sense. I’m seeing peers struggle to find work, others succumb to the chatbot psychosis. There is no good reason for such drastic change. Yet change is being forced by the AI industrial complex on its relentless path of destruction. I’m not shy about my stance on AI . No thanks! My new homepage doubles down. I won’t be forced to use AI but I can’t ignore it. Can’t ignore the harm. Also I just felt like a new look was due. Last time I mocked up a concept in Adobe XD . Adobe in now unfashionable and Figma, although swank, has that Silicon Valley stench . Penpot is where the cool kids paint pretty pictures of websites. I’m somewhat of an artist myself so I gave Penpot a go. My current brand began in 2016 and evolved in 2018 . I loved the old design but the rigid layout didn’t afford much room to play with content. I spent a day pushing pixels and was quite chuffed with the results. I designed my bandit game in Pentpot too (below). That gave me the confidence to move into real code. I’m continuing with Atkinson Hyperlegible Next for body copy. I now license Ahkio for headings. I used Komika Title before but the all-caps was unwieldy. I’m too lazy to dig through backups to find my logotype source. If you know what font “David” is please tell me! I worked with Axia Create on brand strategy. On that front, we’ll have more exciting news to share later in the year! For now what I realised is that my audience here is technical. The days of small business owners seeking me are long gone. That market is served by Squarespace or Wix. It’s senior tech leads who are entrusted to find and recruit me, and peers within the industry who recommend me. This understanding gave me focus. To illustrate why AI is lame I made an interactive mini-game! The slot machine metaphor should be self-explanatory. I figured a bit of comedy would drive home my AI policy . In the current economy if you don’t have a sparkle emoji is it even a website? The game is built with HTML canvas, web components, and synchronised events I over-complicated to ensure a unique set of prizes. The secret to high performance motion blur is to cheat with pre-rendered PNGs. In hindsight I could have cheated more with a video. I commissioned Declan Chidlow to create a bespoke icon set. Declan delivered! The icons look so much better than the random assortment of placeholders I found. I’m glad I got a proper job done. I have neither the time nor skill for icons. Declan read my mind because I received a 88×31 web badge bonus gift. I had mocked up a few badges myself in Penpot. Scroll down to see them in the footer. Declan’s badge is first and my attempts follow. I haven’t quite nailed the pixel look yet. My new menu is built using with invoker commands and view transitions for a JavaScript-free experience. Modern web standards are so cool when the work together! I do have a tiny JS event listener to polyfill old browsers. The pixellated footer gradient is done with a WebGL shader. I had big plans but after several hours and too many Stack Overflow tabs, I moved on to more important things. This may turn into something later but I doubt I’ll progress trying to learn WebGL. Past features like my Wasm static search and speech synthesis remain on the relevant blog pages. I suspect I’ll be finding random one-off features I forgot to restyle. My homepage ends with another strong message. The internet is dominated by US-based big tech. Before backing powers across the Atlantic, consider UK and EU alternatives. The web begins at home. I remain open to working with clients and collaborators worldwide. I use some ‘big tech’ but I’m making an effort to push for European alternatives. US-based tech does not automatically mean “bad” but the absolute worst is certainly thriving there! Yeah I’m English, far from the smartest kind of European, but I try my best. I’ve been fortunate to find work despite the AI threat. I’m optimistic and I refuse to back down from calling out slop for what it is! I strongly believe others still care about a job well done. I very much doubt the touted “10x productivity” is resulting in 10x profits. The way I see it, I’m cheaper, better, and more ethical than subsidised slop. Let me know on the socials if you love or hate my new design :) P.S. I published this Sunday because Heisenbugs only appear in production. Thanks for reading! Follow me on Mastodon and Bluesky . Subscribe to my Blog and Notes or Combined feeds.

0 views
matduggan.com Yesterday

GitButler CLI Is Really Good

My workflow has remained mostly the same for over a decade. I write everything in Vim using the configuration found here . I run Vim from inside of tmux with a configuration found here . I write things on a git branch, made with the CLI, then I add them with to that branch, trying to run all of the possible linting and tests with before I waste my time on GitHub Actions. Then I run which is an alias to . Finally I successfully commit, then I copy paste the URL returned by GitHub to open a PR. Then I merge the PR and run to go back to the primary branch, which is an alias to . This workflow, I think, is pretty familiar for anyone working with GitHub a lot. Now you'll notice I'm not saying because almost nothing I'm doing has anything to do with . There's no advantage to my repo being local to my machine, because everything I need to actually merge and deploy code lives on GitHub. The CI runs there, the approval process runs there, the monitoring of the CI happens there, the injection of secrets happens there. If GitHub is down my local repo does, effectively, nothing. My source of truth is always remote, which means I pay the price for complexity locally but I don't benefit from it. At most jobs: This means the following is also true: Almost all the features of are wasted on me in this flow. Now because this tool serves a million purposes and is designed to operate in a way that almost nobody uses it for, we all pay the complexity price of and never reap any of the benefits. So instead I keep having to add more aliases to paper over the shortcomings of . These are all the aliases I use at least once a week. Git's offline-first design creates friction for online-first workflows, and GitButler CLI eliminates that friction by being honest about how we actually work. (Edit: I forgot to add this disclaimer. I am not, nor have ever been an employee/investor/best friends with anyone from GitButler. They don't care that I've written this and I didn't communicate with anyone from that team before I wrote this.) So let's take the most basic command as an example. This is my flow that I do 2-3 times a day without my aliases. I do this because can't make assumptions about the state of the world. However because GitButler is designed with the assumption that I'm working online, we can skip a lot of this nonsense. It's status command understands that there is always a remote main that I care about and that when I run a status that I need to understand my status relative to the remote main as it exists right now. Not how it existed the last time I remembered to pull. However this is far from the best trick it has up its sleeve. You're working on a feature, notice an unrelated bug, and now you have to stash, checkout, fix, commit, push, checkout back, stash pop. Context switching is expensive and error-prone. GitButler effectively hacks a solution into that fixes this with multiple branches applied simultaneously. Assign files to different branches without leaving your workspace. What do I mean by that. Let's start again with my status Great looks good. Alright so lets say I make 2 new branches. I'm working on a new feature for adding auth and while I'm working on that, I see a typo I need to fix in a YAML. I can work on both things at the same time: And easily commit to both at the same time without doing anything weird . Stacked PRs are the "right" way to break up large changes so people on your team don't throw up at being asked to review 2000 lines, but Git makes them miserable. When the base branch gets feedback, you have to rebase every dependent branch, resolve conflicts, force-push, and pray. Git doesn't understand branch dependencies. It treats every branch as independent, so you have to manually maintain the stack. GitButler solves this problem with First-class stacked branches. The dependency is explicit, and updates propagate automatically. So what do I mean. Let's say I make a new API endpoint in some Django app. First I make the branch. So let's say I'm working on the branch and get some good feedback on my PR. It's easy to resolve the comments there while leaving my branched off this as a stacked thing that understands the relationship back to the first branch as shown here. In practice this is just a much nicer way of dealing with a super common workflow. Maybe the most requested feature from new users I encounter is an easier undo. When you mess up in Git, recovery means diving into , understanding the cryptic output, and hoping you pick the right . One wrong move and you've made it worse. GitButlers is just easier to use. So the basic undo functionality is super simple to understand. rolls me back one operation. To me the mental model of a snapshot makes a lot more sense than the git history model. I do an action, I want to undo that action. This is better than the git option of: I've been using GitButler in my daily work since I got the email that the CLI was available and I've really loved it. I'm a huge fan of what this team is doing to effectively remodel and simplify Git operations in a world where almost nobody is using it in the way the tool was originally imagined to be used. I strongly encourage folks go check it out for free at: https://docs.gitbutler.com/cli-guides/cli-tutorial/tutorial-overview . It does a ton of things (like help you manage PRs) that I didn't even touch on here. Let me know if you find something cool that I forgot at: https://c.im/@matdevdug You can't merge without GitHub (PRs are the merge mechanism) You can't deploy without GitHub (Actions is the deployment trigger) You can't get approval without GitHub (code review lives there) Your commits are essentially "drafts" until they exist on GitHub You never work disconnected intentionally You don't use local branches as long-lived divergent histories You don't merge locally between branches (GitHub PRs handle this) You don't use for archaeology — you use GitHub's blame/history UI (I often use git log personally but I have determined I'm in the minority on this). Your local repo might be offline for days or weeks The "remote" might be someone else's laptop, not a central server Divergent histories are expected and merging is a deliberate, considered act

0 views
iDiallo Yesterday

Microsoft Should Watch The Expanse

My favorite piece of technology in science fiction isn't lightsabers, flying spaceships, or even robots. It's AI. But not just any AI. My favorite is the one in the TV show The Expanse . If you watch The Expanse, the most advanced technology is, of course, the Epstein drive (an unfortunate name in this day and age). In their universe, humanity can travel to distant planets, the Belt, and Mars. Mars has the most high-tech military, which is incredibly cool. But the AI is still what impresses me most. If you watched the show, you're probably wondering what the hell I'm talking about right now. Because there is no mention of AI ever. The AI is barely visible. In fact, it's not visible at all. Most of the time, there aren't even voices. Instead, their computer interfaces respond directly to voice and gesture commands without returning any sass. In Season 1, Miller (the detective) is trying to solve a crime. Out of the blue, he just says, "Plot the course the Scopuli took over the past months." The course is plotted right there in his living room. No fuss, no interruptions, no "OK Google." And when he finally figures it out, no one says "You are absolutely right!" He then interacts with the holographic display in real time, asking for additional information and manipulating the data with gestures. At no point does he anthropomorphize the AI. It's always there, always available, always listening, but it never interrupts. This type of interaction is present throughout the series. In the Rocinante, James Holden will give commands like "seal bulkhead," "plot intercept course," or "scan for life signs," and the ship's computer simply executes. There are no loading screens, no chatbot personality trying to be helpful. The computer doesn't explain what it's doing or ask for confirmation on routine tasks. It just works. When Holden needs tactical information during a firefight, he doesn't open an app or navigate menus. He shouts questions, and relevant data appears on his helmet display. When Naomi needs to calculate a complex orbital maneuver, she doesn't fight with an interface. She thinks out loud, and the system provides the calculations she needs. This is the complete opposite of Microsoft's Copilot... Yes, this is about Copilot. In Microsoft's vision, they think they're designing an AI assistant, an AI copilot that's always there to help. You have Copilot in Excel, in Edge, in the taskbar. It's everywhere, yet it's as useless as you can imagine. What is Copilot? Is it ChatGPT or a wrapper around it? Is it a code assistant? Is it a search engine? Or wait, is it all of Microsoft Office now? It's attached to every application, yet it hasn't been particularly helpful. We now use Teams at work, and I see Copilot popping up every time to offer to help me, just like Clippy. OK, fine, I asked for the meaning of a term I hear often in this company. Copilot doesn't know. Well, it doesn't say it doesn't know. Instead, it gives me the definition of what it thinks the term means in general. Imagine for a second you're a manager and you hear developers talking about issues with Apache delaying a project. You don't know what Apache is, so you ask Copilot. It tells you that the Apache are a group of Native American tribes known for their resilience in the Southwest. If you don't know any better, you might take that definition at face value, never knowing that Copilot has does not have access to any of the company data. Now in the project retro, you'll blame a native American tribe for delaying the project. Copilot is everywhere, yet it is nowhere. Nobody deliberately opens it to solve a problem. Instead, it's like Google Plus from back in the day. If you randomly clicked seven times on the web, you would somehow end up with a Google Plus account and, for some reason, two YouTube accounts. Copilot is visible when it should be invisible, and verbose when it should be silent. It interrupts your workflow to offer help you didn't ask for, then fails to provide useful answers when you actually need them. It's the opposite of the AI in The Expanse. It doesn't fade in the background. It is constantly reminding you that you need to use it here and now. In The Expanse , the AI doesn't have a personality because it doesn't need one. It's not trying to be your friend or impress you with its conversational abilities. It's a tool, refined to perfection. It is not trying to replace your job, it is there to support you. Copilot only exists to impress you, and it fails at it every single time. Satya should binge-watch The Expanse. I'm not advocating for AI everything, but I am all for creating useful tools. And Copilot, as it currently exists, is one of the least useful implementations of AI I've encountered. The best technology is invisible. It doesn't announce itself, doesn't demand attention, and doesn't try to be clever. It simply works when you need it and disappears when you don't. I know Microsoft won't read this or learn from it. Instead, I expect Windows 12 to be renamed Microsoft Copilot OS. In The Expanse, the AI turn people into heroes. In our world, Copilot, Gemini, ChatGPT, all want to be the heroes. And they will differentiate themselves by trying to be the loudest.

0 views
ava's blog Yesterday

are you out of touch?

In Mina Le's latest video, she quotes Adam Aleksic about quitting or severely reducing social media and phone use: " For one, it's the equivalent of sticking your head in the sand and pretending like the algorithm doesn't exist. Whether you like it or not, our culture is still being shaped by these platforms, and they won't go away by themselves. All of our music and fashion aesthetics are either defined by or against the algorithm, which means that even the "countercultural" tastes of the No Phone People are necessarily influenced by it. Engaging with algorithmic media - in a limited, deliberate manner - is thus important to understanding your experience in society as a whole. Not engaging, meanwhile, makes you vulnerable to being blindsided by sudden social or political shifts. Each Reddit argument and YouTube comment war is an epistemic basis for understanding the current state of cultural discourse. If you ignore those, you lose touch with reality as most people experience it. " I can see why he'd think that, and maybe to a small part I can understand. We feel out of control about our screen behavior at times, and we expect drastic changes from drastic measures, when a bit more nuance could be more helpful. But in my view, the importance of social media in staying culturally in touch is completely overstated. People still go outside! People go to work, to university, to school, to their clubs and other responsibilities or hobby spaces. They talk to their friends, family, superiors and acquaintances and they see what people vote for locally. They see the banners, flags, posters and stickers in their area. They witness what the strangers on the sidewalk, in cafes, restaurants, public transport and other spaces talk about. The quote, on the other hand, acts as if people's only connection to others or the outside world in general is through their phone, which is nuts. No one is blinded by a cultural shift for not having social media unless they also do not interact with anyone outside of their home. Not everyone in your real life is part of "your bubble". Plenty of us have family members, peers or coworkers with wildly different views that we still interact with. Yes, these are mass platforms where tons of content gets created, and music snippets, memes and viral moments have shaped our time and memories of specific years, don't get me wrong - but this ignores that a lot of the accounts are simply lurkers who do not contribute at all. Many have a very weak output that has no impact at all (or no lasting one), or they create on a private, locked down profile for people they approved. For every area, country, and even globally, there are a few hundred creators who truly shape culture, but they do so in a way that either transcends the online, or stays only making a local impact no one else outside is missing out on. The view also doesn't take into account how sturdy algorithmic bubbles now seem to be. What some see as a huge trend online is actually something small in the grand scheme of things, and it's something their friend hasn't even seen, despite otherwise living in the same area and having tastes. You can be on social media and still "miss out" on whatever Adam means; you can also be off of social media and your friends will send you (or screen record for you) funny posts and short-form videos from Tumblr, Tiktok, X and more anyway. News outlets and publications like 404media pick up internet drama and memes as well, and commentary/video essay YouTubers like Hannah Alonzo, Kiki Chanel, Brooke Sharks, Becauseimmissy and more show and break down viral videos and creators and give more insight what's going on socially and culturally in 40-90 minute long videos. This is far more valuable to me (and the attention span, I guess!) than just seeing the original video on a feed. It contextualizes a lot of videos under a shared topic, identifies a pattern, and tends to be published a few weeks later, only giving time to things that truly lasted a while or were blowing up. It's an amazing filter, and you do not need to have any accounts or spend hours of time on a feed that makes you sad and harvests your data if you don't want to. You don't even need a phone to consume all that - you can do it on a cheap laptop, if you want to. I disagree with the notion that it is culturally important to be very aware of what goes on in comment sections. They are notoriously filled with inflammatory trash because it is easier to fire off a comment than to write an email or write a long-form blog post about it. People comment on things without opening the link or fully reading the post, and just read the title, rushing to be the first ones to comment and get more engagement. Comment sections also suffer from the usual review bias, where people usually only feel the need to comment if they feel strongly about something (usually negatively). That means the impression you'll get from these will be very skewed towards the loud, often abrasive minority and their upvoters. As things that make you feel strongly get more engagement, feeds get distorted and comments asking for the most extreme consequences or showing the most extreme view get catapulted to the top visually. While the websites and many of the commenters skew towards focusing on US culture and issues, it also skews towards the American lens on things. If you really want to be in touch with culture (especially if you do not live in the US), you cannot base your cultural understanding on these! In a way, this quote reads to me like an addict justifying why they should stay; like a smoker who says they need the breaks to rest and socialize, or the alcoholic who says they need the bar to socialize and the drinks to loosen up, as "social lubricant". Lots of culture and tradition in my country involves alcohol, yet I don't drink, and the disadvantages of that have yet to show. It's important to note that social media is Adam Aleksic's job . He gets his success from his short-form content on TikTok. It will never be in the interest of people in that industry for others to log off or stop consuming. His job necessitates that he posts frequently, stays up to date, consumes the feed and jumps on any trend he can, even if it's just the latest slang word explained through an etymologist's lens. Content creators also have to, at times, overstate their importance and impact to justify it all - the sums of money, the dark patterns, money off of unethical platforms, or spending so much time in front of a screen, some even essentially living a lie for content. It's all supposed to be worth something, to be for the common good, be done for the people, and immortalize... something , I guess. In my view, not everyone needs to experience everything firsthand or be directly knowledgeable about everything. It's better that way, even. You can always rely on articles, long-form video essays accessible without accounts, and podcasts from different sources, or simple conversations with others to keep you updated on stuff that's not on your radar. If it's important enough it will make your way to you, filtered and curated in a way that makes sense to you and focuses on what is truly important to you. If you want to know more, you are free to research and dive deeper. But it will always be impossible for you to be aware of everything. I do not need to know about the latest looksmaxxing trend that will vanish in a month, but I do care about how influencers consistently normalize overconsumption and how it is done. Others seeing it for me and sparking a conversation about it is how I was still able to write this without having an account on any of the big platforms. I know it can be scary to suddenly feel like you do not understand internet culture or memes anymore, but being less in touch about youth culture is a normal part of getting older, and the speed at which we go through trends and viral content has increased massively. Most things you do not understand right now that make you question whether it was the right choice to leave some socials behind is something you will never hear about again. You'll see what stands the test of time and what doesn't. The full piece is here , if you are interested in the quote's context. Reply via email Published 09 Feb, 2026

0 views
Stratechery Yesterday

Google Earnings, Google Cloud Crushes, Search Advertising and LLMs

Google announced a massive increase in CapEx that blew away expectations; the companies earnings results explain why the increase is justified.

0 views

2026-6: Week Notes

It was a short week at work thanks to the Waitangi Day long weekend. Over the last five years we’ve lived in New Zealand, my family has built a tradition of going camping over that weekend. You can usually count on decent weather over that weekend (wasn’t that great this year unfortunatelly but good enough. 🏕️We went camping by the river again, a spot the kids absolutely love. They spent hours swimming, it was too cold to me, but just being there was perfect. And just as I started properly relaxing, it was time to pack up and head home. ⛺️We’ve been talking about upgrading our tent and are looking at a Zempire one that seems like a good fit for how we actually camp. That said, I think I’ll save the whole camping and gear rabbit hole for a separate post maybe 📚I finished reading The Safekeep by Yael van der Wouden this week and really enjoyed it. It felt relatable in a lot of way (war is unfair, so unfair). I’m looking forward to talking about it at book club. 📖Lately, I’ve been reading a lot about minimalism and decluttering. Minimalism feels so close and yet always just out of reach. People often comment on how minimalist our home is, but to me, it’s still not minimalist enough . I want to be much more ruthless about what I actually need versus what I’m keeping simply because I have space for it. That’s very much a work in progress. And my husband’s tendency to keep every gift anyone has ever given him definitely doesn’t help 📍Work itself has been intense. When things are this busy, I feel depleted and don’t have much energy left for blogging or creative hobbies. In those phases, I mostly want to read or do something physical. Even if it is sorting out a drawer or clearing a shelf… or getting rid of something. There’s professional development I want to do, but right now I just feel too tired to engage with it properly. 🪑I booked an appointment with a psychotherapist for the first time. Work covers a few mental health sessions, and I feel like I’m at a point where talking things through could help. I chose someone who felt like a good fit, hard to explain why, but something resonated. We’re meeting online tomorrow, and I want to talk about the expectations I place on myself, where I feel I fall short, and my ongoing anxiety. 📸On a more practical note, I mostly kept up with my photo management for January. I didn’t finish everything, but I did most of it. 🤓I’ve also decided to buy a new Kindle. My current one is about 15 years old and still works perfectly, but newer Paperwhites let you email highlights directly from the device. I read a lot of PDFs and want my highlights to flow straight into Readwise without any friction (at the moment I have to manually transfer it using a cable). I also tried the latest Paperwhite recently, and it’s fast . Once you experience that, it’s hard to go back. The plan is to keep one Kindle in my bedroom for bedtime reading and one for the living room. Small luxury, but I’m really looking forward to it. I tried to buy it yesterday, but the shop was out of stock. Will try again later.

0 views

Leaning on AI

It’s been five months since my last dedicated Lean post and as usual I have started to lose steam on Lean projects. After the thrill of discovering the world of formalized mathematics started to wear off, I did not find motivation to push as hard as before. The SF Math with Lean work group kept me vaguely connected (at least in the one hour a week we meet (see retro) ) but other than that I wasn’t putting in more than a few hours a week on math and Lean.

0 views