<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: jez</title><link>https://news.ycombinator.com/user?id=jez</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Sun, 05 Apr 2026 20:34:53 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=jez" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by jez in "Making Firefox's right-click not suck with about:config"]]></title><description><![CDATA[
<p>Still the only thing I miss about the Firefox right-click context menu coming from Chrome is that Firefox doesn't have a "Look up '<selection>'" in the menu on macOS, to look up in the macOS dictionary, for looking up words I don't know.<p><a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1116391" rel="nofollow">https://bugzilla.mozilla.org/show_bug.cgi?id=1116391</a></p>
]]></description><pubDate>Wed, 04 Mar 2026 20:39:20 +0000</pubDate><link>https://news.ycombinator.com/item?id=47253463</link><dc:creator>jez</dc:creator><comments>https://news.ycombinator.com/item?id=47253463</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47253463</guid></item><item><title><![CDATA[The Summer Slide, part 3: The tax code we had]]></title><description><![CDATA[
<p>Article URL: <a href="https://substack.com/@michaelwgreen/p-189483869">https://substack.com/@michaelwgreen/p-189483869</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=47213185">https://news.ycombinator.com/item?id=47213185</a></p>
<p>Points: 1</p>
<p># Comments: 1</p>
]]></description><pubDate>Mon, 02 Mar 2026 02:32:25 +0000</pubDate><link>https://substack.com/@michaelwgreen/p-189483869</link><dc:creator>jez</dc:creator><comments>https://news.ycombinator.com/item?id=47213185</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47213185</guid></item><item><title><![CDATA[FOMC Insight Engine: semantic search over Fed archives]]></title><description><![CDATA[
<p>Article URL: <a href="https://causalityineconomics.com/fomc_archive">https://causalityineconomics.com/fomc_archive</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=47212719">https://news.ycombinator.com/item?id=47212719</a></p>
<p>Points: 2</p>
<p># Comments: 0</p>
]]></description><pubDate>Mon, 02 Mar 2026 01:18:57 +0000</pubDate><link>https://causalityineconomics.com/fomc_archive</link><dc:creator>jez</dc:creator><comments>https://news.ycombinator.com/item?id=47212719</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47212719</guid></item><item><title><![CDATA[New comment by jez in "Python Type Checker Comparison: Empty Container Inference"]]></title><description><![CDATA[
<p>A more complicated version of this problem exists in TypeScript and Ruby, where there are only arrays. Python’s case is considerably simpler by also having tuples, whose length is fixed at the time of assignment.<p>In Python, `x = []` should always have a `list[…]` type inferred. In TypeScript and Ruby, the inferred type needs to account for the fact that `x` is valid to pass to a function which takes the empty tuple (empty array literal type) as well as a function that takes an array. So the Python strategy #1 in the article of defaulting to `list[Any]` does not work because it rejects passing `[]` to a function declared as taking `[]`.</p>
]]></description><pubDate>Sun, 01 Mar 2026 18:54:24 +0000</pubDate><link>https://news.ycombinator.com/item?id=47209541</link><dc:creator>jez</dc:creator><comments>https://news.ycombinator.com/item?id=47209541</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47209541</guid></item><item><title><![CDATA[New comment by jez in "What does " 2>&1 " mean?"]]></title><description><![CDATA[
<p>I have used this in the past when building shell scripts and Makefiles to orchestrate an existing build system:<p><a href="https://github.com/jez/symbol/blob/master/scaffold/symbol#L195-L204" rel="nofollow">https://github.com/jez/symbol/blob/master/scaffold/symbol#L1...</a><p>The existing build system I did not have control over, and would produce output on stdout/stderr. I wanted my build scripts to be able to only show the output from the build system if building failed (and there might have been multiple build system invocations leading to that failure). I also wanted the second level to be able to log progress messages that were shown to the user immediately on stdout.<p><pre><code>    Level 1: create fd=3, capture fd 1/2 (done in one place at the top-level)
    Level 2: log progress messages to fd=3 so the user knows what's happening
    Level 3: original build system, will log to fd 1/2, but will be captured
</code></pre>
It was janky and it's not a project I have a need for anymore, but it was technically a real world use case.</p>
]]></description><pubDate>Fri, 27 Feb 2026 01:37:42 +0000</pubDate><link>https://news.ycombinator.com/item?id=47175188</link><dc:creator>jez</dc:creator><comments>https://news.ycombinator.com/item?id=47175188</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47175188</guid></item><item><title><![CDATA[New comment by jez in "What does " 2>&1 " mean?"]]></title><description><![CDATA[
<p>Another fun consequence of this is that you can initialize otherwise-unset file descriptors this way:<p><pre><code>    $ cat foo.sh
    #!/usr/bin/env bash

    >&1 echo "will print on stdout"
    >&2 echo "will print on stderr"
    >&3 echo "will print on fd 3"

    $ ./foo.sh 3>&1 1>/dev/null 2>/dev/null
    will print on fd 3
</code></pre>
It's a trick you can use if you've got a super chatty script or set of scripts, you want to silence or slurp up all of their output, but you still want to allow some mechanism for printing directly to the terminal.<p>The danger is that if you don't open it before running the script, you'll get an error:<p><pre><code>    $ ./foo.sh
    will print on stdout
    will print on stderr
    ./foo.sh: line 5: 3: Bad file descriptor</code></pre></p>
]]></description><pubDate>Fri, 27 Feb 2026 00:00:45 +0000</pubDate><link>https://news.ycombinator.com/item?id=47174198</link><dc:creator>jez</dc:creator><comments>https://news.ycombinator.com/item?id=47174198</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47174198</guid></item><item><title><![CDATA[New comment by jez in "Stripe valued at $159B, 2025 annual letter"]]></title><description><![CDATA[
<p>For comparison, Visa's stated FY 2025 (ended Sep 30, 2025) payments volume was $14.2T.<p>rough math, but:<p>$14.2T / $1.9T * 1.6% = 12% global GDP</p>
]]></description><pubDate>Tue, 24 Feb 2026 18:24:58 +0000</pubDate><link>https://news.ycombinator.com/item?id=47140671</link><dc:creator>jez</dc:creator><comments>https://news.ycombinator.com/item?id=47140671</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47140671</guid></item><item><title><![CDATA[New comment by jez in "Stripe valued at $159B, 2025 annual letter"]]></title><description><![CDATA[
<p>Paypal TPV YoY growth for 2025 was 7%[1].<p>Stripe cites 34% growth for the same period and metric.<p>[1]: <a href="https://s205.q4cdn.com/875401827/files/doc_financials/2025/q4/PYPL-4Q-25-Earnings-Presentation.pdf#page=9" rel="nofollow">https://s205.q4cdn.com/875401827/files/doc_financials/2025/q...</a></p>
]]></description><pubDate>Tue, 24 Feb 2026 18:09:52 +0000</pubDate><link>https://news.ycombinator.com/item?id=47140444</link><dc:creator>jez</dc:creator><comments>https://news.ycombinator.com/item?id=47140444</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47140444</guid></item><item><title><![CDATA[New comment by jez in "Stripe valued at $159B, 2025 annual letter"]]></title><description><![CDATA[
<p>The tender offer announced in the article is open to former employees as well, so they personally profit regardless of Stripe being public (unless the claim is that by being public the valuation would be materially higher than the stated valuation for this offer).</p>
]]></description><pubDate>Tue, 24 Feb 2026 17:00:05 +0000</pubDate><link>https://news.ycombinator.com/item?id=47139461</link><dc:creator>jez</dc:creator><comments>https://news.ycombinator.com/item?id=47139461</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47139461</guid></item><item><title><![CDATA[New comment by jez in "We installed a single turnstile to feel secure"]]></title><description><![CDATA[
<p>As others have mentioned, it comes down to the threat model, but sometimes the threat model itself is uncomfortable to talk about.<p>It’s sad to think about, but in my recollection a lot of intra-building badge readers went up in response to the 2018 active shooter situation at the YouTube HQ[1]. In cases like this, the threat model is “confine a hostile person to a specific part of the building once they’ve gotten in while law enforcement arrives,” less than preventing someone from coat tailing their way into the building at all.<p>[1] <a href="https://news.ycombinator.com/item?id=16748529">https://news.ycombinator.com/item?id=16748529</a></p>
]]></description><pubDate>Tue, 24 Feb 2026 16:49:26 +0000</pubDate><link>https://news.ycombinator.com/item?id=47139326</link><dc:creator>jez</dc:creator><comments>https://news.ycombinator.com/item?id=47139326</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47139326</guid></item><item><title><![CDATA[Stripe valued at $159B, 2025 annual letter]]></title><description><![CDATA[
<p>Article URL: <a href="https://stripe.com/newsroom/news/stripe-2025-update">https://stripe.com/newsroom/news/stripe-2025-update</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=47137711">https://news.ycombinator.com/item?id=47137711</a></p>
<p>Points: 238</p>
<p># Comments: 245</p>
]]></description><pubDate>Tue, 24 Feb 2026 14:37:52 +0000</pubDate><link>https://stripe.com/newsroom/news/stripe-2025-update</link><dc:creator>jez</dc:creator><comments>https://news.ycombinator.com/item?id=47137711</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47137711</guid></item><item><title><![CDATA[New comment by jez in "Four Column ASCII (2017)"]]></title><description><![CDATA[
<p>I have a command called `ascii-4col.txt` in my personal `bin/` folder that prints this out:<p><a href="https://github.com/jez/bin/blob/master/ascii-4col.txt" rel="nofollow">https://github.com/jez/bin/blob/master/ascii-4col.txt</a><p>It's neat because it's the only command I have that uses `tail` for the shebang line.</p>
]]></description><pubDate>Tue, 17 Feb 2026 17:43:20 +0000</pubDate><link>https://news.ycombinator.com/item?id=47050409</link><dc:creator>jez</dc:creator><comments>https://news.ycombinator.com/item?id=47050409</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47050409</guid></item><item><title><![CDATA[The imminent risk of vibe coding]]></title><description><![CDATA[
<p>Article URL: <a href="https://basta.substack.com/p/the-imminent-risk-of-vibe-coding">https://basta.substack.com/p/the-imminent-risk-of-vibe-coding</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=46859345">https://news.ycombinator.com/item?id=46859345</a></p>
<p>Points: 1</p>
<p># Comments: 0</p>
]]></description><pubDate>Mon, 02 Feb 2026 18:24:48 +0000</pubDate><link>https://basta.substack.com/p/the-imminent-risk-of-vibe-coding</link><dc:creator>jez</dc:creator><comments>https://news.ycombinator.com/item?id=46859345</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46859345</guid></item><item><title><![CDATA[New comment by jez in "I set all 376 Vim options and I'm still a fool"]]></title><description><![CDATA[
<p>On a US keyboard layout this is the same number of keys because { and } are Shift+[ and Shift+]</p>
]]></description><pubDate>Tue, 20 Jan 2026 14:53:04 +0000</pubDate><link>https://news.ycombinator.com/item?id=46692387</link><dc:creator>jez</dc:creator><comments>https://news.ycombinator.com/item?id=46692387</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46692387</guid></item><item><title><![CDATA[New comment by jez in "Test your square brackets"]]></title><description><![CDATA[
<p>Something I never understood about this: is the pipe necessary, or just to have another symbol contributing to the mayhem?<p><pre><code>    :(){:&;:};:
</code></pre>
This is the same number of characters but doesn’t use a pipe, and I was never able to figure out why it seems so universally to use a pipe.</p>
]]></description><pubDate>Thu, 15 Jan 2026 16:52:06 +0000</pubDate><link>https://news.ycombinator.com/item?id=46635387</link><dc:creator>jez</dc:creator><comments>https://news.ycombinator.com/item?id=46635387</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46635387</guid></item><item><title><![CDATA[New comment by jez in "Chase to become new issuer of Apple Card"]]></title><description><![CDATA[
<p>Far be it from me to get in the way of someone protesting megabank centralization, but...<p>I have to imagine that this bank relationship will be different from those previous acquisitions? I never interacted with Goldman Sachs for the duration I've had my Apple Card—the relationship is entirely with Apple and their iOS app. I don't imagine that to be much different when Chase is the issuer.</p>
]]></description><pubDate>Thu, 08 Jan 2026 01:51:16 +0000</pubDate><link>https://news.ycombinator.com/item?id=46536093</link><dc:creator>jez</dc:creator><comments>https://news.ycombinator.com/item?id=46536093</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46536093</guid></item><item><title><![CDATA[New comment by jez in "Chase to become new issuer of Apple Card"]]></title><description><![CDATA[
<p>Does that mean that this new partnership will be better because Chase is better at consumer banking than Goldman Sachs, or Chase negotiated a deal that will not cause them to lose a lot of money?<p>If it's the latter, does that mean that the card rewards for Apple Card will get worse?</p>
]]></description><pubDate>Thu, 08 Jan 2026 01:48:10 +0000</pubDate><link>https://news.ycombinator.com/item?id=46536068</link><dc:creator>jez</dc:creator><comments>https://news.ycombinator.com/item?id=46536068</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46536068</guid></item><item><title><![CDATA[Fixing an 11th hour Street Fighter II GFX ROM bug [video]]]></title><description><![CDATA[
<p>Article URL: <a href="https://www.youtube.com/watch?v=dUkLYOPRYH4">https://www.youtube.com/watch?v=dUkLYOPRYH4</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=46488299">https://news.ycombinator.com/item?id=46488299</a></p>
<p>Points: 2</p>
<p># Comments: 0</p>
]]></description><pubDate>Sun, 04 Jan 2026 14:32:05 +0000</pubDate><link>https://www.youtube.com/watch?v=dUkLYOPRYH4</link><dc:creator>jez</dc:creator><comments>https://news.ycombinator.com/item?id=46488299</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46488299</guid></item><item><title><![CDATA[New comment by jez in "Clicks Communicator"]]></title><description><![CDATA[
<p>If you tap and hold a second thumb after you’ve tapped and held to bring up the moveable cursor, it switches to a selection range.</p>
]]></description><pubDate>Fri, 02 Jan 2026 23:55:41 +0000</pubDate><link>https://news.ycombinator.com/item?id=46471027</link><dc:creator>jez</dc:creator><comments>https://news.ycombinator.com/item?id=46471027</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46471027</guid></item><item><title><![CDATA[New comment by jez in "Assorted less(1) tips"]]></title><description><![CDATA[
<p>Less can be configured with a ~/.lesskey file<p>I have a single line in my config[1] which binds s to back-scroll, so that d and s are right next to each other and I can quickly page up/down with one hand.<p>If you’re on macOS, you may not be able to use this unless you install less from Homebrew, or otherwise replace the default less.[2]<p>[1] <a href="https://github.com/jez/dotfiles/blob/master/lesskey#L2" rel="nofollow">https://github.com/jez/dotfiles/blob/master/lesskey#L2</a><p>[2] <a href="https://apple.stackexchange.com/questions/27269/is-less1-missing-lesskey-functionality" rel="nofollow">https://apple.stackexchange.com/questions/27269/is-less1-mis...</a></p>
]]></description><pubDate>Fri, 02 Jan 2026 15:54:39 +0000</pubDate><link>https://news.ycombinator.com/item?id=46466011</link><dc:creator>jez</dc:creator><comments>https://news.ycombinator.com/item?id=46466011</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46466011</guid></item></channel></rss>