The name makes me think it is a molten salt reactor, but it uses liquid sodium. Still aptly named.
I was hoping the Thorium molten salt ones with atmospheric pressure vessels would pick up pace thanks to this boom in power demand or Helion would arrive on the scene right on time for this.
That section is the most relevant whenever compression in a DB is discussed.
The purpose of a database is to find, aggregate or update data - storage is where the trade-off gets expressed. There are no silver bullets here.
Any method of compression which speeds up either filter rejection or scan rate is better than something that only trades off IO for CPU usage.
For example, dictionary encoding can be slower to read (because you decompress the whole dictionary and not just the skip read after filter), but not if you can squeeze out an IN clause by turning string comparisons into O(1) dictionary followed by a simple integer filter. Remember, this can be arbitrarily complex (Druid is a great example of this) and then the bitmaps can be used because the dictionary index will be a dense 0-N.
Even better if that can feed a deterministic operation like UPPER() so that you do it over the dictionary hits once, instead of each row. You can even use it over the same hash slot, instead of another dictionary collision check or hash computation.
If anyone is looking at JSONB compression, go take a long look at the Variant encoding proposals from Databricks/Snowflake for Iceberg[1].
Turning a single column "payload" JSONB field into chunks which are columnarized and strictly typed allows you to do all the tricks mentioned here, but on loosely typed data but chunk by chunk.
Ha, we (my partner at our company) filed this issue 5 years ago. We have a large-ish (but not giant) json blob in one of our timescale tables that I'd love to get better compression on. It changes just frequently enough that we didn't split it into columns, but infrequently enough that it could (I think) be compressed quite nicely. Generally timescale has been great for us.
> So in terms of allocating space, it's more like a delete plus an insert.
Unless you're using zHeap, you have a narrow Heap-only-Tuples scenario where the indexes stay the same. TOAST kinda helps there, if the update is off the tuple area itself. The original zHeap docs have a lot of detail about why an UNDO log can help with long running transactions from the past etc.
That is a postgresql specific thing though. Mysql indexes were created with the idea of different storage engines in mind, so Mysql doesn't suffer from the index update ovehead on update/delete the same way.
Uber had a long blog post about switching to Mysql from Postgres for wide tables with hundreds of indexes. The HN entry is still there[1], but I can't read the original post now.
As a side note, I've used postgres partitions to the same effect to drop old data periodically - detach and then drop the partition instead of a direct DELETE (similar tricks in HBase existed).
The non-professional side of Organic Chemistry is one place where I think AI would really shine.
Feels complex like solving a Rubik's cube to write down synthesis steps but it is all a sequence of memorized tricks. Do Cannizaro if you want this, Bergmann to do that.
But the synthesis plan is only 10% of the actual work.
The gap between writing down the synthesis step and actually doing it is also extremely large.
Even if you get the right molecule, it might be the wrong way around or just clump up into a useless mess.
The Ritonavir episode of Veritasium is a great example of how all chemistry on paper is a mere shadow of what actually happens in real life.
> Feels complex like solving a Rubik's cube to write down synthesis steps but it is all a sequence of memorized tricks. Do Cannizaro if you want this, Bergmann to do that.
I remember two years ago, when I actually got into using graph data structures, wondering if maybe the "space" of available reactions for any given starter and target molecules could be mapped as a graph, with intermediates as nodes and reactions as weighted directed edges, so synthesis becomes pathfinding through chemical space.
Turns out, it’s a thing! [^0]
Edit: Makes you wonder how much interesting stuff is sitting in plain sight, waiting for someone with the right cross-domain awareness / knowledge / whatever to notice it.
There is a lot of graph theory in Chemistry - modelling chemicals as (vertex/edge coloured) graphs, reaction networks, etc.
Of course some molecules (eg aromatic systems, like ferrocene) are not naturally representable as graphs. I wonder if it is the same with synthesis - are there reactions hard to model as a graph (or petri net or whatever). One simple example I know is that you have to be careful with including a node for 'water' as it gets connected to everything else! Or at least in biochemistry it does.
A metal atom sandwiched between two Cp rings. You _can_ model this as 5 single bonds between each atom of a ring (so 10 total C-M bonds), or you have to have some kind of 'edge' (bond) between the ring as a whole and the metal.
The more general issue is that a graph model of a chemical assumes a 'bond' is between exactly two atoms. Three-center hydrogen bonds are another example where this model fails to capture the chemistry very well.
Of course, it's a tradeoff - you can model _most_ compounds with just graphs (plus atom type, charge, chirality) and the relatively few that do not quite fit are special cases.
From what I found, current state of the art on modelling "reaction space" with graphs that is to use "hypergraphs" where edges can lead to more than one node[^0].
But I am just someone who got curious; not even an amateur ^^’
Hamilton Morris and his stuff on clandestine chemistry is super interesting in this domain. Sometimes the chemistry is straight forward but access to certain chemicals is hard, so the procedure must change based on what's available not necessarily what's ideal
Modern biochemistry (so far) IS vibe coding lol. You mostly have vibes on how the chemistry should work, based on (very strong) natural evidence coupled with theoretical development and lab studies. Then you mix and match, goading bacteria and praying that they produce what you want in good measure. Then you take their secretions and run chromatography studies on them to check if that's what you actually want, or whether it's just some random bullshit. If it's the latter, you have to toss that out and start all over again.
Organic chemistry seems like a discipline better done by chemists than forward deployed staff with their payoff function sharply truncated at an IPO which at this point may or may not happen on schedule.
> If you need to go to Brisbane from Powell, the 2 mile car ride is worth the effect.
I checked Google Maps. I don't see any BART stations that are only 2 miles (3 km) from downtown Brisbane (California). What I am missing? Or are you taking Caltrain, then getting an Uber from 4th and King Caltrain terminal to Powell?
The weird thing is that this is probably a performance optimization for quick responses when a user asks a question.
My agent harness spins up a VM too, but it spins up on demand, cools down in 10 minutes and warms up when I focus back on the app.
The files it works on actually lives in a mount.
People take more time to type a prompt than the VM takes to spin up on a fast machine and on a slow machine, the cooldown naturally frees RAM back to the machine.
> Again, it wasn’t perfect. As an expert, I was able to spot some errors and omissions (some as a result of the design I had asked for) that I had the AI correct
That's the bit that stuck out to me - that's longer than I would expect to work on a problem in a day or even expect to go back & fix the output of something that has a core reward loop of hours.
My customers are currently clamoring to push down my agent response times from 85 seconds down to below the 20s mark.
At the same time, it is very dissonant to see the industry heading towards hour+ long workflows with an agent.
In Claude's defense (and I cannot believe I'm defending it), I know no single dev who could create what it did (Concord), from a 19-page design document, in 9.5 working hours.
We're gonna go back to the days where our bosses ask why we're just sitting around, but instead of saying "compiling," we'll just say, "waiting for Claude."
It's in private beta but sometimes they have a public beta, like just last week. They were supposed to have released this month but they pushed back to October.
Also check out Adrullan Online, it's also an EQ clone but Minecraft voxel style. More like alpha status, they don't seem as far along.
This. I get told things like "you can't build all that on your own?" I've had Claude poop out full feature web apps in under 30 minutes, to a spec. Was it perfect? No, but sometimes even in a simple setup phase you can burn 15 minutes to some obscure setup step that's failing. I cannot just code nonstop at 900WPM or whatever ridiculous speed, and poop out an entire full feature web app, with maybe a few bugs here or there. If you can, come show me, I'll gladly have you race against my Claude prompting capabilities.
Will Claude's code be perfect in one shot? Probably not, will it get you 80 to 90% of the way there with your chosen design patterns in under a few hours? Absolutely.
>>If you can, come show me, I'll gladly have you race against my Claude prompting capabilities.
Sounds like we've nearly reached in coding the point where Paul Bunyan [0] has his epic competition with the chainsaw... and loses by 1/4" and history forever changes...
I tried to read the 'design doc' - its slop full of vague platitudes and impressive sounding but impossible to pin down management speak - in short, it's slop, and I still don't really get what its supposed to do exactly.
It's some prompt engineered AI harness, that guides the AI to create stats after it researches a subject and ingests the data, but I'm not sure what is it that the tool actually does on top of this.
Isn't it common to refer to all software like that? "Let my look at my JIRA", "I can't find anything using my Outlook's search function", "My Powerpoint is acting up today", "My browser just crashed" are all sentences I might say during a normal work day
In my mental model, "my Outlook" is the outlook instance running on my computer, on my data. My outlook crashed today. Yours might not have crashed. Similarly, my Jira contains tickets about my work, your Jira does not contain those same tickets. That might be technically the same instance on the same SaaS server, but the server I'm routed to accessing my data with my credentials turns it into "my Jira". My Jira is slow. Maybe you are lucky and get routed to a faster server, or your company is self-hosting. Then your Jira might be reasonably fast
This is completely fine, as those are your own installs, but LLMs can't be owned by the users, your Opus is the same Opus as everyone else's, your only difference is the suscription tier to their API.
If you had your own on-premises LLM, that would indeed be your LLM, and it would make sense to compare it to the on-premises LLMs of other people, as your setup particulars would affect the result.
The copyright to the Outlook binary isn't owned by the users either, even if they're running it on local hardware. The Opus 4.8 weights are (we assume) the same between users, but the conversation/tooling state is not shared between them by default. I prefer to route around this construction myself, since I do think there's some ontological slippery-slope potential, but from a lexical perspective I think “my” is a perfectly defensible abbreviation in context.
Hmm, good point. "My outlook" might actually be correct.
Depending on if it is a webapp or the real one running on your device that is.
Similiar to "My game just crashed".
Jira otoh is not yours, because it's in the cloud. It might be "my internet connection", "my browser" or "my account" that is having trouble.
___
Hm. "My train got delayed" is interesting in this context.
I don't find that offensive. But that also might be because trains don't seek rent the way SaaS does? Not sure.
I guess trains do not hold me hostage. They might just be a container in which someone does that.
The "my train" convention is an interesting argument. It's not actually yours, you're buying a train-as-a-service single-use license, and there are tiers to that too.
I guess the main difference is that TAAS has many different trains where the experience varies wildly, so it helps to be specific on which train you're licensing; but LLMs are the same product for everyone, and you can't stay with say, ChatGPT 1.0, you get the same choices as everyone else.
> tells you surprisingly much about how the brain of person uttering it works
That's ridiculous. You wouldn't respond to "I went to visit my doctor yesterday" with "but slavery has been illegal since forever!" Similarly it would be foolish to respond to "where should we meet? my place or yours" with "but we both rent!"
I probably should have used 'Opus 4.8 in my Claude Code configuration'. The model and harnass might be yhe same for everyone, but the .md's, hooks, skills, agents, MCP ... configurations make everyone's setup fairly unique.
Work duration is also not that valuable of a measure, you're usually better off defining the process yourself in code and having that delegate chunks of work to the models. The only real issue there is that it's harder to take advantage of the providers' subscription discounts, but on the other hand it's easier to do your own model routing, and there's no way I've seen for the normal chatbots to maintain coherence on streams of work measured in days and weeks.
I think we hit the sigmoid back when the QWEN models were released. By properly structuring my project, I can point it at any extension I want and get it going for 30 minutes to extend whatever. It can't effectively do 'god mode' on all the code, but being a mindful observer and code "professional" I don't need more than what a 128GB VRAM needs.
I'm amazed we're so far into SOTA bloat that the chinese will kill once they start etching silicon with these models.
> I remember being in my 20s and not being able to sleep, but the most distracting thing I could reach for was a pile of books in my bedside table.
Back when I was young in the 90s, this was exactly how I spent the last 5-6 hours of my days, reading books in my bed until the sun came up in the morning and I actually started getting tired.
Now, I sleep much better, the bed and bedroom is limited to just two activities, sleeping and funtime with partner, otherwise I never just chill in the bed or have anything else interesting in there. And if I can't sleep, I go up again and do something else until I'm tired enough to actually lay down in the bed. Probably helps a ton, as even with the phone on the nightstand next to me, I do fall asleep relatively quick.
Lack of sleep, not because of phones but because of more demanding lives due to modern education and workplace demands. Phones might contribute too, but consider how normal it is today to work till late hours compared to previous generations.
What's forcing people to keep eating terrible diets and getting fat? What's forcing <bad habit> that results in <bad outcome>. The answer is usually human weakness or someone seeking to make a profit by encouraging the bad habit, or a combination of the two.
As individuals, there's nothing we can do other than exert willpower, and we should. But as a society we should also be asking questions about the supply side of these bad habits.
As a society we should be asking those questions yes
As an individual, pretending you have free will and can opt to not do things you know are bad for you is probably better than doing those things while complaining that society isn't stopping you from hurting yourself
> an example of a case where you'd use SQLite instead of jq or grep through Markdown?
Usually we end up writing a script to incrementally refresh a data-set I'm analyzing (or have someone send me a copy after they pull it).
I've been using sqlite for anything which needs an UPDATE - modifying a row deep inside the data-set with jsonl is a pain.
My github is full of java programs which update sqlite3 files with threadpools and a single big lock around the UPDATE (& then I write or have an agent write code to analyze it).
DuckDB is slowly replacing it in the context of python, simply because of the ease of pushing a UDF into the SQL.
Also because I really like expressing things as LEAD/LAG with a UDF on top.
I was hoping the Thorium molten salt ones with atmospheric pressure vessels would pick up pace thanks to this boom in power demand or Helion would arrive on the scene right on time for this.
reply