<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: Olreich</title><link>https://news.ycombinator.com/user?id=Olreich</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Wed, 08 Apr 2026 10:47:19 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=Olreich" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by Olreich in "Show HN: Gemini Pro 3 imagines the HN front page 10 years from now"]]></title><description><![CDATA[
<p>But many artists are hallucinating when they envisioned some of their pieces. Who's to say Mozart wasn't on a trip when he created The Marriage of Figaro.</p>
]]></description><pubDate>Wed, 10 Dec 2025 13:00:11 +0000</pubDate><link>https://news.ycombinator.com/item?id=46217195</link><dc:creator>Olreich</dc:creator><comments>https://news.ycombinator.com/item?id=46217195</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46217195</guid></item><item><title><![CDATA[New comment by Olreich in "Be careful with Go struct embedding"]]></title><description><![CDATA[
<p>If you need to grab a particular struct's version of the data, you can via `opts.BarService.URL` or `opts.FooService.URL`: <a href="https://go.dev/play/p/MUSYJhmoC2D" rel="nofollow">https://go.dev/play/p/MUSYJhmoC2D</a><p>Still worth being careful, but it can be useful when you have a set of common fields that everything of a certain group will have (such as a response object with basic status, debug info, etc. and then additional data based on the particular struct). I don't know why they let you embed multiple layers and multiple objects though. I've never gotten value out of anything but a "here's a single set of common fields struct embedding".</p>
]]></description><pubDate>Mon, 22 Sep 2025 00:07:38 +0000</pubDate><link>https://news.ycombinator.com/item?id=45327803</link><dc:creator>Olreich</dc:creator><comments>https://news.ycombinator.com/item?id=45327803</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45327803</guid></item><item><title><![CDATA[New comment by Olreich in "Standard Thermal: Energy Storage 500x Cheaper Than Batteries"]]></title><description><![CDATA[
<p>There aren’t grid-scale batteries that can handle hundreds of thousands of cycles at an affordable price. If we crack that problem, solar and wind for everything will immediately be the only technology worth deploying for energy in 99% of areas.</p>
]]></description><pubDate>Tue, 26 Aug 2025 11:08:52 +0000</pubDate><link>https://news.ycombinator.com/item?id=45024954</link><dc:creator>Olreich</dc:creator><comments>https://news.ycombinator.com/item?id=45024954</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45024954</guid></item><item><title><![CDATA[New comment by Olreich in "Streaming services are driving viewers back to piracy"]]></title><description><![CDATA[
<p>The appeal back then was being able to get all the shows you wanted on a single platform. Netflix had all of Disney, WB, ABC, CBS, NBC, etc. at one point, including strong original content. Going all in on $10/month for all the TV I wanted to watch was a good deal. Paying $15/month times 5 for a worse experience... not so much.</p>
]]></description><pubDate>Fri, 15 Aug 2025 01:08:11 +0000</pubDate><link>https://news.ycombinator.com/item?id=44907564</link><dc:creator>Olreich</dc:creator><comments>https://news.ycombinator.com/item?id=44907564</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44907564</guid></item><item><title><![CDATA[New comment by Olreich in "At a Loss for Words: A flawed idea is teaching kids to be poor readers (2019)"]]></title><description><![CDATA[
<p>US students are expected to be able to read 104 characters by the end of 6th grade. While Chinese students are expected to be able to read 20k words by that time.<p>Characters in Chinese can be combined to make more words, and you need around 9k words in English to read a novel and 2k characters in Chinese to read a novel.</p>
]]></description><pubDate>Mon, 04 Aug 2025 11:04:36 +0000</pubDate><link>https://news.ycombinator.com/item?id=44784199</link><dc:creator>Olreich</dc:creator><comments>https://news.ycombinator.com/item?id=44784199</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44784199</guid></item><item><title><![CDATA[New comment by Olreich in "There are no new ideas in AI, only new datasets"]]></title><description><![CDATA[
<p>Current models are lossy databases at this point. Carmack looks like he might be trying to get logical reasoning to work (learning something abstract in one context and applying it to a similar context). That is something that would advance the field significantly and may be possible with a small team of researchers.</p>
]]></description><pubDate>Wed, 02 Jul 2025 11:16:47 +0000</pubDate><link>https://news.ycombinator.com/item?id=44442320</link><dc:creator>Olreich</dc:creator><comments>https://news.ycombinator.com/item?id=44442320</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44442320</guid></item><item><title><![CDATA[New comment by Olreich in "Rust’s dependencies are starting to worry me"]]></title><description><![CDATA[
<p>> But yes, the equivalent of fnmatch should be a separate module and that could be a dependency of glob.<p>Interesting, lets look at fnmatch: <a href="https://pubs.opengroup.org/onlinepubs/9699919799/functions/fnmatch.html" rel="nofollow">https://pubs.opengroup.org/onlinepubs/9699919799/functions/f...</a><p>Well, fnmatch really does two things, it parses the pattern and then applies that to a string, so really, there should be a "ptnparse" library that handles the pattern matching that fnmatch has a dependency.<p>Though, thinking it through, the "ptnparse" library is responsible for patterns matching single characters and multiple characters. We should split that up into "singleptn" and "multiptn" libraries that ptnparse can take as dependencies.<p>Oh, and those flags that fnmatch takes makes fnmatch work in several different ways, let's decompose those into three libraries so that we only have to pull in the matcher we care about: pthmatch, nscmatch, and prdmatch. Then we can compose those libraries based on what we want in fnmatch.<p>This is perfect, now if we don't care about part of the fnmatch functionality, we don't have to include it!<p>/s<p>This decomposition is how we wind up with the notorious leftpad situation. Knowing when to stop decomposing is important. fnmatch is a single function that does less than most syscalls. We can probably bundle that with a few more string functions without actually costing us a ton. Glob matching at a string level probably belongs with all the other string manipulation functions in the average "strings" library.<p>Importantly, my suggestion that fnmatch belongs in a "strings" library does align with your suggestion that fnmatch shouldn't be locked into a "glob" library that also includes the filesystem traversal components.</p>
]]></description><pubDate>Sat, 10 May 2025 14:01:49 +0000</pubDate><link>https://news.ycombinator.com/item?id=43945710</link><dc:creator>Olreich</dc:creator><comments>https://news.ycombinator.com/item?id=43945710</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43945710</guid></item><item><title><![CDATA[New comment by Olreich in "Senior Developer Skills in the AI Age"]]></title><description><![CDATA[
<p>You know what’s more fun than having a bad junior write crap code while you point out their mistakes? Writing good code yourself.</p>
]]></description><pubDate>Fri, 04 Apr 2025 11:59:00 +0000</pubDate><link>https://news.ycombinator.com/item?id=43580983</link><dc:creator>Olreich</dc:creator><comments>https://news.ycombinator.com/item?id=43580983</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43580983</guid></item><item><title><![CDATA[New comment by Olreich in "Are people bad at their jobs or are the jobs just bad?"]]></title><description><![CDATA[
<p>None of those listed jobs is actually unskilled labor. Driving a big truck around narrow roads is a skill most don’t have, doing it at speed and running up and down to actually move the heavy packages is a skill most don’t have. Assembling furniture is a skill most don’t have, especially with complex engineered wood products that will break if stressed wrong. Handymen is literally just a collection of skilled labor jobs rolled into one guy that can handle small home improvement projects like carpentry, masonry, plumbing, and electrical. These are specialized jobs that have wrongly been labeled “un-skilled” or “semi-skilled” as if knowledge work is the only skill of value…</p>
]]></description><pubDate>Thu, 03 Apr 2025 14:20:50 +0000</pubDate><link>https://news.ycombinator.com/item?id=43570114</link><dc:creator>Olreich</dc:creator><comments>https://news.ycombinator.com/item?id=43570114</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43570114</guid></item><item><title><![CDATA[New comment by Olreich in "The average college student today"]]></title><description><![CDATA[
<p>Sure, but the argument is still that the smartphones aren’t the root cause. It’s the transactional nature of the thing. Can’t fail students because money would go down, so keep passing them as they get better equipped to ignore you and have reduced requirements to get a passing grade.<p>The thing that’s changed is how much the transactional nature favors the lazy students, not the smartphones specifically.<p>The reason the argument is so bad that “it’s the smartphones” is because that implies an easy solution that is external to the academic system, when the root cause is internal to the system.</p>
]]></description><pubDate>Wed, 02 Apr 2025 19:19:18 +0000</pubDate><link>https://news.ycombinator.com/item?id=43560452</link><dc:creator>Olreich</dc:creator><comments>https://news.ycombinator.com/item?id=43560452</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43560452</guid></item><item><title><![CDATA[New comment by Olreich in "Good-bye core types; Hello Go as we know and love it"]]></title><description><![CDATA[
<p>Const only saves you most of the time if you have a “const” all the way down the type structure. If I have a type Foo with a field that is a pointer to a mutable value, instantiating a Const Foo just means I’m always pointing at the same mutable value, not that I have an unchangeable Foo.<p>Const support in languages never makes all modifications to data accessed through the variable locked out, just the top level, which makes it much more difficult to ensure that the assumptions about immutability hold without constantly doing deep copies or having to double and triple check that your Const definitions are correct.<p>Const often leads to a false sense of security.</p>
]]></description><pubDate>Thu, 27 Mar 2025 16:06:12 +0000</pubDate><link>https://news.ycombinator.com/item?id=43495044</link><dc:creator>Olreich</dc:creator><comments>https://news.ycombinator.com/item?id=43495044</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43495044</guid></item><item><title><![CDATA[New comment by Olreich in "A look at Firefox forks"]]></title><description><![CDATA[
<p>Google wants Firefox to remain viable (or at least one other browser) so that they can avoid monopoly issues with Chrome. If they pay Firefox to keep Google as default search engine, they keep 80% of the money they’d get by having those users use Chrome, and they keep the other browser alive, but not enough to really keep up with Chrome’s feature set.<p>That’s the most likely bet they are making, similar to Apple/Android or Safari/Chrome. Spending a minor fraction of your revenue to avoid anti-trust probably makes sense for them.</p>
]]></description><pubDate>Sat, 15 Mar 2025 22:14:19 +0000</pubDate><link>https://news.ycombinator.com/item?id=43375484</link><dc:creator>Olreich</dc:creator><comments>https://news.ycombinator.com/item?id=43375484</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43375484</guid></item><item><title><![CDATA[New comment by Olreich in "Bill prohibiting police from lying to children passes Virginia Senate"]]></title><description><![CDATA[
<p>As the law stands, they are allowed to lie as much as they want when in uniform, in public, and anything you say or do in response can be held against you in court. The proposed Virginia law forbids that in the case of children who are interrogated.</p>
]]></description><pubDate>Fri, 21 Feb 2025 17:11:56 +0000</pubDate><link>https://news.ycombinator.com/item?id=43130096</link><dc:creator>Olreich</dc:creator><comments>https://news.ycombinator.com/item?id=43130096</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43130096</guid></item><item><title><![CDATA[New comment by Olreich in "Anyone can push updates to the doge.gov website"]]></title><description><![CDATA[
<p>I do think that game companies have a higher percentage of top-tier programmers. This is both due to pedigree and size of the field.<p>There are some incredible programmers in both big tech and game dev, but big tech has vastly more developers with less pressure to have top-tier talent.<p>Median developer at both probably represents the same skill because of normal distributions.</p>
]]></description><pubDate>Fri, 14 Feb 2025 16:02:44 +0000</pubDate><link>https://news.ycombinator.com/item?id=43049772</link><dc:creator>Olreich</dc:creator><comments>https://news.ycombinator.com/item?id=43049772</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43049772</guid></item><item><title><![CDATA[New comment by Olreich in "Most-Watched Software Engineering Talks of 2024"]]></title><description><![CDATA[
<p>Kotlin fixes a lot of the verbosity, but its tooling support is shockingly bad compared to Java in VSCode and IntelliJ for me.</p>
]]></description><pubDate>Wed, 12 Feb 2025 23:19:21 +0000</pubDate><link>https://news.ycombinator.com/item?id=43030850</link><dc:creator>Olreich</dc:creator><comments>https://news.ycombinator.com/item?id=43030850</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43030850</guid></item><item><title><![CDATA[New comment by Olreich in "Most-Watched Software Engineering Talks of 2024"]]></title><description><![CDATA[
<p>He’s stated that he doesn’t think open source helps produce high quality software and attracts a bunch of people that are less interested in building software and more interested in building policy.<p>However, he’s stated many times that he will release his language compiler and modules openly when they are ready and that he believes he’ll have to open-source it at some point if he wants broad adoption.</p>
]]></description><pubDate>Wed, 12 Feb 2025 23:16:51 +0000</pubDate><link>https://news.ycombinator.com/item?id=43030827</link><dc:creator>Olreich</dc:creator><comments>https://news.ycombinator.com/item?id=43030827</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43030827</guid></item><item><title><![CDATA[New comment by Olreich in "How about trailing commas in SQL?"]]></title><description><![CDATA[
<p>Store configs in the program if you can. Store in INI, TOML, or something similarly simple for humans if you must. Never use anything that requires matching syntax as the default (closing tags and matched brackets being the two main ones).<p>JSON is already strictly worse than XML though as it doesn’t support comments and multi-line strings in a sane way.</p>
]]></description><pubDate>Wed, 12 Feb 2025 16:21:20 +0000</pubDate><link>https://news.ycombinator.com/item?id=43026840</link><dc:creator>Olreich</dc:creator><comments>https://news.ycombinator.com/item?id=43026840</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43026840</guid></item><item><title><![CDATA[New comment by Olreich in "Tesla Cybertruck Drives Itself into a Pole, Owner Says 'Thank You Tesla'"]]></title><description><![CDATA[
<p>It ran into a pole… I don’t imagine other cars’ safety systems would fail to brake there</p>
]]></description><pubDate>Wed, 12 Feb 2025 16:09:11 +0000</pubDate><link>https://news.ycombinator.com/item?id=43026740</link><dc:creator>Olreich</dc:creator><comments>https://news.ycombinator.com/item?id=43026740</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43026740</guid></item><item><title><![CDATA[New comment by Olreich in "Versioning versus Coordination"]]></title><description><![CDATA[
<p>How do we guarantee "T3 submitted at T+300ns" reads the rows that are committed by T1 and T2 at T+100ns and T+200ns? I guess the answer is that the minimum transaction time for consistency is 5 minutes? At that point, don't you lose a lot of the scalability and usefulness?<p>It feels very much like the "read" in the "read-after-write consistency" is usually forgotten, hand-waved away with "eventual consistency", or is actually just a single node handling the coordination somewhere, leading us to not having nearly as scalable a system as we are promised by the database.</p>
]]></description><pubDate>Sun, 09 Feb 2025 05:13:28 +0000</pubDate><link>https://news.ycombinator.com/item?id=42988635</link><dc:creator>Olreich</dc:creator><comments>https://news.ycombinator.com/item?id=42988635</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42988635</guid></item><item><title><![CDATA[New comment by Olreich in "The government information crisis is bigger than you think it is"]]></title><description><![CDATA[
<p>It’s literally the mechanics of the vote and how it encourages voting not for your favorite candidate, but the candidate most likely to win that isn’t the worst candidate for you.<p><a href="https://youtube.com/watch?v=s7tWHJfhiyo" rel="nofollow">https://youtube.com/watch?v=s7tWHJfhiyo</a></p>
]]></description><pubDate>Sat, 01 Feb 2025 15:49:12 +0000</pubDate><link>https://news.ycombinator.com/item?id=42899258</link><dc:creator>Olreich</dc:creator><comments>https://news.ycombinator.com/item?id=42899258</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42899258</guid></item></channel></rss>