<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Hacker News: igornotarobot</title><link>https://news.ycombinator.com/user?id=igornotarobot</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Sat, 07 Nov 2026 17:22:29 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=igornotarobot" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by igornotarobot in "Bug Finding Considered Harmful?"]]></title><description><![CDATA[
<p>This is why security reports have the impact section. Every piece of software has an endless stream of bugs, but only a few of them have real effect on the users. It was pretty clear in Web3 contests. Now we see something similar on a much larger scale in all other software.</p>
]]></description><pubDate>Sat, 07 Nov 2026 13:02:10 +0000</pubDate><link>https://news.ycombinator.com/item?id=50404207</link><dc:creator>igornotarobot</dc:creator><comments>https://news.ycombinator.com/item?id=50404207</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=50404207</guid></item><item><title><![CDATA[New comment by igornotarobot in "Developing provably correct Rust code with Verus"]]></title><description><![CDATA[
<p>You can write everything in Lean and generate an implementation. Given that LLMs can now generate Lean proofs, this does not seem to be prohibitively expensive anymore. The real issue with distributed algorithms is that they are hard to reason about, and reasoning about them at the code level does not make the verification problem easier, it makes it harder.</p>
]]></description><pubDate>Thu, 17 Sep 2026 09:09:45 +0000</pubDate><link>https://news.ycombinator.com/item?id=49738205</link><dc:creator>igornotarobot</dc:creator><comments>https://news.ycombinator.com/item?id=49738205</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49738205</guid></item><item><title><![CDATA[New comment by igornotarobot in "Dear people who work at the airport"]]></title><description><![CDATA[
<p>The original departure time stays the same, and the delay is written separately. The same applies to trains. Well, this is how it usually works in Europe, not sure about other places.</p>
]]></description><pubDate>Sat, 15 Aug 2026 09:07:26 +0000</pubDate><link>https://news.ycombinator.com/item?id=49309001</link><dc:creator>igornotarobot</dc:creator><comments>https://news.ycombinator.com/item?id=49309001</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49309001</guid></item><item><title><![CDATA[New comment by igornotarobot in "Dear people who work at the airport"]]></title><description><![CDATA[
<p>Of course, they have flight numbers, though the destination and the departure time was a good heuristic until it was not. I am much better at remembering the departure time than an arbitrary sequence of letters and numbers.</p>
]]></description><pubDate>Fri, 14 Aug 2026 13:56:33 +0000</pubDate><link>https://news.ycombinator.com/item?id=49298750</link><dc:creator>igornotarobot</dc:creator><comments>https://news.ycombinator.com/item?id=49298750</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49298750</guid></item><item><title><![CDATA[New comment by igornotarobot in "Dear people who work at the airport"]]></title><description><![CDATA[
<p>How about two different planes departing to exactly the same destination at exactly the same time from two different terminals? That's how I missed my plane from Belgrade to Vienna. I have no other explanation but that they do it on purpose.</p>
]]></description><pubDate>Fri, 14 Aug 2026 13:44:56 +0000</pubDate><link>https://news.ycombinator.com/item?id=49298604</link><dc:creator>igornotarobot</dc:creator><comments>https://news.ycombinator.com/item?id=49298604</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49298604</guid></item><item><title><![CDATA[New comment by igornotarobot in "Hunting a 16-year-old SQLite WAL bug with TLA+"]]></title><description><![CDATA[
<p>If the LaTeX-like syntax worries you, several projects aimed at providing PL-like syntaxes for TLA+. They vary by their degree of how much of the logic they throw away. I am not going to advertise these projects here, but you would find them on GitHub search by typing the tags like "#tlaplus #language", "#tlaplus #library", and "#tlaplus #pluscal".</p>
]]></description><pubDate>Sat, 04 Jul 2026 09:33:15 +0000</pubDate><link>https://news.ycombinator.com/item?id=48784086</link><dc:creator>igornotarobot</dc:creator><comments>https://news.ycombinator.com/item?id=48784086</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48784086</guid></item><item><title><![CDATA[New comment by igornotarobot in "I Built a Scheme Compiler with AI in 4 Days"]]></title><description><![CDATA[
<p>I have fixed the target data structures and also make Claude compare the generated code against a python reference via PBT. However, the vibe-coded code generator stumbles upon a missed clone/copy case every now and then. This is where I am less certain that it converges.</p>
]]></description><pubDate>Sun, 01 Mar 2026 19:18:01 +0000</pubDate><link>https://news.ycombinator.com/item?id=47209738</link><dc:creator>igornotarobot</dc:creator><comments>https://news.ycombinator.com/item?id=47209738</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47209738</guid></item><item><title><![CDATA[New comment by igornotarobot in "I Built a Scheme Compiler with AI in 4 Days"]]></title><description><![CDATA[
<p>> I run into bugs all the time so it’s probably not ready for anyone other than me to use, but I’ve managed to go pretty deep (if not wide) in just a few days of work.<p>Having similar experience with my experimental code generator to Rust. Every time a yet another example does not work, Claude fixes it. However, I am curious whether it would converge to a bullet-proof solution, or I have to carefully read the code and come up with proper abstractions.</p>
]]></description><pubDate>Sun, 01 Mar 2026 17:48:11 +0000</pubDate><link>https://news.ycombinator.com/item?id=47208918</link><dc:creator>igornotarobot</dc:creator><comments>https://news.ycombinator.com/item?id=47208918</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47208918</guid></item><item><title><![CDATA[New comment by igornotarobot in "Litex: Formal math for everyone – set theory examples with Lean comparison"]]></title><description><![CDATA[
<p>Litex is probably closer to TLA+ than to Lean. Both draw inspiration from untyped set theory and LaTeX.</p>
]]></description><pubDate>Thu, 25 Dec 2025 11:16:27 +0000</pubDate><link>https://news.ycombinator.com/item?id=46383715</link><dc:creator>igornotarobot</dc:creator><comments>https://news.ycombinator.com/item?id=46383715</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46383715</guid></item><item><title><![CDATA[New comment by igornotarobot in "Beginning January 2026, all ACM publications will be made open access"]]></title><description><![CDATA[
<p>> Just friendly remember that Open access publishing is the new business model that is more lucrative for publishing industry and it is basically a tax on research activities but paid to private entities and mostly paid by taxpayer money...<p>While I do not disagree with this statement, this makes a significant difference for the citizens who do not happen to work in academia. Before open access, the journals would try to charge me $30-50 per article, which is ridiculous, it's a price of a textbook. Since my taxes fund public research in any case, I would prefer to be able to read the papers.<p>I would also love to be able to watch the talks at academic conferences, which are, to very large extent, paid by the authors, too.</p>
]]></description><pubDate>Thu, 18 Dec 2025 17:09:26 +0000</pubDate><link>https://news.ycombinator.com/item?id=46315485</link><dc:creator>igornotarobot</dc:creator><comments>https://news.ycombinator.com/item?id=46315485</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46315485</guid></item><item><title><![CDATA[New comment by igornotarobot in "AI will make formal verification go mainstream"]]></title><description><![CDATA[
<p>It probably will, but not the way we all imagine. What we see now is an attempt to recycle the interactive provers that took decades to develop. Writing code, experimenting with new ideas and getting feedback has always been a very slow process in academia. Getting accepted at a top peer-reviewed conference takes months and even years. The essential knowledge is hidden inside big corps that only promote their "products" and rarely give the knowledge back.<p>LLMs enable code bootstrapping and experimentation faster not only for the vibe coders, but also for the researchers, many of them are not really good coders, btw. It may well be that we will see new wild verification tools soon that come as a result of quick iteration with LLMs.<p>For example, I recently wrote an experimental distributed bug finder for TLA+ with Claude in about three weeks. A couple of years ago that effort would require three months and a team of three people.</p>
]]></description><pubDate>Wed, 17 Dec 2025 11:37:26 +0000</pubDate><link>https://news.ycombinator.com/item?id=46300850</link><dc:creator>igornotarobot</dc:creator><comments>https://news.ycombinator.com/item?id=46300850</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46300850</guid></item><item><title><![CDATA[New comment by igornotarobot in "AI will make formal verification go mainstream"]]></title><description><![CDATA[
<p>Afaik, formal verification worked well for hardware because most of the things in hardware were deterministic and could be captured precisely. Most of the software these days is concurrent and distributed. Does the LLM + RL approach work for concurrent and distributed code? We barely know how to do systematic simulation there.</p>
]]></description><pubDate>Wed, 17 Dec 2025 11:05:55 +0000</pubDate><link>https://news.ycombinator.com/item?id=46300590</link><dc:creator>igornotarobot</dc:creator><comments>https://news.ycombinator.com/item?id=46300590</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46300590</guid></item><item><title><![CDATA[New comment by igornotarobot in "AI will make formal verification go mainstream"]]></title><description><![CDATA[
<p>This sounds amazing! What kind of systems take you a few hours to a few days now? Just curious whether it works in a niche (like sequential code), or does it work for concurrent and distributed systems as well?</p>
]]></description><pubDate>Wed, 17 Dec 2025 10:31:34 +0000</pubDate><link>https://news.ycombinator.com/item?id=46300301</link><dc:creator>igornotarobot</dc:creator><comments>https://news.ycombinator.com/item?id=46300301</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46300301</guid></item><item><title><![CDATA[New comment by igornotarobot in "AI will make formal verification go mainstream"]]></title><description><![CDATA[
<p>> TLA+ is not a silver bullet, and like all temporal logic, has constraints.
>
> You really have to be able to reduce your models to: “at some point in the future, this will happen," or "it will always be true from now on”<p>I think people get confused by the word "temporal" in the name of TLA+. Yes, it has temporal operators. If you throw them away, TLA+ (minus the temporal operators) would be still extremely useful for specifying the behavior of concurrent and distributed systems. I have been using TLA+ for writing specifications of distributed algorithms (e.g., distributed consensus) and checking them for about 6 years now. The question of liveness comes the last, and even then, the standard temporal logics are barely suitable for expressing liveness under partial synchrony. The value of temporal properties in TLA+ is overrated.</p>
]]></description><pubDate>Wed, 17 Dec 2025 09:41:28 +0000</pubDate><link>https://news.ycombinator.com/item?id=46299957</link><dc:creator>igornotarobot</dc:creator><comments>https://news.ycombinator.com/item?id=46299957</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46299957</guid></item><item><title><![CDATA[New comment by igornotarobot in "AI will make formal verification go mainstream"]]></title><description><![CDATA[
<p>> TLA+ can specify anything that could be specified in mathematics.<p>You are talking about the logic of TLA+, that is, its mathematical definition. No tool for TLA+ can handle all of mathematics at the moment. The language was designed for specifying systems, not all of mathematics.</p>
]]></description><pubDate>Wed, 17 Dec 2025 09:28:21 +0000</pubDate><link>https://news.ycombinator.com/item?id=46299891</link><dc:creator>igornotarobot</dc:creator><comments>https://news.ycombinator.com/item?id=46299891</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46299891</guid></item><item><title><![CDATA[New comment by igornotarobot in "AI will make formal verification go mainstream"]]></title><description><![CDATA[
<p>TLA+ is just a language for writing specifications (syntax + semantics). If you want to prove anything about it, at various degrees of confidence and effort, there are three tools:<p>- TLAPS is the interactive proof system that can automate some proof steps by delegating to SMT solvers: <a href="https://proofs.tlapl.us/doc/web/content/Home.html" rel="nofollow">https://proofs.tlapl.us/doc/web/content/Home.html</a><p>- Apalache is the symbolic model checker that delegates verification to Z3. It can prove properties without executing anything, or rather, executing specs symbolically. For instance, it can do proofs via inductive invariants but only for bounded data structures and unbounded integers. <a href="https://apalache-mc.org/" rel="nofollow">https://apalache-mc.org/</a><p>- Finally, TLC is an enumerative model checker and simulator. It simply produces states and enumerates them. So it terminates only if the specification produces a finite number of states. It may sound like executing your specification, but it is a bit smarter, e.g., when checking invariants it will never visit the same state twice. This gives TLC the ability to reason about infinite executions. Confusingly, TLC does not have its own page, as it was the first working tool for TLA+. Many people believe that TLA+ is TLC: <a href="https://github.com/tlaplus/tlaplus" rel="nofollow">https://github.com/tlaplus/tlaplus</a></p>
]]></description><pubDate>Wed, 17 Dec 2025 09:21:11 +0000</pubDate><link>https://news.ycombinator.com/item?id=46299847</link><dc:creator>igornotarobot</dc:creator><comments>https://news.ycombinator.com/item?id=46299847</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46299847</guid></item><item><title><![CDATA[New comment by igornotarobot in "The Coming Need for Formal Specification"]]></title><description><![CDATA[
<p>Producing positive and negative examples is exactly where model checkers shine. I always write "falsy" invariants to produce examples of the specification reaching interesting control states for at least one input. After that, I think about the system boundaries and where it should break. Then, the model checker shows that it indeed breaks there.<p>Having a specification does not mean that one should not touch it. It is just a different level of experimental thinking.</p>
]]></description><pubDate>Sat, 13 Dec 2025 11:54:49 +0000</pubDate><link>https://news.ycombinator.com/item?id=46253933</link><dc:creator>igornotarobot</dc:creator><comments>https://news.ycombinator.com/item?id=46253933</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46253933</guid></item><item><title><![CDATA[New comment by igornotarobot in "A High-Level View of TLA+"]]></title><description><![CDATA[
<p>It should be possible to write protocol specifications in Lean, e.g., this is a recent case study on specifying two-phase commit in Lean [1] and proving its safety [2].<p>However, there are no model checkers for Lean. Currently, you either have to write a full proof by hand, with some assistance from LLMs, or rely on random simulation, similar to property-based testing.<p>[1] <a href="https://protocols-made-fun.com/lean/2025/04/25/lean-two-phase.html" rel="nofollow">https://protocols-made-fun.com/lean/2025/04/25/lean-two-phas...</a>
[2] <a href="https://protocols-made-fun.com/lean/2025/05/10/lean-two-phase-proofs.html" rel="nofollow">https://protocols-made-fun.com/lean/2025/05/10/lean-two-phas...</a></p>
]]></description><pubDate>Tue, 03 Jun 2025 14:14:31 +0000</pubDate><link>https://news.ycombinator.com/item?id=44170400</link><dc:creator>igornotarobot</dc:creator><comments>https://news.ycombinator.com/item?id=44170400</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44170400</guid></item><item><title><![CDATA[New comment by igornotarobot in "The Future of TLA+ [pdf]"]]></title><description><![CDATA[
<p>When you say peer reviews, do you mean academic publications or testimonials? I imagine it would be difficult to publish a paper at an academic conference proposing an alternative syntax for anything, even if it were better.</p>
]]></description><pubDate>Fri, 30 Aug 2024 16:29:35 +0000</pubDate><link>https://news.ycombinator.com/item?id=41402252</link><dc:creator>igornotarobot</dc:creator><comments>https://news.ycombinator.com/item?id=41402252</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41402252</guid></item><item><title><![CDATA[New comment by igornotarobot in "The Future of TLA+ [pdf]"]]></title><description><![CDATA[
<p>I believe this is really the tragedy of formal verification tools. Everybody wants a tool as robust as a compiler. At the same time, nobody wants to invest into development of such tools. Microsoft Research 20 years ago was probably an exception to that. The other companies wish to immediately hide these tools and the benchmarks behind the IP and closed source. As a result, we have early stage MVPs that are developed by 1-3 people.</p>
]]></description><pubDate>Fri, 30 Aug 2024 16:23:28 +0000</pubDate><link>https://news.ycombinator.com/item?id=41402175</link><dc:creator>igornotarobot</dc:creator><comments>https://news.ycombinator.com/item?id=41402175</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41402175</guid></item></channel></rss>