<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: georgelyon</title><link>https://news.ycombinator.com/user?id=georgelyon</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Fri, 05 Jun 2026 07:20:15 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=georgelyon" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by georgelyon in "Clock synchronization is a nightmare"]]></title><description><![CDATA[
<p>Yes, though the API of having a write-only value that is a monotonically increasing counter is much simpler than having to think about causality or logical clocks.</p>
]]></description><pubDate>Sun, 28 Dec 2025 01:34:30 +0000</pubDate><link>https://news.ycombinator.com/item?id=46407505</link><dc:creator>georgelyon</dc:creator><comments>https://news.ycombinator.com/item?id=46407505</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46407505</guid></item><item><title><![CDATA[New comment by georgelyon in "Clock synchronization is a nightmare"]]></title><description><![CDATA[
<p>Unfortunate that the author doesn’t bring up FoundationDB version stamps, which to me feel like the right solution to the problem. Essentially, you can write a value you can’t read until after the transaction is committed and the synchronization infrastructure guarantees that value ends up being monotonically increasing per transaction. They use similar “write only” operations for atomic operations like increment.</p>
]]></description><pubDate>Sat, 27 Dec 2025 19:42:30 +0000</pubDate><link>https://news.ycombinator.com/item?id=46404572</link><dc:creator>georgelyon</dc:creator><comments>https://news.ycombinator.com/item?id=46404572</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46404572</guid></item><item><title><![CDATA[New comment by georgelyon in "iFixit iPhone Air teardown"]]></title><description><![CDATA[
<p>Unless Apple comes up with a way to have the crease still physically be there, but visually seem like it isn’t. Perhaps using a waveguide or something similar.</p>
]]></description><pubDate>Sun, 21 Sep 2025 21:22:30 +0000</pubDate><link>https://news.ycombinator.com/item?id=45326778</link><dc:creator>georgelyon</dc:creator><comments>https://news.ycombinator.com/item?id=45326778</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45326778</guid></item><item><title><![CDATA[New comment by georgelyon in "iFixit iPhone Air teardown"]]></title><description><![CDATA[
<p>I betting $10 Apple’s foldable will be two iPhone Airs where one side has 0 bezel hinged together with extreme mechanical precision and maybe some fairy dust to make the gap when unfolded unnoticeable.<p>This creates a foldable with no durability issues and no “crease” problems. Also the two halves of the display could be on the outside when folded, avoiding the need for a third display and getting a rear display for free. I would buy 3 of these.</p>
]]></description><pubDate>Sun, 21 Sep 2025 07:19:05 +0000</pubDate><link>https://news.ycombinator.com/item?id=45320751</link><dc:creator>georgelyon</dc:creator><comments>https://news.ycombinator.com/item?id=45320751</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45320751</guid></item><item><title><![CDATA[New comment by georgelyon in "The Sagrada Família takes its final shape"]]></title><description><![CDATA[
<p>Gaudi is among the best engineers and artists who ever lived, and I won’t belabor his greatness. It is cool though that Rhino (<a href="https://www.rhino3d.com/" rel="nofollow">https://www.rhino3d.com/</a>) got a shout out in this article, it is a similar blend of engineering and artistic excellence that I’ve only dabbled in briefly, but repeatedly pops up in the toolkits of the most interesting engineer-artists. One of my personal favorites is John Edmark who among other cool things made these shutter-synced 3D sculptures that are absolutely amazing: <a href="https://www.johnedmark.com/phifib/#itemId=572301305559869e244bfc9d" rel="nofollow">https://www.johnedmark.com/phifib/#itemId=572301305559869e24...</a></p>
]]></description><pubDate>Fri, 19 Sep 2025 04:23:50 +0000</pubDate><link>https://news.ycombinator.com/item?id=45297932</link><dc:creator>georgelyon</dc:creator><comments>https://news.ycombinator.com/item?id=45297932</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45297932</guid></item><item><title><![CDATA[New comment by georgelyon in "Unexpected security footguns in Go's parsers"]]></title><description><![CDATA[
<p>While this is a common view, recently I’ve begun to wonder if it may be secretly an antipattern. I’ve run into a number of cases over the years where additional fields don’t break parsing, or even necessarily the main functionality of a program, but result in subtle incorrect behavior in edge cases. Things like values that are actually distinct being treated as equal because the fields that differ are ignored. More recently, I’ve seen LLMs get confused because they hallucinated tool input fields that were ignored during the invocation of a tool.<p>I’m a little curious to try and build an API where parsing must be exact, and changes always result in a new version of the API. I don’t actually think it would be too difficult, but perhaps some extra tooling around downgrading responses and deprecating old versions may need to be built.</p>
]]></description><pubDate>Sun, 22 Jun 2025 00:26:04 +0000</pubDate><link>https://news.ycombinator.com/item?id=44341765</link><dc:creator>georgelyon</dc:creator><comments>https://news.ycombinator.com/item?id=44341765</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44341765</guid></item><item><title><![CDATA[New comment by georgelyon in "Clair Obscur may have the highest Metacritic user score of all time"]]></title><description><![CDATA[
<p>One thing is the graphics are a generation behind what you would usually expect from a game of this quality. I’ve been playing it and I can confirm it is wonderful, and the graphics just makes me impressed with the amount of focus the tiny team (33 people, I think?) put into making what matters great (though I’d be excited for a remaster in the future).</p>
]]></description><pubDate>Fri, 02 May 2025 15:08:45 +0000</pubDate><link>https://news.ycombinator.com/item?id=43870833</link><dc:creator>georgelyon</dc:creator><comments>https://news.ycombinator.com/item?id=43870833</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43870833</guid></item><item><title><![CDATA[New comment by georgelyon in "What if we made advertising illegal?"]]></title><description><![CDATA[
<p>For the record, I’m not saying this is the perfect model and we should move to it immediately. My only claim is that it isn’t crazy.<p>I think the fundamental difference between advertising to discoverers vs advertising to consumers is that currently “discoverers” (platforms, content creators, billboard owners, etc.) make money directly from advertisers. Success as a “discoverer” is at least somewhat correlated to income (with more money, platforms can be more successful; content creators can create more compelling content; landowners can buy more billboards). If that money is coming from advertisers, you are biasing the market to prefer discoverers that can secure the most advertiser funding, which in turn preferences advertisers that can spend the most on advertising. This isn’t fundamentally bad, since a compelling product can make a lot of money that can then be spend on advertising, but it also creates anti-consumer incentives (like marketing something that is just good enough not to return as the next best thing). On the other hand, if discoverers are paid directly by consumers, that biases the market to prefer discoverers who identify products that bring the most value to consumers for their money.</p>
]]></description><pubDate>Sun, 06 Apr 2025 02:44:29 +0000</pubDate><link>https://news.ycombinator.com/item?id=43598542</link><dc:creator>georgelyon</dc:creator><comments>https://news.ycombinator.com/item?id=43598542</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43598542</guid></item><item><title><![CDATA[New comment by georgelyon in "What if we made advertising illegal?"]]></title><description><![CDATA[
<p>The idea of product discovery has value. Advertising funds product discovery by taking some of the funds that you pay for goods, and funneling that money to platforms and creators that are willing to help others discover that product.<p>There is an alternative model where we simply pay professional product discoverers. Think influencers, but whose customer is the fan not the sponsor. It would be a massive cultural shift, but doesn’t seem so crazy to me.</p>
]]></description><pubDate>Sat, 05 Apr 2025 18:29:38 +0000</pubDate><link>https://news.ycombinator.com/item?id=43595548</link><dc:creator>georgelyon</dc:creator><comments>https://news.ycombinator.com/item?id=43595548</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43595548</guid></item><item><title><![CDATA[New comment by georgelyon in "The story of my home made pipe organ (2000)"]]></title><description><![CDATA[
<p>Then you probably have already heard of this guy: <a href="https://www.youtube.com/channel/UCqzB9Ks5H939XLuSuVLuPVw" rel="nofollow">https://www.youtube.com/channel/UCqzB9Ks5H939XLuSuVLuPVw</a><p>He does a bunch of awesome stuff with PVC and 3D printed parts.</p>
]]></description><pubDate>Thu, 30 Jan 2025 18:07:02 +0000</pubDate><link>https://news.ycombinator.com/item?id=42880363</link><dc:creator>georgelyon</dc:creator><comments>https://news.ycombinator.com/item?id=42880363</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42880363</guid></item><item><title><![CDATA[New comment by georgelyon in "Stop Making Me Memorize the Borrow Checker"]]></title><description><![CDATA[
<p>I’ve been wrestling with Swift’s region isolation checker recently and had a similar experience.</p>
]]></description><pubDate>Sun, 17 Nov 2024 01:51:46 +0000</pubDate><link>https://news.ycombinator.com/item?id=42161314</link><dc:creator>georgelyon</dc:creator><comments>https://news.ycombinator.com/item?id=42161314</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42161314</guid></item><item><title><![CDATA[New comment by georgelyon in "A subtle change to the iPhone’s contact-sharing permissions"]]></title><description><![CDATA[
<p>I’m genuinely surprised it took this long for Apple to do this. Having a full contacts list has long been one of the most valuable pieces of information for ad targeting. It’s why you can not be on Facebook but they still know everything they need to know about you because enough of your contacts are on their platforms.</p>
]]></description><pubDate>Thu, 03 Oct 2024 03:03:51 +0000</pubDate><link>https://news.ycombinator.com/item?id=41726968</link><dc:creator>georgelyon</dc:creator><comments>https://news.ycombinator.com/item?id=41726968</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41726968</guid></item><item><title><![CDATA[New comment by georgelyon in "Packaging Swift Apps for Alpine Linux"]]></title><description><![CDATA[
<p>If I’m not mistaken, the embedded swift mode aims to make ICU (the 27mb file for Unicode support) optional (and thus easily removed where it isn’t needed)</p>
]]></description><pubDate>Sun, 16 Jun 2024 18:29:14 +0000</pubDate><link>https://news.ycombinator.com/item?id=40699057</link><dc:creator>georgelyon</dc:creator><comments>https://news.ycombinator.com/item?id=40699057</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40699057</guid></item><item><title><![CDATA[New comment by georgelyon in "Thoughts on low latency trading if exchanges went full cloud"]]></title><description><![CDATA[
<p>I ran into this problem a while back working at a company that was working to distribute video streams with low latency (lower than Low-Latency HLS) to a large number of viewers. Initially a prototype was built on top of AWS with fan-out/copying and it was terrible. This was partially due to inefficiency, but also due to each link being a reliable stream, meaning dropped packets were re-broadcast even though that isn't really useful to live video.<p>Moving to our own multicast hardware not only greatly improved performance, but also greatly simplified the design of the system. We required specialized expertise, but the overall project was reasonably straightforward. The biggest issue was that now we had a really efficient packet-machine-gun which we could accidentally point at ourselves, or worse, can be pointed at a target by a malicious attacker.<p>This 1-N behavior of multicast is both a benefit and a significant risk. I really think there is opportunity for cloud providers to step in and provide a packaged solution which mitigates the downsides (i.e. makes it very difficult to misconfigure where the packet-machine-gun is pointing). My guess is that this hasn't happened yet because there aren't enough use-cases for this to be a priority (the aforementioned video use case might be better served by a more specialized offering), but exchanges could be a really interesting market for such a product.<p>It would be pretty efficient to multi-cast market state in an unreliable way, and have a fallback mechanism to "fill in" gaps where packets are dropped that is out-of-band (and potentially distributed, i.e. asking your neighbors if they got that packet)</p>
]]></description><pubDate>Tue, 16 Apr 2024 16:25:50 +0000</pubDate><link>https://news.ycombinator.com/item?id=40053985</link><dc:creator>georgelyon</dc:creator><comments>https://news.ycombinator.com/item?id=40053985</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40053985</guid></item><item><title><![CDATA[New comment by georgelyon in "Develop in Swift Tutorials"]]></title><description><![CDATA[
<p>I have in several capacities over the past few years.<p>VSCode works pretty well with the sswg extension (powered by sourcekit-lsp). Devcontainers are particularly nice if you are into that sort of thing (I develop in a Linux container on a macOS host). I actually find it easier to experiment with new toolchains (for example, the nightlies) in the Linux container than on my host machine (which requires more manual setup).</p>
]]></description><pubDate>Thu, 04 Apr 2024 20:25:55 +0000</pubDate><link>https://news.ycombinator.com/item?id=39935407</link><dc:creator>georgelyon</dc:creator><comments>https://news.ycombinator.com/item?id=39935407</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39935407</guid></item><item><title><![CDATA[New comment by georgelyon in "Technical debt is an invisible $1.52T problem"]]></title><description><![CDATA[
<p>One thing I’ve noticed in my career is that it is often quite difficult to distinguish “good” technical infrastructure improvements (meaning ones that will actually help a company achieve its goals) from “bad” ones (stuff that is unnecessary, risky or simply not worth the investment). I've seen these decisions made more using the political capital of high level engineers than by anything data-driven. That’s not to say this isn’t a problem, just maybe more of an art than a science.</p>
]]></description><pubDate>Sun, 31 Mar 2024 23:22:41 +0000</pubDate><link>https://news.ycombinator.com/item?id=39889188</link><dc:creator>georgelyon</dc:creator><comments>https://news.ycombinator.com/item?id=39889188</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39889188</guid></item><item><title><![CDATA[New comment by georgelyon in "Writing Gnome Apps with Swift"]]></title><description><![CDATA[
<p>For the record, borrowed references are only going to be really usable in Swift 6 which isn't released yet.<p>That said, Swift's implementation of borrowing seems significantly more user-friendly than Rust's. While this is very much an advanced feature, I'd expect it to be actually used in many cases where in Rust folks would resort to working around the borrow checking (via things like indexing into arrays and such). As a result I expect it to be significantly more useful.</p>
]]></description><pubDate>Thu, 28 Mar 2024 17:09:24 +0000</pubDate><link>https://news.ycombinator.com/item?id=39854479</link><dc:creator>georgelyon</dc:creator><comments>https://news.ycombinator.com/item?id=39854479</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39854479</guid></item><item><title><![CDATA[New comment by georgelyon in "Writing Gnome Apps with Swift"]]></title><description><![CDATA[
<p>It wasn't too bad to switch for me, but the problem is going back and forth. I don't love over-customizing my IDE but I've created my own keybindings for the commands I mis-type most (Command-R to run being the main culprit). Both Xcode and VSCode support custom key bindings and this isn't something that the LSP is responsible.<p>UI is a different matter. Xcode is still miles ahead in performance tooling.</p>
]]></description><pubDate>Thu, 28 Mar 2024 00:15:51 +0000</pubDate><link>https://news.ycombinator.com/item?id=39846284</link><dc:creator>georgelyon</dc:creator><comments>https://news.ycombinator.com/item?id=39846284</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39846284</guid></item><item><title><![CDATA[New comment by georgelyon in "Writing Gnome Apps with Swift"]]></title><description><![CDATA[
<p>This is spot-on. Though I think the interesting thing here is just demonstrating that you _can_ build this kind of thing at all and a cross-platform-SwiftUI-like framework isn't a pipe dream.<p>For production use-cases at this moment in time, I'd probably lean towards using Swift's pretty-good C++ interop functionality to thinly wrap a more battle-tested C++ library.</p>
]]></description><pubDate>Wed, 27 Mar 2024 22:43:38 +0000</pubDate><link>https://news.ycombinator.com/item?id=39845498</link><dc:creator>georgelyon</dc:creator><comments>https://news.ycombinator.com/item?id=39845498</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39845498</guid></item><item><title><![CDATA[New comment by georgelyon in "Writing Gnome Apps with Swift"]]></title><description><![CDATA[
<p>sourcekit-lsp works really well, VSCode integration is solid[1]. I've been using VSCode+dev-containers+sourcekit-lsp for a couple years now for Linux development on macOS and it has been really nice.<p>I agree that this is a must-have for idiomatic Swift. It is really hard to write the long-named-functions and get all the variable names correct without reasonable autocomplete.<p>[1]: <a href="https://www.swift.org/blog/vscode-extension/" rel="nofollow">https://www.swift.org/blog/vscode-extension/</a></p>
]]></description><pubDate>Wed, 27 Mar 2024 22:40:20 +0000</pubDate><link>https://news.ycombinator.com/item?id=39845470</link><dc:creator>georgelyon</dc:creator><comments>https://news.ycombinator.com/item?id=39845470</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39845470</guid></item></channel></rss>