<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: lor_louis</title><link>https://news.ycombinator.com/user?id=lor_louis</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Sat, 13 Jun 2026 16:10:15 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=lor_louis" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by lor_louis in "The AI bubble isn't like the internet bubble"]]></title><description><![CDATA[
<p>A couple of months back my boss asked me why I didn't use AI all that much. I told him that I didn't think it made me more productive in the tasks at was doing at the time (having to wrangle undocumented really custom legacy infra stuff).<p>He told me he found AI to make him really productive and said something along the lines of: "It's really good at summarizing long reports and it saves me time when I have to write end of quarter status updates".<p>I'm convinced about 50% of management decisions come from Claude now.</p>
]]></description><pubDate>Tue, 26 May 2026 11:25:29 +0000</pubDate><link>https://news.ycombinator.com/item?id=48278211</link><dc:creator>lor_louis</dc:creator><comments>https://news.ycombinator.com/item?id=48278211</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48278211</guid></item><item><title><![CDATA[New comment by lor_louis in "Efficient String Compression for Modern Database Systems"]]></title><description><![CDATA[
<p>I've implemented a similar system based on the original 2020 paper,
but we applied it to the text log to try to "extract" similar features
from free-form text. It looked promising and even supported full
regex search, but the work was ultimately abandoned when we got
acquired.</p>
]]></description><pubDate>Mon, 02 Feb 2026 01:56:28 +0000</pubDate><link>https://news.ycombinator.com/item?id=46851525</link><dc:creator>lor_louis</dc:creator><comments>https://news.ycombinator.com/item?id=46851525</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46851525</guid></item><item><title><![CDATA[New comment by lor_louis in "Computer science courses that don't exist, but should (2015)"]]></title><description><![CDATA[
<p>Handling text is a minefield. UTF-8 is great but when you get into graphemes, there's basically no way to handle them properly unless you write some code to generate graphene recognition based off the spec which is rather large and continuously updated.<p>Same for font rendering, there is a reason why harfbuzz is used everywhere. Getting an 80% working renderer is easy but the remaining 20% can take years.<p>It really "handling text correctly"should be a masters, and I'd sign up in a heartbeat.</p>
]]></description><pubDate>Sat, 25 Oct 2025 13:31:27 +0000</pubDate><link>https://news.ycombinator.com/item?id=45703750</link><dc:creator>lor_louis</dc:creator><comments>https://news.ycombinator.com/item?id=45703750</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45703750</guid></item><item><title><![CDATA[New comment by lor_louis in "Generic Containers in C: Vec"]]></title><description><![CDATA[
<p>I do something similar, but I don't implement the logic in a macro, instead I have a Vec struct which looks like<p><pre><code>    struct Vec {
        void *data;
        size_t len;
        size_t cap;
        size_t sizeof_ty;
    }
</code></pre>
I then use a macro to define a new type<p><pre><code>    IntVec {
        struct Vec inner;
        int ty[0];
    }
</code></pre>
Using the zero sized filed I can do typeof(*ty) to get some type safety back.<p>All of the methods are implemented on the base Vec type and have a small wrapper which casts/assets the type of the things you are trying to push.</p>
]]></description><pubDate>Sat, 26 Jul 2025 16:20:11 +0000</pubDate><link>https://news.ycombinator.com/item?id=44695196</link><dc:creator>lor_louis</dc:creator><comments>https://news.ycombinator.com/item?id=44695196</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44695196</guid></item><item><title><![CDATA[New comment by lor_louis in "Why is the Rust compiler so slow?"]]></title><description><![CDATA[
<p>I write a lot of C and Rust, and my personal experience is that for smaller C programs, Rust tends to have a slightly higher line count, but it's mostly due to forcing the user to handle every error possible.<p>A truly robust C program will generally be much larger than the equivalent Rust program.</p>
]]></description><pubDate>Fri, 27 Jun 2025 22:43:10 +0000</pubDate><link>https://news.ycombinator.com/item?id=44400956</link><dc:creator>lor_louis</dc:creator><comments>https://news.ycombinator.com/item?id=44400956</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44400956</guid></item><item><title><![CDATA[New comment by lor_louis in "Learn OCaml"]]></title><description><![CDATA[
<p>Even in Linux, I'd say the tooling is a bit rough, dune and the new lsp are going in the right direction though.</p>
]]></description><pubDate>Fri, 27 Jun 2025 22:34:46 +0000</pubDate><link>https://news.ycombinator.com/item?id=44400889</link><dc:creator>lor_louis</dc:creator><comments>https://news.ycombinator.com/item?id=44400889</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44400889</guid></item><item><title><![CDATA[New comment by lor_louis in "Kilo: A text editor in less than 1000 LOC with syntax highlight and search"]]></title><description><![CDATA[
<p>Oh by "more complex" operations I referred to multiple cursors and multi line regex searches. I've noticed some performance problems in my own editor but it's mostly because "lines" become fragmented, if you allocate all the lines with their own allocation, they might be far away from each other in memory. It's especially true when programming where lines are relatively short.<p>Regex searches and code highlight might introduce some hitches due to all of the seeking.</p>
]]></description><pubDate>Tue, 20 May 2025 15:09:44 +0000</pubDate><link>https://news.ycombinator.com/item?id=44042501</link><dc:creator>lor_louis</dc:creator><comments>https://news.ycombinator.com/item?id=44042501</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44042501</guid></item><item><title><![CDATA[New comment by lor_louis in "Kilo: A text editor in less than 1000 LOC with syntax highlight and search"]]></title><description><![CDATA[
<p>Kilo is a fun weekend project, but I learned the hard way that it's not a good base uppon which you should build your own text editor.<p>The core data structure (array of lines) just isn't that well suited to more complex operations.<p>Anyway here's what I built:
<a href="https://github.com/lorlouis/cedit">https://github.com/lorlouis/cedit</a><p>If I were to do it again I'd use a piece table[1]. The VS code folks wrote a fantastic blog post about it some time ago[2].<p>[1] <a href="https://en.m.wikipedia.org/wiki/Piece_table" rel="nofollow">https://en.m.wikipedia.org/wiki/Piece_table</a>
[2] <a href="https://code.visualstudio.com/blogs/2018/03/23/text-buffer-reimplementation" rel="nofollow">https://code.visualstudio.com/blogs/2018/03/23/text-buffer-r...</a></p>
]]></description><pubDate>Tue, 20 May 2025 02:45:56 +0000</pubDate><link>https://news.ycombinator.com/item?id=44037270</link><dc:creator>lor_louis</dc:creator><comments>https://news.ycombinator.com/item?id=44037270</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44037270</guid></item><item><title><![CDATA[New comment by lor_louis in "Apple needs a Snow Sequoia"]]></title><description><![CDATA[
<p>As someone who stopped using windows about 7 years ago, and only recently used it last weekend, my eyes probably glossed over the fact that some buttons were laid out
horizontally.<p>It also makes way more sense.</p>
]]></description><pubDate>Fri, 28 Mar 2025 16:46:55 +0000</pubDate><link>https://news.ycombinator.com/item?id=43507487</link><dc:creator>lor_louis</dc:creator><comments>https://news.ycombinator.com/item?id=43507487</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43507487</guid></item><item><title><![CDATA[New comment by lor_louis in "Apple needs a Snow Sequoia"]]></title><description><![CDATA[
<p>To be fair, win11 is a nightmare in terms of usability. I can only assume a committee of eldritch beings and accountants designed it.<p>It blows my mind that when right-clicking on a file in file explorer, the 'delete' option is hidden in a sub-menu under 'more options'.</p>
]]></description><pubDate>Fri, 28 Mar 2025 00:22:19 +0000</pubDate><link>https://news.ycombinator.com/item?id=43499870</link><dc:creator>lor_louis</dc:creator><comments>https://news.ycombinator.com/item?id=43499870</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43499870</guid></item><item><title><![CDATA[New comment by lor_louis in "Military grade sonic weapon is used against protesters in Serbia"]]></title><description><![CDATA[
<p>That's the exact same circumstances that lead to the development of guerilla warfare. I don't know how you'd go around creating a "highly visible gimmick" that has any lasting impact though.</p>
]]></description><pubDate>Sun, 16 Mar 2025 22:53:15 +0000</pubDate><link>https://news.ycombinator.com/item?id=43383351</link><dc:creator>lor_louis</dc:creator><comments>https://news.ycombinator.com/item?id=43383351</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43383351</guid></item><item><title><![CDATA[New comment by lor_louis in "Show HN: Instantly visualize any codebase as an interactive diagram"]]></title><description><![CDATA[
<p>As the author of the repo I was surprised how close to my mental model the graph was. (I haven't worked on this repo in a while so my mental model is a bit fuzzy)<p>And yeah it seems to be missing a few connections but the ones that are there are correct line.h depends on str.h which links str.c which depends on xmalloc.c/h.<p>But had I been a new contributor to the project I would have found the missing links between modules pretty frustrating.<p>My guess is that the graph is only good enough to give and overview of what things are dependent on what if I were working on a monorepo and I had to justify to my manager that team B needs to do something for us.<p>I like the idea though, a lot of direct code to graph tools are too noisy and that tends scares non technical people away.</p>
]]></description><pubDate>Fri, 27 Dec 2024 19:03:09 +0000</pubDate><link>https://news.ycombinator.com/item?id=42525011</link><dc:creator>lor_louis</dc:creator><comments>https://news.ycombinator.com/item?id=42525011</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42525011</guid></item><item><title><![CDATA[New comment by lor_louis in "Show HN: Instantly visualize any codebase as an interactive diagram"]]></title><description><![CDATA[
<p>I tried it on a personal repo and it never ended up generating a diagram.<p>Might be a bug, so here's the repo.
<a href="https://github.com/lorlouis/cedit">https://github.com/lorlouis/cedit</a></p>
]]></description><pubDate>Fri, 27 Dec 2024 16:57:45 +0000</pubDate><link>https://news.ycombinator.com/item?id=42523786</link><dc:creator>lor_louis</dc:creator><comments>https://news.ycombinator.com/item?id=42523786</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42523786</guid></item><item><title><![CDATA[New comment by lor_louis in "Dear sir, you have built a compiler (2022)"]]></title><description><![CDATA[
<p>To be fair, I'd rather type BEGIN instead of <<? Or whatever the trigraph is supposed to be. We tend to forget that a lot of computers didn't have the keys to type "mathematical" symbols.</p>
]]></description><pubDate>Sun, 24 Nov 2024 15:34:17 +0000</pubDate><link>https://news.ycombinator.com/item?id=42228410</link><dc:creator>lor_louis</dc:creator><comments>https://news.ycombinator.com/item?id=42228410</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42228410</guid></item><item><title><![CDATA[New comment by lor_louis in "It's Time to Stop Taking Sam Altman at His Word"]]></title><description><![CDATA[
<p>Luck and money.</p>
]]></description><pubDate>Sat, 05 Oct 2024 13:59:46 +0000</pubDate><link>https://news.ycombinator.com/item?id=41749904</link><dc:creator>lor_louis</dc:creator><comments>https://news.ycombinator.com/item?id=41749904</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41749904</guid></item><item><title><![CDATA[New comment by lor_louis in "Random access string compression with FSST and Rust"]]></title><description><![CDATA[
<p>I've worked on a database that considered FSST as a way to query over compressed log lines. We found that the compression ratio was highly dependent on how repetitive the data was. In the end segmenting by service (Apache, our go stuff, our rust stuff, etc) yielded pretty good results and log lengths of ~200 bytes were pretty well compressed.<p>We ended up not using it in production because the worst cases were absolutely terrible compared to our dumber skippable zstd.</p>
]]></description><pubDate>Sat, 14 Sep 2024 01:55:22 +0000</pubDate><link>https://news.ycombinator.com/item?id=41536898</link><dc:creator>lor_louis</dc:creator><comments>https://news.ycombinator.com/item?id=41536898</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41536898</guid></item><item><title><![CDATA[New comment by lor_louis in "Rust Dylib Rabbit Holes"]]></title><description><![CDATA[
<p>Cargo check won't report linker errors, that the only difference I ever ran into.</p>
]]></description><pubDate>Wed, 28 Aug 2024 22:18:23 +0000</pubDate><link>https://news.ycombinator.com/item?id=41385042</link><dc:creator>lor_louis</dc:creator><comments>https://news.ycombinator.com/item?id=41385042</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41385042</guid></item><item><title><![CDATA[New comment by lor_louis in "A Comparison of Arenas in Rust"]]></title><description><![CDATA[
<p>A bump allocator can be implemented using atomics, but it does not support freeing individuals elements. I have seen some CAS heaps (linked list like) but I never had to implement them.</p>
]]></description><pubDate>Sun, 25 Aug 2024 18:19:38 +0000</pubDate><link>https://news.ycombinator.com/item?id=41349752</link><dc:creator>lor_louis</dc:creator><comments>https://news.ycombinator.com/item?id=41349752</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41349752</guid></item><item><title><![CDATA[New comment by lor_louis in "Why Polars rewrote its Arrow string data type"]]></title><description><![CDATA[
<p>I did not know about Eytzing-sorting, I'll look into it after my vacation, thanks! And yeah our current system is column oriented, and I already tried most of your recommendations (including tries) but the biggest limitation we face is that different kinds of queries will be better served by different kinds of data structures but you can only store a few of them on disk before the cost to index becomes too big.</p>
]]></description><pubDate>Wed, 07 Aug 2024 01:23:56 +0000</pubDate><link>https://news.ycombinator.com/item?id=41177331</link><dc:creator>lor_louis</dc:creator><comments>https://news.ycombinator.com/item?id=41177331</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41177331</guid></item><item><title><![CDATA[New comment by lor_louis in "Why Polars rewrote its Arrow string data type"]]></title><description><![CDATA[
<p>Yeah I tend to work with strings data around the 15 to 30 ish char count so I'm also sceptical of german strings when it comes to raw memory usage. What really interests me, is that in theory, an SSTable built from German Strings that point into a larger text buffer further down could result in less pagefaults during a binary search? Maybe?</p>
]]></description><pubDate>Tue, 06 Aug 2024 23:12:12 +0000</pubDate><link>https://news.ycombinator.com/item?id=41176511</link><dc:creator>lor_louis</dc:creator><comments>https://news.ycombinator.com/item?id=41176511</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41176511</guid></item></channel></rss>