<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: jameshh</title><link>https://news.ycombinator.com/user?id=jameshh</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Thu, 23 Jul 2026 00:36:12 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=jameshh" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[Using algebra and LLMs to verify a flight-plan bug fix in Lean]]></title><description><![CDATA[
<p>Article URL: <a href="https://jameshaydon.github.io/algebra-llms-lean-flight-plan/">https://jameshaydon.github.io/algebra-llms-lean-flight-plan/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=48189048">https://news.ycombinator.com/item?id=48189048</a></p>
<p>Points: 5</p>
<p># Comments: 0</p>
]]></description><pubDate>Tue, 19 May 2026 04:07:02 +0000</pubDate><link>https://jameshaydon.github.io/algebra-llms-lean-flight-plan/</link><dc:creator>jameshh</dc:creator><comments>https://news.ycombinator.com/item?id=48189048</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48189048</guid></item><item><title><![CDATA[New comment by jameshh in "Solving `Passport Application` with Haskell"]]></title><description><![CDATA[
<p>> the lack of parentheses for function calls plus currying means that to read a function call, you need to already know how many arguments the function takes<p>While I agree with the general sentiment of what you are saying, note that the syntax has nothing to do with it, it is purely about Haskell using currying excessively. The syntactic translation between Haskell and JS is straight-forward and 1-1:<p><pre><code>    f x y z      ->  f(x)(y)(z)
    f x (y,z) w  ->  f(x)(y,z)(w)
</code></pre>
I agree that excessive currying is not great, and generally push for non-curried arguments unless a curried form realy is used in practice. But for this to really be comfortable, and to still enjoy all the hgiher-order programming that's nice with Haskell, we would need good records (strucural, anonymous, extensible), which it doesn't really have right now, so we are stuck with currying.</p>
]]></description><pubDate>Sun, 29 Jun 2025 12:33:35 +0000</pubDate><link>https://news.ycombinator.com/item?id=44412590</link><dc:creator>jameshh</dc:creator><comments>https://news.ycombinator.com/item?id=44412590</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44412590</guid></item><item><title><![CDATA[New comment by jameshh in "Solving `Passport Application` with Haskell"]]></title><description><![CDATA[
<p>I agree, I also renewed my passport recently and the website and process is quite smooth. It's the more complex cases, first requests from abroad, etc., that lack automation.</p>
]]></description><pubDate>Sun, 29 Jun 2025 08:54:45 +0000</pubDate><link>https://news.ycombinator.com/item?id=44411404</link><dc:creator>jameshh</dc:creator><comments>https://news.ycombinator.com/item?id=44411404</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44411404</guid></item><item><title><![CDATA[New comment by jameshh in "Solving `Passport Application` with Haskell"]]></title><description><![CDATA[
<p>At least you got the bonus endscreen credits!</p>
]]></description><pubDate>Sun, 29 Jun 2025 08:44:39 +0000</pubDate><link>https://news.ycombinator.com/item?id=44411357</link><dc:creator>jameshh</dc:creator><comments>https://news.ycombinator.com/item?id=44411357</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44411357</guid></item><item><title><![CDATA[New comment by jameshh in "Solving `Passport Application` with Haskell"]]></title><description><![CDATA[
<p>> although I don’t really see why it was relevant anyway, my son’s Britishness is derived from my Britishness, her nationality and the nationality of her parents is essentially irrelevant<p>This is essentially happened to me, the "75% of the initial doc requests turned out to be irrelevant" was referring to this sort of thing.</p>
]]></description><pubDate>Sun, 29 Jun 2025 06:17:23 +0000</pubDate><link>https://news.ycombinator.com/item?id=44410708</link><dc:creator>jameshh</dc:creator><comments>https://news.ycombinator.com/item?id=44410708</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44410708</guid></item><item><title><![CDATA[New comment by jameshh in "Solving `Passport Application` with Haskell"]]></title><description><![CDATA[
<p>> I think the author may also be born outside the UK which may require other/more documents<p>In fact `applicant's father` (me) was born in the UK in this case, but `applicant's father's father` was not, the cause of the extra complications.</p>
]]></description><pubDate>Sun, 29 Jun 2025 00:30:09 +0000</pubDate><link>https://news.ycombinator.com/item?id=44409329</link><dc:creator>jameshh</dc:creator><comments>https://news.ycombinator.com/item?id=44409329</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44409329</guid></item><item><title><![CDATA[Solving `Passport Application` with Haskell]]></title><description><![CDATA[
<p>Article URL: <a href="https://jameshaydon.github.io/passport/">https://jameshaydon.github.io/passport/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=44408872">https://news.ycombinator.com/item?id=44408872</a></p>
<p>Points: 308</p>
<p># Comments: 125</p>
]]></description><pubDate>Sat, 28 Jun 2025 23:01:15 +0000</pubDate><link>https://jameshaydon.github.io/passport/</link><dc:creator>jameshh</dc:creator><comments>https://news.ycombinator.com/item?id=44408872</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44408872</guid></item><item><title><![CDATA[New comment by jameshh in "UK air traffic control meltdown"]]></title><description><![CDATA[
<p>For those of you still following this story, the flight plan that triggered the chaos has been identified!<p><a href="https://chaos.social/@russss/111048524540643971" rel="nofollow noreferrer">https://chaos.social/@russss/111048524540643971</a>!<p>> Tonight we were wondering why nobody had identified the flight which caused the UK air traffic control crash so we worked it out. It was FBU (French Bee) 731 from LAX/KLAX to ORY/LFPO.<p>> It passed two waypoints called DVL on its expanded flight plan: Devil's Lake, Wisconsin, US, and Deauville, Normandy, FR (an intermediate on airway UN859).<p>> <a href="https://www.flightaware.com/live/flight/FBU731/history/20230828/0255Z/KLAX/LFPO" rel="nofollow noreferrer">https://www.flightaware.com/live/flight/FBU731/history/20230...</a><p>> Credit to @marksteward and @benelsen for doing much of the legwork here.</p>
]]></description><pubDate>Wed, 13 Sep 2023 06:41:25 +0000</pubDate><link>https://news.ycombinator.com/item?id=37493015</link><dc:creator>jameshh</dc:creator><comments>https://news.ycombinator.com/item?id=37493015</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37493015</guid></item><item><title><![CDATA[New comment by jameshh in "UK air traffic control meltdown"]]></title><description><![CDATA[
<p>Thanks for this explanation. So, is the ICAO plan in some sense the "single source of truth", being the international standard and all?</p>
]]></description><pubDate>Tue, 12 Sep 2023 05:38:18 +0000</pubDate><link>https://news.ycombinator.com/item?id=37477228</link><dc:creator>jameshh</dc:creator><comments>https://news.ycombinator.com/item?id=37477228</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37477228</guid></item><item><title><![CDATA[New comment by jameshh in "UK air traffic control meltdown"]]></title><description><![CDATA[
<p>> Bearing in mind this is likely decades old C code that can't be rewritten or replaced because the entirety of the UK's aviation runs on it.<p>It's new code, from 2018 :)
Quote from the report:<p>> An FPRSA sub-system has existed in NATS for many years and in 2018 the previous FPRSA sub- system was replaced with new hardware and software manufactured by Frequentis AG, one of the leading global ATC System providers.</p>
]]></description><pubDate>Tue, 12 Sep 2023 02:34:05 +0000</pubDate><link>https://news.ycombinator.com/item?id=37476423</link><dc:creator>jameshh</dc:creator><comments>https://news.ycombinator.com/item?id=37476423</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37476423</guid></item><item><title><![CDATA[New comment by jameshh in "UK air traffic control meltdown"]]></title><description><![CDATA[
<p>That's true, but then, why did engineers try to restart the system several times if they had no clue what was happening, and restarting it could have been dangerous?</p>
]]></description><pubDate>Mon, 11 Sep 2023 23:06:00 +0000</pubDate><link>https://news.ycombinator.com/item?id=37474900</link><dc:creator>jameshh</dc:creator><comments>https://news.ycombinator.com/item?id=37474900</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37474900</guid></item><item><title><![CDATA[New comment by jameshh in "UK air traffic control meltdown"]]></title><description><![CDATA[
<p>That's super interesting (and a little terrifying). It's funny how different industries have developped different "cultures" for seemingly random reasons.</p>
]]></description><pubDate>Mon, 11 Sep 2023 02:18:55 +0000</pubDate><link>https://news.ycombinator.com/item?id=37462111</link><dc:creator>jameshh</dc:creator><comments>https://news.ycombinator.com/item?id=37462111</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37462111</guid></item><item><title><![CDATA[UK air traffic control meltdown]]></title><description><![CDATA[
<p>Article URL: <a href="https://jameshaydon.github.io/nats-fail/">https://jameshaydon.github.io/nats-fail/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=37461695">https://news.ycombinator.com/item?id=37461695</a></p>
<p>Points: 932</p>
<p># Comments: 436</p>
]]></description><pubDate>Mon, 11 Sep 2023 01:08:16 +0000</pubDate><link>https://jameshaydon.github.io/nats-fail/</link><dc:creator>jameshh</dc:creator><comments>https://news.ycombinator.com/item?id=37461695</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37461695</guid></item><item><title><![CDATA[New comment by jameshh in "Radicle: A decentralized alternative to GitHub built on IPFS"]]></title><description><![CDATA[
<p>> Conflict resolution doesn’t seem to be an issue for radicle as the owner of the repo (if I understand this correctly) is the one that needs to accepts patches and will have to republish on IPNS<p>This isn't quite what happens. Anyone who is authorised to do
so (according to the semantics of the radicle code of the
machine) can accept patches. They do this by forming a valid
input (a radicle expression), with the correct signatures
etc. This input is then sent to the owner via pubsub, so you are
right that it is then the owner which republished on IPNS. The
owner doesn't have to do anything manually though, this is all
done automatically by the daemon. The assumption is that the
owner will republish anything that is correct according to the
machine's semantics, but it is true that the owner can censor
otherwise valid inputs.</p>
]]></description><pubDate>Wed, 13 Mar 2019 11:25:35 +0000</pubDate><link>https://news.ycombinator.com/item?id=19377636</link><dc:creator>jameshh</dc:creator><comments>https://news.ycombinator.com/item?id=19377636</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=19377636</guid></item><item><title><![CDATA[New comment by jameshh in "Elixir on Google Cloud Platform and App Engine"]]></title><description><![CDATA[
<p>I think if you have an evolved enough type system, then there isn't such a problem. I have written an Elixir backend for Idris and given some examples of well-typed actor communication here:<p><a href="https://github.com/jameshaydon/idris-elixir" rel="nofollow">https://github.com/jameshaydon/idris-elixir</a></p>
]]></description><pubDate>Wed, 24 Jan 2018 14:30:56 +0000</pubDate><link>https://news.ycombinator.com/item?id=16222916</link><dc:creator>jameshh</dc:creator><comments>https://news.ycombinator.com/item?id=16222916</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=16222916</guid></item><item><title><![CDATA[New comment by jameshh in "Elixir on Google Cloud Platform and App Engine"]]></title><description><![CDATA[
<p>I'm also making a backend for Idris:
<a href="https://github.com/jameshaydon/idris-elixir" rel="nofollow">https://github.com/jameshaydon/idris-elixir</a></p>
]]></description><pubDate>Wed, 24 Jan 2018 14:29:38 +0000</pubDate><link>https://news.ycombinator.com/item?id=16222907</link><dc:creator>jameshh</dc:creator><comments>https://news.ycombinator.com/item?id=16222907</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=16222907</guid></item></channel></rss>