The autoformalization gap is pretty difficult to bridge indeed. We explored uncertainty quantification of autoformalization on well-defined grammars in our NeurIPS 2025 paper : https://arxiv.org/abs/2505.20047 .
If you ever feel like chatting and discussing more details, happy to chat!
I'm a founder at Yarn (YC W24) – we're building in this space and launching on HN soonish.
We often see teams combining ScreenStudio with products like iMovie, AfterEffects, or Veed. Other products in the space to check out are Tella.tv, Kite, or Descript.
For more advanced motion graphics, you'll often need a freelancer or agency.
Feel free to drop me a message (email in bio) to talk through options!
And Veritasium's video "The Strange Math That Predicts (Almost) Anything" talks in detail about the history of Markov chains: https://youtu.be/KZeIEiBrT_w
I think Gemini is one of the best example of an LLM that is in some cases the best and in some cases truly the worst.
I once asked it to read a postcard written by my late grandfather in Polish, as I was struggling to decipher it.
It incorrectly identified the text as Romanian and kept insisting on that, even after I corrected it:
"I understand you are insistent that the language is Polish. However, I have carefully analyzed the text again, and the linguistic evidence confirms it is Romanian. Because the vocabulary and alphabet are not Polish, I cannot read it as such."
Eventually, after I continued to insist that it was indeed Polish, it got offended and told me it would not try again, accusing me of attempting to mislead it.
Do we still need a back-end, now that Chrome supports the File System Access API on both desktop and mobile?
I have started writing web apps that simply store the user data as a file, and I am very pleased with this approach.
It works perfectly for Desktop and Android.
iOS does not allow for real Chrome everywhere (only in Europe, I think), so I also offer to store the data in the "Origin private file system" which all browsers support. Fortunately it has the same API, so implementing it was no additional work. Only downside is that it cannot put files in a user selected directory. So in that mode, I support a backup via an old-fashioned download link.
This way, users do not have to put their data into the cloud. It all stays on their own device.
Absolute best scenario is single binary with embedded static files (Go is very good at that) that just takes config and/or CLI options (preferably both if it isn't too complex of a config) and works. Or static file that just needs to be pointed at database with certain version
It can be easily run on VM, it can be easily made with container, it can be easily made into package, or ran in cloud with cloud DB service. All those options are a plus, but the fact it is a single binary makes it easier to make a package or container out of it and deliver that to customers.
Second best is .deb package that deploys a single service or a container that just exposes a port and that's it.
DB-wise there is a temptation to provide a bunch of containers that have all of app's dependencies (DB etc.) but that's a LOT of work on both side. On supplier side you have ton of stuff you need to take care of, providing method to do consistent backups, caring about log rotation, handling service restarts if something fails etc. and lastly procedures to recover it from the backup
And on client side they can't just do same database backup they do for every single other database they know, they have to take app's custom way of backing up and integrate it, or just "copy whole container and hope for best".
It can be worth it, if your setup is complex enough that asking client to install those dependencies would be a big obstacle (and especially if you need to use different versions than available under Debian/Ubuntu stable), but if you are just deploying container with app and plain PostgreSQL db without using anything special that would need latest version, just let user ship their own DB.
Also supporting "small" deployment with just SQLite backend is great for demoing stuff to management
I have no idea how it works actually (in google) but I wouldn't be surprised if it was just post-training because recently RWKV people did something similar: They replaced the whole attention mechanism with WKV (forward-only linear attention), and created such franken-stein just by post-training.
The big wow moment about that is that it sort of implies that most of the useful knowledge is in the FFN, and attention itself is not that unique/important.
BTW: It could be also interesting to try use already trained attention and see how long the FFN itself takes in the gpt2 speedtraining (it would be against the rules but still very interesting IMHO - definitely something I'd like to read paper about)
https://github.com/KellerJordan/modded-nanogpt
Also, I read yesterday that at some point, the embeddings across all of the models are (very) comparable/similar, and a simple converter can be trained, and if both of these statements are true maybe we could just train everything much faster just by sharing fixed embeddings and attentions.
The main thing being banned means is that the account's posts are killed by default—that is, they begin in the [dead] state, which is removed from the default public view. Users who turn on the 'showdead' setting in their profile can see all the [dead] comments, but no one else can.
Occasionally, a [dead] post is actually good for HN. (Even banned accounts sometimes post good submissions or comments, and we don't necessarily want those to remain invisible.) In such cases, users can vouch for the [dead] post to unkill it, i.e. to take it out of the [dead] state and restore it to full public visibility. Only a tiny fraction of [dead] posts get restored in this way, so the vast majority of posts by banned accounts remain [dead].
We're sometimes asked why we allow banned accounts to continue to post to HN (albeit in a [dead] state). Wouldn't it be better to block them altogether? It's a bit counterintuitive, but this would actually be worse. Many of the banned users would simply create new accounts—and those comments would be publicly visible until we caught them and banned them again. So, paradoxically, allowing banned accounts to keep posting (but in a default-invisible state) is the way to minimize their effect on HN. Trying to restrict them further would just end up exposing more people to the abusive posts.
The main disadvantage of this design, in my experience, is that users sometimes forget that they turned 'showdead' on in their profile, and then wonder why they're seeing such dreadful stuff in the comments! So if you turn 'showdead' on, please remember what this means: you're basically signing up to see the worst stuff that the internet has to offer on this forum.
Why turn the setting on at all? Well, many HN users are the curious sort who either want to see everything under the hood, or who feel strongly about censorship and want the freedom to decide for themselves what they think about banned accounts. Also, not all the posts that end up in the [dead] state are bad—there are many ways for a good post to end up [dead] by mistake (including false positives by spam filters), and users with 'showdead' turn on are able to vouch for those and restore them.
Konva looks awesome, but canvas based. For more performance I switched from canvas to pixi, which is webgl/webgpu based.
Drawing can be also expensive there(in some cases even more so), but if you can manage to put it in a texture in time, you can have looooots of moving animated shapes even on mediocre mobile phones.
I really don't understand this perspective. Sum types are crazy useful for data modelling. A couple examples:
- Its quite common to need to model user input events. Eg, MouseClickEvent { mouseid, button }, KeyboardEvent { key, modifierFlags }, and so on. The most natural way to express this is using a sum type, with an event loop in your application matching out the different event types.
- Actually, most events follow this pattern. Eg, window management events, event sourcing (eg in kafka), actor mailbox events, etc.
- I've been working in the field of collaborative editing for the last ~decade. There, we talk a lot about editing operations. For text editing, they're either Insert { position, content } or Delete { position, length }. Some systems have a Replace type too. Sum types are a much more natural way to express operations.
- Results are sum types. Eg, if I submit a request to an RPC server, I could get back Ok(result) or Err(error). Thats a sum type. Likewise, this is what I want when I call into the POSIX API. I don't want to check the return value. I want a function that gives me either a result or an error. (And not a result-or-null and error-or-null like you get in Go.)
How would you elegantly express this stuff without sum types? I guess for input events you could use a class hierarchy - but that makes it infinitely harder to implement data oriented design. Things like serialization / deserialization become a nightmare.
Frankly, all the alternatives to sum types seem worse. Now I've spent enough time in languages which have sum types (typescript, rust, swift, etc), I can't go back. I just feel like I'm doing the compiler's job by hand, badly.
This announcement needs a little bit of translation from the marketing language it's written in:
> And thanks to the hard work of everyone on the Access team, our business is solid: our subscriber base and revenue are growing quickly, and we expect that growth to continue.
"We're not yet profitable."
> We have refined our plan going forward to achieve these objectives. It entails us making changes to focus our business and product strategy. Importantly, the plan enhances our focus on new technology and deployment methods to make superfast Internet more abundant than it is today.
"Building fiber infrastructure in cities isn't a viable business model."
> For most of our “potential Fiber cities” — those where we’ve been in exploratory discussions — we’re going to pause our operations and offices while we refine our approaches.
"We're not going to build out any more cities using this approach."
> In this handful of cities that are still in an exploratory stage, and in certain related areas of our supporting operations, we’ll be reducing our employee base.
"We're winding down Google Fiber operations and putting it on life support."
> As for me personally, it’s been quite a journey over the past few years, taking a broad-based set of projects and initiatives and growing a focused business that is on a strong trajectory. And I’ve decided this is the right juncture to step aside from my CEO role.
"I'm getting out of this while it still looks good."
--
That's too bad. Google Fiber has put a lot of needed pressure on existing telecommunications mega-corps to improve their services. I really wanted to see it take off well enough to result in some major improvements to infrastructure around the country, but having worked for an ISP in a previous lifetime, I was skeptical that they'd be able to do it profitably. Last-mile fiber is expensive, expensive, expensive.
I'm sure Comcast and Time Warner and friends are all breathing a sigh of relief.
One of my favorite quotes (slightly edited for brevity and and readability):
------
It is a melancholy truth that a suppression of the press could not more completely deprive the nation of it’s benefits, than is done by it’s abandoned prostitution to falsehood. Nothing can now be believed which is seen in a newspaper. The real extent of this state of misinformation is known only to those who are in situations to confront facts within their knowledge with the lies of the day.
I really look with commiseration over the great body of my fellow citizens, who, reading newspapers, live & die in the belief that they have known something of what has been passing in the world in their time: whereas the accounts they have read in newspapers are just as true a history of any other period of the world as of the present, except that the real names of the day are affixed to their fables.
General facts may indeed be collected from them, such as that Europe is now at war, that Bonaparte has been a successful warrior, that he has subjected a great portion of Europe to his will etc. But no details can be relied on. I will add that the man who never looks into a newspaper is better informed than he who reads them; inasmuch as he who knows nothing is nearer to truth than he whose mind is filled with falsehoods and errors. He who reads nothing will still learn the great facts, and the details are all false.
Thomas Jefferson - 1807
------
That would have sounded rather hyperbolic about 30 years ago, perhaps even more recently. But now it sounds just about right. I think what many do not realize is that the past ~70-80 years in the developed world, or in other words the complete living memory of just about every person alive today in those regions, was atypical in just about every single way - including some effort towards the pursuit of objective truth. We're not entering some scary unknown place, we're simply returning to the status quo that existed throughout the breadth of human civilization.
This also makes reading the ancient philosophers somewhat literally unbelievably insightful. Plato oft sounds far closer to a proven prophet than a philosopher when you read his writings on, for instance, politics!
About a half of the amino acids used in proteins, i.e. ten of them, can form easily in abiotic conditions and they are widespread in some celestial bodies.
They are easily distinguished from terrestrial contaminants, because they are a mixture of left-handed and right-handed isomers.
When analyzing the genetic code in order to determine which amino acids have already been used in the earlier versions of the genetic code and which have been added more recently, the same simpler amino acids that are easy to synthesize even in the absence of life are also those that appear to have been the only amino acids used earlier.
The article contains the phrase "Given the fact that the current scenario is that life on Earth started with RNA".
This is a fact that it is too often repeated like if it were true, when in reality one of the few things that can be said with certainty about the origin of life is that it has not started with RNA.
What must be true is only that RNA had existed a very long time before DNA and DNA has been an innovation that has been the result of a long evolution of already existing life forms, long before the last ancestor of all living beings that still exist now on Earth.
On the other hand, proteins, or more correctly said peptides, must have existed before any RNA. Moreover, ATP must have existed long before any RNA.
RNA has two main functions based on its information-storage property: the replication of RNA using a template of RNA (which was the single form of nucleic acid replication before the existence of DNA) and the synthesis of proteins using RNA as a template.
Both processes require complex molecular machines, so it is impossible for both of them to have appeared simultaneously. One process must have appeared before the other and there can be no doubt that the replication of RNA must have appeared before the synthesis of proteins.
Had synthesis of proteins appeared first, it would have been instantly lost at the death of the host living being, because the RNA able to be used as a template for proteins could not have been replicated, therefore it could not have been transmitted to descendants.
So in the beginning RNA must have been only a molecule with the ability of self replication. All its other functions have evolved in living beings where abundant RNA existed, being produced by self replication.
The RNA replication process requires energy and monomers, in the form of ATP together with the other 3 phosphorylated nucleotides. Therefore all 4 nucleotides and their phosphorylated forms like ATP must have existed before RNA.
ATP must have been used long before RNA, like today, as a means of extracting water from organic molecules, causing the condensations of monomers like amino acids into polymers like peptides.
The chemical reactions in the early living forms were certainly regulated much less well than in the present living beings, so many secondary undesirable reactions must have happened concurrently with the useful chemical reactions.
So the existence of abundant ATP and other phosphorylated nucleotides must have had as a consequence the initially undesirable polymerization and co-polymerization of the nucleotides, forming random RNA molecules, until by chance a self-replicating RNA molecule was produced.
Because the first self-replicating RNA molecule did not perform any useful function for the host life form, but it diverted useful nucleotides from its metabolism, this first self-replicating RNA molecule must be considered as the first virus. Only much later, after these early viruses have evolved the ability to synthesize proteins, some of them must have become integrated with their hosts, becoming their genome.
The catalytic functions that are now performed mostly by proteins, i.e. amino acid polymers that are synthesized using an RNA template, must have been performed earlier by peptides, i.e. typically shorter amino acid polymers that are synthesized without the use of RNA templates.
Even today, all living beings contain many non-ribosomal peptides, which are made without RNA, using processes that are much less understood than those that involve nucleic acids.
The difference between a living being that would be able to make only non-ribosomal peptides and one that makes proteins using RNA templates is pretty much the same difference as between a CPU with hard-wired control and a CPU with micro-programmed control, with the same advantages and disadvantages.
Life forms able to reproduce themselves must have existed before the appearance of the nucleic acids, but they must have been incapable of significant evolution, because any random change in the structure of the molecules that composed them would have been very likely to result in a defective organism that would have died without descendants. This is similar with a hard-wired control, where small random changes in the circuits are unlikely to result in a functional device.
On the other hand, once the structure of the enzymes was written in molecules of nucleic acids, the random copying errors could result in structures very different from the original structures, which could not have been obtained by gradual changes in the original structures without passing through non functional structures that could not have been inherited.
So the use of molecules that can store the structural information of a living being has enabled the evolution towards much more complex life forms, but it cannot have had any role in the apparition of the first life forms, because the replication of any such molecule requires energy that can be provided only by an already existing life form.
Sometimes asking, "When will we..." is just a turn of phrase, but sometimes it's a serious misframing of the issue. There is no such thing as "we" that meaningfully acts or makes decisions. Thinking about "we" as if it's real because the individuals in "we" are capable of choosing is the fallacy of composition.
If you want collective outcomes that are different than the sum of uncoordinated individual action, you have to design them. Don't talk about "we." Who specifically is doing what, and for what purpose, and why would they do that, when they could just not?
Answering those questions often shows you that the problem isn't what you thought—because the mental model of a "we" that does things is so harmful.
Or you end up with a plan to solve the problem, so win-win.
It's been argued that similar dynamics also inflate executive pay, although I'm not well-versed enough in the overall economic policy debate to know how well-established this actually is [1].
One book in my to-read list is After the End of Art: Contemporary Art and the Pale of History by Arthur C. Danto. I hope it is going to hit this nail right in the head.
It originates in Yann LeCunn’s paper from 2022 [1], the term AMI being district from AGI. However, the A has changed over the past few years from autonomous to advanced and even augmented, depending on context
It is mesmerizing, but do note it was not a single mind that produced this insight. It was centuries of work. It involved, among many others:
1. Newton and the Bernoulli family developing the theory of infinite series and connecting them to discrete sequences,
2. Wallis developing the first notions of infinite products and demonstrating the first non-trivial convergence of such,
3. Euler solving the Basel problem and linking the zeta function to the prime numbers (giving a new proof of the infinitude of primes),
4. Gauss and Eisenstein further using Euler's ideas and their own unique algebraic insights to understand primes in arithmetic progressions, and finally
5. Riemann taking the zeta function, putting it in the complex plane, revealing the unifying theme connecting the previous discoveries and making his own fundamentally new discoveries with the explicit formula.
And of course the development only accelerated from that point on.
Hi! Author of Eg-walker & ShareJS here, both of which are referenced by this post.
You write this article like you're disagreeing with me - but I agree completely with what you've said. I've been saying so on HN for years. (Eg, in this comment from 6 years ago[1].)
The way I think about it, the realtime collaborative tools we use today make a lot of sense when everyone is online & editing together. But when users edit content offline, or in long lived branches, you probably want the option to add conflict markers & do manual review when merging. (Especially for code.)
Luckily, algorithms like egwalker have access to all the information they need to do that. We store character-by-character editing traces from all users. And we store when all changes happened (in causal order, like a git DAG). This is far more information than git has. So it should be very possible to build a CRDT which uses this information to detects & mark conflict ranges when branches are merged. Then we can allow users to manually resolve conflicts.
Algorithmically, this is an interesting problem but it should be quite solvable. Just, for some reason, nobody has worked on this yet. So, thanks for writing this post and bringing more attention to this problem!
If anyone is interested in making a unique and valuable contribution to the field, I'd love to see some work on this. Its an important piece thats missing in the CRDT ecosystem - simply because (as far as I know) nobody has tried to solve it yet. At least not for text editing.
A few days ago the QwQ-32B model was released, it uses the same kind of reasoning style. So I took one sample and reverse engineered the prompt with Sonnet 3.5. Now I can just paste this prompt into any LLM. It's all about expressing doubt, double checking and backtracking on itself. I am kind of fond of this response style, it seems more genuine and openended.
To put a name on this, it's the Baumol effect, https://en.wikipedia.org/wiki/Baumol_effect. Essentially, as productivity increases in most industries (from automation), it drives up labor costs in the industries that can't be automated (healthcare, education, performing arts, etc), which drives up the price of those services (healthcare), or drives down the quality to find a market clearing price (increasing student to teacher ratios).
There's so much dystopian science fiction about people being completely helpless because only machines know how to do everything. Then the machines break down.
I hear you. This is actually a foundational idea for Codebuff. I made it to work within the large-ish codebase of my previous startup, Manifold Markets.
I want the demos to be of real work, but somehow they never seem as cool unless it's a neat front end toy example.
If you ever feel like chatting and discussing more details, happy to chat!