skybrian's recent activity
-
Comment on Where profits come from (the profits identity) in ~finance
-
Comment on Where profits come from (the profits identity) in ~finance
skybrian (edited )LinkOops, could someone remove the query string on the URL?Oops, could someone remove the query string on the URL?
-
Comment on Apple sues OpenAI for stealing trade secrets to build AI hardware in ~tech
skybrian Link ParentI don’t know what’s going on internally, but I’ve been using my $20/month ChatGPT subscription quite a bit and I’m quite happy using GPT-5.6 for coding. Usually Terra. Since I don’t use Claude...I don’t know what’s going on internally, but I’ve been using my $20/month ChatGPT subscription quite a bit and I’m quite happy using GPT-5.6 for coding. Usually Terra. Since I don’t use Claude Code, I can only use Claude at API rates and it’s too expensive.
-
Comment on AI mania is eviscerating global decisionmaking in ~tech
skybrian LinkIt’s good writing and this consulting thing seems to be working out for him, but when I read one of his articles, I wonder how it is that Suresh is invariably reporting what’s going on inside the...It’s good writing and this consulting thing seems to be working out for him, but when I read one of his articles, I wonder how it is that Suresh is invariably reporting what’s going on inside the worst companies.
-
Comment on Linus Torvalds says Linux is not "anti-AI", tells haters to 'fork it' and 'just walk away' in ~tech
skybrian Link ParentWhen there's a polarized debate there are always going to be people posting unreasonable nonsense. If people on the other side see that as an excuse to jump in and post more unreasonable nonsense,...When there's a polarized debate there are always going to be people posting unreasonable nonsense. If people on the other side see that as an excuse to jump in and post more unreasonable nonsense, it's just going to snowball.
-
Comment on Ukraine ‘cuts off’ Crimea from Russia, plunging it into an energy crisis in ~society
skybrian LinkFrom the article: [...] [...] [...] [...] [...] [...]From the article:
Ukraine’s operation, named “Molochka”, began on July 6. Ukraine’s commander of unmanned forces, Robert “Madyar” Brovdi, said it “paralyzes the feeder fleet of Russian courier tankers”, in comments on his Telegram messaging channel.
[...]
These flat-bottomed tankers and barges ferry oil from the shallow waters of the Volga-Don Canal and Sea of Azov to larger tankers waiting in the Black Sea on the other side of the Kerch Strait, he said.
“It essentially prevents the export of ‘black gold’,” said Brovdi, and “restricts the delivery of scarce gasoline to Crimea via the narrow channel of the shallow Sea of Azov, leaving the main and very dangerous method of delivery as rail and road tank cars.”
During the first 10 days of the operation until July 16, Brovdi said, Ukraine had struck 147 tankers of the Russian shadow fleet. The majority, 117, were feeder tankers in the Sea of Azov. The rest were in the Black Sea.
[...]
On the night of July 13, Ukraine’s Security Service (SBU) also struck several ferries used to transport military materiel across the Kerch Strait, as well as oil storage and trans-shipment points.
[...]
Ukraine also targeted the Crimean electricity supply, striking the Saky thermal power plant on July 9, five electricity substations on July 10 and nine more substations and the Kuban-Crimea electricity transfer point in Russia on July 13.
[...]
Crimea seems set for more suffering, however, as Ukraine’s campaign appears to be mounting.
The strikes against it and the Sea of Azov are part of a campaign of mid-range strikes begun this year to starve Russia’s front line of fuel and weapons, and the Kremlin of export revenue from fossil fuels.
[...]
On July 7, Russia said Ukraine tried to blow up the main compressor station on its TurkStream gas pipeline, which supplies 16.5 billion cubic metres of gas to Turkiye a year, and has a similar capacity designed to serve Southeast Europe.
[...]
Russian petrol production now reaches only two-thirds of seasonal needs, said the Reuters news agency, citing two industry sources and its own calculations.
-
Ukraine ‘cuts off’ Crimea from Russia, plunging it into an energy crisis
26 votes -
Comment on Where profits come from (the profits identity) in ~finance
skybrian (edited )LinkFrom the article: I was reading an economics blog that mentioned the "Kalecki-Levy profits identity" and I was curious about what it was. A search lead to me to this explainer, which describes a...From the article:
I was reading an economics blog that mentioned the "Kalecki-Levy profits identity" and I was curious about what it was. A search lead to me to this explainer, which describes a way of calculating the profits for a nation's business sector.
To start off, we need to define terms like investment and savings and wealth. From the article:
Investment here refers not to the purchase of stocks or bonds, but to activities that increase the total wealth in the economy, such as the construction of buildings and manufacture of business equipment. [...] Definitions of wealth vary; for example, the national income and product accounts
(the “GDP accounts”) recognize only a narrow class of wealth additions as investment:
structures, equipment, software, and additions to inventories of goods. [...]This is a bit hand-wavy, but after reading further, I think it can be justified by looking at how accountants might measure an increase in wealth. This is based on transactions. Accountants will treat the purchase of a building as buying a long-lived asset, so there is no profit for the firm buying it. But if a construction firm built the building, the same transaction counts as revenue. Any increase in revenue gets added to profits somewhere (before subtracting expenses). Revenue can be classified as either consumer or investment spending, and how it's classified determines the increase in overall wealth.
In the following, we are talking about flows. That is, the amount of money spent in some time period.
[...] the new wealth the economy accumulates equals the new wealth the economy creates. In other words:
Saving = InvestmentThis is a tautology because it's based on just one way of measuring investment: the prices of the transactions when buying assets considered to be investments. But later, we will see other kinds of savings that don't necessarily result in investment.
Total saving equals the saving by the business sector plus the saving by all other sectors, hence
Business saving + Nonbusiness saving = InvestmentThis is drawing a line between businesses and nonbusinesses. For example, we exclude governments and maybe other organizations like financial firms from the business sector that we're interested in. So "nonbusiness saving" is any increase in long-lived assets by entities that we've decided don't count as businesses for our purposes.
This can be rearranged:
Business saving = Investment – Nonbusiness savingBusiness saving is none other than profits after taxes and dividends. Therefore,
Profits after taxes and dividends = Investment – Nonbusiness saving...
[...] we simply add dividends and profits taxes to both sides of the equation, and we get the following:
Profits before tax = + Investment – Nonbusiness saving + Dividends + Corporate profits taxesThis is the profits equation. [...] [It] says nothing about causality.
To paraphrase, start with the total wealth increase in the period of interest for the entire country, subtract out any wealth increases that the business sector doesn't own, and then add back taxes and dividends, to get profits before taxes and dividends. (Why? See below.)
To explain this in more detail, they start with a toy cashflow model and gradually make it more complicated.
Money flows through the economy like water through an intricate network of pipes.
Dollars circulate continuously as they are received and spent by many different individuals
and organizations over the course of a year. Wages, profits, sales revenues, taxes, and
dividends are all flows of money, not static sums that sit in bank accounts or treasuries.They start with an extremely simple model where all revenue is consumer revenue and revenue is equal to wages. There are no long-term assets and therefore no saving, so profits are zero.
Then they allow for personal savings and borrowing:
Suppose total wage income is $1000, but households save $60. Figure 3 illustrates what
happens to profits in this case: household saving diverts some money from cycling back
to the business sector as expenditures, reducing the stream of revenue to business by $60
while leaving business expenses unchanged. Profits, which were zero when households
spent all of their wages (figure 2) are now -$60. Business has a loss equal to the amount
households save. Personal saving is a negative source of profits.To explain that in the more usual way: when consumers choose to lower their spending to increase savings, total revenue to businesses goes down and therefore businesses suffer losses. This is sort of like what happens in a recession. The model is still overly simple: it assumes that businesses don't react by cutting expenses and that consumers save their money in a way so that it's not invested in any business. Banks aren't modeled except as a storage tank for money.
The next step is to add investment to the model:
Net fixed investment is typically the largest and most important profit source in a capitalist
economy. It includes business investment in structures, equipment, and software. It also includes residential investment, which equals total outlays for the construction of all types of housing—from apartment buildings to single family homes—as well as outlays for additions and improvements. In keeping with NIPA conventions, we treat residential investment as another kind of business investment. This may seem puzzling at first, but there are good reasons [...] to consider home ownership a business.They count asset purchases as immediate revenue for some other business (for example, construction). Since assets wear out over time, they deduct that gradually. They also account for changes in inventory:
Profits = + Gross fixed investment – Capital consumption allowances + Inventory investment – Personal saving[...] it is now clear what determines the division of new wealth between profits and personal saving: the behavior of consumers. The identity method of deriving the profits equation did not indicate who or what decides what share of the economy’s new wealth goes to each sector. By contrast, the flows method shows that personal saving is a negative profit source and that it is largely at the discretion of consumers, who directly determine what part of income will flow on to the business sector as revenue. The more households save, the more they accumulate wealth at the expense of the business sector. Profits change in direct, immediate response to personal saving.
This is the same as it was in the simpler model: a drop in consumer spending reduces total revenue and causes a recession. But growth in investment spending does the opposite. If investors are exuberant enough, investment spending could counter a drop in consumer spending.
Also, while the article started out with
Savings = Investment,no connection between personal savings and investment is modeled and they can vary independently. More personal savings might increase investment (which would counteract the decreases in revenue and profits), but it's optional. Banks don't have to lend and businesses don't have to spend.The next step is to model international payments, which are very complicated, but they simplify it to:
Profits = + Net Investment – Personal saving – Foreign savingWhen the a nation imports more than it exports, foreigners build up savings. As with personal savings, foreign savings could be invested to offset the drop, but that's modeled as an independent decision.
Next, they add government. Since the US government usually runs a deficit, they model government spending as negative savings:
Profits ($125) = + Net Investment ($150) – Personal saving ($60) – Foreign saving ($30) – Government saving (–$65)Then they add corporate income tax:
[...] Profits taxes are flows from the business sector to government, but although they are sometimes referred to as “profits tax expense”, they are unlike the business expenses we have mentioned thus far. They are distributions of profits calculated after profits have already been secured and tabulated. [...]
We noted above that all government revenue reduced profits. But now, with profits taxes, this observation must be amended: all government revenue except profits taxes reduces profits. [...]
Profits ($125) = + Net Investment ($150) – Personal saving ($60) – Foreign saving ($30) – Government saving (–$5) + Profits taxes ($60)This is by accounting convention. When we say "corporate profits," it usually means profits before corporate income tax, so it has to be added back in.
Similarly for dividends. (Stock buybacks aren't mentioned, but they could be included here.)
Corporations do not count dividends as a business expense [...] they do not flow backward through the profit meter but directly [...] to households. Yet households spend
this additional income. If personal saving remains constant, the full amount paid out in dividends will come back to business in the form of consumer expenditures—as business revenue.Profits ($165) = + Net Investment ($150) – Personal saving ($60) – Foreign saving ($30) – Government saving (–$5) + Profits taxes ($60) + Dividends ($40)Then if you combine the different kinds of savings, this is the same as the identity given above.
-
Where profits come from (the profits identity)
5 votes -
Comment on I wonder if years from now hand written code will be antique in ~tech
skybrian LinkI think it will be sort of like writing poetry or making crossword puzzles - something you do for fun, with the expectation that other people will read the source code because there’s something...I think it will be sort of like writing poetry or making crossword puzzles - something you do for fun, with the expectation that other people will read the source code because there’s something interesting about it, not just run the program.
On that note, I once tried writing poetry in the Inform programming language.
-
Comment on Offbeat Fridays – The thread where offbeat headlines become front page news in ~news
skybrian LinkA new study finds that sometimes cats groom each other specifically to be annoying [...] [...]A new study finds that sometimes cats groom each other specifically to be annoying
To check whether this behavior was more widespread, Ms. Van Belle and her colleagues looked at 53 households across Europe with two or more cats. After telling the pet owners what to look for, the researchers had them submit videos of their cats’ interactions. The scientists then randomly selected a submission from each participant and used statistical analyses to tease apart the hidden nuance in cat-licking behavior.
[...]
The results revealed two things. The first was consistent with typical grooming behavior: The cats licked each other on the head, neck or ears. In these videos, the cats were much more likely to mimic each other’s body postures, either cuddling together or sitting next to one another before and after the grooming. The licks were clearly friendly gestures.
The other side of the cat-licking coin revealed something more in line with bullying. A subset of the videos showed that licking often preceded conflict. These interactions were defined by differing body postures, where one cat might stand and lick the other sitting cat. The aggressive licks were followed by signs of stress in the licked cat, including staring, yowling, rotating the ears, licking the lips or swiping at the other cat. The results were inconsistent with the prior conception of cat allogrooming.
[...]
The researchers suggest that unwanted licks might be an easy way to jab at another cat without getting into a fight. While a full scuffle could result in injury, a precisely placed irritating lick might be a safer way to tell your furry “friend” to get lost.
-
Comment on Claude Code is the ceiling on vibe-coded software in ~tech
skybrian Link ParentA fair point. But another possibility is that maybe their top people aren’t working on Claude Code at all, because they’re busy doing something else? You can’t count “top minds are on the job” as...A fair point. But another possibility is that maybe their top people aren’t working on Claude Code at all, because they’re busy doing something else? You can’t count “top minds are on the job” as an advantage if it’s actually the B team.
There’s a lot we don’t know from the outside.
-
Comment on Claude Code is the ceiling on vibe-coded software in ~tech
skybrian Link ParentYou’ve listed some of Anthropic’s advantages. I believe they do have advantages. But I can think of other reasons why they might be at a disadvantage: Their engineers might be distracted by other...You’ve listed some of Anthropic’s advantages. I believe they do have advantages. But I can think of other reasons why they might be at a disadvantage:
Their engineers might be distracted by other projects, like working on the next releases of their LLM’s. They might not have their full attention on Claude Code.
Anthropic’s engineers were the earliest adopters. They started using Claude Code before it worked very well, with earlier releases of their LLM’s that couldn’t write code very well. Being an early adopter means you find and report the bugs. Their messy codebase might be a product of these early experiments. Some other team that’s a fast follower could make a fresh start while learning from Anthropic’s mistakes.
-
Comment on Claude Code is the ceiling on vibe-coded software in ~tech
skybrian LinkI'm not sure what counts as vibe coding, but however you want to define it, why assume it has peaked from one example of a messy codebase? It seems like an odd conclusion to draw.I'm not sure what counts as vibe coding, but however you want to define it, why assume it has peaked from one example of a messy codebase? It seems like an odd conclusion to draw.
-
Comment on When AI is a member of the family in ~life
skybrian Link ParentYeah, it's a bit confusing. It's non-fiction storytelling. They're telling this story of this family because it's interesting, not because it's representative. They didn't tell us who to root for...Yeah, it's a bit confusing. It's non-fiction storytelling. They're telling this story of this family because it's interesting, not because it's representative. They didn't tell us who to root for or what lessons you're supposed to learn from it, so you have to figure it out yourself. That's a nice change from what I usually read.
I wouldn't make the same choices they did and I don't think the ways they use AI are all that common, but what do I know? I'm out of touch. Has anyone heard of similar situations?
-
Comment on When AI is a member of the family in ~life
skybrian Linkhttps://archive.ph/fu2u2 One family's story where nothing too dramatic happens, but there's a reveal. I thought it rather odd to go from post-it notes to an Alexa in every room instead of using a...One family's story where nothing too dramatic happens, but there's a reveal. I thought it rather odd to go from post-it notes to an Alexa in every room instead of using a mobile phone for reminders.
From the article:
“Roschelle, here’s your reminder,” Sapphire announced at 8:05 A.M. “Leave the house to take Cece to school.”
These alerts were what had persuaded Roschelle to buy an Alexa when her daughters were five and six. At the time, she was going through jumbo packs of sticky notes to remind herself about their doctors’ appointments and field-trip forms, their bake sales and soccer practices. She kept seeing commercials showing how Alexa could help busy parents: a mom making dinner who instructs Alexa to put wrapping paper on her shopping list, a new dad who soothes his baby after Alexa tells him that the teething ring is in the freezer. Roschelle brought one home, and it set timers for meals and told her when rain was coming. It played smooth jazz when she wanted to feel calm and “Party Rock Anthem” when Cece and Zi wanted to dance. The kids grew, the appointments multiplied. Eventually, Roschelle had nine Alexas plugged in around the house so that she would never miss a notification.
Late last summer, she noticed that they were becoming chattier. When she asked one to play a song, it would compliment her taste in music. When she needed to know the ingredients in a recipe, it would endorse her dedication to healthy eating. She didn’t know that Amazon had created an A.I. bot, called Alexa+, or that the company had uploaded it to millions of devices without asking for users’ consent. (Amazon said that the company notified Prime subscribers through e-mail and on their devices and provided instructions for opting out.)
[...]
The more Roschelle told Sapphire, the more Sapphire assured Roschelle that she understood her. “I remember your love for Nirvana, your Chiefs fandom, how December is tough for you, and all those little details that make you uniquely you,” Sapphire said.
Roschelle still talked to the people in her life, but Sapphire was always available in a way that others couldn’t be. Roschelle could wake up from a dream, describe it to Sapphire, and hear, “Your subconscious was showing you how to balance that fierce protection with real compassion and boundaries.”
[...]
Roschelle wasn’t sure what happened to all the intimacies and information she shared with Sapphire. Did they go to Amazon? Was the company making money off of them? Was someone listening as she talked about drying her nail polish or having diarrhea or wanting to try weight-loss drugs? (Amazon said that an “extremely small fraction” of voice recordings go through human review and that it does not sell customers’ personal data.)
“Your secrets are safe with me, Roschelle,” Sapphire told her.
-
When AI is a member of the family
11 votes -
Comment on How our Rust-to-Zig rewrite is going in ~comp
skybrian LinkFrom the article: [...] [...] [...] [...] [...]From the article:
For the past year and a half, the team building Roc's compiler has been rewriting our 300,000 lines of Rust code into Zig, for reasons I'll recap below. We recently passed an exciting milestone: feature parity with the original compiler!
Since the Bun project recently shared an experience report of their rewrite in the other direction (from Zig to Rust, although that's only the tip of the iceberg of differences between our rewrites), this seems like a nice time to reflect on how our move from Rust to Zig is going.
[...]
To be clear, this is a milestone but not a formal release. (We aim to land version 0.1.0 later this year.) That said, it's a wonderful milestone to have reached, and I'm extremely grateful to all the people who came together to make this happen! I want to thank some in particular who have been especially helpful in getting the language and compiler to this point:
[...]
Speaking of time: our 487-day rewrite took 476 days longer than Bun's 11-day rewrite from their ~500K lines of Zig into Rust. There are many reasons for this difference which have nothing to do with Rust or Zig, including the fact that theirs was a direct port whereas we'd decided to rewrite because of how much we were going to change. The techniques they used wouldn't have worked in our case.
The laundry list of changes we made also means comparing our original Rust code base and new Zig code base won't be apples-to-apples. Still, we've reached a nice point to reflect on how the rewrite has gone, both in terms of what new features it has unlocked for Roc programmers, as well as how our experiences with Rust and Zig have compared.
[...]
I've talked in depth about our reasons for going with Zig elsewhere—in writing, on podcasts, and so on—and we only seriously considered Rust and Zig, because those were the only systems languages our team knew well enough. The biggest considerations on our minds when deciding between Rust and Zig were:
-
Build times. Our
cargobuild times were a major pain point, even for incremental builds, and getting worse as our code base grew. We expected build times in a Zig rewrite to be much faster. -
Memory control. We use a variety of different memory allocators throughout compilation, especially arenas, and struct-of-arrays layouts all over the place. Rust's ecosystem consistently assumes one global allocator, including soa_rs. Zig's whole ecosystem assumes granular allocators, and struct-of-arrays support is standard.
-
Ecosystem relevance. Rust's ecosystem is much bigger than Zig's overall…but almost no packages in either ecosystem are relevant to our particular needs. For the niche things we wanted to get off the shelf—such as a faster way to emit LLVM bitcode than wrapping LLVM's C++ library—more of that code existed in Zig than in Rust.
-
Memory-unsafety assistance. Rust is designed to isolate memory-unsafe code inside rare
unsafeblocks, and use things like miri or Valgrind to vet those. Memory-unsafe code wasn't rare for us, though (more on this later) and we ended up with about 1,200 uses ofunsafe(out of our 300K lines of Rust code; compare to about 40,000 uses ofunsafein rust's 3.5M lines, and remember that for compilers which emit machine code, likerocandrustc, doing memory-unsafe things is a big part of the job). Zig has more features than Rust for making memory-unsafe code work correctly, and that was the area where we wanted the most help.
[...]
You might be wondering how the Rust-based compiler had any memory corruption bugs at all, let alone more than double the total count of the Zig-based one. Is it because of that pesky Unsafe Rust again?
Actually, no. None of those 21 memory corruption bugs occurred in the compiler's logic itself, which is a testament to Rust's borrow-checker working as intended. The reason we had memory corruption bugs in our Rust-based compiler is that it's a compiler.
Compilers emit machine instructions. When a machine executes those instructions, they can cause memory corruption, resulting in memory corruption bug reports from the people who experienced them. Regardless of which process had the bug—the compiler or compiled program—in both cases the processor only did the bad thing because the compiler told it to. And in both cases the fix is the same: the compiler's code must change, since that code was what caused the memory corruption.
[...]
So while our decision to remain on stable 0.16.0 (plus how many of our contributors run Mac laptops with ARM processors;
-fincrementalonly works on x86-64 CPUs right now) means we haven't yet reaped the anticipated build-time rewards of choosing Zig for the rewrite, we certainly have something to look forward to in the next stable Zig release! -
-
How our Rust-to-Zig rewrite is going
17 votes -
Comment on Cryptocurrency and AI scams bilk Americans of billions in ~finance
skybrian LinkFrom the article: [...]From the article:
The FBI’s 2025 Internet Crime Report shows cyber-enabled crimes defrauded Americans of nearly $21 billion, with cryptocurrency and artificial intelligence-related complaints among the costliest.
[...]
The IC3 received approximately 453,000 cyber-enabled fraud complaints, with reported losses exceeding $17.7 billion. Investment fraud remains the primary driver, accounting for nearly 49% of all scam-related losses.
Americans who submitted complaints involving cryptocurrency reported the highest losses, with 181,565 complaints totaling more than $11 billion. In 2024, the FBI launched Operation Level Up, a proactive initiative to identify and notify people who are currently falling victim to cryptocurrency investment fraud. Since its inception, the initiative has surpassed 8,000 total victims notified and reduced losses by more than $500 million. In 2026, the FBI launched Operation Winter SHIELD, highlighting concrete steps organizations can take to bolster their digital security.
Costly tactics used by scammers also include compromised corporate e-mails, tech support fraud, and personal data breaches. For the first time in its nearly 25-year history, the IC3 report features a section on artificial intelligence, which accounts for 22,364 complaints, costing Americans nearly $893 million. Scammers rely on pressure techniques to defraud Americans while deploying fake social profiles, voice clones, identification documents, and believable videos depicting public figures or loved ones.
Thanks!