Latest Posts (20 found)

show respect - name things correctly

I occasionally come across people who call themselves “almost vegan” “practically vegan” “99% vegan” and similar descriptions. The reasons for that are usually casual in nature: They still want to enjoy grandma’s great cake, they don’t wanna cause a ruckus at the company barbecue, and when it’s pizza night, they can’t say no to a good cheese. But other than that - plantbased. And they quickly want to convey that to someone. I still want to urge others to be precise with language. We have words for “almost vegan”. They’re “vegetarian”, or, depending how you mean it, “flexitarian”. When you say you are vegetarian, people will understand that you refuse to consume certain animal products, but still eat some. When you label yourself a flexitarian, it suggests to others that you made the decision to reduce the animal products you consume, but you still consume them. Meanwhile, “vegan” is more restrictive. It is supposed to tell the listener that the person avoids consuming animal products as far as is possible and practicable. People like to forget the latter part, but this is the exception needed for emergencies, medicine and similar pressing matters. And this also applies to non-food items, something I don’t see many vegetarians practicing. When you are saying you are “ basically vegan, but still eat xyz ”, you are making things complicated for others, and reduce the lifestyle choice to merely food intake. I’ve been vegan since 2019. Education about different ways to eat/live is still lacking, and I’ll still encounter people who have trouble keeping vegan and vegetarian apart. “ You eat no animal products? What about eggs? And fish? Wow, no fish! And what about milk? ” and I think, unfortunately, one puzzle piece of it is that what vegetarians do seems willfully inconsistent to most omnivorous people, and makes it hard for them to remember who eats what. They wonder: “ If meat is so unethical, why not milk and eggs too, coming from similar conditions? Why still choose to eat fish, when that is also an animal carcass, and technically meat? ” And then you come on top, saying you’re vegan but still eat this or that animal product, adding to the confusion. You’re then becoming the person people bring up to me like “ But so-and-so is vegan and still eats cheese! ”. Please don’t further add to confusion. Make it easy for people to understand your boundaries and lifestyle, make it easy for them to cook and bake for you if they want to do that. I’ve been wondering: What makes the vegan label so attractive to people who are not vegan? After all, vegans are not very popular. Some people will know none personally, yet have a passionate (hateful) opinion about them. Others invent weird strawmen of the hypocritical vegan who preaches to others and yet flies 200 days a year while gorging themselves on avocados and almonds. Allegedly, the vegan will harass anyone at the table, brings the mood down and makes everyone uncomfortable. They’re extremists and privileged, some say veganism is classist and racist. So what is there to gain? I hypothesize that deep down, surprisingly many people actually have no problem with veganism and think it is good, and that they’d also live that way if it was easier for them - maybe cheaper products, better recipes, better replacement products, better and bigger selection of vegan products everywhere, normalized in society, their caregivers agree to enable it, possible with their illness or allergies, and so on. So they do what they can (for example, becoming vegetarian), but reach their current limit. It hurts though, to be aware of an ideal you have and falling short of it. You know what you think is right, yet you feel hindered from acting like it. This dissonance is unbearable at times, especially when you see others living the life you want to live, or feel like you have to justify yourself in front of others whenever this topic comes up (vegans can tell you all about this awful stage before they finally made the jump!). It usually goes as follows: Person makes an impassioned speech about how eating animals is wrong, and to not seem like a total hypocrite, they follow it up with “I am basically vegan”. It’s supposed to convey: I am almost there, this is just an embarrassing temporary situation, I totally know what’s right, and these exceptions shouldn’t count much! They’re practically non-existent! But I don’t think this is serving you well. In the moment, it saves you some embarrassment and makes you feel better about falling short of your ideal, but further on, it just minimizes your actions and doesn’t hold you to the standards you want to fulfill. It protects you from facing the fact that, yes, no matter how strongly you have reduced anything, you are still by definition a vegetarian (or flexitarian), which means you eating cheese once a week falls under the same umbrella term as vegetarian Aunt Emma who still eats eggs and milk daily and fish on Fridays. It feels unfair, but that is how it is. I also understand that it feels better for some people to claim the harsher, more extreme, more difficult label (in anything, really) because there is some clout in it. You might want the image of being someone who is doing something that is uncommon and regarded as difficult, someone that is going against the grain to do something good; you want the valor, and maybe you wanna come off as morally superior. But you cannot get the valor without doing the work. Your friends still see you eating that kebab while drunk, no matter what you say otherwise. You’re losing credibility, and people might come to the conclusion that you don’t practice what you preach. Plus, you are not going to build rapport with vegans when you do this, no matter if you might do this to impress them. It comes down to respect for me. If you want to acknowledge that veganism is worth doing, but it is difficult and you cannot do it right now, then leave the label to those who can, and acknowledge where you fall short. This isn’t about punishing people who do what they can - even little counts - but about using language correctly, and making it easy for people to understand your habits and lifestyle. You would also not seriously say any of the following: (Though I have to say, saying them as a joke is funny.) So continue to be precise in this aspect as well. There is absolutely nothing wrong with saying “I’m vegetarian.” or “I avoid animal products except cheese.” or “I prefer to eat vegan options, but not all the time.” Published 03 Aug, 2026 “I don’t drink liquor, just beer and wine. I’m almost sober.” “I jog twice a week. I’m basically an athlete.” “I can order tapas in Spanish. I’m kinda bilingual.” “I have a few houseplants. I’m practically a botanist.”

0 views
iDiallo Today

Invisible Problems

During the pandemic, we completed one of our largest projects at work. To celebrate, since we couldn't meet in person, we all ordered food on DoorDash and played an online escape room game together. We were on a Zoom call, helping each other out and having fun. The first challenge was to escape a jail cell. To escape, each of us had to find clues in our own cell to figure out how to open the doors. We each had to find an object that solved a piece of the puzzle, and once we put them all together, the door would open. As a first challenge, it was easy enough. Everyone found a brightly colored object in their room and described it to the team so we could piece it together. Everyone but one team member. "Come on, read it, man, we can win this." He froze. Someone jumped in to help: "Mine was the most obvious green object in the room. Just look for something bright. Maybe blue, or orange, something that seems out of place." He didn't respond. He just sat there, frozen on camera. We figured he was having internet connectivity issues. We waited a good five minutes before he finally found it, and we moved on to the next level. I didn't think much of that day. We finished the game, we had fun, it was great. He waited until our next one-on-one to explain what had actually happened. He panicked, and he was embarrassed. It turned out he was colorblind. We were yelling random color names at him, and he couldn't, for the life of him, see any of them. As far as I can tell, I'm not colorblind, and it never would have occurred to me that this was something to account for. Just last week, I learned about Vehicle Motion Cues on the iPhone, a feature that helps reduce motion sickness. I don't think I've ever experienced motion sickness myself, or at least never in a car. Watching a blind person navigate a website was eye-opening for me. I realized that many of my past design choices would have worked against their experience without my ever knowing it. The same goes for someone navigating a computer entirely by voice. I recently rediscovered Windows Speech Recognition, which I found pretty annoying for my own needs. But for someone who relies on it for all of their computer use, it's an essential tool. A coworker once mentioned, almost in passing, that she struggles to read certain fonts because of dyslexia. Tight letter spacing and low-contrast text make some of our internal tools nearly unreadable to her. I had picked those fonts because they looked good on a demo slide. It had never crossed my mind that a font choice could be the difference between someone reading a document easily and someone giving up on it entirely. In some of our zoom calls, a teammate would often ask if he could do audio only before the call. While it didn't bother me at all, the managers kept insisting on everyone turning on their cameras. But after he used the camera for a few minutes, his connection would start dropping. I just assumed he had slow Internet. But the reality was he was located in a rural area and he relied entirely on his phone's hotspot to connect to the internet. The zoom call was using up all his data in minutes. None of these problems were problems for me. That's exactly what made them invisible. Unless you are experiencing these issues, there's little reason to ever notice them. We tend to design our tools, our meetings, and our expectations around our own experience of the world, and then mistake that experience for the default. It takes a colorblind teammate freezing on a call, or a friend who can't ride in the passenger seat without getting sick, to remind us that "normal" was only ever normal for us. You can never anticipate every invisible problem in advance, that's impossible. But at the very least, we should remember that our own experience is rarely the default. We should be a bit more curious on how others experience the tools we build.

0 views
Unsung Today

Asana’s fascinating Tab shortcuts

If you’re a professional web app, your key shortcut situation is not to be envied. Once the operating system grabs the ⌘ shortcuts it requires (⌘M to minimize, ⌘H to hide, ⌘Q to quit, etc.), the browser has its turn, claiming everything from ⌘R, T, N, L, W for tab operation, to ⌘F, P, O, and S for other things. And then, some input controls inside the browser also need to listen to ⌘Z and XCV, and maybe even A (select all), B (bold), and I (italic). At this point things feel barren, and some web apps start reaching instead for less common modifier keys (⇧, ⌥, ⌘⇧), and others go straight to no modifier zone, or override those of the above shortcuts that they can. Each approach, of course, has its own set of challenges . It’s perhaps not a surprise that someone got fed up, and that someone was people working on the project management tool Asana, which did something relatively unique: it promoted Tab to be a modifier key. The video shows me using Tab+K to like tasks, Tab+Return to open a sidebar, Tab+Q to add a quick task, and Tab+H to return home. Here’s the entire official shortcut list, with Tab shortcuts emphasized: = 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/asanas-fascinating-tab-shortcuts/2.2096w.avif" type="image/avif"> = 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/asanas-fascinating-tab-shortcuts/2.1600w.avif" type="image/avif"> What’s fascinating about choosing Tab is that the key already has so much to do: On top of that, repurposing a key to be a modifier key – especially one that already has a job or two – will also have a long tail of strange consequences. And, Tab is only on one side, which could wreak havoc with the ergonomics of keyboard use. (You are, technically, always supposed to use the modifier key with the opposite hand to the hand you’re pressing the main key with.) I am not ready to hate it quite yet. Tab is not the worst key to use in this context, as it’s really the only available big key other than Caps Lock, which is impossible to mess with on the web. The other big keys – the spacebar, Return, and Backspace – would be radioactive for this purpose. The asymmetry issue? Anecdotally, I understand that both right-handed and left-handed people most often use the pointing device (mouse or trackpad) with their right hand, and consequently often prioritize left modifier keys anyway. Here is how Asana solves some other challenges: What’s interesting and I bet the main reason Asana approached it this way, is that Tab is a separate little island, far away from other modifier keys – and thus not just without any preexisting conflicts, but also impossible to confuse with other modifier keys. Asana could have kept all the shortcuts above but substituted Tab with Ctrl on a Mac and Alt on a PC, but those would then be packed among many other similar-feeling keys . (There is a price for this isolation, as Tab backfires the moment you have to combine it with other modifier keys. Asana doesn’t do it very often – I have only seen Tab+Shift+D, G, and F – but I wish they didn’t do it at all.) Overall, I’m surprised how positively I feel about it. If you use Asana a lot, I’d be curious how Tab-based shortcuts feel to you. If you work at Asana, I would love to know if you consider these a success. The only thing that seems to be missing is an option to go back to regular shortcuts if needed, for people who might want it for motor control reasons. (It is possible to achieve that with tools like Karabiner Elements, but that tool is really unpleasant to use.) Oh, also. Tab+B does this, because, well, “tabby.” Cute. #easter eggs #ergonomics #keyboard #web it moves focus to the next UI control, it indents a bullet point or even just text, it accepts an autosuggestion or a placeholder (and similar things ). When you press Tab to move focus around, the action can now only take place on key up, not key down, so tabbing (or, indentation of bullet points) feels slower . When you hold a regular modifier key and then change your mind and simply release it, no action occurs. But Tab already has a job as a regular key (tabbing or indentation, depending on context), so if you change your mind, something will still happen. This might be annoying. (You can press Tab+Esc or Tab+Space for a safe cancel, but that doesn’t seem very intuitive, especially in a moment of panic .) An action only on key up also means there can be no repeat when holding Tab. I am not sure how important this is, especially in the context of accessibility.

0 views

Review: Job-Less Utopia

Marcus Hutter —oldheads will remember him from AIXI —recently published a book: Job-Less Utopia: Macroeconomics in the Age of AGI . I’m always curious what the people building AI think or want the future to look like, and I’m also always looking for non-doomer takes on the post-AGI future, so I decided to read it and review it. The first thing to say is that nearly every sentence is written by AI. To his credit, Hutter says so plainly: Claude also served as the most diligent editor I could have hoped for: While I have a reasonable grasp of economic concepts, I am neither a professional economist nor a native English speaker, so it was invaluable to have someone polish my clumsy English into professional language. No text was taken verbatim without my critical review, revision, and approval. Like many people who use AI to write, he uses this tiresome “I’m not a native English speaker 🥺” argument. But he published an English-language book in 2005—which I read!—and it was infinitely more readable than this. Now, I suspect Claude did more than just editing, because the book is full of unnecessary and convoluted figures, tables, abbreviations, taxonomies, including (and I swear to God this is verbatim from the book): Which is exactly the kind of make-work cognitive dreck that LLMs love to write to pass the time. As a result the book is unpleasant, confusing, verbose, repetitive slop. So, going forward, I’ll be treating Claude as the author. Sorry Marcus! Make something real next time. Now, Claude’s argument is simple: AGI and robotics, which are said to be inevitable, will take all our jobs, and we can tax the vastly increased economic output to create widespread prosperity. Most of the book is about the economic realizability of taxing AGI wealth and paying out UBI. The main problem with the book is the signal-to-noise ratio. Most of it is obvious. Other than “AGI and robotics will take ~all jobs”, which is of course uncertain, everything else is uncontroversial: yes, output in the jobless AGI world would increase rather than decrease; yes, the surplus can be taxed to provide UBI; yes, we still need money even in the jobless utopia to coordinate economic activity. There’s some stuff about self-replicating machines I already know: we’ve all read Drexler and Freitas here. You don’t need 260 pages to explain all this. The one part that is semi-novel is this idea of using Pigouvian taxes to disincentivize so-called “ bullshit jobs ”. God, I hate Graeber so much. There’s an interesting bit about intellectual property. Claude’s argument here is that AGI plus present-day IP law would lead to a massive concentration of wealth, while simultaneously “the traditional justification for IP (incentivizing human creativity through temporary monopoly) weakens markedly once AI systems generate the bulk of patentable inventions and copyrightable works at near-zero marginal cost”. The solutions: shorter patent terms, Harberger taxes , compulsory patent licensing. So, as part of the transition to the job-less utopia, the whole world will have to coordinate to essentially abolish IP. Which seems very hard. I doubt the Disney corporation will go gently into that good night. The most interesting questions around AGI are not economic, but rather questions of political economy. For example: if most humans become materially and economically useless, how do they maintain a political voice? That is: how do we preserve democracy when the state no longer needs its people? Claude admits this is a problem, e.g. on page 132: The “Age of Labor” conferred unprecedented political power on workers (Korinek and Stiglitz, 2021); they could strike, withhold their contribution, and thereby constrain employers and governments (Boix, 2019). Full automation extinguishes this lever entirely: if no human labor is needed, a strike is merely self-imposed privation. UBI restores livelihood but not agency over production. And page 141: The economics are tractable in principle (Chapter 3), but translating them into policy requires political will, social cohesion, and a credible answer to the search for meaning in a post-labor world. When redistribution fails, the consequences range from populism to regulatory capture and a transition-period underclass risk, yet democratic feedback loops nonetheless incentivize corrective action (Section 7.1 and Figure 7.1). A deeper structural question follows: if the state no longer depends on citizen labor for economic output, does the democratic social contract survive? Alright. What’s the solution? There’s a lot of verbiage, most of which is self-undermining. For example: Deterrence and the social contract. Although the ruling class’s reliance on citizen labor in time led to democracy, losing this reliance will not necessarily cause democracy to collapse. As long as the population can physically revolt against dismantling democracy, and threaten the comfortable lifestyle of those in power, the incumbents have an incentive to avoid a civil war. This is perhaps the only good (among many arguably bad) argument for the right of individuals to own firearms: civilian arms serve as a credible last-resort deterrent against state tyranny, the practical embodiment of the revolution threat that formal models identify as the historical driver of democratic concessions (Boix, 2019). However, this deterrent erodes rapidly once autonomous weapons and robotic enforcement become available, allowing a regime to suppress revolt without relying on potentially sympathetic human soldiers (see Table 7.2, row “Military dependence”). The deterrence argument is genuinely contested. In other words: “the people can revolt, wait, no, they can’t, because autonomous weapons—uhhh it’s contested”. Alright, so physical deterrence doesn’t work. What else? The preceding sections painted a sobering picture, but the historical record is not uniformly grim. Democracies have absorbed structural shocks of comparable magnitude before, and institutional innovations ranging from direct democracy to sortition offer structural resistance to oligarchic capture. It is obviously not true that “democracies have absorbed structural shocks of comparable magnitude before”. Nothing remotely like AGI or ASI has happened in human history, let alone the history of modern democracies. This is followed by a bunch of smoke-and-mirrors misdirection about various “democratic innovations” that could keep the state in check. But Claude is just shuffling the papers here, because, ultimately, why does it matter what words you write on a piece of parchment? The material reality is unchanged: the humans in this “job-less utopia” will be economically useless, physically disarmed, and under constant surveillance. Why would they have political power? There’s a bit about the resource curse , which I will quote because it highlights the low standard of reasoning in the book, and how LLMs are more than happy to construct sophistical, self-undermining arguments on command, with no concern for truth or sound argumentation: The theoretical mechanism behind the resource curse is clean: (i) government funded by resource rents no longer needs citizen taxes; (ii) no taxation erodes accountability (“no taxation, no representation”); (iii) citizens lose leverage and democratic institutions atrophy. But empirically, the mechanism is less airtight than it appears. The United States funded itself primarily through tariffs for its first 150 years without democratic collapse; many non-democracies tax heavily (the Soviet Union, China); and the mechanism assumes that fiscal dependence is citizens’ only source of leverage, whereas labor power, military service, and sheer numbers have historically mattered at least as much. You see what I mean? Tariffs are a terrible example, because tariff revenue is not decoupled from labour in a world where all economic activity is human activity. Then there’s the arguments about “labor power, military service, and sheer numbers”. Labour power? The whole point of the book is that: The advent of Artificial General Intelligence (AGI) and advanced robotics will eventually permanently decouple economic productivity from human labor. What labour power? Furthermore, how do “military service” and “sheer numbers” give people political power, in a world where states have autonomous weapons and AI-enabled mass surveillance? The key political economy questions here are: And neither is answered satisfactorily. Besides, there are questions of social organization that the book either grazes or doesn’t touch at all: Finally, I found this sentence ironic: AI sharply lowers the cost of [content pollution], threatening to flood the information ecosystem with synthetic low-value content at a scale that overwhelms human curation. “a Wittgensteinian property-cluster definition of ‘job’ (11 properties × 8 edge cases)” “a formal job–leisure spectrum showing how UBI degrades job properties” “a four-camp taxonomy of positions on automation” “A technology-level taxonomy (five cognitive AI levels plus two robotic levels) is mapped onto a job-replacement matrix showing what threshold automates 10%, 50%, 90%, and 99% of each occupation (Table 3.3).” How will the citizens, who are economically useless, preserve any political voice at all? How will people in countries other than the US benefit from AGI? How do intellectually talented people distinguish themselves when AGI does all intellectual activity? What happens to society when life outcomes become independent of character traits, when the responsible and the irresponsible are equally rewarded? Do we want to live in such a world? Today, the human competitive drive is vented as positive-sum entrepreneurship. In the post-labour world, where does this go? League of Legends? Politics, war? What happens to society when human activity is reduced to zero-sum status war?

0 views
fLaMEd fury Yesterday

Taylor Swift Moshpit

What’s going on, Internet? Love Story is my favourite Taylor Swift song, I’m defintely a sucker for her earlier stuff. I’m an Offspring fan too, so this cover they performed at the recent Hellfest (never heard of it tbh) is pretty much made for me. I know James is a big Swift fan, I wonder if he’d also appreciate this? 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
ava's blog Yesterday

book: whipping girl by julia serano

During my break in July, I said I wouldn't read. I partially lied! I did not read any papers, blog posts, or most news articles, and I initially wanted to extend that to books as well. But I ended up ordering and reading some, and one of them was Whipping Girl! Originally released in 2007 and edited a bit in 2015 and with an afterword from 2023, it is a tad older, but such a foundational work in gender studies. It's a feminist analysis about how femininity is punished in society, specifically illustrated on the hatred on, and cissexism enacted against, trans women and their representation in media. It discusses common models of thinking about gender (gender essentialism vs. social constructionism) and where they fall short, as well as different kinds of feminism (and why feminism needs to be trans-inclusive) and theories as to why people are trans that do not serve trans people. It's specifically mentioning trans-objectification (= disregarding trans people as living human beings, reducing them to an unfeeling thing you can speculate over and ask invasive questions, an anomaly to demonize, ridicule, exploit or fetishize), trans-fascimilation (= portraying trans genders as facsimiles of cisgender ones), trans-sexualization (= asserting that trans women transition to attract sexual desire, to attract men, or to become the women they're attracted to; relegating them to a fetish, as merely sex workers, perverts, exotic fucks etc.), trans-interrogation (= obsessively focusing on the reasons why trans people exist, pathologizing them), trans-erasure (= silencing trans voices and preventing them from being visible and coming out, prioritizing cis people's theories and feelings), trans-exclusion (= excluding trans people from events and spaces based on their trans status), and trans-mystification (= turning transition into a taboo, a hidden secret, a scandal instead of a real and mundane thing) as ways trans people, often specifically trans women, are harmed in society. It also covers the way trans people have been historically (mis)treated and mischaracterized by the medical world without giving them a chance to speak, and the way gender transition has been gatekept by dehumanizing standards like attractiveness, sexual orientation, sterilization, secrecy about the trans status, and more, resulting in only letting a small amount of people transition at all, and only if they were most willing to comply with cis expectations and also had the resources (money, changing jobs, moving away etc.). Any gatekeeping of transition resources is done for the well-being of the cis population, and especially the extremely, extremely small portion of them who could transition and regret it, and is never actually done for the well-being of trans people. This is possible because, despite many people rejecting ideas of attaining social status, occupation, political power etc. via birth right (casteism, for example), cis society has no problem seeing gender as a birth right, something you inherit and cannot gain otherwise, and is otherwise not as legit as theirs. This further leads to the ridiculous double-standards and unfair judgment trans women are subjected to: Act feminine, and you are seen as a parody, a facsimile of a woman, a costume, or "leading someone on"; act masculine, and it is deemed a sign of a "true male identity", as not even trying, as a joke for media. Pseudofeminists say women can do anything men can and should be strong and unafraid to speak their minds, yet ridicule trans women for behaviors deemed masculine, especially when they speak out about their oppression. They create standards of what makes someone a "real woman", yet reject the same when men do it. Crossdressing is fine for women and is, technically, done on the daily when you're wearing pants - yet a man wearing a skirt is already classified as a mental illness and used to historically focus on men only ( Transvestic Disorder (F65.1)). The book asserts that the mechanisms behind it are traditional sexism (the belief that maleness and masculinity are superior to femaleness and femininity, and the delegitimization of the latter as weak and artificial), and oppositional sexism (the belief that female and male are rigid, mutually exclusive categories, and the delegitimization of gender non-conformity). Through effemimania (the word she coins for the societal obsession with transfem expressions of femininity), cissexist society is wielding transmisogyny against trans women. She also partially calls out feminists who have aided the societal view that femininity is artificial and needs to be abolished, which is misogynistic and alienates people who naturally gravitate to, perhaps "perform", femininity. Other than that, Julia Serano also develops the intrinsic inclinations model in the book as a path between either bioessentialist ideas or the idea that gender is merely a social construct, opting instead to say that there are both biological and social components to why someone is trans. She also covers how cis people take their gender for granted, as it just happened to be congruent and likely never questioned by them or others in their life, and therefore often doubt that one could "feel like" a specific gender, even though they do, too. If this wouldn't be the case, we wouldn't have so many gender-affirming surgeries and treatments for cis people, and many would freely transition to better fit a role in a movie, go undercover, or to succeed in a field dominated by another gender - but they don't. As an outlook on the future of queer/trans communities and politics, the book explains why identity politics and subversivism in queer/trans spaces are not beneficial; genders outside the gender binary shouldn't be seen as more radical and "good" while binary trans people are seen as "bad" or "reinforcing the gender binary". Alliances are more important than understanding us all as one group, as this has the chance of brushing over different needs and experiences that need to be addressed without being called "divisive". Overall, I found it very pleasant and engaging to read, and one could tell (in a positive and delightful way) that a lot of the book consisted of separate essays published elsewhere before they were combined. It didn't read to me as a particularly dry "book-writing style", no vibe of "I'll sit down to write a whole book now and talk down to readers in a clinical way", but something that could be published in a series of posts on personal blogs musing on social topics nowadays, which made me wish more bloggers would opt to release their works as different chapters in a book some time, instead of leaving them spread on platforms like Substack. Despite the patchwork, the entire book felt so cohesive, in a great order, and approachable, like a longer blog post, but without losing depth or attention. It felt very satisfying how thoroughly Julia Serano covers and debunks everything and still manages to not lose you, to lead from one thing to another with such ease. It was a cathartic read, with a marker in hand. I'm surrounded by trans people and have witnessed online trans discourse since I was about 17, but even I found some sections in the book more difficult to understand with the mixing of terms and knowing a different version of the used concepts and definitions; especially in regards to "transsexual" and "transgender". So in some sentences, both words were used interchangeably or one as umbrella term, but in other sections, they described different things. As the work is older, many concepts, words etc. have evolved and changed quite a bit, and some ideas have become very unpopular. I have also never seen anyone online hold on to the idea that there are 'transgender cissexuals' or vice versa, but this is discussed in the book, and some of it might be labeled transmedicalist. I think it helps to discuss some things in there with trans people you know (if they are genuinely interested to, and you're not burdening them). I don't know if I would give this to anyone that is a complete newbie to the topic for that reason; it's not a "I'm coming out, to understand me, go read this.", especially when some of it is no longer the default in discourse, but it's still something people should have read if they are not entirely new to gender discourse or queer history. Let me end this post with a quote from the Afterword: "As I said at the start, I cannot say how this particular anti-trans moral panic will end. But what I do know is this: efforts to eliminate trans people will never succeed, because we are part of natural variation, and we will persist as long as human beings exist. Anti-trans activists may strive to "disappear" us like they did during the twentieth century, but that outcome is no longer possible. Back when I was a trans kid, we were isolated from one another - quarantined, if you will - due to a lack of access to information and reliable ways to communicate with one another. But now we live in a hyperconnected world, and there are countless trans-centered books, artworks, media and organizations that share our perspectives and trans-related resources. Anti-trans activists may attempt to ban books about us from libraries and censor discussions about us in school settings, but they cannot stop us from finding one another online or elsewhere. Now that we know how many of us there are, we will continue to seek out and learn from one another. Trans people have always been resourceful and resilient, and nobody can take that away from us. " Published 02 Aug, 2026

0 views
マリウス Yesterday

The TEMU-fication of Software, Digital Goods & Services

Disclaimer: This is an opinion piece and most of it is speculation about a future that has not arrived (yet?), based on a few data points that have. As usual, summary at the end. A few years ago I would have laughed at anyone telling me that there is a serious market for ten-dollar drills, two-dollar dresses, and one-dollar pairs of shoes shipped from a warehouse on the other side of the planet. Today, however, that market exists and it has a name, and it is even publicly traded (sort of, through holdings). TEMU , Shein and a few others have built frankly mind-boggling businesses around the idea that if you make production cheap enough, fast enough, and just barely good enough to look right on a phone screen, an enormous part of the population will buy it, even when the product breaks within a week, when the materials it is made of contain worrying levels of toxic substances , and when the carbon footprint of one delivery exceeds that of an equivalent local purchase by orders of magnitude. The key to this sort of business model is not innovation, but instead the externalization and compression of cost. Somewhere upstream, people work seventy-five hours a week , in conditions most readers of this website would refuse to even visit, so that the rest of us can have a cheap plastic spatula at our doorstep within five business days. While the visible price collapses, the invisible costs get distributed onto landfills, lungs, and ultimately people that we will never meet. What follows is a hypothesis I cannot prove but have been turning over in my head for a while, as we are watching the same thing happen to software, books, music, (film-)scripts, and most of the digital goods and services we consume. The cheap labor in this case is not human, it is a Large Language Model ( LLM ), or what many people these days call “AI” , and the externalized cost is, among other things, quality , which requires craftsmanship to produce, and attention to perceive. And just like with physical goods, we will probably end up with a two-tier market, in which we have a large and massively profitable lower tier of generated slop , and a smaller, more expensive upper tier of work that is still recognizably human. I’d like to call this the TEMU-fication of software, digital goods and services , and describe what it might look like. For decades, the global fashion industry has relied on a workforce that has almost no leverage and no voice, and for which the economics work because someone, somewhere far away, will sew a t-shirt for less than the price of a coffee. Without that skewed arrangement, the entire fast fashion business model collapses. The garment in your hand is only cheap to you because it has been expensive to someone else , in ways that the price tag does not show. Modern Large Language Models occupy a similar position in the economy, with one important difference, which is that there is no human being in the sweatshop, only a stack of GPUs trained on a corpus of work that other human beings produced over the course of decades. The labor that has been compressed is historical and the model is a kind of compressed copy of the work of millions of programmers, writers, illustrators, and musicians, served back at near-zero marginal cost. Well, at least in theory, and only if the hyperscalers find a way to lower the cost per token, but that’s a different topic. However, the result is the same. A class of goods can suddenly be produced for an order of magnitude less than before. And, just like with TEMU , those goods turn out to be just barely good enough . The most direct manifestation of this so far is what is being called vibe coding . The term refers to the practice of describing what you want in natural language to an LLM , accepting whatever it produces, iterating over it with more refined descriptions of the basic idea and eventually shipping the result into production. Whether the developer actually understands what was generated is increasingly considered an implementation detail . And while the output is technically software, the question is what kind of software it is. A 2025 Veracode report found that approximately 45% of AI-generated code samples failed security tests and contained critical vulnerabilities from the OWASP Top 10 , and a multi-language, multi-model academic study that evaluated outputs from Claude , Gemini , Codestral , GPT-4o and Llama-3 across Python, Java, C++ and C, found that a substantial fraction of generated snippets were either non-compliant with basic secure coding standards or actively triggered classified weaknesses (buffer overflows, hard-coded credentials, SQL injection, cryptographic misuse, path traversal, you name it). Even more concerning is a peer-reviewed 2025 paper from IEEE-ISTAS that documents a 37.6% increase in critical vulnerabilities after just five iterative prompts, suggesting that the more you let the model refine its own code, the worse the security posture gets. When these issues compound over time, the result is a higher total cost than traditional development. However, this doesn’t matter when you don’t think long term , but fast fashion instead. Also, none of this is to say that an experienced engineer cannot use these tools well, because they certainly can. The issue is what happens when the same tools are used by someone who does not know what good looks like in the first place, and there is nobody downstream of them who does either. The output passes the basic test of it runs and looks plausible , ships into production, and accumulates the kind of architectural and security debt that surfaces only when something goes very wrong . Note: There are credible voices in the industry, particularly from the AI tooling vendors themselves, who argue that AI-assisted development raises a floor more than it lowers a ceiling. In this view, the median piece of software has always been mediocre, written under deadline pressure by tired humans, copied from Stack Overflow without much thought, and held together by duct tape. If an LLM produces output of roughly comparable quality in a fraction of the time, the argument goes, nothing got worse. We are simply removing a bottleneck. I find this argument partially persuasive, and partially convenient for the people making it. It is true that a lot of software was already not great, but it is equally true that there is a difference between bad code written by a human who at least understood what they were doing , and bad code written by a system that does not understand anything . The first kind can be questioned and corrected, but the second kind tends to compound, because the person shipping it cannot answer why it does what it does. At least for now. Software is not the only place where this is playing out. The book industry is arguably further along, with estimates suggesting that somewhere between ten thousand and forty thousand AI-generated books are uploaded to Amazon ’s Kindle Direct Publishing platform every month, many without any disclosure that a model was involved. In June 2023, the Kindle Top 100 bestseller list was found to contain only 19 books written by humans . Amazon has since introduced limits and disclosure requirements , but enforcement is patchy and authors continue to push back against what looks like a slow flood. Categories that have been hit particularly hard include travel guides (generated guides to cities the author has never visited, with restaurant recommendations that don’t exist), nutrition and health (generated diet advice with citations to studies that don’t exist), and public-domain rewrites (generated adaptations of older books, relying on the recognizability of titles that the actual authors never agreed to). Travel guides in particular have produced a small genre of stories where readers arrive at addresses that turn out to be empty lots, or follow walking directions through neighborhoods that no human would ever recommend. Note: The defense, again, is that the bottom of the book market was always full of filler, that print-on-demand has been around for a long time, and ghost-written business books and assembly-line genre fiction predate generative AI by decades. However, the new thing is the scale at which low-effort content can now be produced, and the speed at which it can drown out the rest of the catalogue. Authors are competing for shelf space against entities that can ship a hundred new titles in a weekend. A 2025 analysis of 65,000 English-language articles published since January 2020 found that a little over half of all new articles on the internet are now AI-generated , and it’s not only the written word that’s being churned out by machines . YouTube has its own version of the problem, where, according to a Guardian analysis, nearly 10% of the world’s fastest-growing channels feature nothing but AI-generated content , and on Shorts specifically more than one in five videos served to a new user is low-quality AI-generated material . Not even the highly creative and (up until recently) human process of making music is immune to this TEMU-fication . Spotify has been removing ghost artist tracks for years, but the practice scaled up dramatically when generative tools made it trivial to produce convincing lo-fi background music in arbitrary volume. The platform has reportedly removed 75 million spammy tracks in a single year , and high-profile acts like the AI-generated band The Velvet Sundown amassed over a million streams before being unmasked. There has been at least one criminal case, involving over $8 million in fraudulent royalties , built entirely on AI-generated music and bot streams. However, that is no reason to applaud Spotify , as the company appears to fight the AI spam only when it’s someone else trying to make money off of it. However, there is a sliver of hope, as engagement with AI-generated articles reportedly dropped by around 40% in 2024, and human-generated content seemingly still gets roughly 5.4× more traffic than AI-generated material in some studies. About 38% of consumers openly express skepticism about AI-created content, and people do still seem to be voting with their attention. Whether that vote is powerful enough to shift incentives at the platform level is a different question, and personally I’m not particularly optimistic, especially given that the platforms profit either way. Let’s take Netflix as an example. From my understanding, the WGA ’s 2023 deal explicitly prevents studios from treating AI-generated material as source material, or from using AI to write or rewrite scripts, and Netflix was seemingly bound by that agreement until at least May 2026. Netflix ’s own Generative AI Production Guidelines also seem to reflect this, stating that AI is permitted in ideation , but that its use should not replace or materially impact work that would otherwise be done by union-represented writers, actors, or crew members, without proper approvals . While that sounds reassuring on the surface, it is, in my view, a delay and not a limit. The same company has publicly committed to going all-in on AI in its production pipeline , has signed deals with VFX automation providers that explicitly put a chunk of the global VFX workforce at risk, and has already used generative AI in at least one of its programs ( El Eternauta ). The trajectory seems to be “use AI everywhere it is contractually allowed right now, expand into the rest the second the contracts permit it, and spin the result as dEmOcRaTiZaTiOn Of CrEaTiViTy” . So here is my specific (and quite possibly wrong) prediction: Within the next five to ten years, Netflix will offer a basic subscription tier whose catalogue consists predominantly of AI-generated or AI-assisted content. We are talking generated procedural shows where each episode is remixed from a small set of templates, generated kids’ content that is vaguely educational and impossible to remember an hour after watching, and generated dramas that recycle plots from existing IP and vibe the rest. For this, the viewer pays the lowest monthly price, while the platform pays nearly nothing in production cost and keeps an enormous margin. The only “upside” for consumers will be the lack of ad breaks, as targeted advertising will quite possibly be injected in real-time into the show you’re watching, seamlessly blending into the storyline without you noticing it, but ultimately still triggering your ape brain to crave a refreshing soda or a sweet treat . Their premium tier, meanwhile, will become the human-made tier. Series with credited human writers, films with credited human directors, and performances by humans whose likeness has not been digitally replicated. The marketing will not call it human-made , because that would be admitting that the cheap tier isn’t , but the price difference will make it obvious. You will pay extra for the same thing Netflix has been selling you all along, except now it is positioned as a luxury. Clearly, I cannot prove that this is what will happen. Netflix ’s own guidelines, as written, prohibit it, and the WGA deal forced a delay. But once the contractual block has lifted, the financial logic is hard to argue with. A streaming service that can produce good enough content for fractional cost will eventually try to. And, mind you, Netflix is just one example. The same logic applies to every other content-distribution business with a subscription model and a margin. If you want to know what the human side of this two-tier world looks like, I think the best existing model is the handicrafts and handmade goods market . By 2025, that market was estimated at roughly USD 987 billion globally, with projections reaching over USD 1 trillion by 2035 . There is data suggesting that U.S. consumers already spend almost a fifth of their money on handmade goods rather than on mass-produced equivalents, and over half of handicraft buyers globally indicate a preference for products that are eco-certified or made from natural materials, going in the exact opposite direction of what TEMU has been doing. What this market shows is that industrialization does not erase the artisans, but pushes them into a different segment. People did not stop buying handmade chairs when factories started making chairs cheaply. While the masses opted for the cheaper, mass-produced items, a small but sustained minority of buyers continued to seek out the human-made version, and over time were willing to pay a premium for it. If the hypothesis holds, software engineering, writing, acting, illustration, composition and the other content-producing professions will undergo something similar. The bulk of the market will migrate to the cheap, mass-produced, generated tier, while a smaller market will continue to value, and to pay for, work that is verifiably the product of a thinking, breathing, opinionated human being. We are already seeing the first signs of this in agencies that explicitly advertise human-only content (at a premium), and in licensing companies flagging tracks as human-composed to distinguish them from AI library music. I think that the interesting question is not whether this segmentation will happen, but what proportion of the market ends up in each tier, and how robust the upper tier turns out to be. There is a darker version of this analogy. Roughly 57-60% of the daily caloric intake of the average adult in the United States and the United Kingdom now comes from ultra-processed foods . Across 22 European countries the share ranges from 14% to 44% , depending mostly on how protected the local food culture has remained. These foods are cheap, abundant, available everywhere, and nutritionally inferior to the alternatives in ways that have been studied at length . People know this, but they eat them anyway, often because the alternatives are slower, more expensive, harder to find, or require skills that have not been taught. I suspect that AI-generated content is on the same path. The cheap tier will not be a marginal phenomenon serving a marginal audience, but it will be the default , the cornerstone of how most people consume software, entertainment, news, and information, because it is what the platforms will serve them and what their monthly subscription covers. Some will care enough to seek out the alternative, but most will not, just as most people, knowing what they know about ultra-processed food, do not change their grocery habits. Probably the strongest counter-argument to all of this is that LLMs are still early, that the quality issues are transient, and that within a few model generations the gap between AI-generated and human-generated work will narrow to the point where the distinction stops mattering or might not even be possible anymore. If that is true, the two-tier picture collapses, because there is no longer a quality difference to justify the upper tier, only a marketing difference. The handmade analogy breaks because, unlike a hand-built chair, a generated novel is functionally identical to a written novel once you can no longer tell them apart. However, I am doubtful that this is going to be the case. There are tasks where I have watched the gap narrow faster than I expected, but there are also tasks where the gap has stayed stubbornly fixed and the failures have just gotten more sophisticated. My instinct is that for narrow, well-bounded technical work, the gap will close further. For long-form work that depends on a coherent worldview, lived experience, and, most importantly, emotions, I doubt it will, because the model has none of those. The second counter-argument is that the consumer backlash will be stronger than I am giving it credit for. The 40% drop in engagement with AI-generated articles is not nothing, and platform incentives may shift if users start to penalize AI-flooded feeds. Apple and others have started experimenting with content provenance and disclosure schemes that, if widely adopted, could stop the worst of the flooding. So it is possible that I am underestimating the immune response . The third counter-argument is, that the cheap tier might not be sustainable at all, because AI-generated content trained on AI-generated content degrades model quality , and the broader ecosystem ends up poisoning its own training data. If that turns out to be the dominant dynamic, the cheap tier could collapse before it becomes entrenched. I think all three of these arguments are valid and have a certain weight to them, but none of them are strong enough, in my view, to make me confident that the TEMU-fication will not happen. They might modulate how it happens, but they probably do not stop it. Initially, I went looking for an optimistic ending for this write-up, to say that software engineering is not going away , and writers are not going away , and actors are not going away . And while all of that is, I think, true, none of it should be confused with things will look the same . What I expect, and what I am to some degree already seeing, is that the people producing software, books, music, scripts, and other human-made work will not disappear , but they will get pushed into a narrower, more specialized, more “luxury” -coded part of the market, pretty much the same way hand-bound notebooks, independent record stores, and small bakeries that mill their own flour did. There will still be a livelihood in it, at times a very good one, but it will look vastly different, and there will probably be fewer people making a living in these fields. My assumption is that they will be more visible inside their niche, but less visible outside it, and they will make their case in part on the basis of provenance , where something was made by a human who knew what they were doing, and you can tell. Meanwhile, the bulk of what most people interact with will, I suspect, be generated. Some of it will be fine, and some of it will be ultra-processed , in the same sense that a frozen lasagna is ultra-processed. It will be functional, calorically adequate food , but it will not be what your Italian grandmother was making. People will nevertheless eat it because it is there, it is cheap, it is convenient, and because the alternatives have been priced out of their daily life. There is no “inevitability” to it, because none of this is really decided yet. There are still choices, made by platforms, by regulators, by consumers, and by the people doing the actual work, that will shape which tier ends up being how big and how durable. The handmade market exists because enough people kept buying handmade goods to make it viable. The human-made tier of software and digital goods will exist because enough people keep buying it, or it won’t exist at all. If you are someone who writes code, or stories, or music, or scripts, by hand, with intent, and with a point of view, I do not think the LLM is going to kill your job . I do think, however, that it is going to change the shape of the market you operate in, push you toward the upper tier (whether you wanted to be there or not) and ask you to make a more deliberate case for why your work is worth the difference in price. For the rest of us, the more interesting question is which tier we are choosing to consume from, and whether we are choosing it on purpose, or just because it was what the algorithm served us by default. I have my suspicions about the answer, but I would love to be wrong.

0 views
Unsung Yesterday

The monkey lives again

Speaking of computers that used to stop running if you looked at them funny , a few years ago, I wrote about the Monkey app that was there on the original Mac. Many software engineers will recognize the premise – Monkey was just a chaos script randomly pressing mouse buttons and keys during the night hours, and if the computer crashed because of Monkey’s random actions, the team would be able to reproduce it and try to fix it. I was also inspired to try a Monkey-like approach for something creative. In hindsight, it’s a very Unsung post , so you might enjoy it! Also, in the post, I showed this boring version of Monkey: = 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/the-monkey-lives-again/1.2096w.avif" type="image/avif"> = 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/the-monkey-lives-again/1.1600w.avif" type="image/avif"> Since then, I discovered a different version with its own icon, perhaps designed by Susan Kare: = 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/the-monkey-lives-again/2.2096w.avif" type="image/avif"> = 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/the-monkey-lives-again/2.1600w.avif" type="image/avif"> (If creative use of randomness rings a bell, here’s also an earlier Unsung post about a different take .) #apple #history #marcin wichary #process #qa testing

0 views
Rodney Brooks Yesterday

Four Time Scales for Technology Development and Deployment

I have come to understand four very different time scales for development of technologies and their deployments.  And I think people often jump between them and end up making outrageously wrong, and sometimes damaging, predictions of when in the future a technology is going to be able to do what. Time scale 1. New Research Ideas New research ideas take ten to twenty years to form before there is an understanding to bring them to really solid lab demonstrations.  Some things take much longer as there are many,  many false starts, or there is a really hard step which takes decades to crack. Once things really have been established as a solid laboratory technology there is often a gold rush phase where major new tweaks, on essentially the same idea, come along every six months or so and it feels like the ground is shaking under us. The first “computational” models of neurons were published in 1943 (McCulloch and Pitts), but it wasn’t until after a chain other models were tried, that a dominant variety became established in 1960 (Widrow), the linear threshold neurons that are recognizable as the “neurons” of today’s neural networks. Then years more work, were necessary to get to (1) good convolutional networks with (2) back propagation, allowing for learning 2 about objects anywhere 1 in an image. And then it was twenty years until in 2012 (Hinton) the larger structure, the “deep” in deep learning let trained neural network image labelling take over from conventional non-neural vision algorithms. Another decade on we got to today’s LLMs (Large Language Models), the thing that is getting the whole world in a tither.  So this one was sixty years in the research making. And it was declared dead many times along the way, but a few brave, or stubborn, souls persisted. Time scale 2. Hype generation Often there are incredible hype cycles where we go from all but a small number of people having heard of the idea to it appearing daily in the business press. And all manners of researchers and companies re-market their work and claim that they have been doing it all along.  Just look at how quickly “AI agents” went from nothing to decorating the sides of busses on the streets of San Francisco.  None in mid 2025, and now today it is hard to find a bus that has any sort of  AI ads on it that are not about agents.  And they all have AI ads on them. Then the hype dies down as new hype comes along. Above I’ve named a few. If you are 30 years old you may remember block chain and also the metaverse.  Pretty much gone now.  Computers are not heating up the world working the blockchain algorithm for bitcoin mining. Instead it is data centers for training LLMs — itself a new subject of hype, AI training. If you are a bit older you may well remember IBM Watson and even nanotechnology molecular machines. I remember when a maker of chinos had TV ads touting the nanotechnology that they had put in their pants (the ones there were selling).  And if you are old enough to get social security payments you may remember expert systems which were going to capture all the knowledge of experts and let companies lay off their workers. The problem is that many people not steeped in technology understanding may get confused between ongoing research and the hype about how it is going to change everything.  Which it only very rarely ends up doing.  Additionally, there are a lot of  delusional people who really believe things that they say, but which are impossible due to such little problems like fundamental physics.  The ratio of extraordinary hype events to actual extraordinary technologies is way too high. Time scale 3. At scale deployment The next time scale is driven by how long it takes to go from really solidly engineered product to mass adoption. Software has zero marginal cost to manufacture more copies. You don’t really need much in the way of supply chains and raw materials to go from one copy of software running on one machine to having it run on thousands of machines, if they already exist. But even so, software typically takes 20 years or more to scale up. Just because some interesting software exists it doesn’t mean that everyone is going to jump in and re-engineer their business to use it right now. Some people wait to see how well it works out for others. And other people just don’t want to change their existing business practices to adopt the new software. Unix was developed at Bell Labs starting in 1969. Commercial versions of it were shipping 15 years later, but the dominant operating system was Microsoft Windows. Then a free open source version of Unix was developed starting in 1991, known as Linux. Every computer science graduate student had heard of Linux within five years of it being established,  but it wasn’t until 2012 that it was adopted by Microsoft.  Now most backend systems and billions of mobile devices run on Linux. Hardware based systems take even longer to adopt at scale. I first sat through a talk showing a self-driving car running on a freeway outside of Munich back in 1987 (Dickmanns).  It wasn’t until the DARPA Urban Challenge of 2007 that the idea of such cars being practical got into people’s consciousness.  I first rode in a Waymo predecessor (when it was still at Google X) in 2012, out onto highway 101 and safely back to the office. Last night I rode in a Waymo in San Francisco.  They are now licensed to operate about 4,000 vehicles in the city and they are the clear leaders in the US market. But the scale is tiny compared to the number of cars in San Francisco, let alone the whole of the US.  Oh, and despite promising in the app to take me to my house the Waymo didn’t — it dropped me off somewhere else despite me being on the line with “customer support” for over 20 minutes. Getting things to work at scale is orders of magnitude harder than getting them to work at first and having your first few dozen satisfied customers.  Scale has always taken Herculean effort. However, people make the mistake of thinking adoption and scaling up the supply chains, the deployments, and the customer support will just happen.  It doesn’t. Time scale 4. Reshape the economy The themes of the two biggest hype concentrations right now are the same.  Replacing massive swaths of human labor with AI (LLMs to replace white collar labor) and robotics (humanoid robots to replace blue collar labor).  Then everyone will somehow, magically, be so rich that the world will be wonderful.  A new world economy. A new world order.  A reshaping of the economy. Many, many, many technologies have reshaped the world’s economy over the last few millennia, from domesticated animals to sailing ships in the ancient world, from domestic electrification to commercial air transportation to shipping containerization in the 20th century.  But each of these things took over 50 years of continuous at scale deployment. People think that when they hear about a new research result it is going to change everything.  And then they believe the hype about how soon it will do so, as hype-notists manipulate capital markets thought their promises. Some things fail completely in the commercial world despite high hype levels (all the companies formed to commercialize Hyperloop have now shut down, and the Hyper-hype has quietly disappeared). And then, people think that it can change the world economy in one or two or ten years. It really does take decades, essentially a human lifetime (and there is a causal correlation), to deploy a technology at large enough scale that it reshapes the world’s economy.

0 views
Sean Goedecke Yesterday

Giving and taking credit in big tech companies

Engineers often complain that visibility should be their manager’s job. In other words, they think engineers should be able to focus on the code, while their manager figures out who’s doing well and rewards them. This attitude is an extension of the “school fantasy”: the idea that your workplace should operate by the same rules as your school or university. After all, you didn’t have to worry about “visibility” during your education. You simply did the assignments and tests you were given, and if you did well you were rewarded with a good grade. Many big tech companies encourage this attitude, because it helps them recruit smart graduates. They fashion their workplaces to look and feel like a university, even calling the physical space “campuses”. But it’s still work, not school. If you treat it like school, you are going to have a bad time. The first lesson many new engineers learn is that you have to take credit for your work . If you silently jump in to help a struggling project and get it back on track, there’s no guarantee of reward. Credit will naturally flow to the project lead, not you. In fact, if this project is outside of your direct team, it’s likely you will be punished for it: to your manager, it will look like you’re simply doing nothing at all. Even when your manager is watching your work, credit is largely uncorrelated with how well you did. That’s because, unlike at school, you are the subject-matter expert on your own work . Software systems are so complicated that only the people who work on them can hope to understand them, and even that understanding is always imperfect . If even experts can’t reliably estimate the difficulty of changes, how is your manager supposed to assess your technical performance? The answer is they aren’t. They’re simply not qualified to assess it. Instead, smart managers will find engineers on your team they trust and ask them how you’re doing. On small teams that have worked on a single codebase for a long time, this works okay, because everyone’s familiar enough to judge everyone else’s work. On large teams with a high rate of codebase churn, it goes badly, since they’re just guessing. On teams with a nasty, cutthroat culture, it sometimes goes very badly, since this is a good opportunity to actively sabotage the engineers who might threaten you. Experienced engineers know how to take the credit themselves . When they do something good, they tell their manager about it. They write internal posts explaining why it was technically difficult and how they solved it (the audience for these is partially those trusted engineers, and partially the managers who will see a long technical post and think “wow!” without reading it). They actively build trust with their management chain. Worrying about this stuff is the beginning of playing politics . There’s a kind of engineer who’s learned how to take credit but hasn’t learned any other lessons yet. They’re proactive about telling people what they’ve done, and they always maintain a “brag doc” . In particular, they love to talk about the parts they did by themselves , since those are least vulnerable to other people coming in to claim credit. You can tell they’re jealously guarding whatever credit they’ve managed to accumulate. The lesson this kind of engineer hasn’t learned is that you can often accumulate credit best by giving it away . To see why, consider how credit flows up inside a tech company. I wrote above that your manager can’t assess the quality of your technical work on their own, but instead has to rely on other engineers they trust. They’ll quietly ask those engineers “hey, was this project really that impressive?“. In fact, often there are multiple layers of this at play 1 . In big companies, line managers usually don’t decide who gets promoted or who gets a raise: they make recommendations to their manager, who has their own network of trusted engineers (confusingly, sometimes these networks overlap). The point is that there is a large group of people behind the scenes who will quietly and informally judge the value of your work . Succeeding at a tech company is largely about finding ways to get these people on your side. The easiest way is to share your credit with them — and since you don’t know who exactly is in this group, you should be sharing your credit freely. When you get feedback from other engineers, publicly thank them and mention them in your internal posts about the project. Find opportunities to ask for small favors, so you have an excuse to give other people credit. As best you can, make your individual projects at least partially group projects. Sharing credit with others gives them a reason to support you. A shared project you’ve worked on reflects well on everybody: on you, for working well with others, on the people you’ve worked with, for the same reason, and for your manager, for fostering such a great environment of cooperation. Lots of people have good reason to talk that project up, because it’s partly their project too. On the other hand, a project you’ve jealously kept to yourself reflects well on nobody: you come across as antisocial and your peers come across as unhelpful. Blame operates by the same rules as credit. When something goes badly wrong, managers will ask their networks “hey, who screwed up here?” The answer to this question is never simple. Even on a purely technical level, failures always involve an interaction between multiple complex systems, any one of which could conceivably have been built so as to avoid the failure. In other words, competent engineers can assign blame pretty much wherever they want . Because of this, it’s risky to have a project for which you’re clearly the only one getting credit. When something goes wrong, the network of people who will assign blame will likely be implicated in every part of the system but yours. They will be incentivized to attribute fault to the brand-new thing that they don’t understand and are not responsible for. If instead that network had been involved in your project — if they’d been in a position to share the credit — they’d be less incentivized to blame it. Of course, engineers are (mostly) not scheming viziers who make purely self-interested decisions. When asked who to blame, they usually make a good-faith effort to answer honestly. But in an area where there’s no single clear right answer, it’s human nature to be at least a little bit guided by your incentives. Nobody likes to think they’re responsible for a group failure. Credit and blame are the currencies of tech companies (and often directly translate to the actual amount of currency you get to take home). For technical roles, managers assign credit and blame based on lots of quiet conversations with their trusted engineers. This can be a rude awakening for very junior engineers who are used to having their work assessed by an expert grader (or less junior engineers who haven’t yet shaken that mindset completely). Don’t expect to get credit simply by putting your head down and doing good work. You have to find some way to tell people what you’re doing and why it’s important: internal blog posts, mentioning it in 1:1s with your manager, or anything else you can think of. But don’t take self-promotion too far. It’s a bad idea to try and hoard all the credit for your projects, for two reasons. First, sharing credit with other people gives them a reason to talk positively about your project. Credit is not a zero-sum game: if you do it right, you can get other people to build up your credit for you. Second, hoarding credit sets yourself up as a lightning rod for blame. Projects where the credit is concentrated in one or two people are automatically 2 blamed for complex problems, because nobody is incentivized to defend them. This is a classic example of an illegible-but-essential part of a software company. I wrote about this general phenomenon in Seeing like a software company . Of course, if you do really screw up, you’ll be blamed no matter what. I’m talking here about complex failures where it’s non-trivial to attribute blame to a single source. This is a classic example of an illegible-but-essential part of a software company. I wrote about this general phenomenon in Seeing like a software company . ↩ Of course, if you do really screw up, you’ll be blamed no matter what. I’m talking here about complex failures where it’s non-trivial to attribute blame to a single source. ↩

0 views

Setting Up a Time Machine Drive from the Command Line

It’s possible to set up Time Machine drives from the command line. This is way more convenient and becomes scriptable (there’s one GUI checkbox at the end if you encrypt, so the drive can unlock itself). Also, based on my own personal experience, the Time Machine GUI can be unresponsive so the CLI is much better. I’ll be using a 1TB external SSD in this guide. Here’s how you set up a drive. Some of these terminal commands require Full Disk Access. Specifically, the commands we’ll be using later on. Grant your preferred terminal app full disk access in System Settings -> Privacy & Security -> Full Disk Access. Plug in your drive. Unlock it if you have to. Run the following to get some information we’ll need. Here is what you’ll see if the drive is currently being used for Time Machine: Here is what you’ll see if the drive is brand new: Two identifiers matter here: Confirm that you have the correct disk with this command. We know this one is the external drive due to the line. On Apple silicon the internal drive shows and . We’ll need to erase the disk next. The steps vary slightly depending on whether the drive is brand new or is an existing Time Machine drive. New drives usually ship as ExFAT with an MBR partition scheme, so there’s no APFS container yet. We can erase and convert the disk with this command: This results in a drive with a GPT scheme, an EFI partition, and an APFS container with one volume in it (read more on containers vs volumes in APFS: Containers and Volumes ). It does not encrypt the volume, enable ownership, or set the Time Machine role, which are all things we need. So we’ll delete this newly created volume and create a proper one later. Run this again to figure out the identifier: The identifier is in this case. Now use that identifier to delete the volume that was created in the step: That’s it for this section. Skip ahead to the “Create the Volume” section. If the drive is already being used for Time Machine we need to remove the destination (the disk entry in the Time Machine GUI). First, figure out the destination UUID: Then remove the old destination. We’re using so it’ll prompt you for your machine’s password. Verify it’s gone: You can double check that this worked by checking in System Settings -> General -> Time Machine. There should be no backup drive listed. If it’s still there, you can manually remove it in the GUI. Now delete the old volume. The container stays, so there’s no need to repartition the whole disk: If you get an error like: That’s Spotlight. Removing the Time Machine destination makes macOS stop treating the drive as a backup target, so Spotlight starts indexing it like any other volume and holds it open. Turn indexing off for that volume and try again: Now that the external drive has been erased, we need to create an APFS volume on the drive. Decide if you want your backups to be unencrypted or encrypted and follow the corresponding steps. Note that this only worked for me with the flag in the commands. Do not leave it out! If you skip this option, macOS deletes the volume you just created and builds its own in its place when you register the drive in a later step. It has to do with APFS volume roles. The role is for Time Machine backup stores. You can read more about these roles here: How do APFS volume roles work? . Run the following command to create a volume without encryption: Run the following command. It’ll prompt you for a password for your drive. Run this to confirm everything went well. Under you’ll see if it’s an encrypted volume. You’ll see if it’s an unencrypted volume. Two things to note here: Time Machine refuses any destination that doesn’t enforce file ownership. It can’t preserve the UID or GID of what it backs up without file ownership. Volumes created from the command line have it turned off by default. Run the following to enable ownership, replacing the path with your own external drive’s path: Run the following to double check that it worked. should be : “Registering” means telling Time Machine to use this volume as a backup destination. It’s what the GUI’s “Add Backup Disk” button does. The button and the command we’re going to run both write to . Run the following to register your drive: No output means it worked. appends to your destination list rather than replacing it. If you run into this error, try waiting a bit and then try again: Then run these commands to double check everything went well: The output containing confirms that a destination exists and its volume is reachable. Confirm it points at your volume and not a replacement: That UUID should match the one from earlier. If it doesn’t, macOS replaced your volume with one of its own, which is what happens when the flag gets left out. We can add paths we want to exclude from backups through the command line too. There are three kinds of exclusions: fixed-path exclusions, sticky exclusions, and volume exclusions. But for our purposes we only care about fixed-path and sticky exclusions. Here’s an example of adding a fixed-path exclusion: Here’s an example of adding a sticky exclusion (same command without the this time): Check any path to make sure it was added to the exclusions. You should see next to the path (If you see that means no file or directory is there, not that the exclusion didn’t register): To list fixed-path exclusions we need to read them out of the preferences plist: Sticky exclusions don’t appear in the preferences and are stored as an extended attribute on the item: Removing them is similar to adding. We use instead. The flag is still necessary for removing fixed-path exclusions but not for sticky exclusions. Here’s an example of how to remove a fixed-path exclusion: And here’s an example of how to remove a sticky exclusion: Try manually starting a backup through the command line: The command above may look like it’s stuck if your backup takes a while. You can run this in a separate terminal tab/window to monitor its progress: If you get an error like: That just means macOS started a backup automatically. Once it’s done you can verify with: The path in the output confirms that a real backup exists. You can also check the result code: means the backup was successful. Anything else means the last backup failed. This only applies to encrypted drives. From what I can tell, there’s no way to store the Time Machine drive’s passphrase in Apple Keychain using the command line. If you prefer your drive to unlock automatically when it’s plugged into your machine, you’ll need to do the following. Eject the drive (change the path name to your drive’s): Plug it back in. When the password dialog appears, type the passphrase and check “Remember this password.” That’ll save the passphrase in your local keychain so that macOS can unlock the drive automatically next time you plug it in. No need to type in the passphrase every time. Confirm it worked by ejecting and replugging once more. If you aren’t prompted to type in your passphrase, that means it worked. You can double check via the command line too: If is present, that means the drive unlocked and mounted. If you go through this process a few times there’s a good chance you’ll have several Keychain entries for old Time Machine drives. Deleting a volume doesn’t remove its Keychain entry, you’ll have to do this manually. Normally, these Keychain entries point at volumes. But since those volumes were deleted, the entries are pointing at volumes that no longer exist. We can run the following to list all relevant Keychain entries: There’s two entries. To find the one that actually points to a volume, run: So UUID points to a volume. Which means UUID is safe to delete. We can delete it like so: We can then double check that we only have the necessary Keychain entries left: However, this is just for the sake of being tidy. I don’t think having these kinds of entries in Keychain affects macOS negatively in a significant way. — the whole physical disk. We’ll need this later on when running the command. — the APFS container. This is what we’ll need for the command. (A brand new drive won’t have this one yet. It’ll get created when we erase the disk in a later step.) The volume identifier won’t always be , APFS reuses freed slots so yours may be something like or . Write down the volume UUID, we’ll need it later on to verify everything works. Fixed-path exclusions are tied to a path regardless of what is there. Use these exclusions for anything that gets deleted and recreated, like build caches. Sticky exclusions are the default. They’re tied to the item itself. It follows the file if you move it and copies inherit it. Deleting and recreating a directory loses its stickiness. https://support.apple.com/guide/mac-help/back-up-your-mac-with-time-machine-mh35860/mac https://keith.github.io/xcode-man-pages/diskutil.8.html https://keith.github.io/xcode-man-pages/tmutil.8.html https://eclecticlight.co/2024/11/21/how-do-apfs-volume-roles-work/ https://eclecticlight.co/2024/04/02/apfs-containers-and-volumes/ https://eclecticlight.co/2021/10/12/juggling-with-hfs-and-apfs-partitions-and-volumes-a-primer/

0 views

I'm (mostly) picking models on speed now, not intelligence

For the first time I can remember, I'm not choosing my daily driver models on raw intelligence. I'm choosing them on speed. This is probably going to age like spoilt milk, but right now, models around the ~Opus 4.6 level seem to be 'smart enough' for most of my daily tasks - code, pulling together research, designing slide decks and doing analytical tasks against a plethora of databases. While like most I was hyped to play around with Fable, ironically the US Gov shutdown gave everyone time to get used to Opus again. When Fable came back post-hype with additional guardrails, the first thing I noticed was just how slow it is [1] . So slow, actually, that I switched back to Opus pretty quickly. I've spent a lot of my career making software fast. It's remarkable how much better software feels to interact with when it's fast . In my experience (and many studies), you can take the most beautiful product, but if it's slow, you won't enjoy using it. Equally, you can take a very basic product that's super fast and it will feel brilliantly utilitarian. [2] It's clear to me that when only a few, big, slow models cleared the aforementioned (and hypothetical) intelligence bar, it wasn't worth the trade off really to use a slower model. Whatever speed you gain you quickly lose in having to redo it because it was broken. I've written before about agents feeling like dialup, back when frontier models were crawling along at 30-60tok/s. That has changed faster than I expected. The key fact I remember is that to humans, ~100ms feels 'instant', the gold standard. I reckon 100tok/s output on a model is about as fast as I can keep up with. After that, it comes in faster than I can (skim) read. This isn't an exact bar, because increasingly most of the model time is spent in reasoning, and not actually showing you output tokens. And also it massively varies on your output, prose gets output with far fewer tokens per character than code, so your mileage may (and will) vary. But roughly, 100-200tok/s to me seems pretty damn fast. Below 50tok/s output feels increasingly slow. Ironically, going past 200tok/s seems almost unnerving - you can try a model out here at 10,000tok/s+ (!). I'm sure this feeling will edge upwards as we get used to it and push our agents to do more complicated work. Given the plethora of new models that I think are ~clearing the aforementioned bar - such as GLM5.2 and DeepSeek V4 Flash GA - that are open weights and small(er), we now have a wide range of models and speed. If you look at the speed rankings of various providers for GLM5.2 on OpenRouter you can see the enormous range of serving speed - from less than 30tok/s at the bottom to 129tok/s at the top. This is another huge plus to the open weights ecosystem. While there are great benefits in cost that are obvious, the fact that providers are also incentivised to compete on speed like this is really interesting. [3] If you're familiar with Pareto's Principle and Amdahl's Law you'll know what's coming up. Assuming "good enough" models continue to get faster and faster, increasingly the speed benefit is lost to tool calls, and us humans overseeing them. Take an agent using a model processing at 50tok/s. Most of the time is spent waiting for inference to come back. Now run the same turn at 250tok/s and you'll see that increasingly you are bottlenecked on tool calls on your "local" machine and your decision making. Rough numbers, but the shape holds. The 5x speedup on the model only buys you a 2x speedup on the turn, because the other 25 seconds didn't move. And even worse , making your local machine faster on these tool calls is sort of stalling out, because hardware costs have gone parabolic because of AI. Yet again another weird derivative effect of the AI market. So I suspect (for now at least) there is a limit to how much demand there will be for speed, past a certain point. No doubt there'll be some examples where huge amounts of reasoning are useful (like mathematics research), and speeding that up is helpful. But I'd expect many agents to start getting bottlenecked on your local/internal hardware, database calls and other bits of latency. Interestingly OpenAI reduced the cost of their Luna variant by 80% just before the DeepSeek V4 Flash GA release, making it remarkably affordable for a frontier model. While I haven't had as much luck with getting great output out of it vs GLM5.2, I think it points towards an absolute bloodbath of pricing at this end of the market. You can see this happening on OpenRouter with GLM5.2 - endless discounts being offered to try and attract customers in. We're already down to $0.42/$1.32/MTok on GLM5.2 - 5% of the price of Opus. While the very cheapest is slow, for not much more you can get 109tok/s from DeepInfra. As the next generation set of GPUs start being deployed over the next few months - Nvidia's Vera Rubin series and AMD's MI400s, amongst others - the new HBM4 memory in those chips will deliver a 2x+ speedup on output tokens from memory bandwidth alone, plus more on top from additional compute and interlink. In 2027 it's very possible we'll have very good quality models, at reasonable prices running at 500tok/s+. Staring at "still thinking on xhigh effort" for most of your day may finally become a thing of the past. What will be interesting to watch for - and I'm not sure where to bet - is if the vast 2-3T+ param models actually do perform dramatically better for everyday tasks. On one hand it feels like we've hit a sweet spot right now, on another having an order of magnitude more intelligence in the model may make that sweet spot look very, very primitive. Second of course is the endless guardrails firing, which tend to happen at the worst possible time - just when I'm getting deep into a difficult task and I feel I could do with the extra "firepower" that Fable offers, but that's a story for another day. ↩︎ A classic example is something like Craigslist or Hacker News. While they look dated, they are so damn responsive you don't notice. Equally, your "standard" SPA app serving 30MB of React to render a homepage feels like treacle and a chore to use most of the time, despite what was surely an enormous spend on design and product. ↩︎ I'm aware that both OpenAI and Anthropic have offered fast variants of models for a long time, but the API pricing is eye watering. Unless you are tokenmaxxing your benchmarks with a blank cheque, I haven't come across anyone that uses them for day to day operation. Having great models that are super fast at a reasonable price is a very recent addition to the market. ↩︎ Second of course is the endless guardrails firing, which tend to happen at the worst possible time - just when I'm getting deep into a difficult task and I feel I could do with the extra "firepower" that Fable offers, but that's a story for another day. ↩︎ A classic example is something like Craigslist or Hacker News. While they look dated, they are so damn responsive you don't notice. Equally, your "standard" SPA app serving 30MB of React to render a homepage feels like treacle and a chore to use most of the time, despite what was surely an enormous spend on design and product. ↩︎ I'm aware that both OpenAI and Anthropic have offered fast variants of models for a long time, but the API pricing is eye watering. Unless you are tokenmaxxing your benchmarks with a blank cheque, I haven't come across anyone that uses them for day to day operation. Having great models that are super fast at a reasonable price is a very recent addition to the market. ↩︎

0 views

New Declarative Website Menu with Invoker Commands and noscript Hacks!

Read on the website: I updated my website menu to be prettier on mobile, and I did not sacrifice accessibility and noJS folks! Go check it out and adopt it!

0 views
fLaMEd fury Yesterday

Miley Cyrus, what's going on?

What’s going on, Internet? I jumped on YouTube and found six new Miley Cyrus videos sitting there waiting for me. Six of them. Was this the rollout of a new album? Why hadn’t I heard about this already? It wasn’t. They’re just videos for Something Beautiful , last year’s record, and they’re the last pieces of the pop opera film that went with it. I caught the film when it came out last year in the theatre but never came back to the album. These were all released 17 hours ago, when were they made? Is she just emptying the vault before a new rollout? Let’s have a quick surf around the web to see what’s going on. She’s had a big week, is what’s going on. On the 27th she guest edited Wonderland’s summer issue . Next day she signed to Atlantic . Columbia’s done after Endless Summer Vacation and Something Beautiful. Four days after that, six videos. Turns out it’s just a clear out. Everything left over gets dumped on YouTube. The next one will be her tenth. Something Beautiful was an experimental album, will the tenth be similar? Who knows. She’s never really made the same record twice. Good for her, but it’s also why I keep going back to my favourites. Not the new album I got excited about, then. Here are the six new videos. Something Beautiful never lived up to Plastic Hearts for me, and I kinda just want more of that, but I doubt it. Either way, I’m here for the next era. 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
Farid Zakaria Yesterday

A C++ toolchain from 357 bytes, in Bazel

I have been fascinated and amazed by stage0 for a while now ever since I learnt about it via Guix using it to provide twenty two thousand packages source-bootstrapped from the 357-byte seed. What is stage0? It is a chain of compilers and assemblers that can be built from source, starting from a 357-byte program that can eventually build a recent GCC. 1 Since then, NixOS and other distributions have also adopted the same approach to minimize their binary seed which makes it possible to onboard new architectures and platforms much simpler. What’s always frustrated me as a Bazel (& Buck ) user is the reliance on prebuilt toolchains even for things that should be built from source easily like protoc . Bazel has given up trying to provide a hermetic C++ toolchain and the upstream rules_cc ruleset just points you elsewhere: Configuring a hermetic toolchain makes your build more deterministic. rules_cc itself does not yet offer a hermetic toolchain distribution I had attempted to provide a stage0 hermetic C++ toolchain in October 2024 via https://github.com/fzakaria/stage0-bazel . I made substantial process through the bootstrap process but I did not make it far enought to be usabale. To be honest, I was also a little disheartened that no one else in the community thought it was the greatest thing since slice bread. Everyone seems to be content with using prebuilt toolchains as they go deeper into MODULE.bzl madness . I had put it aside for a while, but I have been thinking about it again recently. The steps are mechanical and the process imitates existing distributions, so this became a perfect project for me to throw at an LLM to finish. 2 You can now leverage the toolchain to build in Bazel and have it compiled by a toolchain whose entire ancestry is in the repository from that same 357-byte seed . 🎆 How complete is this toolchain? I pointed the toolchain at Abseil and GoogleTest straight from the Bazel Central Registry without any patches . We then can build and run their testsuite to provide a sanity check that the toolchain is working correctly. We use a to filter tests that require . Abseil marks as a , and Bzlmod drops dev dependencies of non-root modules. That is us building Abseil and GoogleTest, from the registry, unpatched, compiled by a toolchain that began as 357 bytes of hex. How can I be so sure this is a hermetic toolchain? The toolchain includes an audit report that uses Bazel’s aspects to inspect every action in the build graph and verify that it only executes programs built by the toolchain itself. The report is generated by running and will fail if any action executes a program outside of the Bazel output tree. 3 The report is two lines long: Unfortunately, since runs a shell it takes as an absolute system path that is also listed as a seed binary. ’s attribute is a string, and the shell is not a declared input of the action, so no artifact this repository built can provide it. Building toolchains from bootstrap seeds was never a priority for companies like Google where they control the entire build environment. However we seemed to have adopted the same approach as Bazel and similar build systems have become more popular in the open-source community. We should strive to make our builds more reproducible and hermetic, and this is a step in that direction. Once you can reach a recent-enough GCC, you can build any C/C++ program and beyond easily.  ↩ Consider this the disclosure that I used an LLM to help me write the remainder of the toolchain.  ↩ We also set to disable Bazel’s built-in C++ host toolchain detection.  ↩ Once you can reach a recent-enough GCC, you can build any C/C++ program and beyond easily.  ↩ Consider this the disclosure that I used an LLM to help me write the remainder of the toolchain.  ↩ We also set to disable Bazel’s built-in C++ host toolchain detection.  ↩

0 views
alikhil Yesterday

How to control RGB on RAM sticks, motherboards, coolers, graphics cards programmatically with OpenRGB.

When I was building my gaming PC a few years ago, I bought a second-hand pair of RAM sticks with RGB lights. It was entertaining to see them glowing and changing colors. I did not bother myself to control them. Some time later, I got sick of gaming and made a decision to rebuild it into a self-hosting server. The PC moved from my table to an under-TV shelf in the living room. And here, glowing lights became distracting during watching TV or when we have guests sleeping in the living room. Therefore, I started searching for ways to control/disable RGB lights. After some search, I encountered OpenRGB . It’s open-source RGB control software that is independent from manufacturer software. It supports color syncing across several devices and has a community-managed effects library . It has a long list of more than 2,500 supported devices and, hopefully for me, my Corsair Vengeance was there! What a great piece of software, right? It’s a shame that I needed this software only to disable RGB . OpenRGB runs on Linux, macOS, and Windows. You can download the package for your operating system from the releases page . On my Debian-based server, I downloaded the package and installed it with: The package includes the required udev rules. If you use an AppImage, Flatpak, or a build from source, install the udev rules too. Without them, OpenRGB may not be able to access the RGB hardware without running as root. Before creating the service, check that OpenRGB can detect your devices: Make a note of the device numbers you want to control. Mine were and . I needed the RGB to turn off every time the system starts. So I ended up with the following systemd service. First, test the command manually. is black, which turns the LEDs off. The mode is supported by my devices; use the output of to check which modes yours support. When that worked, I created the service below. Now the RAM lights turn off automatically on every boot. No proprietary RGB application, no running desktop session, and no bright lights in the living room. If you have devices with RGB lights, check whether they are supported by OpenRGB . You might find a more creative use for it than I did and build some nice RGB animations.

0 views
Rob Zolkos Yesterday

A Year on Omarchy. No Regrets.

I was at home, checking which Omarchy theme I was using, when I glanced at the About window and saw the OS age: over a year. That surprised me more than it probably should have. Not because Omarchy had been difficult, but because it had not been. A year had come and gone with very little fuss, which is about the best review I can give a daily work machine. I had tweeted it the simple way: Over a year on Omarchy now. No regrets. That was not meant as a grand claim about operating systems. I am not here to tell you macOS is bad, Windows is bad, or Linux has somehow won. I used macOS happily for a very long time. My first serious Mac was a 12” PowerBook, about a year before the Intel switch. After that I bought the first 16” Intel MacBook Pro and stayed in the Apple world for years. I converted plenty of friends and family along the way, partly because I liked the machines and partly because I did not want to keep fixing their Windows problems. I was not looking for a reason to leave. I was always Linux curious though. I had played with Linux From Scratch , Gentoo , Ubuntu , and Asahi on the Mac. My servers were Linux, so the operating system itself was never foreign to me. But desktop Linux was always the experimental machine. The one I poked at. The one I learned things on. Not the one I trusted when I had paid work to do. That distinction mattered. I could tolerate a half-working Linux system when I was tinkering. I could not tolerate it when I had client work, coding, screenshots, screencasts, email, Basecamp, Slack, and a normal day to get through. The Mac kept pulling me back for practical reasons. CleanShot was a big one. A lot of my work output involves showing what I built, recording quick demos, documenting bugs, or proving that code works. I also cared about the aesthetics. Fonts, keybindings, polish, the general feel of the machine. I was familiar with it and familiarity is valuable when you have work to do. Omarchy changed the equation because it was not another blank Linux canvas asking me to spend a month becoming my own desktop environment maintainer. It had opinionated defaults. You could touch nothing after the default install and have a good time. The omakase idea matters there. So does the manual . It gave me a supported path instead of another pile of choices. It also arrived at the right time. Linux itself has improved tremendously. A lot of the software I use is now web-based or Electron -based. The number of important apps that are only on Mac or Windows keeps shrinking, and the alternatives keep getting better. So I forced myself to use Omarchy as my daily driver for a week. I still had the Mac next to me. If I needed something, I could swivel over and use it. But as the week went on, I stopped swiveling. Eventually I closed the lid. I was productive. That is the whole thing. I could code. I could do client work. I could communicate. I could ship. And then the tiling window manager got me. Before this, I usually wanted multiple monitors connected to the Mac. With Omarchy, one monitor became enough. I can switch workspaces instantly, and that changed how the machine feels. My normal setup now is usually four workspaces, though it can stretch to eight. Workspace 1 is terminal, running Herdr and my coding sessions, with Pi and Claude Code sessions inside it. Workspace 2 is the browser. Workspace 3 is HEY and Slack . Workspace 4 is Basecamp . It sounds small until you live in it. The context switching is fast enough that extra monitors feel less necessary. The machine feels snappier. I get more computing for the buck. Less memory pressure, less CPU churn, fewer distractions. Some of that is my hardware, for sure. My main desktop is an Intel 14900 with 96GB of RAM, a 2TB drive, and a 16GB Nvidia card. It is a beast. But Omarchy makes that machine feel like mine in a way I had not felt for a while. That changed my relationship with hardware too. In the past, my MacBook was the computer. It sat on the desk connected to an external monitor, keyboard, and mouse. Everything orbited around it. Now Omarchy runs on my desktop and on my Framework 13 laptop. The laptop is nothing exotic; I mostly use it to SSH back into the desktop. My old 14” MacBook Pro with 64GB of RAM is still around, but it has been repurposed into an LLM experimentation machine because it can run some models that do not fit nicely on the desktop GPU. I still like Apple hardware. I just no longer need every serious machine I own to be Apple hardware. That is a bigger shift than it sounds like. I broke out of the bubble where I believed I needed an Apple computer to be productive. I can build an Intel or AMD machine, put Omarchy on it, and do my work. I can experiment with hardware without paying the Apple hardware tax every time I want a serious computer. The customization helps. I care that the machine looks good. Omarchy looks good by default, but I can also make it mine . The theme I happened to be using when I noticed the OS age was Retro 82. My favorite is my own version of Synthwave 84. Crisp font rendering matters. Theming matters. It sounds cosmetic, but it is part of whether I enjoy sitting in front of the thing all day. The other surprise is how well Omarchy pairs with AI agents. Linux has always been configurable, but much of that configuration lives in text files. That makes it unusually friendly to an agent that can read, explain, and carefully change the system. For someone technical who wants to understand more about their machine, that is extraordinary. A small example: VoxType , the speech-to-text tool that comes with Omarchy, stopped responding to its keybind one day. I opened Claude Code and asked it to figure out why VoxType was not working. It checked the system, found that the process had gotten stuck, stopped it, restarted it, and the tool came back. That is not a daily event, but when something does go astray, having an assistant that can inspect the system and explain what it is doing changes the experience. It makes Linux less mysterious without hiding how it works. That same feeling shows up when I fix Omarchy itself. I have had a handful of small PRs merged upstream: a 60-second inactivity timeout for the Walker launcher, AAC audio for screen recordings so Windows users could actually hear them, a silent screen recording option, update progress that does not look frozen, and audio normalization so screencasts are not absurdly quiet. None of these are grand architectural contributions. They are daily-driver paper cuts. Screen recording is important to my work, so when something was not quite right, I could figure it out and propose a fix. That is empowering. I can fix my own tools without asking anyone’s permission. If the fix seems useful to other people, I can send it upstream. You do not get to do that with core macOS or Windows behavior in the same way. There are still minor annoyances. Some software makers do not think about Linux first. Codex is not available there yet. Claude Code’s app eventually came to Linux, but it was not there on day one. These gaps are real, but they are less frequent than they used to be, and they bother me less than I expected. I would not tell everyone to switch. If you prefer using the mouse for everything and have no interest in learning keyboard shortcuts, Omarchy may not be for you. If you are not willing to pop the hood now and then, maybe stay where you are. But if you are technical, semi-technical, curious, a developer, a Mac power user, or just someone who likes computers and wants the machine to feel more like yours, I think it is worth trying. Especially if you tried desktop Linux five or ten years ago and bounced off. It is different now. Omarchy in particular gives you a system that works very well out of the box, with taste, performance, and a path through the rough edges. Omarchy is the first desktop Linux setup that crossed from interesting experiment to daily work machine for me. That is the post. Not that everyone should leave their current operating system. Not that I regret my years on the Mac. I do not. But I no longer feel tied to that ecosystem to get serious work done. A year passed with little fuss. The MacBook lid stayed closed. My work still got done. No regrets.

0 views
fLaMEd fury 2 days ago

Open Tabs July 2026

What’s going on, Internet? If you don’t folllow my Bookmarks through the feed , then here’s the bookmarks from July. Enjoy. For more, check out the bookmarks archive, and subscribe to the feeds if you want these as they happen. 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. Rant about blogs and the IndieWeb - Dom Corriveau Okay, this one had me in tears. Such a good read. Your Metablogging is Lame as Hell – Absurd Pirate’s Internet Blog Lol, kinda nodding my head here. Blogging about Bear Blog blogs is becoming a bit of a thing, isn’t it? don’t let Web nostalgia obscure a positive Web future This has always been something I’m an advocate for. Draw inspiration from the 90s/2000s web, but don’t rely on old and outdated hacks. Take advantage of the capabilities we have today, but don’t go overboard with modern bloat. Pseudonym as an escape I’ve written about this previously. The pseudonym isn’t hiding; it’s breathing room. Been enjoying not being my IRL name online since 96. Websites Are Not Going to Die If Google stops linking to websites, it stops being a search engine. Another good reminder to keep the personal website going while corp search eats itself. The Web Won Because It Got Easier Worth a read for anyone pushing the indie web. Knowing how it all works doesn’t make it easy for the next person. Netizen Contributing to the internet for the good of it, not for profit. Now I’m wondering what my netizen contributions will be… The Music Discovery Problem Music discovery takes intentional effort once the algorithm’s gone, and that’s fine. I should write up and document my discovery process. We need a physical digital music experience Olly’s model already exists in the audiobook world. Libro.fm sends a slice of my audiobook purchases to my local (physical) bookstore. Hardcore IndieWeb: Run your own website 100% independently for only $0.01/day Great read. The Overthinkers Guide to rekindle your Blogging Mojo Maybe some inspiration for some of you to start writing again. Sometimes I just cbf writing, lol List of things I love seeing in personal webspaces A non-exhaustive list of things Folkmoss love seeing in blogs/personal websites. What should a personal website be? Ratfactor asks about what a website should be. A reflection of yourself, not some idea of what a website is meant to be. Kevin Boone: Why Idon’t really care if web content is AI-generated Kevin Boone talks about how scepticism should apply to everything online, not just the AI-generated stuff. Trust the source you know, not the medium. It feels like people forget how crap search results have been since 2008 with the rise of “SEO Spam”. Humans have been shit long before AI. Dirty Little Zine — Free 8-Page Printable Zine Maker Super cool little tool that will help you create simple 8-page zines What We Lost When We Quit Using Crappy Old Web Forums A fantastic read about forum software all the way from Usenet to Discourse, which is where we ended up at the 32-Bit Cafe, same as every other forum these days. RIP phpBB. #11: fLaMEd Fury (flamedfury.com) - Wonders of Web Weaving So, I did a podcast. James had me on his podcast to talk about my corner of the web. We got into gaming and TV communities, music, and why the indie web is worth it.

0 views
Brain Baking 2 days ago

Favourites of July 2026

The summer holiday is halfway. I somehow managed to read eight books in the past three to four months—including cheating by resurrecting a previously discarded book and by diagonally scanning a creativity-related book to find out if there was anything I wasn’t yet aware of. I was quite frustrated by my inability to consume words through physical pages for the last year due to parenting; this is another small win for me. I took the eldest to the city centre and of course we ended up in the bookshop where I bought Blaise Pascal’s biography by Graham Tomlin in a whim. I consider that another win: I once started his Pensées but it didn’t yet click. My gut told me to grab that book. I am glad my gut is still intact. Lifts up shirt . The real one as well, thankfully. Previous month: June 2026 . June was a really good month video game-wise. July wasn’t: cero cero cinco . I did try my hand at Void Stranger and got to room eighty-ish but the summer holidays invite outside play here, not inside. So I shifted gears and tried to pick up the board gaming hobby again as that one was doing really bad this year. The shelf cleanup made room for new ones: so far I picked Pirates of Maracaibo and my wife chose Cozy Stickerville . That’s yet another hobby getting quite expensive: the Pirates box was . For a standard-sized box that holds mainly cards and a few cardboard sheets to punch out, that somehow feels very steep. I’ll have to dig into the price history a bit more. Here’s the BGStats summary of this month’s plays: GAMES PLAYED IN JULY 2026 (BGStats summary) The Matcha expansion of The White Castle is well worth the purchase: it streamlines nearly everything in the base game that I found slightly annoying (one more turn, more lantern combo activations, even more variety, …). We’re at play number eight in Dorfromantik: Sakura and just unlocked the ability to collect sakura flowers. Playing such a lighthearted legacy game with the wife is both relaxing and exciting! Yet again, I find myself knee-deep into the fountain pen rabbit hole, so apologies for the fountain of (ha!) pen-related links in here. Related topics: / metapost / By Wouter Groeneveld on 1 August 2026.  Reply via email . The Pen Addict ranks all Pilot CH 912 custom nibs . The Soft (fine) medium wins and my favourite, the Waverly, does poorly. To each their own! UK Fountain Pens has interesting reviews on their blog/site . I think I already posted these, but there’s a theme going round: If I Could Only Keep 10 Pens . I saw The Well-Appointed Desk’s post first. Thanks! This is a 2018 post, but Tom Gidden’s Flex And The Art of Line Variation is a gold mine when it comes to making sense of “flexible” nibs, both old and new. Winnie Lim wrote a letter to her 10-year old younger self and warned her not to play the status game (and more). Another favourite fountain pen blogger that also sketches, Parka Blogs (Teoh Yi Chie), wrote a review of the Pilot Custom 743 with the Falcon nib, the one I bought last week. I haven’t yet encountered ink flow issues as I’m not a good “flex writer”—yet. You might have heard it already: as Roy Tang puts it, the end is nigh for physical video gaming . Nintendo won’t save us this time I fear, Switch 2 is also evolving that way. The Gentleman Stationer quips: chase nibs, not pens . Will do! Clicks buy (again) David reviewed Drop Duchy an indie game mixing Tetris with deckbuilding? Sounds right up my alley! Marcus The Boardgamer shared his current top 10 games over at Mastodon. Fude Fan put out an updated guide on how to buy pens and ink directly from Japan . I really enjoyed this designer diary post from the makers of The White Castle: Matcha . They won’t play the game without the expansion anymore! On a strange corporate looking blog I found a summary of unique Kit-Kat flavours exclusive to Japan . That list goes on and on and on! Nagasawa Pens is a well-known store in Kobe, Japan that collaborates with the Big Three Japanese brands to sell unique and limited edition variants . The more you know! In 2021, Jane from Yoseka Stationary wrote about the origins of the Sailor Naginata Togi nib. Many nibmeisters nowadays offer similar grinds like “katana” or “blade” that resemble the Naginata Togi. I have a Kodachi on my list from Mr. Nagahara Junior. Related to that, Parka Blogs compares Sailor specialty nibs before and after 2015/2025 . In case that wasn’t yet clear: the pen is Mightier than the Keyboard . Ennui Vagaries agrees. A Kelson Vibber conspiracy theory: genAI uses a lot of em-dashes because it’s trained mainly on WordPress blogs and bloggers use a lot of em-dashes—to they? Did you know you can fit a Sailor nib inside a standard JoWo/Bock housing? Or Pelikan or whatever? Thanks to Flexible Nib Factory , you can!

0 views