Latest Posts (20 found)

Google Earnings, The Frontier Case, Amazon Earnings

Google's earnings seemed to confirm the Anthropic hedge; it was Andy Jassy who explained why their — and Amazon's — capex was justifiable.

0 views
Unsung Today

When commit means cancel

A strange thing happens when you press Enter on an empty item in a list in most text editors – the entire list item disappears: This feels counterintuitive. Isn’t Enter for committing and adding more things? Wouldn’t Backspace be the right key to press to break a list? Yes, and no. I am not sure who invented this pattern (I spotted it first in Word 95), but that someone understood a strange interaction contract existing in text editing – Enter is actually an escape hatch. In text editing, no matter where you are, you can always press Enter multiple times to just create more room for writing. In an app that doesn’t cancel a list on Enter, you can face a terrifying moment where you get stuck in a list, and getting stuck is never fun. This principle feels so useful that I see more and more apps apply a version of it for other things. For example, in many modern text editors pressing Enter after a headline returns you to regular text, just so it’s not as easy to get stuck in a headline style: #errors #flow #keyboard #text editing

0 views
Kev Quirk Yesterday

📝 2026-08-04 15:43: Thinking about selling the 64GB RAM from my laptop and paying off my mortgage...

Thinking about selling the 64GB RAM from my laptop and paying off my mortgage... Thanks for reading this post via RSS. RSS is ace, and so are you. ❤️ You can reply to this post by email , or leave a comment .

0 views
Unsung Yesterday

“Some guy named Paul”

An interesting 20-minute Config talk from the Instagram designer Rose McManus: = 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/some-guy-named-paul/yt1-play.2096w.avif" type="image/avif"> = 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/some-guy-named-paul/yt1-play.1600w.avif" type="image/avif"> It covers some of the same areas we recently talked about: diacritics and Polish S (and a fun video about English conventions from a while back ), but it tackles them on a higher level. McManus talks about how people express themselves via their usernames, how that changes in various countries of the world and for what reasons, how it intersects with some UI considerations, and how people use it creatively – and also, sometimes, abuse it. This is the K-pop star IU. Uh her Instagram handle is “dlwlrma.” And I think at first this maybe seems already like complete hyperreality, like it’s bearing no relationship with her Hangul name, or even with her stage name. But actually, I think this is at the third stage of Baudrillard’s theory because really “dlwlrma” is Lee Ji-eun’s Hangul name typed out on a Korean keyboard but backwards, distorted, while that keyboard is set to render Latin characters, almost like a cipher. And then her display name is her Hangul name typed out with one of the characters changed, so it’s like a pun. I didn’t feel the talk stuck the landing – in the end, I wasn’t very sure why the decision that was made was made. But there’s a whole lot of stuff before that was fascinating and thought-provoking. #conference talk #localization #youtube

0 views

Bonsai: Compiling Queries to Pruned Tree Traversals

Bonsai: Compiling Queries to Pruned Tree Traversals Alexander J Root, Christophe Gyurgyik, Purvi Goel, Kayvon Fatahalian, Jonathan Ragan-Kelley, Andrew Adams, and Fredrik Kjolstad PLDI'26 File this under: “so elegant, why wasn’t this discovered sooner?” This paper describes a generic language (Bonsai) and compiler for efficient tree traversals. The language is structured such that a simple compiler can quickly generate efficient code. The examples from the paper fall into two buckets: SQL-like queries and spatial data structures. Here is some example code from the paper which describes a SQL-like operation on a set of points: A is a structure with two elements ( , and ). The function returns the minimum associated with any point that has an x value within the range . And here is an example from the paper which describes a ray tracing function: The function finds all triangles which intersect a given ray and returns the one that is the closest to the origin of the ray. The key point of the paper is that both types of functions can be implemented as tree traversals. A key design point that makes Bonsai feasible is metadata stored in the trees which represent sets. Tree metadata is specified separately from queries. The following snippet from the paper contains a tree data structure represented as an algebraic data type: A set of points is represented as a tree. Leaf nodes hold points. Interior nodes have pointers to and children, and four pieces of metadata ( ). The keyword is used to describe the meaning of the metadata. The expression means that the value of all x fields in all points contained in the subtree lies within the range . The expression means that the minimum value of the field in any point in the subtree is . The Bonsai compiler takes a query and a description of the tree metadata as input and generates C++ code to perform the query via traversing the tree. There are three key properties of this process. The first is that the generated code for all filter and reduction operations are fused together. In other words, there are no intermediate trees (i.e., sets) produced during query execution. Secondly, tree metadata is used to accelerate both filtering and reduction operations. For filtering, the generated code checks tree metadata to determine if all data elements in a subtree will be accepted by the filter, or if all elements will be rejected by the filter. If all elements will be rejected, then there is no need to traverse the subtree. If all elements will be accepted, then there is no need for further evaluation of the filter expression for the subtree. In this case, traversal into the subtree can be skipped if the root of the subtree has metadata containing a pre-reduced value ( in the example above). Fig. 4 shows IR corresponding to two filtering examples. In both examples, there are two types of leaf nodes in the tree. nodes contain a single value whereas nodes contain an array of values. Fig. 4a shows the IR for a single filter expression . Here is the code, annotated with some comments to describe the semantics: Fig. 4b shows the IR for the logical and of two filter expressions: : Code generation tracks a symbolic interval associated with each expression. An interval is represented by two expressions: one that evaluates to the lower bound of the expression and one that evaluates to the upper bound. This interval analysis is used to produce the code that implements and . Interval analysis is fast to compile but can produce code that suffers from false positives. Symbolic interval analysis is general enough to handle spatial filters (e.g., those used in ray tracing). Fig. 7 compares Bonsai to a state-of-the-art library ( FCPW ) for geometric queries: Source: https://dl.acm.org/doi/10.1145/3808256 Fig. 8 compares Bonsai to relational databases for range joins. The range join logically computes the Cartesian product of two relations, and then removes elements from the result which are not near each other according to Manhattan distance . Source: https://dl.acm.org/doi/10.1145/3808256 Dangling Pointers A logical extension of this process would be to automatically determine what tree metadata would be most useful for a set of queries. Thanks for reading Dangling Pointers! Subscribe for free to receive new posts.

0 views
Martin Fowler Yesterday

Fragments: August 4

There’s been a fair bit of publicity of the Open AI “rogue agent” that hacked into Hugging Face . This prompted Anthropic to check what their models were up to and, to my complete lack of surprise, discovered three incidents where models had gained unauthorized access to data in other organizations. Simon Wilison concluded : It’s abundantly clear now that running evals of cyberattack potential in models is a spectacularly risky business. Every AI lab needs to pay attention to this. Keeping a close eye on what’s happening in those sandboxes is crucial It strikes me that this is akin to a virus escaping from a laboratory. It makes clear that the model builders are not putting sufficient controls in place to prevent these lab escapes. They are morally responsible for any consequences of this, and that should extend to legal liability too. The bigger concern however is that this same kind of thing can happen with any organization running open-weight models. Lots of labs playing around with dangerous tools and little idea how to contain them. We are sitting in state that Johann Rehberger describes as the Normalization of Deviance in AI . No big disasters have occurred yet, despite all of these worrying signs. But when does our Challenger-moment appear? ❄                ❄                ❄                ❄                ❄ If the sense that we’re in the calm before a storm of rogue AIs worming their way into sensitive software systems isn’t enough, there’s also knowledge that AI is also a financial bubble. Big advances in technology, whether it be railways or the internet, come with bubbles, and those of us old enough to remember the dotcom bubble see all the signs of that now - only bigger. The problem is that bubbles may be obvious, but the way they grow and pop, particularly when they pop, isn’t as clear. The dotcom bubble was widely understood to be one, indeed the chairman of US Federal Reserve talked of irrational exuberance . The trouble is that he said this in 1996, and the bubble took years to grow and burst. Even after the bubble popped, an investor would have experienced an excellent 10% per year gain since 1995. So with that in mind, what to make of the warning signs of this bubble? There are various folks calling out flashing red lights, but I confess I’m not enough into financial and economic analysis to gauge how reasonable these warning signs are, or how seriously to treat the sources pointing to them. Those caveats aside, I’ll mention a couple A substack called “Groundbreaker” calls out a parallel to mortgage crisis of 2008/9 . They say the key indicator of that event was “the second derivative” - that is the point when the rate of increase of prices started going down. The point being that the fuel for this bubble, like many bubbles, was that people believed prices were going to keep increasing, and thus it was good to invest. Once the rate of price increases started slowing, then that was a sign that this confidence was starting to ebb, and an early signal of the crash to come. They see the AI bubble as similar, a credit driven asset cycle, where the assets are data centers rather than houses. The article’s argument seems sensible, but the problem with an argument like this is that it’s all very well to say this flashing red light flashed before the last financial crisis, but it doesn’t talk about how often the light has flashed without a following disaster. Another anonymous Cassandra-wannaby is “Hedgie” a financial X-poster pretending to be an intelligent hedgehog. They noted that Alphabet’s revenue is up, but they are spending even more on capital investments . Much of their gains came from paper increases in the value of their stock in Anthropic, which is highly dependent on the bubble’s continuing expansion. Is this a sign that Google is resting on increasingly shaky financial foundations? Chatting to some of my friends closer to all this, they don’t think Google or Anthropic are the weakest link. They think OpenAI and Oracle are the companies most exposed. We’ll need powerful magnifying glasses to find a suitably sized violin for those companies should they collapse. But is this motivated reasoning? After dodgy sounding anonymous people on the internet, here’s a story from a more trustworthy source giving lots of details on Oracle’s investments in AI , much of it for building data centers that power China and Middle East efforts. “Well-respected A.I. analysts” indicate that Oracle provides over 20% of China’s known A.I. computing power. Doing all of this has created a mountain of debt: Oracle’s debt-to-equity ratio is 500%, compared to 15% for Alphabet. Also on more concrete and less anonymous grounds, there’s been a crash in South Korean memory stocks . Is this a leading sign of a wider collapse? Or should we remember that the late 90s saw five stock market corrections of over 10%, each time recovering, before the bubble finally popped. ❄                ❄                ❄                ❄                ❄ All this talk of rogue AIs and popping bubbles sounds rather dreadful, and John Prideaux made perceptive analysis of this dread risk . Pundits like to point out risks of disaster: A good way to sound smart is to predict that there is a 20 or 30% chance of something awful happening. A p(doom) of 20% is big enough to avoid charges of complacency, but small enough so that you probably won’t be called on it. This is what came to mind when Mr Musk told our editor-in-chief that the probability of ai wiping out humankind was 20%. These are worse odds than Russian roulette with a typical revolver. Anyone who truly believes that should be doing everything they can to prevent the construction of data centres. If they are not, that’s an indication that on some level they do not really believe what they are saying. I grew up with a steady dread of nuclear war, thinking our chances of making it to the end of the 20th Century weren’t terribly good. That fear seems quaint now. Here’s hoping that I’ll feel that way about AI in thirty years time. But meantime, as Eric Evans said in a recent talk: “be nice to your AI, just in case”. ❄                ❄                ❄                ❄                ❄ It’s common to disparage government services, including those on the internet. So I feel compelled to mention an efficient interaction with the government. In this case the credit goes to gov.uk , where I just filled in an online form to renew my electoral registration. The process was quick, and everything was explained clearly. (Gov.uk publishes their Design System , which is worth reading for anyone who is gathering information like this.) ❄                ❄                ❄                ❄                ❄ I had a conversation with a colleague who had used AI to get data out of an otherwise closed package system. The system contained product data for a client, some 6 million SKUs with hundreds of attributes on each SKU. It was our client’s data, but was locked in the package, and the vendor was increasing their prices and made it hard to support new features. The client could copy the database, but the database structure was so complex, they couldn’t make sense of it, and had been working for ten months with limited progress. My colleague’s idea was to use an AI to build JavaScript scripts that scraped the UI. Since the data was presented from the UI, it was in a form that we could understand. It took him a week to extract all the data. I’m hoping we can get a proper description of this story, I think this approach is one that could be used elsewhere. I know lots of people are very frustrated with package vendors locking up their data. ❄                ❄                ❄                ❄                ❄ Any seller faces fraud, and a little industry has sprung up to get fraudulent access to tokens . The idea is to abuse free-trial schemes, play games with chargebacks, and find places that have any kind of open access to inference. The tokens go through a couple of layers and are then sold on to users - commonly done in China. Matt Lenhard’s post includes some tips to limit the abuse, but “the truth is that there’s no clean fix” ❄                ❄                ❄                ❄                ❄ I’ve never had any desire to live in Clacton, but I now find it temporarily appealing. Here’s hoping its residents do the right thing and elect Britain’s first recyclon MP .

0 views
Stratechery Yesterday

Microsoft Earnings, Microsoft vs. Meta, The Efficiency Payoff

Microsoft's earnings were compelling because they showed a clarity of strategy, lower costs, and a tangibility of application. The reason why is scarier.

0 views

Fitness Challenge: Update Two

About two months ago, I discussed my fitness challenge where the goal was to get below 85.3kg, the oldest measurement I have on record on the scale’s app, starting from 89.6kg. We’re halfway through this challenge, and things got a bit out of hand because, as it’s often the case, I tend to go a bit extreme when I set this type of goal. I hopped on the scale this morning and logged an 81.1kg, which is the lowest weight I have on record since I bought the scale 10 years ago. I’m feeling incredibly well, at least physically, if we ignore the heatwave with its endless series of days at 39°C. The mental side of things, well, that’s a different story, but I can assure you it’s not related to the loss of weight. That’s helping a lot actually, but this is something I plan to write about once this challenge is over in a few months. Thank you for keeping RSS alive. You're awesome. Connect via email :: Sign my guestbook :: Support for 1$/month

0 views
annie's blog Yesterday

Waiting to be found by only you

Who knows how reality will continue to develop? There’s no way to prepare. When you can’t be prepared, be prepared to find poetry in the chaos. Secret messages, serendipitous grace, lines of meaning in a whirlwind of uncertainty. “It's gonna change, baby doll It's gonna change, honey ball It's gonna change, sugar cane It's gonna change, sweetie legs.” This is a test but so is everything. Everyone is watching you and everyone will judge you and you have to make peace with it. Also, no one is watching you and no one cares and you have to make peace with that, too. You will always displease some people. In the end, you are watching and judging and ignoring and being displeased, too. It evens out. Give up on pursuing happiness as quickly as possible. Seek to live, instead. It's quite the experience, but it will include much, much more than happiness. Give yourself comfort in small things and challenge in big things. Or maybe the opposite. Pick 3 skills from the list below and master them as quickly as possible: how to defuse an argument how to make a Venn diagram how to not take everything personally how to be running up that hill how to stop trying how to keep trying how to properly use the words effect and affect how to make a dent in the universe how to roast a marshmallow perfectly the way you like it how to forgive yourself how to make a great sandwich how to ask questions how to make numbered lists how to write in cursive (A fading skill! Grab it now before it’s gone. Or don’t because literally no one cares.) how to find your people how to make a great lemon dessert how to ignore lists like this Alternately, memorize a poem instead. It will be more beautiful, and just as useful. Perhaps more useful. Who knows how reality will continue to develop? When you can’t be prepared, be prepared to find poetry in the chaos. Find your kind of poetry — whether it’s in words or music or the ocean or motion or a really great sandwich — and look for it everywhere. It will always be there, waiting to be found by only you. how to defuse an argument how to make a Venn diagram how to not take everything personally how to be running up that hill how to stop trying how to keep trying how to properly use the words effect and affect how to make a dent in the universe how to roast a marshmallow perfectly the way you like it how to forgive yourself how to make a great sandwich how to ask questions how to make numbered lists how to write in cursive (A fading skill! Grab it now before it’s gone. Or don’t because literally no one cares.) how to find your people how to make a great lemon dessert how to ignore lists like this

0 views

Relative velocity and closing speed

In Physics simulations or game engines it’s sometimes useful to determine the speed with which two objects are approaching each other. This post will discuss the concept of closing speed , which is the normal component of the relative velocity of two objects. Suppose we have objects A and B [1] with velocity vectors \vec{V_A} and \vec{V_B} . The relative velocity of B w.r.t. A is: Put differently, it’s the velocity of B in A’s frame of reference. This relative velocity is a vector, and we can split it into orthogonal components. Obviously, the nature of such a split depends on the basis we want to use. We could look at the vector’s x an y components (we’ll be using - two dimensional space, but everything here applies to 3D as well), but for this post we’re interested in something slightly different: We draw a line connecting the two objects. The component of \vec{V}_{B|A} in the direction of this line is called the normal component of relative velocity, while the component perpendicular to this direction is called the tangential component . How do we find the component of a vector in the direction of a specific line? By using a vector projection! . We’ll represent the line by a vector, and find the projection of \vec{V}_{B|A} onto this vector. The positions of A and B can also be seen as vectors: \vec{P}_A and \vec{P}_B . The line connecting them can then be expressed as the vector \vec{P}_B-\vec{P}_A : All we need from this position difference vector is its direction, not its magnitude, however [2] . So we’ll use the unit vector of \vec{P}_B-\vec{P}_A , denoted as: Finally, to find the projection of \vec{V}_{B|A} onto \widehat{P} , we compute [3] : Where the multiplication operator between the vectors is the dot product . Note that the result of the dot product is a scalar; therefore, the quantity S_c is called the closing speed - it expresses the rate at which the relative distance of the two objects is changing. If it’s positive, the objects are drifting farther apart; if it’s negative, the objects are getting closer together. Therefore the term "closing speed" may be slightly confusing; alternatively, this has been called a "signed separation speed", or "normal relative speed" [4] . The signs in these calculations can be tricky to get right, so we have to be very careful. Let’s see a few examples that will help us make these computations more concrete. To build up some intuition and get some practice with the equations, we’ll review the following examples: Example I : We’ll start by computing the relative position unit vector \widehat{P} : Then, the closing speed is: Based on our convention, the negative sign of S_c means that the objects are approaching each other. Due to the simple nature of the example, this result is easy to verify, as it can be immediately guessed just by looking at the diagram. Example II : Here \widehat{P} is the same as in the previous example. The closing speed is: Same magnitude, but different sign from before, because the objects are moving farther apart. Example III This example is to demonstrate that we get consistent results even if B is to the left of A. Here the relative position unit vector is: And the closing speed: Which is the same as in example I, as expected. The direction of \widehat{P} flipped, but so did the direction of the relative velocity vector, so the result has the same sign. Example IV : Finally, an example showing more arbitrary positions and velocities. This example is a good opportunity to demonstrate something important about S_c : it’s time-dependent, because positions change with time. Here, -6.6 is the closing speed at the exact moment when A’s and B’s positions and velocities are as stated in the example. In the next time step, the position of A will be \langle2,5\rangle and the position of B will be \langle2,3\rangle , while their velocities remain the same. The S_c then will be quite different. This is a good segue to the next topic - which is a more physical view of closing speed. The computation shown so far represents a static view of the world; perhaps the right word to use is instantaneous . Given the positions and velocities at a given moment, what is the closing speed between the objects at that exact moment ? But there’s no reason to not generalize this using a more standard physical interpretation of velocity. First, let’s state the position vectors of A and B as a function of time: \vec{P}_A(t) and \vec{P}_B(t) . The relative position vector between the objects is also a function of time: Now we’ll define the scalar distance as the magnitude of this vector: We’re interested in \frac{dr(t)}{dt} - the change in this distance over time. Let’s start by breaking R(t) down to its constituents: By the chain rule [5] : Switching back to the vector representation: since \vec{R}(t)=\langle x(t),y(t)\rangle , the numerator of the fraction above is then a dot product between \vec{R}(t) and \vec{R}'(t) , we can write this as: But \hat{R}(t) is precisely \hat{P} from the earlier section, as a function of time. Moreover: Because velocity is the time derivative of position. Therefore, we end up with the same equation, just as a function of time: This formulation is more precise because it makes it very obvious that all the quantities we’re dealing with are time dependent.

0 views
Anton Zhiyanov 2 days ago

Going Backward

Go's standard library has a package with a function called . It lets you iterate over the elements of a slice in reverse order: If you're not deeply familiar with generics and iterators, the natural reaction to this signature (and to the others in the package) is: "couldn't this have been made simpler somehow?" To answer that, let's run a thought experiment. Let's picture ourselves as a distant ancestor, living in the pre-iterator era, who decided to implement from scratch. Our imaginary ancestor doesn't work at Google, so don't project their decisions onto the Go development team. They had their own reasons — and no Jira. A pleasant, sunny summer day, birds singing. You're at the keyboard as usual, and suddenly you decide to write a function for walking a slice in reverse order. Anything beats working on yet another Jira ticket. Usage example: The implementation is simple and works reliably. There's one drawback, though: creates a copy of the slice, which can be wasteful for large slices. Besides, the sun has hidden behind a cloud, and it looks like rain is coming. You decide to work a bit more. To avoid copying the slice, you decide to return a closure that knows the current position in the original slice and returns the next element on each call: Usage example: Now it allocates O(1) memory instead of O(n). That's better. Before moving on, you glance out of the window. Yep, sure enough, the rain has started, and the sky is even cloudier than before. Excellent working weather! Something about the calling code keeps bothering you. It came out rather imperative. You'd like to hand the loop mechanics over to and leave the caller with nothing but the application logic (whatever it is you do with the slice elements). You decide to complicate 's signature a little. Now it will return an iterator function that takes a callback as an argument and applies it to each element of the slice: The function returns a — that's so the callback can signal when it wants to stop the traversal early. Now you can turn the loop body in the calling code into a callback, and you don't need the loop anymore: Mmm, very functional. One small nuance: 's signature looks a bit heavy. You add a separate type for the return value: The function looks much better now: Praising yourself for inventing the iterator, you walk over to the window. It looks like the weather's gotten worse. The rain is coming down in buckets, and the sky is so overcast that it's grown as dark as evening. It's all great, but then it hits you: an ordinary over a slice returns both the index and the element's value. Your iterator returns only the value. You decide to fix this vexing oversight: Usage example: Since the result's signature has changed, it no longer fits the type. What can you do — you'll have to add a new type. After ten minutes of deliberation, you decide to call it : You get up to stretch your legs, and go to the window. The downpour is so heavy you can't make anything out. Lightning is flashing. Hail the size of your fist is falling — you've never seen anything like it in your life. Well, these things happen! Have you thought of everything? Seems so. But you're not going back to Jira tickets just yet. Refreshing your memory of the Go spec, you realize that besides ordinary slices there are "user-defined" ones — types whose underlying type is a slice: works perfectly well with — the compiler accepts a value of type since its underlying type is : But what about this? Here's where the difference between and shows up. When you assign the function itself, it's the signatures that get compared: versus . Signatures match only if the parameter types are identical. But and are different, even though one is based on the other. The signatures differ → you get an error. Scratching your head, you turn to the spec once again and find a special generic syntax: . It represents the set of all types whose underlying type is . Just what you need! Now you'll have to parameterize not only the element type ( ) but the slice type ( ) as well. is needed for the returned values, while lets the function accept not just , but any types based on it: Now the example: It works! You've ended up with something similar to from the package. You exhale wearily and walk over to the window. The downpour and hail have given way to a hurricane. Trees and billboards go flying past. Toads, for some reason, are falling from the sky. To take your mind off the strange events outside the window, you keep pondering. An ordinary is already great. But it would be even better if the traversal logic itself were configurable. On the other hand, if you end up with a lot of parameters, a strategy would suit better. And, by the way, it wouldn't hurt to add a factory that produces iterator factories according to given criteria... Before you can finish the thought, the ground outside the window tears open with a deafening roar. An enormous black hand, streaming molten lava and flickering flames, bursts out of the fissure, seizes you, and drags you straight down to hell. P.S. Despite the article's tongue-in-cheek tone, the "complicated" version in the standard library is justified ( just follows suite with other package functions). But if you're doing something similar in a project that solves a specific problem — it might make sense to stop at the simpler option.

0 views
Stratechery 2 days ago

Meta Earnings, Meta’s Timing Problems, The Financial Tail

Meta's earnings were a bit disappointing; future promises about AI products were more disconcerting.

0 views
ava's blog 2 days ago

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

AI is a Race Car, Not Autopilot

AI-assisted coding feels a bit like being handed the keys to a race car. In the right hands, it’s quick, precise and capable of covering a lot of ground in a very short amount of time. In the wrong hands, it’s still quick - and more likely to end badly. Speed is not the whole storyThe obvious comparison is speed. A race car is built to go fast. AI-assisted coding tools are also built to make software development faster.

0 views
iDiallo 2 days ago

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
daniel.haxx.se 2 days ago

What the bliss taught us

At this exact moment curl’s summer of bliss 2026 ends. We (the maintainers of curl ) took the entire month of July off from vulnerability reporting and in this post I will try to explain how this went. (If you feel like skipping the wordy blab below, the single word answer is: fine ) This was possibly our best project decision in a long while. Already before this, we have been refusing to answer emails about vulnerabilities. Partly because we can’t keep track of them that way but even more so because it makes it much harder to properly disclose and publish the entire report sequence after the fact. On our Hackerone page we informed visitors that we were on pause and that they could come back in August. We had I believe one vulnerability report sent to my private email address in this period in spite of that messaging, but for all intents and purposes this worked out exactly as good as we hoped it would. I just ignored that email. That was easy. The effect was almost immediate. Just a few days into the bliss, my fellow curl maintainers all agreed with me that we felt a sense of relief, of vacation and that a load had been taken off our chests. We felt free, unchained , and now suddenly able to do what we wanted. We could now spend time reviewing some of the queued up pull-requests for features and changes we like. We could suddenly again work on code in areas we had been leaving behind lately as vulnerability reports sucked all the air out the room. We polished details on the website, we found document gaps to tighten. It felt like the good old days again. The fun days. We got reminded why we do Open Source and how fun it is. We took time off, saw some other corners of the world and enjoyed some time away from the keyboards. We truly healed and re-energized. Before we took off on the bliss, we were informed in clear terms that the CNA rules ( we are a CNA ) mandate that we must respond within 72 hours for some critical vulnerabilities so we can’t just ignore them. I told them sure we can, but in the worst case case our “root” could do some emergency assignments. I figured the risk was minimal and it turns out I was right, Nothing like that was needed and no CVE assignments were necessary during the bliss. I got a curious question or two from existing support customers on how the bliss would affect them, but that was easy: it did not affect them. Now, post-bliss, I think they all can confirm that it really did not. As I promised to keep up the contact with and support for paying customers even during the bliss, you could possibly imagine that this would have been an incentive for worried commercial curl users out there to sign up for support contracts . This did not happen – at all. By this I think we should conclude that (commercial) curl users were not worried either. Lots of fellow open source maintainers and most people in my surrounding have been super positive and downright supportive of our taking some time off . I can’t recall having receiving a single negative comment about the curl summer of bliss! I was moved to see that several other Open Source projects followed our example and also took some time off in order to recharge and relax. In addition to giving us a little vacation, it helps sending a signal and a reminder that Open Source is to a large extent done voluntarily and even maintainers need a break at times. Have we opened ourselves up for dangerous attacks and flaws now? Have the bad guys an edge on all curl users out there now because we lived in bliss for a month? We don’t know yet, but it would surprise me. During this slow-down, we slowly got more open issues and pull-requests lingering on GitHub than usual. No surprise there. Once we started to come back to life again, we have since managed to return them back to the normal amounts. Yes, there is an obvious risk that there are now a whole range of queued up reports that will hit us in a short period time as we open up for vulnerability reports again. Presumably the risk for duplicates among these reports should also be significantly higher than usual. I suppose I need to do an update post in a month or two and let you know what happened. We always treat vulnerability reports and project security with topmost priority and we will continue to do so. We will simply work with what we have and make sure our users and by extension, the world, are safe. Since I am a member of a few other (non-curl) security teams that did not have a summer of bliss, I have seen that the flood of vuln reports have not really slowed down so it might depend a lot on the details of each specific project. All individual curl maintainers of course handled this gift in their own ways. We did not all just disconnect to sit on a remote beach for the whole time. Some of us did that part of the time, but we mostly enjoyed the lower stress level and the absence of pressure. It was mentally relaxing. So, even if some of us kept up with emails, occasionally responded to issues or even submitted some pull requests of our own, it was still vacation. It was still blissful. Will we do another summer/winter of bliss? I think yes. It was simply great, with virtually no downsides for the people involved but instead lots of positiveness. Ideally a reduced workload going further will remove the need for another one, but it is not easy to tell what the future holds. After all, curl just does transfers. Fast. Reliably. Secure.

0 views
Unsung 2 days ago

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
Justin Duke 2 days ago

Near to the Wild Heart

Two friends, upon learning that I wanted to get into Clarice Lispector, advised me not to start with Near to the Wild Heart . Having now finished the book, I think I understand why. The two parallels that come to mind — less in terms of style and message than in terms of how one situates the prose — are Murakami and Woolf. Murakami is, to be clear, the much less stylistically successful of the two. But like Murakami, Lispector's work has been treated with a sense of otherness — not as a method of denigrating it, but to suggest that it sits outside its country's literary tradition. And while you can make a compelling argument that Murakami taps into a distinctly Japanese sense of alienation and ennui in the modern era — and, moreover, that much of his earlier writing is explicitly political — Lispector here is ethereal, barely attempting to give any hint or indication of where and how her protagonists live. Part of this otherness — the sense of the story being completely untethered to any semblance of setting — serves contemporary reading well, in this age of autofiction and, for lack of a better term, idealistic narcissism. There is hardly a hint of whiplash going from Ben Lerner to Lispector. Woolf I evoke for a handful of reasons. First: like Lispector, Virginia Woolf is often praised backhandedly, under the umbrella of feminist literature, or feminist modernism. But Woolf's goals — say, in To the Lighthouse — are directly oppositional to Lispector's. The Lighthouse is an argument toward the permeability of consciousness and shared existence, conveyed with empathy and perspective. Woolf uses the frame of modernism to talk about shared experience , and this pattern forms a lineage in which I can find much of my favorite writing. (See also A.S. Byatt's Possession .) Lispector, conversely — at least in this book — is a solipsist. Her self-insert protagonist is the raison d'être of the entire prose, the sun about which every other character orbits. Any character not named Joana is given time and energy only insofar as they shed light on Joana. And the philosophy of the book — beyond its explicit cribbing of Spinoza — is an argument, if not quite in favor of this, then against the status quo that spawns it. All that aside: this book makes me more intrigued to read the Lispector of her later years, while considerably less excited at the prospect of having found an author I can spend the next decade absorbing. Her biggest asset on display is the prose. Even through translation, her writing is beautiful and serrated, while never being Rococo. And considering her age upon writing this — and this is where the Woolf comparisons begin to feel unfair — one gets the sense of a young master in full control of what she wants to say and how she wants to say it, but who unfortunately does not yet have much at all to say. One last note: the final chapter, a series of monologues from Joana, is indeed placeable among the highest echelons of modernism — beautiful and cryptic and self-indulgent all at once.

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 3 days ago

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