<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: ethomson</title><link>https://news.ycombinator.com/user?id=ethomson</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Wed, 20 May 2026 11:23:02 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=ethomson" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by ethomson in "Simon Oxley, famous tech logo designer, has died"]]></title><description><![CDATA[
<p>Saddened to hear this. As a former GitHub employee, Mona was _a thing_. She had a backstory, and obviously a lot of designs. Simon’s initial work had a lot of impact on GitHub’s design and communications philosophy.<p>Coincidentally, when I moved to the UK, I had arranged for a taxi from the airport that never showed up. But Simon’s did, apparently. I sat there at a coffeeshop and stared at a taxi driver with a sign for Simon Oxley for a jetlagged hour or so while I waited for mine. I had hoped to catch him for a chat but apparently missed the connection.<p>More recently, we chatted about one of his designs that I adored and I had asked him about using it for an open source project that I had in mind. He graciously offered me to use it for noncommercial purposes. I got busy with, well, life, and didn’t pursue that. I’m feeling now like I should dust it off and see if it’s useful.<p>Godspeed, Simon.</p>
]]></description><pubDate>Wed, 15 Apr 2026 22:02:38 +0000</pubDate><link>https://news.ycombinator.com/item?id=47785919</link><dc:creator>ethomson</dc:creator><comments>https://news.ycombinator.com/item?id=47785919</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47785919</guid></item><item><title><![CDATA[New comment by ethomson in "Cliff Stoll, the mad scientist who wrote the book on how to hunt hackers (2019)"]]></title><description><![CDATA[
<p>Thanks for everything, Cliff. I discovered _The Cuckoo’s Egg_ as a child, and was taken in. I wrote a book report on it... and then I wrote a book report on it the next year... and the next year...<p>At some point, I stopped trying to drag my pre-teen schoolmates along with me, but I still have my original hardback and re-read it regularly.<p>Your book taught me many things - perhaps most importantly, that one can educate about complex topics in engaging and understandable ways. And now I’ve landed in a job that focused on security.<p>One of the things that I’ve been doing in this job is, well, trying to educate about complex topics in engaging and understandable ways. I’ve thought about your book in every blog post I’ve written lately.<p>Thanks, again.</p>
]]></description><pubDate>Thu, 28 Mar 2024 22:32:02 +0000</pubDate><link>https://news.ycombinator.com/item?id=39858190</link><dc:creator>ethomson</dc:creator><comments>https://news.ycombinator.com/item?id=39858190</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39858190</guid></item><item><title><![CDATA[How npm install scripts can be weaponized: a real-world example]]></title><description><![CDATA[
<p>Article URL: <a href="https://stacklok.com/blog/how-npm-install-scripts-can-be-weaponized-a-real-life-example-of-a-harmful-npm-package">https://stacklok.com/blog/how-npm-install-scripts-can-be-weaponized-a-real-life-example-of-a-harmful-npm-package</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=39590533">https://news.ycombinator.com/item?id=39590533</a></p>
<p>Points: 6</p>
<p># Comments: 0</p>
]]></description><pubDate>Mon, 04 Mar 2024 13:57:25 +0000</pubDate><link>https://stacklok.com/blog/how-npm-install-scripts-can-be-weaponized-a-real-life-example-of-a-harmful-npm-package</link><dc:creator>ethomson</dc:creator><comments>https://news.ycombinator.com/item?id=39590533</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39590533</guid></item><item><title><![CDATA[New comment by ethomson in "Speedbump – a TCP proxy to simulate variable network latency"]]></title><description><![CDATA[
<p>This is delightful and I can't wait to try it out. Right now, the libgit2 project (<a href="https://github.com/libgit2/libgit2">https://github.com/libgit2/libgit2</a>) has a custom HTTP git server wrapper that will throttle the responses down to a very slow rate. It's fun watching a `git clone` running over 2400 baud modem speeds, but it's actually been incredibly helpful for testing timeouts, odd buffering problems, and other things that crop up in weird network environments.<p>I'd love to jettison our hacky custom code and use something off-the-shelf instead.</p>
]]></description><pubDate>Wed, 17 Jan 2024 15:26:01 +0000</pubDate><link>https://news.ycombinator.com/item?id=39028975</link><dc:creator>ethomson</dc:creator><comments>https://news.ycombinator.com/item?id=39028975</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39028975</guid></item><item><title><![CDATA[New comment by ethomson in "Photographer captured one image of Cambridge every day for 13 years"]]></title><description><![CDATA[
<p>Yes, that’s definitely the Copper Kettle.<p>More interesting than the food, though, is the background. Those who aren’t familiar with Cambridge will see King’s College in the background, across the street, which many may know from the BBC’s Carols from King’s.</p>
]]></description><pubDate>Sat, 16 Dec 2023 08:28:02 +0000</pubDate><link>https://news.ycombinator.com/item?id=38662720</link><dc:creator>ethomson</dc:creator><comments>https://news.ycombinator.com/item?id=38662720</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=38662720</guid></item><item><title><![CDATA[New comment by ethomson in "The English cottage where John le Carré wrote Tinker Tailor Soldier Spy"]]></title><description><![CDATA[
<p>There’s no confusion about it referring to a dwelling. The confusion is about the _type_ of dwelling.<p>To quote Wikipedia:<p>> In American English, "cottage" is one term for such holiday homes, although they may also be called a "cabin", "chalet", or even "camp".<p>In other words, calling a multi-million pound property a “cottage” would rankle an American ear.</p>
]]></description><pubDate>Sat, 09 Sep 2023 21:23:42 +0000</pubDate><link>https://news.ycombinator.com/item?id=37450428</link><dc:creator>ethomson</dc:creator><comments>https://news.ycombinator.com/item?id=37450428</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37450428</guid></item><item><title><![CDATA[New comment by ethomson in "Storage on Vercel"]]></title><description><![CDATA[
<p>Product Manager for Vercel's storage products here. Today we announced three new storage products in beta; they're based on infrastructure that are provided by partners. There's a lot that goes in to pricing products -- and our products are distinct from our partners' products. We have different roadmaps and will introduce different features as we continue development. So I don't love to make too many comparisons between apples and oranges.<p>But I suspect that you might be comparing Upstash's per-command pricing for _regional_ requests ($0.20 per 100k) to Vercel KV's? In fact, Vercel KV is multi-region, so the more apt comparison is Upstash's pricing for _global_ requests ($0.40 per 100k).</p>
]]></description><pubDate>Mon, 01 May 2023 21:38:22 +0000</pubDate><link>https://news.ycombinator.com/item?id=35779553</link><dc:creator>ethomson</dc:creator><comments>https://news.ycombinator.com/item?id=35779553</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=35779553</guid></item><item><title><![CDATA[New comment by ethomson in "Is the Living Computer Museum dead?"]]></title><description><![CDATA[
<p>I was fortunate enough to go in 2019, pre-covid, while I had a day off in Seattle. It was a great museum, and I’m disappointed that I won’t be able to go back.<p>I tweeted a bunch of photos: <a href="https://twitter.com/ethomson/status/1109880552360951810" rel="nofollow">https://twitter.com/ethomson/status/1109880552360951810</a></p>
]]></description><pubDate>Fri, 17 Feb 2023 08:58:00 +0000</pubDate><link>https://news.ycombinator.com/item?id=34832443</link><dc:creator>ethomson</dc:creator><comments>https://news.ycombinator.com/item?id=34832443</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=34832443</guid></item><item><title><![CDATA[New comment by ethomson in "Show HN: Send a GitHub webhook to a private URL"]]></title><description><![CDATA[
<p>No - your local server will still listen for webhooks, but they'll come from the proxy's client software.<p>Basically, you set up your GitHub webhook URL as the proxy server (for example, smee.io). Then you run a client on your local machine that connects to the proxy server. When a webhook is fired, it will be sent to the proxy, then delivered to the connected client, which will then pass it along as a webhook to whatever machine you've configured.<p>There's disadvantages to having all this stuff running, of course, so I think that handling this at the networking layer instead of putting a proxy just for webhooks into place is an interesting strategy. Certainly, it sounds like the right solution if you're already using OpenZiti.</p>
]]></description><pubDate>Wed, 21 Sep 2022 13:57:59 +0000</pubDate><link>https://news.ycombinator.com/item?id=32925234</link><dc:creator>ethomson</dc:creator><comments>https://news.ycombinator.com/item?id=32925234</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=32925234</guid></item><item><title><![CDATA[New comment by ethomson in "Show HN: Send a GitHub webhook to a private URL"]]></title><description><![CDATA[
<p>Neat stuff - certainly this problem crops up quite a lot where an internal server needs to get GitHub webhook data.<p>In the past, I've had good luck using a webhook proxy. I've mostly just used <a href="https://smee.io/" rel="nofollow">https://smee.io/</a> which is simple and lightweight although seems to be mostly abandonware at this point. I dockerized it so that it could be used in a Kubernetes cluster, which was very useful for my GitHub Actions build cluster: <a href="https://github.com/ethomson/smee-client" rel="nofollow">https://github.com/ethomson/smee-client</a><p>There's also Hookdeck, which I haven't used in production, but have played around with, and it seems conceptually the same, but can be made more Enterprisey. Whether that's a bug or a feature is probably up to you.</p>
]]></description><pubDate>Wed, 21 Sep 2022 13:41:22 +0000</pubDate><link>https://news.ycombinator.com/item?id=32925016</link><dc:creator>ethomson</dc:creator><comments>https://news.ycombinator.com/item?id=32925016</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=32925016</guid></item><item><title><![CDATA[Avoid Boilerplate by Ad-Hoc Wrapping C-APIs in C++ Function Templates]]></title><description><![CDATA[
<p>Article URL: <a href="https://www.craft.do/s/ZVtSl7QsS4eTE5">https://www.craft.do/s/ZVtSl7QsS4eTE5</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=31284979">https://news.ycombinator.com/item?id=31284979</a></p>
<p>Points: 1</p>
<p># Comments: 0</p>
]]></description><pubDate>Fri, 06 May 2022 13:42:58 +0000</pubDate><link>https://www.craft.do/s/ZVtSl7QsS4eTE5</link><dc:creator>ethomson</dc:creator><comments>https://news.ycombinator.com/item?id=31284979</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=31284979</guid></item><item><title><![CDATA[New comment by ethomson in "We use GitHub Actions to build GitHub"]]></title><description><![CDATA[
<p>Thanks. The "commit and hope for the best" problem really resonates with me. There are two great projects that might provide some pain relief - nektos/act or rhysd/actionlint. But I agree that commit-to-validate is probably the best strategy at the moment, which is deeply unfortunate. This is an area that I intend to improve in the future.<p>As for the cache, we doubled it at the end of last year to 10GB. <a href="https://github.blog/changelog/2021-11-23-github-actions-cache-size-is-now-increased-to-10gb-per-repository/" rel="nofollow">https://github.blog/changelog/2021-11-23-github-actions-cach...</a>, but I can see how multi-arch images would be very large. Have you considered putting images into GitHub Container Registry instead of putting the layers into the cache? I'd love to understand if that is appropriate for your workflow, and if not, what the limitation there is.<p>Appreciate the rest of the feedback, I'll pass it along to the appropriate teams.</p>
]]></description><pubDate>Tue, 05 Apr 2022 21:55:57 +0000</pubDate><link>https://news.ycombinator.com/item?id=30925565</link><dc:creator>ethomson</dc:creator><comments>https://news.ycombinator.com/item?id=30925565</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=30925565</guid></item><item><title><![CDATA[New comment by ethomson in "We use GitHub Actions to build GitHub"]]></title><description><![CDATA[
<p>Thanks for the feedback! I'm one of the PMs for GitHub Actions, and I appreciate this. Thinking about Actions as a set of primitives that you can compose is very much how I think about the product (and I think the other PMs as well) so I'm glad that resonates.<p>We're always welcome to feedback, and we're continuing to invest and improve on the product, so I'm hopeful that we can address the features that you're missing.</p>
]]></description><pubDate>Tue, 05 Apr 2022 17:30:18 +0000</pubDate><link>https://news.ycombinator.com/item?id=30922043</link><dc:creator>ethomson</dc:creator><comments>https://news.ycombinator.com/item?id=30922043</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=30922043</guid></item><item><title><![CDATA[New comment by ethomson in "Learn the workings of Git, not just the commands (2015)"]]></title><description><![CDATA[
<p>That's probably <i>not</i> what you want.  Checking out an ID would put you in a detached HEAD state, and the CLI will give you the page of warning messages that go along with it.  I think that this is an excellent reminder that yes, the git CLI is not simple or obvious.</p>
]]></description><pubDate>Tue, 18 Jan 2022 15:11:52 +0000</pubDate><link>https://news.ycombinator.com/item?id=29980303</link><dc:creator>ethomson</dc:creator><comments>https://news.ycombinator.com/item?id=29980303</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=29980303</guid></item><item><title><![CDATA[New comment by ethomson in "Highlights from Git 2.34"]]></title><description><![CDATA[
<p>GitHub turns off rename detection and turns off recursive base-building when creating merge commits in pull requests.  Both of these selections would cause differences in when a merge produces conflicts.  This is for backward compatibility with historical mechanisms for merging pull requests, but it seems like something that we might want to revisit.</p>
]]></description><pubDate>Tue, 16 Nov 2021 16:16:00 +0000</pubDate><link>https://news.ycombinator.com/item?id=29242283</link><dc:creator>ethomson</dc:creator><comments>https://news.ycombinator.com/item?id=29242283</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=29242283</guid></item><item><title><![CDATA[New comment by ethomson in "Highlights from Git 2.34"]]></title><description><![CDATA[
<p>That's certainly possible, but libgit2 carries an _exhaustive_ test corpus around merge as we aim to be bug-for-bug compatible with git-merge-recursive.  This was also proved out by A/B testing the two at scale: <a href="https://github.blog/2015-12-15-move-fast/" rel="nofollow">https://github.blog/2015-12-15-move-fast/</a></p>
]]></description><pubDate>Tue, 16 Nov 2021 14:47:55 +0000</pubDate><link>https://news.ycombinator.com/item?id=29241103</link><dc:creator>ethomson</dc:creator><comments>https://news.ycombinator.com/item?id=29241103</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=29241103</guid></item><item><title><![CDATA[New comment by ethomson in "Visual Git"]]></title><description><![CDATA[
<p>tl;dr: this is a MSCCI plug-in for git, for compatibility with (quite) old versions of Visual Studio.<p>This is impressive work.  I've used the MSCCI API on several projects - MSCCI is the old version control interface for Visual Studio.<p>MSCCI is the "Microsoft Source Code Control Interface" and was built to integrate Microsoft Visual SourceSafe into Visual Studio.  This was because VSS had a checkout/edit/checkin model by default, so files needed to be explicitly checked out from the server (and were locked) so that they could be modified.  MSCCI allowed you to paper over this - as soon as you started typing in the editor, you'd get a MSCCI event and you could do the check out.<p>Unfortunately, the API is really focused on VSS integration.  Trying to bring another version control system into this API is... painful.  This was - always - the worst part of the UI to work on in SourceOffSite and Vault.<p>Thankfully, more modern versions of Visual Studio dropped MSCCI (by "more modern" I mean 2005 - adding Team Foundation Server integration to Visual Studio meant that MSCCI was finally deprecated and a new API was added).<p>However, legacy development projects exist for older Microsoft platforms and using older Visual Studio versions.  So I'm both surprised to see that this exists, and am rather heartened by its existence.  (But I still feel sorry for anybody who has to use it.)</p>
]]></description><pubDate>Mon, 01 Nov 2021 13:58:53 +0000</pubDate><link>https://news.ycombinator.com/item?id=29066666</link><dc:creator>ethomson</dc:creator><comments>https://news.ycombinator.com/item?id=29066666</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=29066666</guid></item><item><title><![CDATA[New comment by ethomson in "This word does not exist"]]></title><description><![CDATA[
<p><p><pre><code>    frood: noun
    
    (in dogs) a thickly furred section between the forelegs, covering the upper upper surface of the hind legs; a hindleg
    "a ferret with an astonishing, yet brief, frood"
</code></pre>
Douglas Adams is rolling over in his grave.</p>
]]></description><pubDate>Tue, 26 Oct 2021 20:21:48 +0000</pubDate><link>https://news.ycombinator.com/item?id=29005760</link><dc:creator>ethomson</dc:creator><comments>https://news.ycombinator.com/item?id=29005760</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=29005760</guid></item><item><title><![CDATA[New comment by ethomson in "Ć Programming Language"]]></title><description><![CDATA[
<p>Right, but when you write C, C++ and Swift directly you can also make a program that _doesn't_ leak memory.  The question posed was whether that's even possible in Ć?</p>
]]></description><pubDate>Sat, 09 Oct 2021 10:54:48 +0000</pubDate><link>https://news.ycombinator.com/item?id=28808716</link><dc:creator>ethomson</dc:creator><comments>https://news.ycombinator.com/item?id=28808716</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=28808716</guid></item><item><title><![CDATA[New comment by ethomson in "GitHub Advisory Database now powers NPM audit"]]></title><description><![CDATA[
<p>Product Manager for npm here.  That was correct.  As part of our integration, we were not excluding withdrawn advisories.  We've since corrected this.  Apologies!</p>
]]></description><pubDate>Thu, 07 Oct 2021 19:43:25 +0000</pubDate><link>https://news.ycombinator.com/item?id=28791152</link><dc:creator>ethomson</dc:creator><comments>https://news.ycombinator.com/item?id=28791152</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=28791152</guid></item></channel></rss>