<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: w23j</title><link>https://news.ycombinator.com/user?id=w23j</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Sun, 24 May 2026 22:34:17 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=w23j" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by w23j in "Frontier AI has broken the open CTF format"]]></title><description><![CDATA[
<p>CTF stands for Capture the Flag. So with that definition you have exactly zero more information about the article then without it. So I assume next you want a short description of what it actually means, like "CTF (Capture the Flag) are security competitions where the objective is to break...", which is completely ridiculous to include in an article aimed specifically at the CTF crowd.</p>
]]></description><pubDate>Sun, 17 May 2026 09:03:49 +0000</pubDate><link>https://news.ycombinator.com/item?id=48167221</link><dc:creator>w23j</dc:creator><comments>https://news.ycombinator.com/item?id=48167221</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48167221</guid></item><item><title><![CDATA[New comment by w23j in "Frontier AI has broken the open CTF format"]]></title><description><![CDATA[
<p>For people who are confused by this comment: lol = laughing out loud!</p>
]]></description><pubDate>Sun, 17 May 2026 08:54:28 +0000</pubDate><link>https://news.ycombinator.com/item?id=48167173</link><dc:creator>w23j</dc:creator><comments>https://news.ycombinator.com/item?id=48167173</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48167173</guid></item><item><title><![CDATA[New comment by w23j in "A guide to local coding models"]]></title><description><![CDATA[
<p>That's the main reason, why I hope Google does not win this AI war.</p>
]]></description><pubDate>Mon, 22 Dec 2025 10:13:19 +0000</pubDate><link>https://news.ycombinator.com/item?id=46352835</link><dc:creator>w23j</dc:creator><comments>https://news.ycombinator.com/item?id=46352835</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46352835</guid></item><item><title><![CDATA[New comment by w23j in "How/why to sweep async tasks under a Postgres table"]]></title><description><![CDATA[
<p>I mean the inner select uses "limit 1", right? So it will usually (but not always as I said in another comment) only delete and return a single task.</p>
]]></description><pubDate>Thu, 27 Nov 2025 15:15:50 +0000</pubDate><link>https://news.ycombinator.com/item?id=46069980</link><dc:creator>w23j</dc:creator><comments>https://news.ycombinator.com/item?id=46069980</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46069980</guid></item><item><title><![CDATA[New comment by w23j in "How/why to sweep async tasks under a Postgres table"]]></title><description><![CDATA[
<p>We use a similar approach.<p>Fun fact: A query like this will, once in a blue moon, return more than limit (here 1) row, since the inner query is executed multiple times and returns different ids, which is surprising for a lot of people. If your code does not expect that, it may cause problems. (The article seems to, since it uses a list and iteration to handle the result.)<p><pre><code>  delete from task
  where task_id in
  ( select task_id
    from task
    order by random() -- use tablesample for better performance
    for update
    skip locked
    limit 1
  )
  returning task_id, task_type, params::jsonb as params 
</code></pre>
You can avoid that by using a materialized Common Table Expression.
<a href="https://stackoverflow.com/questions/73966670/select-for-update-subquery-not-respecting-limit-clause-under-load" rel="nofollow">https://stackoverflow.com/questions/73966670/select-for-upda...</a><p>Also, if your tasks take a long time, it will create long-running transactions, which may cause dead tuple problems. If you need to avoid that, you can mark the task as "running" in a short-lived transaction and delete it in another. It becomes more complicated then, since you need to handle the case that your application dies while it has taken a task.</p>
]]></description><pubDate>Thu, 27 Nov 2025 15:11:37 +0000</pubDate><link>https://news.ycombinator.com/item?id=46069948</link><dc:creator>w23j</dc:creator><comments>https://news.ycombinator.com/item?id=46069948</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46069948</guid></item><item><title><![CDATA[New comment by w23j in "Linux Kernel Explorer"]]></title><description><![CDATA[
<p>This file from chapter 1 cannot be opened: arch/x86/kernel/entry_64.S ("Failed to load file").<p>It's also not visible in the directory tree on the left.<p>(Oddly enough another comment mentioned this already and is voted dead. Why?)</p>
]]></description><pubDate>Thu, 27 Nov 2025 14:29:22 +0000</pubDate><link>https://news.ycombinator.com/item?id=46069573</link><dc:creator>w23j</dc:creator><comments>https://news.ycombinator.com/item?id=46069573</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46069573</guid></item><item><title><![CDATA[New comment by w23j in "Engineers do not get to make startup mistakes when they build ledgers"]]></title><description><![CDATA[
<p>I would also really like to know that!<p>It generally seems to be a thing in trading: <a href="https://databento.com/pcaps" rel="nofollow">https://databento.com/pcaps</a><p>There is also this (though this page does not specify what pcap means): <a href="https://www.lseg.com/en/data-analytics/market-data/data-feeds/tick-history/tick-history-pcap" rel="nofollow">https://www.lseg.com/en/data-analytics/market-data/data-feed...</a></p>
]]></description><pubDate>Fri, 29 Nov 2024 13:12:14 +0000</pubDate><link>https://news.ycombinator.com/item?id=42273617</link><dc:creator>w23j</dc:creator><comments>https://news.ycombinator.com/item?id=42273617</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42273617</guid></item><item><title><![CDATA[New comment by w23j in "Two new Gemini models, reduced 1.5 Pro pricing, increased rate limits, and more"]]></title><description><![CDATA[
<p><i>"For this initial test I’ll be comparing the free version of ChatGPT to the free version of Google Gemini, that is GPT-3.5 to Gemini Pro 1.0."</i><p>The free version of ChatGPT is 4o now, isn't it? So maybe Gemini has not gotten worse, but the free alternatives are now better? When I compare ChatGPT-4o with Gemini-Advanced (wich is 1.5 Pro, I believe) the latter is just so much worse.</p>
]]></description><pubDate>Tue, 24 Sep 2024 20:54:55 +0000</pubDate><link>https://news.ycombinator.com/item?id=41640796</link><dc:creator>w23j</dc:creator><comments>https://news.ycombinator.com/item?id=41640796</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41640796</guid></item><item><title><![CDATA[ReversingHero – Reverse Engineering Challenge]]></title><description><![CDATA[
<p>Article URL: <a href="https://www.reversinghero.com/">https://www.reversinghero.com/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=40987812">https://news.ycombinator.com/item?id=40987812</a></p>
<p>Points: 2</p>
<p># Comments: 0</p>
]]></description><pubDate>Wed, 17 Jul 2024 16:50:44 +0000</pubDate><link>https://www.reversinghero.com/</link><dc:creator>w23j</dc:creator><comments>https://news.ycombinator.com/item?id=40987812</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40987812</guid></item><item><title><![CDATA[New comment by w23j in "Phind-70B: Closing the code quality gap with GPT-4 Turbo while running 4x faster"]]></title><description><![CDATA[
<p>Thank you!</p>
]]></description><pubDate>Fri, 23 Feb 2024 22:08:47 +0000</pubDate><link>https://news.ycombinator.com/item?id=39486768</link><dc:creator>w23j</dc:creator><comments>https://news.ycombinator.com/item?id=39486768</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39486768</guid></item><item><title><![CDATA[New comment by w23j in "Phind-70B: Closing the code quality gap with GPT-4 Turbo while running 4x faster"]]></title><description><![CDATA[
<p>It now says "GPT inaccessible or not found", when I follow the link. Would someone share the prompt here? I am also very interested.</p>
]]></description><pubDate>Fri, 23 Feb 2024 16:15:57 +0000</pubDate><link>https://news.ycombinator.com/item?id=39482490</link><dc:creator>w23j</dc:creator><comments>https://news.ycombinator.com/item?id=39482490</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39482490</guid></item><item><title><![CDATA[New comment by w23j in "Why is Prettier rock solid?"]]></title><description><![CDATA[
<p>The removal of the parentheses does not change the behavior of the program. I guess that would not be considered "breaking" the code.</p>
]]></description><pubDate>Tue, 20 Feb 2024 11:12:05 +0000</pubDate><link>https://news.ycombinator.com/item?id=39439937</link><dc:creator>w23j</dc:creator><comments>https://news.ycombinator.com/item?id=39439937</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39439937</guid></item><item><title><![CDATA[New comment by w23j in "A Journey building a fast JSON parser and full JSONPath"]]></title><description><![CDATA[
<p>I see. Thanks for taking the time to reply!</p>
]]></description><pubDate>Thu, 12 Oct 2023 14:40:17 +0000</pubDate><link>https://news.ycombinator.com/item?id=37857827</link><dc:creator>w23j</dc:creator><comments>https://news.ycombinator.com/item?id=37857827</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37857827</guid></item><item><title><![CDATA[New comment by w23j in "A Journey building a fast JSON parser and full JSONPath"]]></title><description><![CDATA[
<p>I agree, I would prefer JSON (or YAML) for example for configuration files. That is for stuff that humans actually read. I was thinking about using JSON/XML as a data exchange format between computers, because the context of this discussion has revolved about things like JSON/XML-Schema, JSON/XPath and SOAP/OpenAPI. There is a large trend to replace XML with JSON as data format for inter machine communication, and it is confusing to me.</p>
]]></description><pubDate>Thu, 12 Oct 2023 11:55:17 +0000</pubDate><link>https://news.ycombinator.com/item?id=37855988</link><dc:creator>w23j</dc:creator><comments>https://news.ycombinator.com/item?id=37855988</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37855988</guid></item><item><title><![CDATA[New comment by w23j in "A Journey building a fast JSON parser and full JSONPath"]]></title><description><![CDATA[
<p>I probably phrased my question poorly. Why would I use a tool which is not or poorly maintained for a probably already outdated version of a specs, when I can use something else, that has been used for years by countless companies in productions? The advantages must be huge. And I don't know what they are.<p>OpenAPI is another example. There are threads on hacker news about generating code from OpenAPI specs. These always seem to say "oh, yes don't use tool X, use tool Y it does not have that problem, although it also doesn't support Z". The consensus seems to be to not generate code from an OpenAPI specification but to just use it as documentation, since all generators are more or less broken. Contrast that with for example JAXB (which is not an exact replacement I know), which has been battle tested for years.</p>
]]></description><pubDate>Thu, 12 Oct 2023 11:46:51 +0000</pubDate><link>https://news.ycombinator.com/item?id=37855928</link><dc:creator>w23j</dc:creator><comments>https://news.ycombinator.com/item?id=37855928</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37855928</guid></item><item><title><![CDATA[New comment by w23j in "A Journey building a fast JSON parser and full JSONPath"]]></title><description><![CDATA[
<p>Can you name some of these reasons? Or give me link? Honest question!</p>
]]></description><pubDate>Thu, 12 Oct 2023 11:12:10 +0000</pubDate><link>https://news.ycombinator.com/item?id=37855674</link><dc:creator>w23j</dc:creator><comments>https://news.ycombinator.com/item?id=37855674</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37855674</guid></item><item><title><![CDATA[New comment by w23j in "A Journey building a fast JSON parser and full JSONPath"]]></title><description><![CDATA[
<p>I haven't looked at JSON Schema in detail so please correct me if I am wrong, but I had the impression that the JSON Schema specification is still largely unfinished and evolving. That means you need to know which version the tool you use supports. And when I was looking for JSON Schema validators for Java all I found were projects on GitHub, which often were abandoned and referred the user to another GitHub project which was also abandoned. There does not seem to be support from an established project or vendor.<p>Compare that to XML where we have a plethora of established tools (Woodstoxx, JAXB, etc.).<p>What I have trouble to understand, which everybody else just seems to accept as obvious, is why one would take on these problems? Is JSON Schema more powerful than XML Schema? Does the use of JSON have advantages over using XML? When we are talking about a client program calling a server API with JSON/XML, why do we care about the format of data exchanged? What advantages does JSON have in this case in contrast to XML (or for that matter a binary format like Protocol Buffers)? Isn't this the most boring part of the application, which you would want to just get out of the way and work? What are the advantages of JSON over XML that would lead me to deal with the problems of evolving specifications and unreliable tooling?<p>(And just to repeat, since everybody seems to have a different opinion about this than me, I must be missing something and really would like to learn what!)</p>
]]></description><pubDate>Thu, 12 Oct 2023 11:09:57 +0000</pubDate><link>https://news.ycombinator.com/item?id=37855662</link><dc:creator>w23j</dc:creator><comments>https://news.ycombinator.com/item?id=37855662</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37855662</guid></item><item><title><![CDATA[New comment by w23j in "How I Made a Heap Overflow in Curl"]]></title><description><![CDATA[
<p>So true. Also becomes apparent from this sentence in the Hackerone report:<p>"This report seems entirely correct and it hurts in my soul."<p>and the blog:<p>"[...] shipping a heap overflow in code installed in over twenty billion instances is not an experience I would recommend."<p>Harsh to have to bear that responsibility for so little reward.</p>
]]></description><pubDate>Wed, 11 Oct 2023 14:36:00 +0000</pubDate><link>https://news.ycombinator.com/item?id=37844943</link><dc:creator>w23j</dc:creator><comments>https://news.ycombinator.com/item?id=37844943</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37844943</guid></item><item><title><![CDATA[New comment by w23j in "Bedbug crisis sparks political row in Paris as insect ‘scourge’ continues"]]></title><description><![CDATA[
<p>Great video! Thanks for the recommendation.</p>
]]></description><pubDate>Sat, 30 Sep 2023 11:36:28 +0000</pubDate><link>https://news.ycombinator.com/item?id=37714479</link><dc:creator>w23j</dc:creator><comments>https://news.ycombinator.com/item?id=37714479</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37714479</guid></item><item><title><![CDATA[New comment by w23j in "Choose Postgres queue technology"]]></title><description><![CDATA[
<p>Long running transactions can lead to an accumulation of dead tuples: <a href="https://brandur.org/postgres-queues" rel="nofollow noreferrer">https://brandur.org/postgres-queues</a></p>
]]></description><pubDate>Mon, 25 Sep 2023 08:51:51 +0000</pubDate><link>https://news.ycombinator.com/item?id=37641039</link><dc:creator>w23j</dc:creator><comments>https://news.ycombinator.com/item?id=37641039</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37641039</guid></item></channel></rss>