<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: lukasgelbmann</title><link>https://news.ycombinator.com/user?id=lukasgelbmann</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Mon, 15 Jun 2026 22:51:04 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=lukasgelbmann" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by lukasgelbmann in "Ask HN: What are you working on? (June 2026)"]]></title><description><![CDATA[
<p>I’m working on a time series management & analysis tool. The goal is to provide simple ways to work with time series data, including an API and visualisation.<p><a href="https://28times.com" rel="nofollow">https://28times.com</a></p>
]]></description><pubDate>Sun, 14 Jun 2026 18:03:20 +0000</pubDate><link>https://news.ycombinator.com/item?id=48530510</link><dc:creator>lukasgelbmann</dc:creator><comments>https://news.ycombinator.com/item?id=48530510</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48530510</guid></item><item><title><![CDATA[New comment by lukasgelbmann in "Bttf is a command line datetime Swiss army knife"]]></title><description><![CDATA[
<p>> <i>“If you run this on a big repository, it will take quite a lot of time because `git log -n1` takes a long time. I think this is the fastest way to get the most recent commit time on a single file? (That's the assertion that I hope someone can correct me on!) In any case, `bttf tag exec` is using parallelism under the hood to make this even faster.”</i><p>Instead of running `git log -n1` on every file, I think you can walk through the commits backwards, skipping any files that have been seen. Something like this (these two commands could be followed by bttf commands):<p><pre><code>  git log --pretty=format:"DATE:%aI" --name-only |
  awk '/^DATE:/ {date=substr($0, 6); next} $0!="" && !seen[$0]++ {print date, $0}'
</code></pre>
This seems to run much faster. The only problem is it'll include files that have been renamed or removed. I got an AI to fix that too, but it starts getting awkward (still fast though!):<p><pre><code>  git ls-files |
  awk '
    # Read all existing files from git ls-files into an array
    NR==FNR { lsfiles[$0]; next }

    # Process the git log stream
    /^DATE:/ { date=substr($0, 6); next }
    $0!="" && ($0 in lsfiles) && !seen[$0]++ { print date, $0 }
  ' - <(git log --pretty=format:"DATE:%aI" --name-only)</code></pre></p>
]]></description><pubDate>Thu, 28 May 2026 18:44:05 +0000</pubDate><link>https://news.ycombinator.com/item?id=48313565</link><dc:creator>lukasgelbmann</dc:creator><comments>https://news.ycombinator.com/item?id=48313565</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48313565</guid></item><item><title><![CDATA[What types of exceptions should you catch?]]></title><description><![CDATA[
<p>Article URL: <a href="https://www.pythonmorsels.com/what-types-of-exceptions-should-you-catch/">https://www.pythonmorsels.com/what-types-of-exceptions-should-you-catch/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=48310337">https://news.ycombinator.com/item?id=48310337</a></p>
<p>Points: 3</p>
<p># Comments: 0</p>
]]></description><pubDate>Thu, 28 May 2026 15:25:40 +0000</pubDate><link>https://www.pythonmorsels.com/what-types-of-exceptions-should-you-catch/</link><dc:creator>lukasgelbmann</dc:creator><comments>https://news.ycombinator.com/item?id=48310337</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48310337</guid></item><item><title><![CDATA[New comment by lukasgelbmann in "If more than 50% press blue, everyone survives. Red pressers always survive"]]></title><description><![CDATA[
<p>With 3, especially if the animals outnumber humans, you’d first want to do some research into animal psychology to see whether red or blue has an edge for animals.</p>
]]></description><pubDate>Sun, 26 Apr 2026 20:02:02 +0000</pubDate><link>https://news.ycombinator.com/item?id=47913642</link><dc:creator>lukasgelbmann</dc:creator><comments>https://news.ycombinator.com/item?id=47913642</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47913642</guid></item><item><title><![CDATA[New comment by lukasgelbmann in "If more than 50% press blue, everyone survives. Red pressers always survive"]]></title><description><![CDATA[
<p>There’s a moral benefit to choosing blue if you think there’s a chance that the end result will be split 50-50 and you’ll be the deciding vote between a blue majority and a red majority.</p>
]]></description><pubDate>Sun, 26 Apr 2026 19:45:56 +0000</pubDate><link>https://news.ycombinator.com/item?id=47913427</link><dc:creator>lukasgelbmann</dc:creator><comments>https://news.ycombinator.com/item?id=47913427</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47913427</guid></item><item><title><![CDATA[New comment by lukasgelbmann in "An AI agent deleted our production database. The agent's confession is below"]]></title><description><![CDATA[
<p>If you’re using a model, it’s your responsibility to make sure the probability actually is that small. Realistically, you do that by not giving the model access to any of your bloody prod API keys.</p>
]]></description><pubDate>Sun, 26 Apr 2026 19:36:55 +0000</pubDate><link>https://news.ycombinator.com/item?id=47913302</link><dc:creator>lukasgelbmann</dc:creator><comments>https://news.ycombinator.com/item?id=47913302</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47913302</guid></item><item><title><![CDATA[New comment by lukasgelbmann in "GitHub's fake star economy"]]></title><description><![CDATA[
<p>That’s not something I wanted to imply. It can also stand for "the fine article". Is there a better shorthand for "the article linked at top of the page" / "the original article"?</p>
]]></description><pubDate>Mon, 20 Apr 2026 13:30:02 +0000</pubDate><link>https://news.ycombinator.com/item?id=47834052</link><dc:creator>lukasgelbmann</dc:creator><comments>https://news.ycombinator.com/item?id=47834052</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47834052</guid></item><item><title><![CDATA[New comment by lukasgelbmann in "GitHub's fake star economy"]]></title><description><![CDATA[
<p>I use stars to try and protect myself from dependency confusion attacks.<p>For example, let’s say I want to run some piece of software that I’ve heard about, and let’s say I trust that the software isn’t malware because of its reputation.<p>Most of the time, I’d be installing the software from somewhere that’s not GitHub. A lot of package managers will let anyone upload malware with a name that’s very similar to the software I’m looking for, designed to fool people like me. I need to defend against that. If I can find a GitHub repo that has a ton of stars, I can generally assume that it’s the software I’m looking for, and not a fake imitator, and I can therefore trust the installation instructions in its readme.<p>Except this is also not 100% safe, because as mentioned in TFA, stars can be bought.</p>
]]></description><pubDate>Mon, 20 Apr 2026 12:14:58 +0000</pubDate><link>https://news.ycombinator.com/item?id=47833176</link><dc:creator>lukasgelbmann</dc:creator><comments>https://news.ycombinator.com/item?id=47833176</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47833176</guid></item><item><title><![CDATA[How a cat debugged Stable Diffusion (2023)]]></title><description><![CDATA[
<p>Article URL: <a href="https://blog.dwac.dev/posts/cat-debugging/">https://blog.dwac.dev/posts/cat-debugging/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=46934659">https://news.ycombinator.com/item?id=46934659</a></p>
<p>Points: 59</p>
<p># Comments: 12</p>
]]></description><pubDate>Sun, 08 Feb 2026 14:49:12 +0000</pubDate><link>https://blog.dwac.dev/posts/cat-debugging/</link><dc:creator>lukasgelbmann</dc:creator><comments>https://news.ycombinator.com/item?id=46934659</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46934659</guid></item><item><title><![CDATA[Designing a Programming Language to Speedrun Advent of Code (2023)]]></title><description><![CDATA[
<p>Article URL: <a href="https://blog.vero.site/post/noulith">https://blog.vero.site/post/noulith</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=46294166">https://news.ycombinator.com/item?id=46294166</a></p>
<p>Points: 1</p>
<p># Comments: 0</p>
]]></description><pubDate>Tue, 16 Dec 2025 20:43:37 +0000</pubDate><link>https://blog.vero.site/post/noulith</link><dc:creator>lukasgelbmann</dc:creator><comments>https://news.ycombinator.com/item?id=46294166</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46294166</guid></item><item><title><![CDATA[Europe's Erasmus founder Sofia Corradi dies, aged 91]]></title><description><![CDATA[
<p>Article URL: <a href="https://www.thelocal.com/20251019/europes-erasmus-founder-sofia-corradi-dies-aged-91">https://www.thelocal.com/20251019/europes-erasmus-founder-sofia-corradi-dies-aged-91</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=45633348">https://news.ycombinator.com/item?id=45633348</a></p>
<p>Points: 3</p>
<p># Comments: 0</p>
]]></description><pubDate>Sun, 19 Oct 2025 10:47:36 +0000</pubDate><link>https://www.thelocal.com/20251019/europes-erasmus-founder-sofia-corradi-dies-aged-91</link><dc:creator>lukasgelbmann</dc:creator><comments>https://news.ycombinator.com/item?id=45633348</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45633348</guid></item><item><title><![CDATA[New comment by lukasgelbmann in "No_color: Disabling ANSI color output by default"]]></title><description><![CDATA[
<p>Does NO_COLOR=1 mean that all ANSI formatting should be disabled? Including bold text, italic text, and so on?<p>It seems that different software handles that question in different ways.</p>
]]></description><pubDate>Tue, 07 Oct 2025 10:14:03 +0000</pubDate><link>https://news.ycombinator.com/item?id=45501311</link><dc:creator>lukasgelbmann</dc:creator><comments>https://news.ycombinator.com/item?id=45501311</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45501311</guid></item><item><title><![CDATA[Const and Static Const Arrays in C and C++ (2022)]]></title><description><![CDATA[
<p>Article URL: <a href="https://www.hahnjo.de/blog/2022/10/30/static-const-arrays.html">https://www.hahnjo.de/blog/2022/10/30/static-const-arrays.html</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=43371066">https://news.ycombinator.com/item?id=43371066</a></p>
<p>Points: 3</p>
<p># Comments: 0</p>
]]></description><pubDate>Sat, 15 Mar 2025 08:49:02 +0000</pubDate><link>https://www.hahnjo.de/blog/2022/10/30/static-const-arrays.html</link><dc:creator>lukasgelbmann</dc:creator><comments>https://news.ycombinator.com/item?id=43371066</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43371066</guid></item><item><title><![CDATA[Fortune(6) – Linux Man Page]]></title><description><![CDATA[
<p>Article URL: <a href="https://linux.die.net/man/6/fortune">https://linux.die.net/man/6/fortune</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=43158139">https://news.ycombinator.com/item?id=43158139</a></p>
<p>Points: 41</p>
<p># Comments: 17</p>
]]></description><pubDate>Mon, 24 Feb 2025 11:01:03 +0000</pubDate><link>https://linux.die.net/man/6/fortune</link><dc:creator>lukasgelbmann</dc:creator><comments>https://news.ycombinator.com/item?id=43158139</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43158139</guid></item><item><title><![CDATA[Sequencing your DNA with a USB dongle and open source code (2021)]]></title><description><![CDATA[
<p>Article URL: <a href="https://stackoverflow.blog/2021/12/24/sequencing-your-dna-with-a-usb-dongle-and-open-source-code/">https://stackoverflow.blog/2021/12/24/sequencing-your-dna-with-a-usb-dongle-and-open-source-code/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=43015671">https://news.ycombinator.com/item?id=43015671</a></p>
<p>Points: 1</p>
<p># Comments: 0</p>
]]></description><pubDate>Tue, 11 Feb 2025 17:41:01 +0000</pubDate><link>https://stackoverflow.blog/2021/12/24/sequencing-your-dna-with-a-usb-dongle-and-open-source-code/</link><dc:creator>lukasgelbmann</dc:creator><comments>https://news.ycombinator.com/item?id=43015671</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43015671</guid></item><item><title><![CDATA[Basel has to buy domain name in the Bahamas after mishap]]></title><description><![CDATA[
<p>Article URL: <a href="https://www.bluewin.ch/en/news/switzerland/basel-has-to-buy-internet-address-in-bahamas-after-breakdown-2541936.html">https://www.bluewin.ch/en/news/switzerland/basel-has-to-buy-internet-address-in-bahamas-after-breakdown-2541936.html</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=42885008">https://news.ycombinator.com/item?id=42885008</a></p>
<p>Points: 67</p>
<p># Comments: 54</p>
]]></description><pubDate>Fri, 31 Jan 2025 05:48:21 +0000</pubDate><link>https://www.bluewin.ch/en/news/switzerland/basel-has-to-buy-internet-address-in-bahamas-after-breakdown-2541936.html</link><dc:creator>lukasgelbmann</dc:creator><comments>https://news.ycombinator.com/item?id=42885008</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42885008</guid></item><item><title><![CDATA[Raising of Chicago]]></title><description><![CDATA[
<p>Article URL: <a href="https://en.wikipedia.org/wiki/Raising_of_Chicago">https://en.wikipedia.org/wiki/Raising_of_Chicago</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=42611978">https://news.ycombinator.com/item?id=42611978</a></p>
<p>Points: 82</p>
<p># Comments: 41</p>
]]></description><pubDate>Mon, 06 Jan 2025 16:31:27 +0000</pubDate><link>https://en.wikipedia.org/wiki/Raising_of_Chicago</link><dc:creator>lukasgelbmann</dc:creator><comments>https://news.ycombinator.com/item?id=42611978</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42611978</guid></item><item><title><![CDATA[Islands in lakes on islands in lakes on islands]]></title><description><![CDATA[
<p>Article URL: <a href="https://en.wikipedia.org/wiki/Recursive_islands_and_lakes#Islands_in_lakes_on_islands_in_lakes_on_islands">https://en.wikipedia.org/wiki/Recursive_islands_and_lakes#Islands_in_lakes_on_islands_in_lakes_on_islands</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=27560697">https://news.ycombinator.com/item?id=27560697</a></p>
<p>Points: 13</p>
<p># Comments: 0</p>
]]></description><pubDate>Sat, 19 Jun 2021 14:28:49 +0000</pubDate><link>https://en.wikipedia.org/wiki/Recursive_islands_and_lakes#Islands_in_lakes_on_islands_in_lakes_on_islands</link><dc:creator>lukasgelbmann</dc:creator><comments>https://news.ycombinator.com/item?id=27560697</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=27560697</guid></item><item><title><![CDATA[New comment by lukasgelbmann in "Python strings are immutable, but only sometimes"]]></title><description><![CDATA[
<p>Joining on a list (as in function two()) is no more memory intensive than joining on a generator expression (function one()). This is surprising at first. Raymond Hettinger has a very good explanation.[0] In short, it's because "".join() needs to iterate over the elements twice, and so it needs to store the whole sequence of string anyway.<p>[0] <a href="https://stackoverflow.com/a/9061024" rel="nofollow">https://stackoverflow.com/a/9061024</a></p>
]]></description><pubDate>Tue, 16 Feb 2021 01:47:07 +0000</pubDate><link>https://news.ycombinator.com/item?id=26150010</link><dc:creator>lukasgelbmann</dc:creator><comments>https://news.ycombinator.com/item?id=26150010</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=26150010</guid></item><item><title><![CDATA[New comment by lukasgelbmann in "An Innovative World Cup Stock Market Game"]]></title><description><![CDATA[
<p>It's interesting that while the bookies unanimously have Brazil as favourites [0], this stock market game has Germany ahead of them [1]. It might be because Germany has easier opponents in the group stage.<p>[0] <a href="https://www.oddschecker.com/football/world-cup/winner" rel="nofollow">https://www.oddschecker.com/football/world-cup/winner</a><p>[1] <a href="https://prediction.zone/stockmarket2/worldcup2018/trading" rel="nofollow">https://prediction.zone/stockmarket2/worldcup2018/trading</a></p>
]]></description><pubDate>Sun, 10 Jun 2018 19:59:59 +0000</pubDate><link>https://news.ycombinator.com/item?id=17279886</link><dc:creator>lukasgelbmann</dc:creator><comments>https://news.ycombinator.com/item?id=17279886</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=17279886</guid></item></channel></rss>