Latest Posts (20 found)

2026-10-18 13:22: Terence Eden asking on Mastodon what people's setups look like. Here's mine - 38" ultrawide...

Terence Eden asking on Mastodon what people's setups look like. Here's mine - 38" ultrawide LG monitor that docks to my Framework 13, Fully standing desk, fish tank and motorbike helmets on the wall. I love my home office, but I do like heading into the office too. 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

Year 4 at the Smallholding

So today marks the 4th anniversary of us moving to our 2.5 acre smallholding in north Wales. I can't believe it's been 4 years already - it feels like 5 minutes ago that I was writing my 3 years at the smallholding post . Last year's update wasn't as positive as previous years thanks to us having to get a new roof, which cost a shit tonne of money, and caused leaks all over the house. But I'm happy to say that the update for this year is mostly positive. I ended last year's post by saying: If next year I can get the polytunnel and conservatory done, I'll class that as a win. I'd love to get a quad bike for towing the flail too, but again...money. Unfortunately there's no poly tunnel, no insulation in the conservatory, and no quad bike in the barn. Let me explain... In March of this year we decided it would be a good idea to get some goats. My wife had been talking to a goat farmer in mid-Wales for a few months, and we decided the time was right to get some. So we ordered 4 male pygmy goats and brought them home in the back of the car! Our first 4 goats arriving home While we were at the farm, the farmer showed us a beautiful half pygmy, half "normal" goat and her 2 kids, along with a little pygmy goat that followed her around like a lost puppy. We immediately warmed to all of them, but we couldn't fit them in the car, so we had to pass. After a week or so of thinking about them, my wife decided to head back down there and pick them up too. So we ended up with 8 goats all together. I'm really glad that my wife decided to get the second batch, as the mum (now called Betsy) is so friendly and one of my favourite of the group. Betsy being lovely (as usual) We're very lucky to have a pair of stables at the back of our property, one was already used by the chickens, so we setup the other for the goats. However, the stables and surrounding needed some work. We had to: Unfortunately this all took up what little budget we had left following the roof, so the poly tunnel and insulation in the conservatory had to wait. We completed the renovations on the stables and both the chickens and the goats now have a lovely little home that has lots of space, but (more importantly) meets their needs. Goats and chickens on the rock wall Here's a little gallery of how the work progressed on the stables: As well as goats, we decided to add to our flock of chickens, but instead of just buying more we wanted to do it a little differently. We have a rooster now, so all our eggs are fertilised and we decided to try and hatch some eggs instead. We also wanted to get something a little different, so my wife bought some guinea fowl eggs, which we put under a broody hen to see if they would hatch. They did, and we ended up with 5 beautiful (but noisy) guinea fowl. The guinea fowl were a great success - 5 of the 6 eggs hatched. So we decided to attempt the same thing with some of our chicken eggs, especially since a fox had gotten one of the hens and we wanted to hatch some of her eggs. Unfortunately we had no broody hens at the time, so we decided to buy an incubator and cheat. We attempted to hatch 12 eggs, but only 3 were successful unfortunately. We think 2 of them are roosters too, so we will see how that goes as they grow up and undoubtedly challenge their dad. We're thinking about doing it again this spring, but we're worried about having a plethora of roosters and what we will ultimately have to do to them. 💀 Finally I installed some new perches for the chickens to roost on in the evening. Below is a removable shelf that makes things way easier to clean. So at this point we had used up everything we had saved. We had literally nothing in our savings account. Then we noticed that our older dog, Tia, who's 14, was getting very smelly breath and whenever she was chewing her favourite ball, her mouth was bleeding. So we took her to the vets and they told us she had a fairly common type of benign tumour growing in her mouth. Although it was benign, it was very aggressive and if left untreated she would have 6-12 months if she was lucky. And it would be a very uncomfortable end for her. We had to get it looked at, but this was going to cost thousands and in a 14 year old dog, I wasn't sure if it was worth it. The last thing we wanted was to put her through all this only to find out in a few months that she had another terminal condition that would end her life anyway. I know that sounds heartless, but I think at times like this it's important to be practical and take into account how much the dog will suffer, and whether we're doing it for us, or them. She needed a CT scan on her jaw to see if surgery was viable, so we decided to get a full body CT scan done instead. This would give us a good indication if anything else untoward was going on in her body. Lucky for us the CT came back all clear and the surgery on her jaw was viable, so we went ahead. Three operations, 1 infection, and lots of discomfort later for poor Tia, and she's now fully recovered after having around 40% of her lower jaw removed. Unfortunately for her, this means her rather large tongue often dangles out of her mouth these days. But we think she's still gorgeous. As if this wasn't punishment enough, we also got a new puppy, Nelly, at the same time that Tia was going through all this. So managing a sick dog, a new puppy, and keeping 2 kids entertained during their summer holidays really wasn't a fun time. We had bought Nelly way before we knew Tia was sick. The kids knew she was coming, and we had all met Nell multiple times. So although we knew it would be a nightmare, we didn't want to renege on buying her. Let me tell you, dear reader, it was rough . Like, really rough, but we're glad we stuck it out because Nelly is beautiful and such a wonderful addition to our family. Tia's surgery ended up costing us around £6,000 (~$8,000). We already had no money, so it had to go on a credit card, which we will pay off over the next few months. Our plans for year 5 are the same as year 4, I think - we'd love to get a poly tunnel in and the roof in the conservatory insulated so we can use it all year round. But we will need to see how the finances go - hopefully there will be no more unexpected expenses for a little while. We can only hope. In the meantime we continue to enjoy our brood of various animals and the little plot we call home. 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 . Install a land drain and level the ground Extend the hard standing around the stables Get some fencing installed Replace the doors and windows Install ventilation and power Create a "rock wall" for the goats to play on

0 views

Notes on the complex roots of unity

One of the most wonderful aspects of math is how deep we can get by studying seemingly trivial questions. Consider the roots of unity, where "unity" simply means the number 1. Studying the roots of unity usually begins in middle school: what is the square root of 1? Equivalently, what are the solutions to this equation? Well, there are two answers: 1 and -1. Similarly, we can ask the question for higher roots; the third roots are solutions to the equation: And so on. When we’re only dealing with real numbers, that’s pretty much the whole story. For odd-degree roots of 1, the only answer is 1; for even-degree roots of 1, the answer is either 1 or -1. When we extend our domain to the complex numbers, things become much more interesting. By the formal definition , a root of unity is any complex number that yields 1 when raised to a positive integer power n . Rather than looking at all the possible roots of 1, it’s often more useful to discuss the roots for a specific given n : complex numbers z such that z^n=1 . For example, let’s consider n=2 . We’ve already seen that the roots are 1 and -1; these are complex numbers with a zero imaginary part. How about n=4 ? There are four roots: 1, -1, i and -i . For n=3 , the three roots [1] are 1, \frac{-1+i\sqrt{3}}{2} and \frac{-1-i\sqrt{3}}{2} . It’s easy enough to check that these indeed give 1 when raised to the third power, but how do we calculate them in the first place? A complex number with magnitude 1 can be represented in polar coordinates [2] as z=e^{i\theta} . If we raise z to the n -th power, we get: The magnitude of z^n is still 1, which is essential if we want z to be a n -th root of unity. Let’s equate z^n to 1: To find the solutions to this equation, we’ll first want to represent 1 itself in polar coordinates. Let’s use another variable for the angle: What is the value of \phi ? Thinking about the unit circle, \phi is any integer multiple of 2\pi - which we’ll express as 2\pi k for k=0,1,2... : Back to z^n : So the n -th roots of unity are [3] : Let’s begin with n=2 . We have the following roots: As expected. It should be similarly simple to calculate the roots for n=4 ; give it a try. What happens when we multiply some root of unity z_k by itself? Since the magnitude of the root is 1, multiplying by it is akin to a rotation along the unit circle by the root’s angle. For example, consider z_1 from the 3rd roots of unity: Multiply z_1 by itself: If the angle of z_1 is 2\pi/3 , the angle of z_1^2 is 4\pi/3 . Let’s multiply by z_1 once more: The result is 1, as expected (after all, z_1 is a 3rd root of unity). This visualization shows how roots of unity appear on the unit circle and how raising them to powers rotates the roots until finally z_k^n=1 : Select n first; this shows the n -th roots as blue dots on the unit circle. Now you can click any of the roots, and see its powers in the lower plot - drag the slidebar to see the rotations. If you spend some time playing with this, you’ll notice that some roots - for example z_2 when n=6 - go back to 1 when raised to a smaller power than n . We’ll revisit this outcome when we discuss the group-theoretic aspects of roots of unity. As we’ve seen, the roots of unity are evenly spaced along the unit circle on the complex plane. If we connect the roots with straight lines to their immediate neighbors, we’ll notice something interesting: For different values of n\ge3 , we get the Regular Polygons ! It’s pretty easy to prove this if we connect each root with a straight line to the origin. The triangles we get are congruent, because the sides from the origin to the roots are all of length 1, and the central angles are all 2\pi /n . Therefore, both the sides of the polygons and their angles are identical, which makes them regular. Suppose we have the root of unity: For some k and n . If we take the reciprocal of z_k : So z_k^{-1} is also an n-th root of unity. While the powers of z_k are rotating counter-clockwise on the unit circle until they land on 1 for the n -th power, the powers of z_k^{-1} similarly rotate clockwise . z_k^{-1} also happens to be the complex conjugate of z_k : So if we have: As the n -th roots of unity, then: Are also n -th roots of unity. In fact, they are the same roots, because for any given positive k : So enumerating the conjugate roots is the same as enumerating the roots themselves in the opposite order. Let’s look at the set of z_k (roots of unity) for some n : This set - along with the multiplication operation - forms a group . Let’s prove that. Closure: Assume z,y\in\mu_n (so z^n=1 and y^n=1 ). Then: Therefore zy\in\mu_n . Identity: The number 1\in\mu_n , so it can serve as our identity element for the group. Associativity: Taken directly from the associativity of the multiplication operation on complex numbers. Inverse: We’ve just seen in the section on conjugates that z^{-1} is an n -th root of unity when z is. So the inverse exists and is part of the group. Because the operation we have is just complex multiplication, we can trivially derive additional properties, like commutativity. Therefore, the group \mu_n is Abelian . Finally, we can show that the group is also cyclic and discuss its generators . For slightly simpler notation, let’s denote w=z_1 . So the group can be represented as: This makes it obvious that the group is cyclic - all its elements can be expressed as integer powers of w . And w is a generator for the group. But interestingly, w is not the only generator for this group. Any w^k can be a generator, as long as k and n are co-prime. For example, consider the group \mu_6 : Obviously, w is a generator for this group. But w^2 isn’t! If we raise it to various powers we get: Since w^6=1 , the powers of w^2 repeat after just three steps, so they only reach three out of six group elements. But if k and n are co-prime, w^k is a generator; in the case of \mu_6 , we can easily verify that w and w^5 are the only generators. The roots that are generators for the group are also called the primitive roots . Let’s take the n -roots of unity ( n>1 ), denoted as above with: What’s the sum of all these roots? This is just the sum of a geometric series with the first term 1 and common ratio r=w . Therefore: If you look carefully at the visualization shown above - this makes sense geometrically. All the roots of unity are evenly spread around the unit circle, so viewing them as vectors, all components cancel out. How about the sum of roots raised to some integer power k ? Let’s try this for k=2 (assuming n>2 ): Using the same geometric series sum formula (with r=w^2 ), we get: In general, when k is not divisible by n , the sum is 0. But when k is divisible by n , each power becomes: And n of these sum to n . In conclusion: Let’s consider the powers of roots of unity as vectors. We’ll continue using the notation: We’ll begin with the 0-th power vector - each of the roots raised to power 0: Then power 1 - just the roots themselves: Each root raised to power 2: And so on, until power n-1 : To go full linear algebra mode, we’ll collect these vectors into an n\times n matrix: Let’s calculate the inner product of two matrix rows. Recall that when computing the inner product on vectors over \mathbb{C} , we conjugate the second element: But hold on, we’ve just calculated this exact sum in the previous section. We get: Since the vector indices i and j only run over [0..n-1] , this is equivalent to: Which is to say: the vectors v_i and v_j are mutually orthogonal when i\neq j . Since we have a set of n orthogonal vectors in \mathbb{C}^n , these vectors form a basis for \mathbb{C}^n - any vector in this space can be represented as a linear combination of v_i . This fact has far reaching consequences in math and engineering, since it plays a critical part in forming the DFT (Discrete Fourier Transform), and V is also known as the Fourier matrix . But this will be a topic for a separate post. Another fun thing to notice before we’re finished here: the matrix V happens to be symmetric (this is trivial to check by observation). Therefore, its columns are also mutually orthogonal.

0 views

How the AI boom might really end: 5 scenarios

With the Anthropic IPO gathering pace - and chip stocks just posting their longest losing streak since 2008 amid worries about AI debt , I thought it'd be worth writing up some of my thoughts I've put together while thinking through what may happen. By no means is this meant to be exhaustive - just a list of what I think is the most interesting to think through. Before I dive into the scenarios, while I'm sure there are going to be failures and mispricing of asset classes - like any huge investment wave - I think it's worth saying that unlike many bubbles there is an enormous amount of value being created. In essence, I think this is the first time capital can be turned into intelligence. You buy (or borrow money for) GPUs, you get tokens out which represent a growing share of professional service work. I'm certainly biased as a software engineer by trade - the models just get better and better at coding and it's humbling to see it do my previous tasks so quickly and increasingly better than I can do them. And unlike (say) the dotcom boom, which was arguably directionally correct, but far too early, we're seeing mass adoption and huge revenues being generated, far quicker than in the late 90s. So thinking through this, I'd group the scenarios into two categories. Firstly, AI itself doesn't deliver the value promised or gets stopped by external factors. I think these are worth thinking through. The other category - and potentially more likely - is that AI works well, but the value doesn't flow to the people that are putting the money in. I think this is where the unwinding could happen, and arguably is already showing up. While it's hard to argue that the models as is aren't "good" at specific tasks now, it may well be that we hit a scaling wall. Increasing amounts of capex is pumped into model training, but the results are incrementally better. This leads to a "hard" wall on progress until another architecture or approach potentially comes along. This one I'd discount for now. We're seeing no signs of progress slowing, and we're seeing very fast advancement in capabilities. And even if this did happen, most organisations and people aren't using anywhere near their full power. The one watch out though which is a bit more insidious is that the models continue getting better at specific tasks, but start regressing badly in others. I feel Opus 5 was a good example of this - better at coding, but produced infuriatingly hard-to-read prose. Perhaps we'll see models more focused at specific tasks if this gets harder to mitigate (much like the Codex series of GPT models, which then got unified back into the main GPT models). The other major risk with AI is that it ends up doing something bad in the real world. We've already seen the Hugging Face incident as a 'warning shot'. But there are far more catastrophic risks at play - for example, shutting down national infrastructure, or hacking a major financial institution that results in systemic risk across markets. Or, it goes full Skynet. There is no doubt this would cause enormous political upheaval that would lead to very rapid and severe backlash. Where the industry goes after that is hard to see - potentially progress gets frozen, resulting in far fewer orders for GPUs. On the other hand, it's hard for me to see a globally coordinated moratorium on AI given the breakneck competition between (primarily) the US and China. If it happened in China, is the US likely to follow suit? Or would it, instead, be blamed on "defective Chinese" models, and the US continues as is? Equally, if it happens in the US, does China pause or see this as a once in a generation opportunity to leap ahead? I think we are getting dangerously close to an incident that may cause some sort of significant pullback in AI spending. It's certainly hard to predict, and the severity matters a lot - along with human impact. Slightly less science fiction-y would be widespread local or political opposition to datacentre rollouts causing a very widespread pause on new capacity coming on stream. While this is certainly happening - I have a suspicion this could be one of the key battlelines for the 2028 US election cycle - it again would have to be a global ban to have any significant effect. If the US does a ban, projects and investments would quickly shift to other jurisdictions. And I'm almost certain that China would not even entertain any sort of ban like this, which again adds a geopolitical angle to it. Would the US really want to go ahead with a national ban when China already has a commanding lead in electricity capacity (if not semiconductors). As such, I can't see this having a great effect on the deployment as a whole. The real weakness lies in financing these deals. Much like Ørsted needed a $9.4bn rights issue after US stop-work orders on its offshore wind projects spooked its financing, we could quickly see a domino effect of financing failures caused by it. I think this is the standout from where I see the risk and something I've been writing about for a while now. We're in the middle of a brutal inference price war - if you want to read more read my other recent article . This is largely caused by open weights models crossing the threshold of being "good enough" for many tasks. Anthropic releasing Haiku 5.5 at a huge discount - 90% cheaper on short context windows - means that for shorter, bulk tasks, Anthropic & OpenAI are actually as cheap as, or cheaper than, comparable open weights models. This doesn't apply for longer agentic tasks with Haiku - the price jumps 5x once you go over 100K tokens of context. Interestingly, OpenAI is far more aggressive here: GPT-6 Luna only goes up 1.5-2x, and only past 272K tokens. But I was surprised recently to find that no reputable inference provider offers comparable open weights models (e.g. DeepSeek) at any significant discount to Haiku and Luna, which is an enormous change from where we were at the start of the year, where the frontier labs were charging 10-20x more than open weight models. How much this cannibalises their more expensive models is up for debate. They've done the pricing in such a way that for longer agentic tasks, open weight models are still very attractive. But the perpetual price drops must be having some impact on margins, even if it does lead to them (re)taking market share from open weights competitors. So the hope is that they continue cutting prices, but revenue/token growth outstrips that. It is certainly possible - but it shows how fast this market switches that we've now got frontier labs offering this inference at all . The wildcard I would keep though is that while the open weights labs have kept pace, we can't rule out the frontier labs' ability to throw a lot of compute and brainpower at new models. Opus 5.5, for example, is an excellent model for more demanding tasks. And the Chinese labs are clearly short of hardware and facing new export restrictions from the Chinese government. Note that the previous scenario, while catastrophic for the frontier labs if this compression continues, arguably increases demand for semiconductors, memory and the related supply chain. But another risk is that if there are huge efficiency breakthroughs, either through hardware or software/model improvements. This is what killed the telecoms boom in the early 2000s - it wasn't so much that bandwidth growth stopped, but the efficiency of fibre optics far outpaced the demands. So far we've seen a lot of innovation on the model side, but hardware has struggled to keep pace. Discounting all the hype stats that Nvidia etc put out for each new generation [1] , underlying tokens/watt - the best figure to watch - is improving far slower than the headlines suggest. The model efficiency improvements have been pretty amazing to watch. But so far, this has all been put into longer context windows (enabling longer running agentic tasks) and have enabled some of the price decreases we've seen. But, there is a world where a new hardware or software approach does lead, much like DWDM fibre back in the 2000s, to efficiency running far, far ahead of token growth, even taking Jevons paradox into account. My gut says that token demand is growing so fast, and will continue to grow so fast that it will consume all efficiency gains in the near future. The key way to track this I think is not looking at some of the "token cost indexes" that get posted about - this doesn't adjust for the exponential growth in demand - but instead look at the cost of GPUs on the spot market. If we start seeing big , broad drops across all compute types, then that's a clear sign that supply and demand is starting to reach equilibrium and this scenario is starting to play out. There are no doubt many risks to the AI "economy", and it's always easy to point to whatever one is making the most news. But to me the real question is whether AI progress is turning into tangible value. Right now - for me, and many others, the answer is a resounding yes. Token consumption is going through the roof, because as models get better more and more tasks can be executed with AI. And I still think early adopters that are pushing agentic workflows comprise a small single-digit percentage of the professional services market as a whole. But this doesn't mean that the labs making and serving those models take the benefit. History is littered with huge technological advancements which went to consumer surplus , not whoever bet the most capital. And my view is that's what we are seeing right now. The frontier labs are in serious peril of losing margin, and therefore market valuation, to open weights competitors. The important point though is that the frontier labs do not make up the whole market. Tokens need compute, memory and power whether it's a frontier lab or open weights. I see endless analysis of OpenAI vs Anthropic revenue figures. What's far more important to the AI ecosystem is overall revenues. And as the market continues to fragment, it's harder and harder to join that together. Unless AI does hit a wall, open weights may mean the end of the boom in frontier labs valuations. But the underlying supply chains may be doing better than ever. Which is why I think the market has this week backwards. Chip stocks are being punished just as TSMC reports record revenue and says AI demand still exceeds supply . The one caveat is leverage. So much of this buildout is debt-funded that even small changes can unwind far faster, and far more completely, than they should. CoreWeave's credit default swaps hit distressed levels this week on a hot inflation print and a viral chart - not because anyone stopped wanting GPUs. If the AI boom ends, I don't think it ends with fewer tokens. It ends with the same tokens - or far more - flowing to far more people at far lower margins. Nvidia's headline generation-on-generation numbers mostly come from dropping precision (FP8 to FP4), not from the silicon getting more efficient. Halving precision roughly doubles throughput on the same hardware, but you're trading accuracy for speed, and most production inference still runs at FP8 or BF16. Compare like-for-like at FP8 and H100 to Vera Rubin is roughly 2.7x per watt over three generations - about 1.5x a generation. Over the same period power per GPU went from ~700W to ~2,300W, so more than half the per-GPU gain is simply drawing more power through bigger, multi-die packages. Moore's law is slowing, and there's a hard limit to how far you can cut precision. Once both run out, the tok/watt gains have to come from somewhere else. ↩︎ Nvidia's headline generation-on-generation numbers mostly come from dropping precision (FP8 to FP4), not from the silicon getting more efficient. Halving precision roughly doubles throughput on the same hardware, but you're trading accuracy for speed, and most production inference still runs at FP8 or BF16. Compare like-for-like at FP8 and H100 to Vera Rubin is roughly 2.7x per watt over three generations - about 1.5x a generation. Over the same period power per GPU went from ~700W to ~2,300W, so more than half the per-GPU gain is simply drawing more power through bigger, multi-die packages. Moore's law is slowing, and there's a hard limit to how far you can cut precision. Once both run out, the tok/watt gains have to come from somewhere else. ↩︎

0 views
Unsung Yesterday

“We all hope you have a great week, even if you never buy a Playdate.”

In my inbox, over the years, in no particular order: From: YouTube Premium Subject: YouTube Premium Individual plan price update Email summary: The monthly price is increasing from $13.99 to $15.99. From: 1Password Subject: Important: We’re updating the cost of your subscription Email summary: The annual price is increasing from $35.88 to $47.88. From: GeoGuessr Subject: Upcoming Change to Your GeoGuessr Subscription Email summary: The monthly price is increasing from $4.99 to $6.99. From: DreamHost Subject: Upcoming DreamHost Price Change Email summary: The monthly price is increasing from $13.99 to $16.99. From: Printful Subject: Product and shipping price updates Email summary: Some prices and shipping rates are increasing. The only two emails I could find that were actually honest about the price going up in the subject line, instead of obfuscating it with terms like “change” or “update,” were Apple’s and Panic’s. The former had a subject “Your Subscription Price Increase,” and looked like this: = 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/we-all-hope-you-have-a-great-week-even-if-you-never-buy-a-playdate/1.2096w.avif" type="image/avif"> = 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/we-all-hope-you-have-a-great-week-even-if-you-never-buy-a-playdate/1.1600w.avif" type="image/avif"> The latter was titled “Playdate’s price is about to go up a bit” and looked like this: = 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/we-all-hope-you-have-a-great-week-even-if-you-never-buy-a-playdate/2.2096w.avif" type="image/avif"> = 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/we-all-hope-you-have-a-great-week-even-if-you-never-buy-a-playdate/2.1600w.avif" type="image/avif"> Also note both telling you what the previous price was.

1 views
Unsung Yesterday

“Hindered by its headline feature”

On his channel about new and old hi-fi equipment, Techmoan profiles a modern Fosi Audio Neo player . Techmoan’s video was originally linked here, but I failed to notice it was an unreleased, patron-only video. If you want to see it, subscribe to Techmoan’s Patreon – it’s worth it! – or wait a few days until the video is released to the public. I will re-link the video then. I’m sorry about that. Fosi Audio Neo apes the iPod. At first glance, it looks exactly the same – a deck-of-cards-sized device with a wheel, and above it a screen showing either the currently playing track, or a hierarchical, textual menu: = 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/hindered-by-its-headline-feature/1.2096w.avif" type="image/avif"> = 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/hindered-by-its-headline-feature/1.1600w.avif" type="image/avif"> = 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/hindered-by-its-headline-feature/2.2096w.avif" type="image/avif"> = 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/hindered-by-its-headline-feature/2.1600w.avif" type="image/avif"> But the reviewer quickly discovers that the iPod copycat is a disaster in use, its creators accidentally highlighting two important rules: To the first point: iPod actually had five main buttons, not just one. This is most visible in the third generation, which put most of the commands above the wheel: = 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/hindered-by-its-headline-feature/3.2096w.avif" type="image/avif"> = 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/hindered-by-its-headline-feature/3.1600w.avif" type="image/avif"> In all the other models, the buttons were integrated around, or even within the wheel: = 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/hindered-by-its-headline-feature/4.2096w.avif" type="image/avif"> = 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/hindered-by-its-headline-feature/4.1600w.avif" type="image/avif"> But the modern product only has one button, and that’s too few for all the necessary functionality. Now “going back” means an unnatural long press. The other necessary commands – like pausing, next track, and previous track – are offloaded to an onscreen menu, which means extra modes and focus states that the original iPod didn’t have. By trying to be simple in a naïve way, the creators of the Neo made their device more complicated. As for the details? The new player has no acceleration curve when you scroll fast, which would help you traverse long lists as quickly as short ones. It has no scrollbar to give you a sense of how long the list is. It has no haptic-like beeps to help mesh the fluid rotation with discrete item jumps (your mouse wheel is doing the same thing!). It has no side-to-side transitions to help you orient yourself in the hierarchy. And, the reaction to every click seemed so slow that it made even me, the viewer, anxious. This second aspect is similar to Photoshop vandalizing its dialogs , or CleanShot bulldozing its settings . Here, the new player also underestimates the sophistication and thoughtfulness of the things it aims to copy. The difficult truth is that while software needs to be simple to the user, that simplicity is nothing but complicated to people designing it. (I tried to find a good iPod click wheel explainer, but I couldn’t find any. (There have been a few web approximations over the years, but they also get a lot of nuances wrong.) I wonder if I should create an online iPod simulator, walking designers through all of its important interface details.) “simple” does not mean “fewer things,” simplicity cannot happen without a lot of small details done well.

0 views

35 down, 9 more to go

We’re down to the final four segments, but we only have three walks left to do. The plan for today is to walk segment number 7 and also attach to it the beginning part of number 8. 23km, 870m of ascent, 1250m of descent. Next time, we’ll finish 8th and attach 9th to it, but that’s a problem for future me. I’ll be honest with you, I’m kinda tired of these walks. Especially because this second half stretches across trails I walked countless times before. But I also want to walk the whole loop and visit all these churches, so we won’t stop here. But we’ll move fast this time around. There’s no point in taking a million pictures at this point. The scenery is mostly the same, the overall area is still the same, so we might as well use this as an opportunity to do some cardio training. The humidity is very high early in the morning, but it’s gonna get warm fast. The trail is gonna take us down for a bit, then back up, then all the way down next to the Slovenian border, all the way back up again, and the final stretch is gonna go down again, to the final church of today’s walk and also my car, since it’s parked right next to it. First stop is gonna be the church of San Giovanni Battista (29/44), and on our way there, we see the church of San Paolo Apostolo far in the distance. It would be part of this segment of the loop, but we visited it on my previous walk, as I was walking all the way back to my car. The church of San Giovanni Battista is in an amazing location, and out of the 44, this one’s probably the one I’ve seen the most throughout the years. There’s a lovely short loop that I often walk with the dog, and the view from up here is great. Almost exactly an hour in, and we have reached the first POI I have marked on the map. I’m pleased with the pace so far; this is enjoyable. I’m starting to walk down the trail I mentioned a moment ago when all of a sudden a formidable foe blocks my path: a herd of goats. Well, maybe herd is a bit of an exaggeration since it’s only 6 of them. But these were just out on their own—and were shitting everywhere—and not only did they have no intention to move away from the trail, one of them was not in the mood to let me pass. Love goats, they’re fun. But can also be jerks, and the last thing I need is to find myself fighting a bunch of goats on a rocky trail. Plus, there’s a very convenient alternative trail just around the corner, so better to leave these alone. Down, and down, and down we go, through the woods, without ever encountering a single soul. That’s honestly the best part about walking these trails: it is incredibly rare to see people. It’s just me and nature. And goats, I guess. Through a couple of small villages we go—not a single human being in sight—and around the second church of the day, the church of San Bartolomeo Apostolo (30/44) that sits maybe a few hundred meters from the Slovenian border. We’re just a bit more than 2 hours in, and we have already walked half the distance. But we still have most of the uphill part to walk, so we’ll see if we manage to keep up the pace. Up, and up, and up we go. And up and up the heartbeat also goes. But on our way up with pass next to the third church of the walk, the church of San Tommaso Apostolo (31/44). There’s a house for sale literally right next to the church if you’re interested. Also another one for sale maybe 30 meters before it. If you like quiet places, this is the location for you. In the middle of absolutely nowhere. We’re not even a quarter of the way through this uphill section, so we better keep going. Less than three hours into this walk—and almost 16.5km—we have reached the fourth church of the day, the church of Sant’Antonio da Padova (32/44). This is another one I have visited a bunch of times before, so no point in spending time here considering we still have the last uphill stretch to finish. I knew this was the last challenging part, so it was fun to keep pushing, and I think I peaked at 168bpm. But it’s gonna be almost entirely downhill from now onwards. We take a quick detour to hit the fifth church of the day, the church of San Nicolò (33/44). I wrote about this one in a previous edition of From the Summit . Another one of those churches I visited a lot over the years because it’s another place I walk often with the dog. This would have been the final church of the day, and the normal route would take me west. But we’re going east, and then cut down through the forest to reach what would be the first church of the 8th segment. As predictable, this alternative path takes me through a trail that is overgrown but, oh well, who cares. And just like that we have reached the sixth church of the day, the church of Sant’Abramo Eremita (34/44). Wonderful location, with Mount Matajur always in the background. I have to admit that a few of these churches are placed in lovely locations; this is like the perfect spot to just chill and read a book on a sunny day. I might come up and do that soon; I ordered a bunch of new books just the other day. Final stretch, only a bit more than 1km left to walk and then we’re done for the day. Risked falling on my back on a very slippery and steep part of this final stretch but thankfully I still have good reflexes. A bit more than 4 hours in and we have arrived at our final destination, the church of San Leonardo Abate (35/44). I have to say, going fast made this walk a lot more fun. I might do it again. I’m glad we’re down into single digits; I can smell the end of this loop. And after that, we can focus on walking other places and see things that are not churches! As always, if you want to stalk my walk, here is the data recorded by my watch . See you next time. You love the outdoors and RSS. You're one of the special ones.

0 views
Kev Quirk Yesterday

2026-10-17 11:37: We had a Hotpoint engineer come out to repair our washing machine yesterday. While replacing...

We had a Hotpoint engineer come out to repair our washing machine yesterday. While replacing the machine, he forgot to connect the waste pipe and we came down to this mess this morning. 😡 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

The NIST Elliptic Curves Seeds Bounty Has Been Claimed

We now know how the seeds of the NIST elliptic curves were generated: they’re not the hash of some saucy sentence, but the output of drand48 seeded with the time, which was indeed in 1997–98. John Wood, Henry de Valence, Ava Howell, Zack Voase, Lucy Sweet, Amir Omidi, Paul Crowley, Iain McGinniss, Nicholas Carlini, and Steve Weis from Anthropic solved the riddle and on October 15th, 2026, at 01:07:51 UTC, claimed the full bounty I announced three years ago . They chose to donate the prize to ISRG , the non-profit that operates Let’s Encrypt, tripling its value to $36,864 (36 Ki$). Thank you to Amir Omidi, Chris Palmer, Colm MacCárthaigh, David Adrian, David Anderson, Jeff Hodges, Matt Green, Matthew McPherrin, Paul Kehrer, Ryan Sleevi, and Soatok for contributing to the bounty. This helps fill out a page of cryptographic history, and reinforces our confidence in these critical cryptographic primitives. The NIST elliptic curves (P-192, P-224, P-256, P-384, and P-521) were published by NIST in FIPS 186-2 in 2000. They were generated at random according to ANSI X9.62 by taking an arbitrary seed, hashing it with SHA-1, and using the output to derive some of the parameters. Until this week, we had no idea how those arbitrary seeds were picked. The lore was that Dr. Jerry Solinas, who passed away in early 2023, generated them in 1997 by hashing some English sentences that he later forgot. You can read more in this article by Steve Weis or in the original bounty announcement . Turns out memory can play tricks on everyone: we now know they were instead generated with the POSIX-standard drand48 random number generator. The algorithm is as simple as passing the then-current UNIX timestamp to and then producing one byte at a time with drand48. Each sequence of 20 bytes is tried as a seed following ANSI X9.62 and rejected if the resulting curve is not valid. Some timestamps are used to generate multiple curves, by continuing to try seeds after accepting the first one. I reimplemented the algorithm in Go to verify the claim. Read more in Anthropic’s writeup . There are two additional undocumented criteria beyond the ANSI X9.62 ones, one fairly clear and one that still escapes us. If the bit length of the order n of the resulting curve is more than the bit length of the base field p of the curve, the seed is rejected. (The condition is not the stricter n < p , because prime239v2 has p < n < 2²³⁹.) This leaves us with roughly twice as many valid seeds as were published. We explored a number of explanations for this last bit, and found no good fit. Maybe the same RNG was used to validate seeds, consuming RNG output and skipping some potential candidates, although the “gaps” are not regular. Maybe there was just a bug in one of the algorithms that returned the wrong result half the time; these calculations, which we can now do with off-the-shelf software in minutes, were still very much state-of-the-art in 1997. What does this mean for the security of elliptic curve cryptography based on the NIST curves? Well, even before this discovery there were no serious concerns among practitioners. In Section 3.1 of their 2015 paper “A riddle wrapped in an enigma,” Koblitz and Menezes make a convincing argument that it’s implausible that the NSA could have selected a seed to exploit a weakness that escaped more than 15 (now 25) years of cryptanalysis. However, as reported in a later version of that paper, Daniel Bernstein and Tanja Lange described to Koblitz and Menezes in 2017 a technique that could have exploited 70 bits of freedom in selection of the seed to target a hypothetical class of 2⁶¹ weak prime-order curves. (Bernstein is the author of a competing elliptic curve design, Curve25519.) This contributed to enduring conspiracy theories, which had significant appeal among the non-specialist public (although many have since moved on to other, adjacent, conspiracy theories). All this speculation harmed confidence in robust cryptographic systems and was part of my motivation for the bounty. This week’s findings completely rule out the technique described by Bernstein and Lange. Even if the NSA had been free to pick any timestamp in 1997–98 and any of the first 16 prime-order candidates (which generously accounts for the unexplained rejections), they would have had barely 30 bits of freedom. Not enough to intentionally target a hypothetical small class of weak curves, not enough to embed any kind of NOBUS backdoor. Along with deterministic and hedged ECDSA signing algorithms, formally verified field implementations , and the 2015 complete addition formulas by Renes, Costello, and Batina , this nicely completes the “rehabilitation arc” of NIST elliptic curve cryptography, which I would now personally recommend over Curve25519/Ed25519/X25519. Just in time for them to be retired in favor of post-quantum signatures. P.S. The Anthropic team also figured out how the seeds of the NIST B-curves (the ones over binary fields) were generated, but no one uses those, so who cares. In a FamilyMart in Taiwan I found this delightful dice set. A full roll carries log₂(6²⁰) ≈ 51.7 bits of entropy. Rolling them twice can make a pretty robust cryptographic key! I thought it would be funny to label them as Geomys FIPS 140-3 Entropy Sources (which of course they are not, though we do have one of those) and hand them out as swag. However, I found no way to order them online, so I simply visited over a dozen FamilyMarts and brought home 50 packs. Speaking of swag, I am 100% making stickers with the seeds, and t-shirts for the Anthropic team and the contributors to the bounty. I accept suggestions for other seed-based swag. If you want to catch some, follow me on Bluesky at @filippo.abyssdomain.expert or on Mastodon at @[email protected] .

0 views
Stratechery 2 days ago

2026.42: Home At Last

Welcome back to This Week in Stratechery! As a reminder, each week, every Friday, we’re sending out this overview of content in the Stratechery bundle; highlighted links are free for everyone . Additionally, you have complete control over what we send to you. If you don’t want to receive This Week in Stratechery emails (there is no podcast), please uncheck the box in your delivery settings . On that note, here were a few of our favorites this week. This week’s Stratechery video is on Apple and a Hacker’s Future . What is Apple Doing? On last week’s Dithering, John and I bemoaned Apple’s exit from home appliances in the 2010s; now the company is back and John doesn’t see the point . I think a big problem was Apple’s marketing video; after I explained what Apple was trying to accomplish on Sharp Tech Andrew was almost persuaded to go all in on HomeView. — Ben Thompson SpaceX Continues Eating and Expands Its Appetite.  Elon Musk and SpaceX have continued their spectrum buying spree, and in Tuesday’s update Ben broke down the implications of both the latest deal, as well as recent deals that mobile carriers (and airlines) have done to avoid reliance on SpaceX. This market’s dynamics are fascinating to me, and for SpaceX, what once looked like a play to become the de-facto provider of emergency satellite coverage among mobile providers now looks like a company that’s coming for primary cellular coverage. Come to read about the methods that could make that path viable, and stay to appreciate challenges that make it a quintessential Musk strategy.  — Andrew Sharp Titles, Takes, and the Washington Wizards.  The NBA season begins next Tuesday, and if you want to have a good time preparing this weekend, we’ve got you covered. First, Greatest of All Talk makes the case for eight different potential title winners (although I must warn you that our Knicks repeat case was extremely unconvincing) and runs down our favorite highlights from the preseason. Then, for Friday’s Sharp Text , I played the most dangerous game of all and expressed confidence the Washington Wizards (for the first time in a full decade) while also offering 18 more takes and predictions for the rest of the league. — AS SpaceX Buys More Spectrum, Musk and Market Structure, Distributed Cellular — SpaceX’s mobile strategy is becoming clearly with its latest spectrum purchase, and it might work. Apple HomeView, The New Apple TV, The App Story — The Apple Homeview is official, and the question is how big is the addressable market for expensive devices based on subpar AI. A Conversation With Ari Emanuel About Entertainment and AI — A conversation with Hollywood super-agent Ari Emanuel about his memoir, the impact of AI on Hollywood, and the power of a phone call. A Wizards Public Service Announcement and 18 More NBA Takes — Optimism in D.C. for the first time in a decade, plus predictions, a giant wild card, and Bet Your Mortgage Locks. Meanness and Claude ASML’s New Multibeam Inspection Tool is Familiar IGBTs Took Silicon Power to the Next Level Brussels and Beijing Make a Deal; Weak Holiday Spending Data; Xi’s Reported Rest Breaks; Peak Dove? Tell Me Why They Will, Preseason Highlight Digest, Sizing Up a Loaded Northwest Division Apple Enters the Uncanny Valley, The SpaceX Play for Cellular, Q&A on The Ringer, Smartphones, AI Parenting

0 views

Premium: Venture Capital Is Killing Itself

Soundtrack: Spinnerette — A Prescription For Mankind About fourteen years ago, the government made a mistake that would allow tech companies and venture capitalists to conspire to legally scam millions of retail investors, simultaneously depriving them of good information and spuriously inflating the valuations of every major tech IPO of the last 14 years. On April 5, 2012, President Obama signed the Jumpstart Our Business Startups (JOBS) Act under the auspices of it being “too difficult” for small businesses and startups — though overwhelmingly the latter — to access capital, all while reducing reporting requirements in ways that mostly helped venture capitalists fund and startup founders run businesses in reckless and destructive ways, all sold as a good thing for society.  In simple terms, while the JOBS Act (which was passed with rare bipartisan support) allowed companies to raise more money from more people, it also incentivized companies staying private for longer by eliminating a rule from the 60s that required companies of a certain size — above 500 shareholders and $10 million in assets — to report as if they were public. Per Casual Finance :  As Casual Finance notes, this is the rule that pushed both Facebook and Google to go public — because if you’re going to have to report like a public company, you may as well have access to the public markets: The JOBS act, amongst other changes, made it so that you could have up to 2,000 shareholders (but no more than 499 “ unaccredited ” investors) and, crucially, changed the rules so that employees were no longer counted in the calculation, effectively removing any chance that most startups would ever have to deal with reporting like a public company ever again. The rationale was that having to report like a public company required audited accounts, adding an "unnecessary burden” to fledgling companies, even though “fledgling” here meant “companies worth hundreds of billions of dollars on paper” that absolutely could afford an auditor. Those pushing for the bill also believed that these requirements unfairly punished companies for awarding stock grants, and that public reporting was tantamount to “exposing trade secrets,” as if there was literally no amendment that could’ve been made to anticipate these problems other than “removing reporting anything of any sort.” However minor this change might have seemed at the time, the net result was one of the largest private valuation bubbles in history, because there was (and is) no longer any incentive for a company to go public before it’s “ready,” with “ready” defined as “as much value has been drained from the company as humanely possible.” As Casual Finance noted, when Microsoft went public, it had a market cap of around $500 million, Google $23 billion, and Facebook $100 billion, with their total market capitalization as of writing this sentence sitting at around $10.29 trillion. Anyone investing in any of these IPOs in the first five to ten years of their existence had a chance to multiply their money, because you were able to invest before the companies became massive multiconglomerates with multi-trillion dollar market caps, in turn creating value for millions of households that “took the risk” on investing on an earlier-stage company. These three companies are used as the poster children of why you should invest in a new tech stock — that you’re getting in on the ground floor, with the reward for the risk being that you’d have the chance of a massive multiple. Except that doesn’t really work if the companies wait as long as humanly possible to go public. The reason that Microsoft, Google, Meta, Amazon and all the other famous names in “big IPOs that made early investors a lot of money” was that they had to go public before they’d reached the height of their valuation.  And crucially , their valuations are decided by market forces which, while deranged and emotional, at least are somewhat guided by the underlying financial picture of the company. Today’s startups have their valuations defined entirely based on the whims and fancies of a venture capital sect that makes up a multiple they’re comfortable investing at. That’s how Instinct, a zero-revenue “AI agent” that you text to do stuff, is somehow worth $10 billion — because investors from Sequoia Capital, Benchmark, and Coatue had been willing to give it $1 billion for 10% of the company.  These inflated valuations drain the vast majority of potential opportunity that any investor might have, effectively transferring all the risk for the company’s future onto the public markets while offering very little in return. The days of thousand-percent-or-more returns are long dead, despite every single IPO selling itself on this eventuality , like SpaceX did when it proposed it had a $28.5 trillion total addressable market.  Anthropic’s upcoming IPO has the company demanding a $2 trillion valuation, equivalent to both Meta and SpaceX, based on flimsy promises of $200 billion in annual revenue years in the future and a $30 trillion total addressable market. It is, to quote New Constructs , presenting risks and is positioned to be a far bigger ripoff of the US capital markets, and exists only as a liquidity mechanism so that early investors can multiply their dodgily-valued early investments by selling their shares under the scummiest possible terms. Anthropic and OpenAI’s IPOs pose a genuine threat to any investor that dares entangle themselves with unprofitable, unsustainable AI companies promising the world (or the world’s destruction), all sold under the auspices of potentially buying into the next Facebook, Google or Microsoft. In reality, the kind of growth you’d need from these companies to reach anything close to the returns of those early-stage tech investments would require them to have trillions of dollars a year in revenue and market capitalizations of $20 trillion or more — an impossibility that nobody seems to want to discuss. Yet these rotten incentives have also led to a massive valuation bubble in startup valuations writ large, with the AI bubble being the inevitable result. By allowing private companies to avoid the reporting strictures of the public markets, financial regulations incentivize a kind of venture welfare, keeping companies that cannot borrow money or otherwise sustain themselves through cashflow — you know , bad companies — alive for longer than is natural, never forcing them to become real companies that can survive , with every trip to Sand Hill Road bumping the valuation up further, making any IPO or acquisition much harder to stomach. This wasn’t as much of a problem when venture capital was pumping up software companies and flogging them to the markets or dimwitted private equity firms , but has become a critical situation for the legions of cashflow-negative AI companies with aggressively-inflated valuations.  In a pre-JOBS environment, many of these companies would’ve wilted in sunlight, and, I’d argue, been forced to run businesses that could stand on their own two feet. Instead, as I discussed in last year’s Enshittifinancial Crisis , these companies are more venture-dependent than any other hype cycle in history, and because venture is so excited about the potential , they’re investing at bigger and bigger rounds, creating the largest valuation bubble in the history of technology, including the Dot Com Bubble. Today I am going to aggressively advocate for reforms — if not an outright repeal — of the JOBS act, and call for serious legislative efforts to bring the private markets to heel.   My argument is simple: the current system is built to incentivize rich and powerful people inflating private assets with spurious valuations, harming retail investors, reducing the available capital to good startups, and incentivizing the continued development of bad, unsustainable companies. Venture is no longer a trustworthy vehicle for investment, nor can venture capitalists be trusted to value startups any further. The JOBS act did the literal opposite of what it intended to — fewer tech companies went public, and those that went public did so at oversized valuations pumped up by venture capital, using retail investors as exit liquidity under the flimsy pretense of “getting in on the ground floor.” We are placing outsized trust in a handful of extremely rich and disconnected people and their ability to pick winners, despite the fact that the majority of venture capitalists are fucking terrible at doing so. For over a decade, venture capital has inflated the value of startup after startup, then been surprised again and again as these companies didn’t work out, with the vast majority of “successes” — SpaceX, Snap, Airbnb, and Uber — mostly existing to dump their horrid bags on an unsuspecting public. And by repeating the same cycle — inflating companies based on hype and ever-growing valuations — venture capital is setting itself up for a collapse. Today I’ll explain how it’s happening, and how we might fix what’s left in the end.

0 views
Manuel Moreale 2 days ago

Fitness challenge: what’s next?

Back in early June I blogged about my summer fitness challenge. The two main goals were to lose some weight—from 89.6kg to 85.3kg, the oldest measure I had on record from late 2015—and also to get back into a better shape than I was a decade ago. The weight goal was easily quantifiable; I still have the same exact scale I was using 10 years ago and so it was only a matter of jumping on it every morning and track the progress. As for losing weight, I didn’t really have much of a plan other than not eating like an idiot and moving more. And I guess it worked. I’m now hovering around 82kg, going up or down depending how much I decide to eat—or not to eat—any given day. Last time I was this light I was probably in my late teens. And I think this is the perfect weight for my lifestyle, so I’m planning to stay at this level for the foreseeable future. As for being in better shape, that’s a bit trickier to evaluate. My legs are definitely not as strong as they were back when I was in my mid-20s, but I was also playing A LOT of basketball back then, while now I play exactly zero. I do walk and hike a lot more though, and I overall feel much better. So, success! Both goals achieved. Now what? Now it’s time to start another challenge, and this time it will span 12 months. And that’s because even though I do feel better, I’m nowhere near satisfied with myself and my body. There is so much room for improvement, and I realised that I need to have stupid challenges to keep myself motivated. So this is what’s on the menu for the next 12 months. First, I need better cardio. I have never trained it in my life, and my cardio sucks. The realistic goal I currently have set for myself is to run a 5k in under 25 minutes and with a < 150 HR. There’s also a trail I hiked recently that I’ll go hike again next year, and the goal there is to do the first part in less than an hour. It took me almost two last time. Next, I need to build at least some upper body muscle mass. I hate training upper body, especially because none of the activities I enjoy doing involves upper body strength, but it’s nice to have a balanced body and so I need to take care of that. This is a goal that’s harder to track, but I do have a reference body I’m aiming for, and I am taking progress photos at the beginning of the month, so at the end of the 12 months we can compare and see if I managed to get there. Lastly, I want to improve overall flexibility. I am doing some stretching regularly, but I’ve always had a goal in mind, going back years, and that was to manage to get in full lotus position . So we’re aiming for that in the next 12 months. This is gonna be fun. I don’t plan to constantly write about this because there’s not much to say on a regular basis, but if there’s anything you’re interested in, feel free to email me and ask. Thank you for keeping RSS alive. You're awesome. Connect via email :: Sign my guestbook :: Support for 1$/month

0 views
David Bushell 2 days ago

Cloudflare killed Deno and look I’m on TV!

“Didn’t you already say goodbye to Deno? Get new material!” I know, I know, but not even a week after declaring my friendship over with Deno they actually killed Deno! The runtime is going away, and sorry call me pessimistic, but I highly doubt a community fork of any value will survive for long. We will support the Deno runtime for another year with monthly releases containing bug fixes and security updates. After that year we will end our development of the Deno runtime. Deno is joining Cloudflare - Ryan Dahl There’s even a Fireship video on YouTube! Guess who gets a namecheck? I’m not going to risk embedding Google cookies so here’s a link: “The runtime wars are over… and Node won” (YouTube) . I also found my way into the lead story of JavaScript Weekly . It’s sad but telling that negative opinions and news around Deno has received the most attention. I have nothing new to say (until my Cloudflare exposé) but I do want to look back on my journey with Deno. People who’ve only read my recent posts on Deno assume I was just a hater. Far from the case! I was all-in on Deno and wanted it to succeed. While it’s true that my disdain for what the tech industry has become leaked into my criticism, I’d say it was fair and accurate. The Deno runtime was truly ahead of it’s time. It felt like using Node from the future (now Node today). The runtime was forgotten in favour of whatever tech start-ups do. My doubts grew by mid-2024 but I regained brief optimism with the Deno 2.0 relaunch. I didn’t realise I’d written this many posts: You may have noticed my interest in Bun in my earlier writing. That was before I learned it was not a serious project. We don’t use vibe-coded fash-tech in my house. Deno was my platform for fun side projects (and Advent of Code ). I experimented with many silly ideas. A few turned into something practical that I still use today. The SMTP adventure was a disaster, but technically it worked! My private git LFS server has been rock solid. I actually found a use case for the HTTP proxy (blog post to come). For reasons (sigh), I’m losing interest in publishing open source code and writing tutorials. My self-hosted journey has stalled because I can’t afford anything anymore. Tech sucks now. But I’m finding enjoyment in fighting for an open web (for humans). I’m having fun too blogging more non-technical topics and getting back into design. I am no longer a JavaScript bro and that’s probably a good thing! Thanks for reading! Follow me on Mastodon and Bluesky . Subscribe to my Blog and Notes or Combined feeds. Built with Deno (Mar 2021) Deno Builds on Netlify (Jul 2021) JSR: First Impressions (Feb 2024) JSR: Second Look (Mar 2024) The Deno Package Paradox (Aug 2024) JSR and Deno: Final Review (Aug 2024) Hey! Deno 2 looks fun! (Oct 2024) Deno’s Decline (6 Regions and Falling) (Apr 2025) JSR & Deno One Year Later - Malware?! (Jun 2025) Ditching Deno KV (Jun 2025) 404 Deno CEO not found (Mar 2026) Friendship ended with Deno, now Node is my best friend (Oct 2026) Deno Stream Deck (Oct 2022) The one where I used Deno’s foreign function interface to manage a USB peripheral. SvelteKit and Deno with OAuth and Deploy (Jun 2023) The one where I built and maintained a Deno Deploy SvelteKit adapter. Get in Line, Deno! (Oct 2023) The one where I used Deno’s streaming APIs to efficiently seek lines. Git Granary (Jul 2024) The one where I built a git large file storage server that I still use today. HTTP Tunnel and Proxy in JavaScript (Oct 2024) The one where I piped two streams together to create a simple HTTP proxy. I Let The Emails In (Sept 2025) The one where I wrote a bare bones SMTP server with Deno.

0 views
Robin Moffatt 2 days ago

🏃🚶 The unofficial Current San Francisco 2026 Run/Walk 🏃🚶

It’s been a few years since Current (and before that, Kafka Summit) was in San Francisco, but here we are—on November 4 & 5 we’ll be there, and I’m excited to continue a tradition that started back in 2019 with a run over the Golden Gate Bridge .

0 views

PostgreSQL in the 2026 Ruby on Rails Community Survey and Book Giveaways

84% of 1,800 surveyed Rails developers use PostgreSQL in production. While PostgreSQL is less popular than Oracle, MySQL, and Microsoft SQL Server today, the gap is shrinking. Win a signed copy of High Performance PostgreSQL for Rails, see below for details. The 2026 version of the Ruby on Rails Community Survey results are now live. Two things caught my eye: how dominant PostgreSQL use is and the learning resources developers found to be most valuable. Among relational SQL databases, 84% of respondents use PostgreSQL in production . That’s wild! The next one is MySQL at 23%. 84% of nearly 1,800 surveyed Ruby on Rails developers use PostgreSQL in production This reflects a multi-year trend not only in the Ruby on Rails community but also in the broader industry among relational databases. According to the DB-Engines Ranking Trend , Oracle, MySQL, and Microsoft SQL Server are all still more popular than PostgreSQL, but declining. In the graph below we can see the growing popularity of PostgreSQL and this trend line implies it may surpass Microsoft SQL Server. MySQL could be next. Popularity of Oracle, MySQL, Microsoft SQL Server and PostgreSQL per DB-Engines Books hold a smaller but steady percentage among learning resources. 37% of respondents in their first two years of learning felt reading whole books was most helpful, while 10% have read parts of a book and found that best. What worked best among respondents was building and deploying their own applications. This makes sense! That’s how it’s always been for me too, nothing beats building something yourself and becoming an owner and operator. Documentation, learning videos, podcasts, books, and blog posts all help support developers looking to improve their skills. I was happy to see High Performance PostgreSQL for Rails ranked #12 among recommended books . Thank you! The book has been published for 2 years now and isn’t being actively promoted. I’m grateful to occasionally hear from readers at events like Rails at Scale Summit that they’ve found the book helpful. Seeing that reflected in the survey results was very fulfilling. High Performance PostgreSQL for Rails ranked #12 among recommended books To celebrate the survey results and the book having been published for 2 years, I’d like to sign and give away a couple of copies. If you’re in the contiguous U.S. and would like to enter, please send me a message through my site in the next couple of weeks. That’s it. I’ll draw two winners at random and ship them their copies. Good luck! Please check out the full 2026 Ruby on Rails Community Survey Results .

0 views
Kev Quirk 2 days ago

2026-10-16 13:51: The amount of AI generated sales emails I get these days is astonishing. If you...

The amount of AI generated sales emails I get these days is astonishing. If you can't be arsed to write your own sales pitch, why the fuck should I be arsed about your product? 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
Nicky Reinert 2 days ago

cr34te-it

I built cr34te.it . Anyone can submit changes to a website. Anonymously. Of course there is more. Let me explain how it works: You visit this website and you think: Well, I’d like to add monopoly clone. How you do it? First you need to claim a turn . If you are lucky, you can start right away. Or you will be placed in a queue. The queue holds up to 100 people. When it is your turn, you have 6 minutes . To do what? You copy a prompt and switch to either your preferred AI model in the browser ( ChatGPT , Anthropic , you name it…) or your local coding agent ( Copilot in VSCode, Claude-App , , , you name it…). Deliver that prompt to the AI, it will ask you what to change and create a patch out of it. Local coding agents usually perform way better, because they support local testing and tool calls. The browser-based way requires you to copy the patch back to the website to submit it. There’s a small window where you paste and submit your change. It will be tested against a couple of moderation rules. Harmful content, harrassing speech, obsessive spam and such things will be rejected. For apparent reasons. Your local coding agent makes it way easier, it can use the API to submit changes directly, however the same moderation rules apply. Your change is visible for at least 12 minutes - that’s the guaranteed window. 12 minutes of fame . The next contributor may either improve your submission or overwrite it entirely. However, no revision gets lost. You can still browser to previous submissions and even share them: https://cr34te.it/?v=v000041 One thing worth mentioning: For traceability reasons and to maintain accountability, every submission is logged with a unique identifier and your network address. This is necessary to prevent abuse and ensure that the platform remains a safe and constructive environment for all users. But wait, there is more: You don’t want to wait? You can jump the queue by paying a small fee. But don’t worries. People in the queue will still get their turn eventually, because there is a limit: You cannot be bypassed more than once. Next time someone buys a jump, you will still get your turn before they can be bypassed again. There are more “premium features”. You can freeze your submission for a given times. Right now this is 34 Minutes or 720 Minutes (12 hours). Alternatively, you can bump a submission from the history back to the top. If you experience a submission that still somehow violates a rule or contain content that you may find objectionable, you can report it. A given amount of reports will automatically trigger a take-down of that submission, though: Every report will be also reviewed by the moderation team. There’s also a way of expressing your support for given submission, but you need to create an account for that: You can upvote or downvote submission. Right now we support Google and GitHub accounts. We will not store any additinal account information except the account ID. Submissions with many upvotes will be more prominently displayed in the history.

0 views
マリウス 2 days ago

Razer Basilisk V3 Pro 35K Phantom White Edition

In 2024 I replaced the Logitech MX Master 3 that I had been using since 2021 with a Razer Basilisk V3 Pro and Razer’s Mouse Dock Pro. The Basilisk did what the Logitech never managed to do, namely work without connection stutters, lags and dropouts. It also charged wirelessly on its dock and came with the same free-spinning scroll wheel that I had gotten used to on the MX Master, while being lighter and not covered in rubber that got quite disgusting to touch over time. Since then it has been my mouse at most desks , as well as on the road, where I bring it on almost every trip, even though my setup is mostly keyboard-driven. There was nothing wrong with the V3 Pro that I had. The main difference between it and the Basilisk V3 Pro 35K, which Razer released in October 2024, is the newer Focus Pro 35K sensor that replaces the Focus Pro 30K. However, I really like the transparent tech aesthetics of the 2000s, and when I came across the 35K in Razer’s translucent Phantom White edition at TSUKUMO eX. in the Akihabara district of Tokyo, I bought it anyway. I want to see more companies move away from the boring, muted look of today’s hardware and bring back the transparent tech look. This post is a review of the Phantom White from the perspective of someone who had used the regular V3 Pro for two years. It covers what Razer changed between the two, the engineering inside, and where Linux compatibility is at. Disclosure: I paid for the mouse with my own money and have no relationship with Razer. The opinions in this post are entirely my own. Razer introduced its Phantom collection in June 2025 with translucent green versions of the Basilisk V3 Pro 35K, the BlackWidow V4 75% keyboard, the Barracuda X Chroma headset and the Firefly V2 Pro mouse mat. In October 2025 the same four products followed in translucent white, together with a Kishi V3 controller for phones, under the name Phantom White. In Japan the Basilisk went on sale on November 7, 2025, at a suggested price of ¥28,980, which is ¥2,000 more than the black and white versions of the 35K. In the US the difference is $10, with the Phantom White at $169.99. Not only is the shell translucent, but so are the side grips, the cover on the underside and even the housing of the wireless dongle, which Razer refers to as color-matched components . The shell, however, isn’t as clear as Razer’s product renders make it look. The top in particular has a milky finish that is half white and half see-through, and the internals show through it as faint shapes instead of in detail. It’s apparently the same for the green version, with the interior only faintly visible through a shell that isn’t fully clear. Making a mouse translucent takes more than swapping the plastic. Razer’s Global Head of Design, Charlie Bolton, explained in an interview that the products in the Phantom collection weren’t designed to be transparent in the first place, and that Razer had to redesign a lot of their internal structure. Razer’s own marketing speaks of reengineered internals and meticulous wiring without going into detail. The only differences that I could find documented are that the Phantom editions have only 12 individually programmable LEDs instead of the 13 of the black and white 35K, and that Razer publishes a separate firmware updater for them. Which of the lighting zones was dropped, and why, Razer doesn’t say, but my assumption is that the 13th LED is the one which, on the non-translucent versions, illuminates the Razer logo on the back of the mouse. With the lighting turned on, the shell spreads the light of the underglow and the scroll wheel through the body of the mouse. This makes whatever lighting effect is running impossible to ignore, which, as I’ll explain further down , is a bit of a problem in my case. Translucent and white plastics tend to yellow with UV exposure over the years, and since the Phantom editions have only been around for about a year, I haven’t found any reports on how they age. I guess this is something that I’ll be able to report on in a few years, if yellowing should actually occur. It also remains to be seen whether the rubber on the side grips will wear after a few years as has been the case with my black V3 Pro, but I strongly assume that it will, at which point it’ll be interesting to see how that will look on the translucent material. Aesthetics are subjective, and I can understand anyone who prefers the stealthy look of the black version and finds the Phantom White to be a bit too much. I, for one, like it a lot. It reminds me of the translucent gadgets of the 2000s, and it turns the mouse, which is usually one of the most boring objects on a desk, into something that is quite interesting to look at. * At launch the V3 Pro supported 4000 Hz with the Mouse Dock Pro or the HyperPolling Wireless Dongle. Razer raised that to 8000 Hz with a firmware update in November 2023. ** Razer lists 11 programmable buttons for both mice, but its product page for the 35K also speaks of 13 customizable controls. The 14 controls of the Basilisk V4 Pro further down are counted the same way. The weights are Razer’s, without the cable and the dongle. If you put the 35K on a scale it will probably measure around 113g, and with the wireless charging puck installed, my Phantom White weighs around 118g. The different battery figures for the original V3 Pro are not a typo. Razer rated it at 90 hours when it launched but lists 110 hours today. I couldn’t find an explanation for the extra 20 hours, as I doubt that Razer actually changed the battery and I’d assume that it’s a value that they might have achieved using purely software optimizations. I haven’t taken apart the 35K so far, and it seems like nobody else on the internet has either, but if we assume that the internals are identical to the V3 Pro’s, then it’s likely to have the same Nordic Semiconductor nRF52840 at its core, which is an ARM Cortex-M4 system on a chip with 1 MB of flash and 256 KB of RAM, and a radio for both Bluetooth and proprietary 2.4 GHz protocols like Razer’s HyperSpeed. The lighting then probably also has its own RGB driver, maybe even the exact same W3635, and the 600 mAh battery is probably also wrapped in foam and mounted on a plastic frame above the sensor, into which the scroll wheel assembly slots as well. I also assume that the battery is soldered to the board, and that replacing it requires a soldering iron. Not great for a mouse that costs as much, and whose battery is likely the first part to wear out. Going by the V3 Pro’s design, the buttons on the top shell would then also be on a separate PCB that connects to the main board with a 5-pin connector, while the LED strip for the underglow and the scroll wheel connect via ribbon cables. Three magnets in the base would then align the mouse on the Mouse Dock Pro. Presumably the 35K also uses Razer’s third-generation optical switches for its main buttons, which register a click when the plunger interrupts an infrared light beam instead of when two metal contacts touch. They don’t need a debounce delay and aren’t prone to the double-clicking that mechanical switches tend to develop over time. Razer rates those at 90 million clicks. The other buttons, however, probably use ordinary mechanical switches. Some online sources state that the switches of the side buttons and the sensitivity clutch are ChangFeng parts, others that the side switches are Huano, and that the two buttons on top, the wheel click and the tilt inputs use unbranded tactile switches. The teardowns of the original identify the Focus Pro 30K sensor as a PixArt PAW3950. The Focus Pro 35K Gen-2 was reportedly developed together with PixArt as well, but Razer hasn’t said which part it’s based on. The Focus Pro 35K Gen-2 raises the maximum resolution from 30,000 to 35,000 DPI, while the tracking speed of 750 IPS and the maximum acceleration of 70 G stay the same. The more useful change is that the sensitivity can now be set in steps of 1 DPI instead of 50, which is probably important to people who want to match the sensitivity they’re used to from another mouse, and for whom Razer hence added a DPI Sensitivity Matcher to Synapse. The other features carried over from the 30K, namely Smart Tracking, which adjusts the tracking to the surface and offers three lift-off distances , Asymmetric Cut-Off, which sets the lift-off and landing distances separately across 26 levels, and Motion Sync. The new sensor seems to be fast and accurate across soft, hard and glass pads, but in practice indistinguishable from the old one, at least to me, who is not a professional eSports player. I’ve read about measured lift-off distances of 0.6, 0.8 and 2.0 mm for the low, medium and high settings on a bare surface, while some users saw slight jitter at 8,000 DPI and more above that, which is irrelevant to anyone, including myself, who doesn’t use such settings. I use the mouse for desktop work, meaning websites and applications like VMs that are cumbersome to use with the keyboard alone, and for that the difference between the two sensors is entirely academic. The included HyperSpeed dongle polls at up to 1000 Hz, and so does the USB cable. For 8000 Hz, the mouse needs either the HyperPolling Wireless Dongle or the Mouse Dock Pro. The dock launched in 2022 with a 4000 Hz transceiver and is listed with 8000 Hz today, and the original V3 Pro got 8000 Hz with its firmware update in November 2023, so 8000 Hz isn’t new to the 35K either. Once the mouse is paired with the dock, its own dongle obviously isn’t needed anymore and can be stored away inside the mouse. Independent measurements put the click latency of the 35K at 1.8 ms at 4000 Hz and 1.6 ms at 8000 Hz. These are good numbers, however, the gains over 1000 Hz are marginal, but the cost in battery life isn’t. At 8000 Hz Razer rates the 35K at 28 hours, down from the 32 hours of the original, which is a fifth of what the mouse gets at 1000 Hz. The scroll wheel was one of the main reasons I went with the Basilisk back in 2024. Like the MX Master, it can switch between a notched, tactile mode and a free-spinning mode, but the two do it in different ways. Logitech’s MagSpeed wheel uses an electromagnet, while Razer’s HyperScroll Tilt Wheel uses a small DC motor that, via a plastic gear, either presses a lever against a toothed disk for the tactile mode or pulls it back for the free spin. The rotation is read by an optical encoder , an LED and two photodiodes looking at a segmented disk. The mechanism is so precise that seemingly even a single human hair stuck in between, blocking the encoder’s light, can lead to a jittering wheel. Anyhow, the mode can be switched with the button below the wheel or automatically with Smart-Reel, which goes into free spin when you scroll fast and back to the tactile mode when you slow down. Smart-Reel isn’t new, because the original V3 Pro had it as well, but what’s new on the 35K is that the speed at which Smart-Reel switches can be set across five levels, and that Synapse offers a scroll acceleration that speeds up scrolling the faster you spin the wheel. Unfortunately, the acceleration is implemented in Synapse and not in the mouse, and it hence doesn’t exist on systems that don’t run Synapse. Every switch between the two modes comes with an audible click from the motor. Razer barely touched the shell, and the 35K is the same 130 mm long, 75 mm wide and 42.5 mm tall right-handed mouse with a thumb rest that the original was. Hence, the ergonomics are the same good ones that the original Basilisk had. In a palm grip the thumb rests on the ledge, with the sensitivity clutch right underneath it and the two side buttons above it. At 112g the Basilisk is heavy compared to the lightweight mice that are popular for shooters. For my use, however, it isn’t heavy by any means. Compared to the MX Master 3 that I used before, the Basilisk is still more than 20g lighter, and its weight is distributed well enough for it not to feel heavy in the hand. The feet are made of PTFE and glide well on a mouse pad, but they’re small and can scrape across a hard desk. Razer rates the 35K at 140 hours on the 2.4 GHz connection at 1000 Hz and at 210 hours on Bluetooth, compared to the 110 and 150 hours that it lists for the original today. Razer doesn’t say where the difference comes from, and as long as nobody has opened up a 35K, it’s unclear whether it’s the battery, the sensor or the firmware. However, the lighting matters quite a lot for battery life and might almost halve the runtime when set to peak brightness. So far, the battery life for me has been phenomenal even with the unicorn puke turned on at 10% brightness. My previous Basilisk had become a little weak with regard to its runtime after two years of daily use, and while I’ve only had the 35K for a short time, it feels like it can go weeks on a single charge. The cover on the underside of the mouse closes off a compartment for storing the dongle, and it can be swapped for Razer’s Wireless Charging Puck. The puck twists in, connects to the mouse through contact pads, and turns it into a Qi device that charges on the Mouse Dock Pro and, if the coils line up, on other Qi chargers. The Mouse Dock Pro includes a puck, otherwise it’s $29.99 or ¥3,288. Charging on the dock is slower than via the cable, with about 0.1 A on the dock compared to 0.33 A via USB-C on the original V3 Pro, which however doesn’t matter with the mouse on the dock overnight. Sadly, there doesn’t seem to be a wireless charging puck that is also transparent. Razer sells the Wireless Charging Puck in a single color, which is black, and it’s the same puck that comes with the Mouse Dock Pro. Hence, in order to use the mouse with my Mouse Dock Pro, I have to use the original black puck. It’s a bit sad, but then again, it’s not visible as long as you don’t lift the mouse to look underneath it. The dock itself has a built-in 8000 Hz transceiver and RGB lighting that shows the battery level of the mouse while it’s charging, from green through yellow to red. On October 8, 2026, Razer announced a successor, the Mouse Dock V2 Pro, which lists the 35K as compatible and is supposed to arrive in Japan in November for ¥11,980. Like with the original V3 Pro, Razer doesn’t offer any software for Linux. Synapse, Razer’s official malware software, runs on Windows and, as a preview, on macOS. Pairing the mouse with the dock, updating its firmware and the firmware of its receiver, and changing settings like the lighting timeout all require Synapse. Hence, I set up a Windows 11 VM on KVM, passed the dock through to it, unpaired my old Basilisk V3 Pro, paired the 35K, updated its firmware and adjusted its settings. Razer has started offering a browser-based version of Synapse, Synapse Web, which could in theory work on Linux. As of now, however, its list of supported devices contains a single mouse, the Viper V4 Pro. The on-board profiles, which include settings like the polling rate, work without Synapse. Sadly, just like with my previous Basilisk, the lighting still doesn’t seem to be stored on-board, at least not in a way that persists without Synapse running in the background. Synapse doesn’t run on Linux, and for using the mouse through the dock there doesn’t seem to be a working FOSS implementation yet that can properly set its lighting, which is why my Phantom White currently displays its typical spectrum cycling effect, also known as unicorn puke . OpenRazer has supported the Basilisk V3 Pro 35K since version 3.10, and the Mouse Dock Pro since version 3.12. Unfortunately, the latter covers only the dock itself, namely its own lighting, while a mouse that’s paired with the dock doesn’t show up as a device. The dock relays the mouse’s input to the computer, so the mouse works, but its DPI stages, its polling rate and its lighting can’t be changed from Linux as long as it’s connected through the dock. A report about OpenRGB not detecting the Basilisk V3 Pro through the dock has been open since 2024. Pull request #2817 , which was opened in May 2026, adds pairing, unpairing and a scan for nearby mice to OpenRazer’s driver for the dock. It also exposes a mouse that’s paired with the dock as a device of its own, with the same settings and effects that OpenRazer supports through the mouse’s own dongle. Testers report that the Basilisk V3 Pro 35K works through the dock with it, including static colors, and a follow-up pull request adds the 8000 Hz polling rate. As of now, however, the pull request is still waiting for a review by the project’s maintainers, and I’m waiting for it to be merged, so that I can finally configure the mouse through the Mouse Dock Pro via OpenRazer. If you own a Basilisk V3 Pro, there’s little reason to replace it with a 35K. The sensor is newer, but in practice indistinguishable from the old one, at least unless you’re an eSports professional, and the remaining changes are a longer rated battery life and a few settings in Synapse. I’d recommend the original, which these days often sells at a discount. Unless, that is, you care about the way it looks, which, admittedly, is why I bought it. As a mouse, the 35K Phantom White is as good as the V3 Pro was. The ergonomics are the same good ones that the original Basilisk had, the scroll wheel is as versatile as ever, and the battery life has, so far, been phenomenal. The translucent shell is a welcome change from the muted look of most hardware today, and the premium of ¥2,000 or $10 over the regular versions is not terrible. The downsides are the ones that the original had as well, namely (for some people) the weight, the price, a battery that’s probably soldered in, and software that doesn’t run on Linux, plus a charging puck that doesn’t match the rest of the mouse. Note: Shortly after I bought the 35K, at the beginning of October, Razer announced the Basilisk V4 Pro, which is supposed to arrive in Japan in November for ¥27,980. It’s 12g lighter and has 14 instead of 13 customizable controls, a new scroll wheel with an additional, finer tactile mode and a Focus Pro 50K sensor. It also supports 8000 Hz in both wireless and wired mode and is rated at 200 hours of battery life, but it has only 7 lighting zones, and Razer hasn’t announced a Phantom edition of it so far. If you don’t care about the translucent shell, the V4 Pro is probably the better buy. I do, and I’m happy with the Phantom White.

0 views
Brain Baking 2 days ago

What Is A Man? (Laptop Stickers Part Deux)

A miserable little pile of secrets. But enough talk! Have at those stickers! is what Dracula would say when encountering my now completely screwed up laptop. In fact, his image—including the iconic quip—is placed prominently in the middle. What started with just four stickers, mostly Emacs (Lisp) related quickly spiralled out of control after the arrival of my Redbubble order. I’m sorry, I tried neatly arranging them, I really did. But the end result is, as my wife called it, chaotic 1 . But in D&D, chaotic alignments can be good as well, right? Minsc is chaotic good? Sarevok can turn into being chaotic good if you treat him well in Throne of Bhaal ? So here’s my chaotic good laptop: The 2020 MacBook Air covered in gloriously weird stickers. Now it’s just a matter of time before a conversation is sparked. It will depend on the sticker they choose to discuss whether they’ll become besties. While Ton chooses not to apply stickers to avoid a conversation about their meaning, I am actively trying to provoke it. Dear students, if you’re reading this: surprise me! Why don’t you try to guess which is which? I’ll hand out a few hints for each sticker and reveal their true nature in a spoiler tag below. From the top left to the bottom right: Perhaps I went a bit overboard with the (retro) gaming-related stickers. I had more but ran out of space. I realised too late that I was missing a music-related one. The biggest challenge was fixing a few overlapping edges that looked bad, where I had to rip off and redo a part of some stickers. The extra fine nib tip is already getting loose… I think she called it messy but since I’m not a big fan of football I decided to use the word chaotic instead. Get it? Messi? No?  ↩︎ Related topics: / stickers / By Wouter Groeneveld on 16 October 2026.  Reply via email . Big black cloudy square: FSF. Pixelated weirdo in long darkblue coat: an old pirate. Mini round foil sticker: a certain Paw that needs to be Patrolled. Big green skull: think old French adventure game. What is a man: I think I already spoiled that one; but which game? Next level round one: fantasy console Pixelated kid dressed in green clothers holding up a sword: does this really need a hint? Warning: this product may contain trace amounts of Lisp: an alien! Feeling Extra Fine: a fine writing implement A shocked skeleton: what’s the opposite of Mario? A towering purple tentacle: travel in time to find out Green pixelated asparagus: just food A round white : the logo of an editor I’m using right now Mini round foil sticker: has a little brother called George A sink overflowing: GNU Emacs is literally on it We Rise At Dawn frog: what’s inside the jar? Small pixelated bug: involving grid-based tactical manoeuvring An old wizard with long beard sitting on a chair: related to the green skull Small pixelated bug: see 17 Menacing looking black bearded fellow with hat: looking for that pirate Big black cloudy square: The Free Software Foundation. Pixelated weirdo in long darkblue coat: Guybrush Threepwood in Monkey Island 2 . Mini round foil sticker: A Paw Patrol sticker representing my youngest kid. Big green skull: The main antagonist, Amoniak, in Gobliins 2: The Prince Buffoon . What is a man: Castlevania: Symphony of the Night Next level round one: UFO 50 Pixelated kid dressed in green clothers holding up a sword: The Legend of Zelda: a Link to the Past Warning: this product may contain trace amounts of Lisp: The Lisp Alien Feeling Extra Fine: just a silly Extra Fine nib representing my love for fountain pens. A shocked skeleton: Wario in a shocked state after touching electricity in Wario Land 3 A towering purple tentacle: Day of the Tentacle Green pixelated asparagus: really, just food! I love green asparagus! A round white : Emacs Mini round foil sticker: Peppa Pig representing my eldest kid. A sink overflowing: GNU Emacs We Rise At Dawn frog: the frog is holding a baked loaf of sourdough bread and in another hand a jar of sourdough starter. Small pixelated bug: Into the Breach An old wizard with long beard sitting on a chair: the wizard Tazaar that guides you in Gobliins 2 . Small pixelated bug: Into the Breach Menacing looking black bearded fellow with hat: LeChuck in Monkey Island 2 I think she called it messy but since I’m not a big fan of football I decided to use the word chaotic instead. Get it? Messi? No?  ↩︎

0 views
iDiallo 2 days ago

This video is 2 minutes long

As I mentioned before, it takes me way too long to edit a single video . So I am releasing it in chunks. If I never finish it, well then at least I'll have a few videos out. What is the video about? Well, it is about the future we were promised, versus the one we are actually living in. It's not dystopian, but it seems like the goal of tech is supposedly to automate the tedious and mundane, so we can have more time to do the things we love. But along the way came the word productivity. The goal of productivity is not to get free time. It is to produce more in the same amount of time. Not produce more in less time. Read this a couple times for it to stick. Click the image to load The first one was 1 minute long . Today's will be two minutes . And the next will be 3 minutes long. Then I'll have to think about Fibonacci.

0 views