<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: atrettel</title><link>https://news.ycombinator.com/user?id=atrettel</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Wed, 15 Apr 2026 11:20:14 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=atrettel" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by atrettel in "The risk of AI isn't making us lazy, but making "lazy" look productive"]]></title><description><![CDATA[
<p>The issue, in my experience, is that there is a lot of productive work that does not look productive at first glance.  Long term work may not look productive for years until it suddenly is tremendously productive.  And there is a lot of quiet and often thankless maintenance work that goes on largely unnoticed that helps others do their jobs well.  Both have value despite superficially looking unproductive at times.  I'd argue that both look productive at long time scales but unproductive at short time scales.</p>
]]></description><pubDate>Sat, 28 Mar 2026 16:47:12 +0000</pubDate><link>https://news.ycombinator.com/item?id=47556242</link><dc:creator>atrettel</dc:creator><comments>https://news.ycombinator.com/item?id=47556242</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47556242</guid></item><item><title><![CDATA[New comment by atrettel in "The math that explains why bell curves are everywhere"]]></title><description><![CDATA[
<p>I've often described this as a bias towards easily taught ("teachable") material over more realistic but difficult to teach material.  Sometimes teachers teach certain subjects because they fit the classroom well as a medium.  Some subjects are just hard to teach in hour-long lectures using whiteboards and slides.  They might be better suited to other media, especially self study, but that does not mean that teachers should ignore them.</p>
]]></description><pubDate>Thu, 19 Mar 2026 02:31:53 +0000</pubDate><link>https://news.ycombinator.com/item?id=47434125</link><dc:creator>atrettel</dc:creator><comments>https://news.ycombinator.com/item?id=47434125</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47434125</guid></item><item><title><![CDATA[New comment by atrettel in "Aging muscle stem cells shift from rapid repair to long-term survival"]]></title><description><![CDATA[
<p>Even if this line is true, and I am not saying that it is, running and other cardiovascular activities lower your resting heart rate [1].  So even if you believe that you only have a finite number of heart beats, running should in fact increase your lifespan.<p>[1] <a href="https://pmc.ncbi.nlm.nih.gov/articles/PMC6306777/" rel="nofollow">https://pmc.ncbi.nlm.nih.gov/articles/PMC6306777/</a></p>
]]></description><pubDate>Sun, 01 Feb 2026 20:49:59 +0000</pubDate><link>https://news.ycombinator.com/item?id=46849239</link><dc:creator>atrettel</dc:creator><comments>https://news.ycombinator.com/item?id=46849239</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46849239</guid></item><item><title><![CDATA[New comment by atrettel in "When AI 'builds a browser,' check the repo before believing the hype"]]></title><description><![CDATA[
<p>I completely agree.  The issue is that some misconceptions just never go away.  People were talking about how bad lines of code is as a metric in the 1980s [1].  Its persistence as a measure of productivity only shows to me that people feel some deep-seated need to measure developer productivity.  They would rather have a bad but readily-available metric than no measure of productivity.<p>[1] <a href="https://folklore.org/Negative_2000_Lines_Of_Code.html" rel="nofollow">https://folklore.org/Negative_2000_Lines_Of_Code.html</a></p>
]]></description><pubDate>Mon, 26 Jan 2026 19:59:20 +0000</pubDate><link>https://news.ycombinator.com/item?id=46770708</link><dc:creator>atrettel</dc:creator><comments>https://news.ycombinator.com/item?id=46770708</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46770708</guid></item><item><title><![CDATA[New comment by atrettel in "Ask HN: Share your personal website"]]></title><description><![CDATA[
<p><a href="https://www.andrewtrettel.com/" rel="nofollow">https://www.andrewtrettel.com/</a></p>
]]></description><pubDate>Wed, 14 Jan 2026 23:54:32 +0000</pubDate><link>https://news.ycombinator.com/item?id=46625812</link><dc:creator>atrettel</dc:creator><comments>https://news.ycombinator.com/item?id=46625812</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46625812</guid></item><item><title><![CDATA[New comment by atrettel in "Ask HN: When has a "dumb" solution beaten a sophisticated one for you?"]]></title><description><![CDATA[
<p>I spent around 170 hours on this so far, with only 60% of that being coding.  The rest was mostly research or writing.</p>
]]></description><pubDate>Mon, 12 Jan 2026 15:31:39 +0000</pubDate><link>https://news.ycombinator.com/item?id=46589782</link><dc:creator>atrettel</dc:creator><comments>https://news.ycombinator.com/item?id=46589782</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46589782</guid></item><item><title><![CDATA[New comment by atrettel in "Ask HN: When has a "dumb" solution beaten a sophisticated one for you?"]]></title><description><![CDATA[
<p>Before I started the project, I was already vaguely familiar with the notion of an inverted index [1].  That small bit of knowledge meant that I knew where to start looking for more information and saved me a ton of time.  Inverted indices form the bulk of many search engines, with the big unknown being how you implement it.  I just had to find an adequate data structure for my application.<p>To figure that out, I remember searching for articles on how to implement inverted indices.  Once I had a list of candidate strategies and data structures, I used Wikipedia supplemented by some textbooks like Skiena's [2] and occasionally some (somewhat outdated) information from NIST [3].  I found Wikipedia quite detailed for all of the data structures for this problem, so it was pretty easy to compare the tradeoffs between different design choices here.  I originally wanted to implement the inverted index as a hash table but decided to use a trie because it makes wildcard search easier to implement.<p>After I developed most of the backend, I looked for books on "information retrieval" in general.  I found a history book (Bourne and Hahn 2003) on the development of these kind of search systems [4].  I read some portions of this book, and that helped confirm many of the design choices that I made.  I actually was just doing what people traditionally did when they first built these systems in the 1960s and 1970s, albeit with more modern tools and much more information on hand.<p>The harder part of this project for me was writing the interpreter.  I actually found YouTube videos on how to write recursive descent parsers to be the most helpful there, particular this one [5].  Textbooks were too theoretical and not concrete enough, though Crafting Interpreters was sometimes helpful [6].<p>[1] <a href="https://en.wikipedia.org/wiki/Inverted_index" rel="nofollow">https://en.wikipedia.org/wiki/Inverted_index</a><p>[2] <a href="https://doi.org/10.1007/978-3-030-54256-6" rel="nofollow">https://doi.org/10.1007/978-3-030-54256-6</a><p>[3] <a href="https://xlinux.nist.gov/dads/" rel="nofollow">https://xlinux.nist.gov/dads/</a><p>[4] <a href="https://doi.org/10.7551/mitpress/3543.001.0001" rel="nofollow">https://doi.org/10.7551/mitpress/3543.001.0001</a><p>[5] <a href="https://www.youtube.com/watch?v=SToUyjAsaFk" rel="nofollow">https://www.youtube.com/watch?v=SToUyjAsaFk</a><p>[6] <a href="https://craftinginterpreters.com/" rel="nofollow">https://craftinginterpreters.com/</a></p>
]]></description><pubDate>Sun, 11 Jan 2026 19:17:03 +0000</pubDate><link>https://news.ycombinator.com/item?id=46578852</link><dc:creator>atrettel</dc:creator><comments>https://news.ycombinator.com/item?id=46578852</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46578852</guid></item><item><title><![CDATA[New comment by atrettel in "Ask HN: When has a "dumb" solution beaten a sophisticated one for you?"]]></title><description><![CDATA[
<p>I recently wrote a command-line full-text search engine [1].  I needed to implement an inverted index.  I choose what seems like the "dumb" solution at first glance: a trie (prefix tree).<p>There are "smarter" solutions like radix tries, hash tables, or even skip lists, but for any design choice, you also have to examine the tradeoffs.  A goal of my project is to make the code simpler to understand and less of a black box, so a simpler data structure made sense, especially since other design choices would not have been all that much faster or use that much less memory for this application.<p>I guess the moral of the story is to just examine all your options during the design stage.  Machine learning solutions are just that, another tool in the toolbox.  If another simpler and often cheaper solution gets the job done without all of that fuss, you should consider using it, especially if it ends up being more reliable.<p>[1] <a href="https://github.com/atrettel/wosp" rel="nofollow">https://github.com/atrettel/wosp</a></p>
]]></description><pubDate>Sun, 11 Jan 2026 16:42:55 +0000</pubDate><link>https://news.ycombinator.com/item?id=46577238</link><dc:creator>atrettel</dc:creator><comments>https://news.ycombinator.com/item?id=46577238</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46577238</guid></item><item><title><![CDATA[New comment by atrettel in "Ask HN: Who wants to be hired? (January 2026)"]]></title><description><![CDATA[
<p>Location: Maryland, United States<p>Remote: Open to remote, hybrid, and in person<p>Willing to relocate: Yes<p>Technologies: C, C++, Fortran, Java, Message Passing Interface (MPI), OpenMP, Python (Matplotlib, Numpy, Pandas, Scipy), SQL (especially SQLite)<p>Résumé/CV: Available upon request<p>Email: hnjobs-gndxgr@atrettel.net<p>GitHub: <a href="https://github.com/atrettel" rel="nofollow">https://github.com/atrettel</a><p>Website: <a href="https://www.andrewtrettel.com/" rel="nofollow">https://www.andrewtrettel.com/</a><p>Hi, I'm Andrew Trettel. I'm a scientist with a PhD in mechanical engineering looking for any potential opportunities outside of academia and research labs. I am open to many different roles, including being a software developer or data scientist. I have over a decade of experience in scientific research, especially on the numerical side. I have years of experience in writing software for and running large simulations on high-performance computing (HPC) systems. I have also developed software for non-scientific purposes, like creating user interfaces for desktop applications and writing command-line tools. I have years of experience working with large datasets, including the tasks of calculating statistics and developing hypotheses/models/theories from data. I've worn many hats over the years and love learning new and interesting topics.</p>
]]></description><pubDate>Fri, 02 Jan 2026 19:54:09 +0000</pubDate><link>https://news.ycombinator.com/item?id=46468657</link><dc:creator>atrettel</dc:creator><comments>https://news.ycombinator.com/item?id=46468657</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46468657</guid></item><item><title><![CDATA[New comment by atrettel in "You can't design software you don't work on"]]></title><description><![CDATA[
<p>Reading that particular section made me think of the tree swing cartoon [1].  I agree that the best engineers have likely been on the ground making concrete changes at some point, watching bricks being laid as you said, but I have encountered quite a few supervisors who seemingly had no idea how things were being implemented on the ground.  As the post says, people on the ground then sometimes have to figure out how to implement the plan even if it ignores sound design principles.<p>I don't view that as a failure of abstraction as a design principle as much as it is a pitfall of using the wrong abstraction.  Using the right abstraction requires on the ground knowledge, and if nobody communicates that up the chain, well, you get the tree swing cartoon.<p>[1] <a href="https://en.wikipedia.org/wiki/Tree_swing_cartoon" rel="nofollow">https://en.wikipedia.org/wiki/Tree_swing_cartoon</a></p>
]]></description><pubDate>Mon, 29 Dec 2025 16:59:31 +0000</pubDate><link>https://news.ycombinator.com/item?id=46422597</link><dc:creator>atrettel</dc:creator><comments>https://news.ycombinator.com/item?id=46422597</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46422597</guid></item><item><title><![CDATA[New comment by atrettel in "Ask HN: Can you patent prompts?"]]></title><description><![CDATA[
<p>Disclaimer: I am not a lawyer.  I am not your lawyer.  This is not legal advice.<p>In the United States, the only patentable subject matter is processes, machines, manufactures, or compositions of matter [1].  Anything outside of those areas is not directly patentable.  Some subject matter like mathematics and "mental processes" generally are categorized as "abstract ideas" that therefore are not directly patentable [2].  It is possible to patent something that contains an abstract idea, but it also has to have some "additional elements" that elevate it beyond merely claiming an abstract idea.<p>I suggest reading  MPEP § 2106 [2] and looking at the first diagram given there titled "Subject Matter Eligibility Test for Products and Processes".  That is the exact analysis that a patent examiner would use to determine if something is patentable subject matter or not (including for any claim with a prompt).<p>I strongly suggest that you talk to a lawyer if you want specific advice that answers your question directly.  I'm not commenting on any copyright aspects.<p>[1] <a href="https://www.uspto.gov/web/offices/pac/mpep/s2104.html" rel="nofollow">https://www.uspto.gov/web/offices/pac/mpep/s2104.html</a><p>[2] <a href="https://www.uspto.gov/web/offices/pac/mpep/s2106.html" rel="nofollow">https://www.uspto.gov/web/offices/pac/mpep/s2106.html</a></p>
]]></description><pubDate>Tue, 23 Dec 2025 17:11:07 +0000</pubDate><link>https://news.ycombinator.com/item?id=46367016</link><dc:creator>atrettel</dc:creator><comments>https://news.ycombinator.com/item?id=46367016</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46367016</guid></item><item><title><![CDATA[New comment by atrettel in "Learning Fortran (2024)"]]></title><description><![CDATA[
<p>The language enforced difference is that only functions can return a value, but other than that, they are quite similar and just called "procedures" generally.  In my experience, Fortran programmers use them differently in practice, and that is more of a guideline than something enforced by the language itself.</p>
]]></description><pubDate>Thu, 18 Dec 2025 17:30:28 +0000</pubDate><link>https://news.ycombinator.com/item?id=46315799</link><dc:creator>atrettel</dc:creator><comments>https://news.ycombinator.com/item?id=46315799</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46315799</guid></item><item><title><![CDATA[New comment by atrettel in "Learning Fortran (2024)"]]></title><description><![CDATA[
<p>They are pretty similar, but they are definitely used differently.  For one, you have to "call" a subroutine in one statement, but you can use multiple functions on the same statement (since they can return values).  Functions (usually) do not change their arguments, but subroutines often do.  In some sense, functions are closer to how mathematical functions work but subroutines are closer to labels for certain procedures.</p>
]]></description><pubDate>Thu, 18 Dec 2025 02:14:41 +0000</pubDate><link>https://news.ycombinator.com/item?id=46308216</link><dc:creator>atrettel</dc:creator><comments>https://news.ycombinator.com/item?id=46308216</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46308216</guid></item><item><title><![CDATA[New comment by atrettel in "Learning Fortran (2024)"]]></title><description><![CDATA[
<p>Yes, sorry for the confusion.  To be clear, the quote is directly about spaces not being significant in the source code in general, but I was commenting more about how this mindset affects variable names in practice.  At least in my experience, many codes would benefit from variables names that use underscores.</p>
]]></description><pubDate>Wed, 17 Dec 2025 18:40:27 +0000</pubDate><link>https://news.ycombinator.com/item?id=46303624</link><dc:creator>atrettel</dc:creator><comments>https://news.ycombinator.com/item?id=46303624</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46303624</guid></item><item><title><![CDATA[New comment by atrettel in "Learning Fortran (2024)"]]></title><description><![CDATA[
<p>The article did not discuss this, but to me, one of the bigger differences between Fortran and more modern languages is the difference between functions and subroutines.  Yes, they are not synonyms in Fortran and serve different purposes.  I think this would trip up more people initially than the clunky syntax.<p>It is also a bit funny that the author complains about older Fortran programs requiring SCREAMING_CASE, when if anything this is an improvement over previous and current practices.  Too many Fortran codes have overly terse variable names that often were just single characters or impenetrable abbreviations for obscure terms.  I have had to create cheat sheets for each program to figure out what each variable was.<p>Sun Microsystems had a great quote about this back in the day [1]:<p>> Consistently separating words by spaces became a general custom about the tenth century A.D., and lasted until about 1957, when FORTRAN 77 abandoned the practice.<p>[1] <a href="https://docs.oracle.com/cd/E19957-01/802-2998/802-2998.pdf" rel="nofollow">https://docs.oracle.com/cd/E19957-01/802-2998/802-2998.pdf</a></p>
]]></description><pubDate>Wed, 17 Dec 2025 17:14:12 +0000</pubDate><link>https://news.ycombinator.com/item?id=46302358</link><dc:creator>atrettel</dc:creator><comments>https://news.ycombinator.com/item?id=46302358</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46302358</guid></item><item><title><![CDATA[New comment by atrettel in "A quarter of US-trained scientists eventually leave"]]></title><description><![CDATA[
<p>There is actually a lot of debate as to whether scientific discovery is driven by "heroes and geniuses" (as you argue) or by multiple people simultaneously and independently coming up with the same idea [1], often called "multiple discovery".  Certainly both have occurred many times over.<p>That said, multiple discovery seems to be more common nowadays due to the rapid diffusion of information, which means that most people are operating in roughly the same information environment (initial conditions) when they start their research.  It is interesting how often multiple discovery happens when you start to look closely at this.<p>[1] <a href="https://en.wikipedia.org/wiki/Multiple_discovery" rel="nofollow">https://en.wikipedia.org/wiki/Multiple_discovery</a></p>
]]></description><pubDate>Wed, 17 Dec 2025 00:18:48 +0000</pubDate><link>https://news.ycombinator.com/item?id=46296611</link><dc:creator>atrettel</dc:creator><comments>https://news.ycombinator.com/item?id=46296611</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46296611</guid></item><item><title><![CDATA[New comment by atrettel in "Nvidia Acquires Schedmd"]]></title><description><![CDATA[
<p>It's not just for universities and for CFD.  Slurm is the primary job scheduler at Los Alamos National Lab.  I know other federal labs that use it too.  It is just really popular in general.</p>
]]></description><pubDate>Wed, 17 Dec 2025 00:00:09 +0000</pubDate><link>https://news.ycombinator.com/item?id=46296467</link><dc:creator>atrettel</dc:creator><comments>https://news.ycombinator.com/item?id=46296467</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46296467</guid></item><item><title><![CDATA[New comment by atrettel in "Ask HN: What Are You Working On? (December 2025)"]]></title><description><![CDATA[
<p>I'm working on a command-line tool for advanced full-text search of written documents. It works in a completely different way than grep, so it can do a lot of operations that grep fundamentally cannot like fuzzy searching and proximity searching.  I needed something like this for my scientific research, and I'm glad that I have this capability now.  I hope others find it useful too!<p>I called it Wosp for word-oriented search and print. See the GitHub page for more information: <a href="https://github.com/atrettel/wosp" rel="nofollow">https://github.com/atrettel/wosp</a></p>
]]></description><pubDate>Wed, 10 Dec 2025 15:45:55 +0000</pubDate><link>https://news.ycombinator.com/item?id=46219055</link><dc:creator>atrettel</dc:creator><comments>https://news.ycombinator.com/item?id=46219055</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46219055</guid></item><item><title><![CDATA[New comment by atrettel in "Vibe coding: Empowering and imprisoning"]]></title><description><![CDATA[
<p>I agree with the notion that LLMs may just end up repeating coding mistakes of the past because they are statistically likely mistakes.<p>I'm reminded of an old quote by Dijkstra about Fortran [1]: "In the good old days physicists repeated each other's experiments, just to be sure. Today they stick to FORTRAN, so that they can share each other's programs, bugs included."<p>I've encountered that same problem in some older scientific codes (both C and Fortran).  After a while, the bugs somewhat become features because people just don't know to question them anymore.  To me, this is why it is important to understand the code thoroughly enough to question what is going on (regardless of who or what wrote it).<p>[1] <a href="https://www.cs.utexas.edu/~EWD/transcriptions/EWD04xx/EWD498.html" rel="nofollow">https://www.cs.utexas.edu/~EWD/transcriptions/EWD04xx/EWD498...</a></p>
]]></description><pubDate>Mon, 08 Dec 2025 02:57:51 +0000</pubDate><link>https://news.ycombinator.com/item?id=46187822</link><dc:creator>atrettel</dc:creator><comments>https://news.ycombinator.com/item?id=46187822</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46187822</guid></item><item><title><![CDATA[New comment by atrettel in "Ask HN: Who wants to be hired? (December 2025)"]]></title><description><![CDATA[
<p>Location: Maryland, United States<p>Remote: Open to remote, hybrid, and in person<p>Willing to relocate: Yes<p>Technologies: C, C++, Fortran, Java, Message Passing Interface (MPI), OpenMP, Python (Matplotlib, Numpy, Pandas, Scipy), SQL (especially SQLite)<p>Résumé/CV: Available upon request<p>Email: hnjobs-gndxgr@atrettel.net<p>GitHub: <a href="https://github.com/atrettel" rel="nofollow">https://github.com/atrettel</a><p>Website: <a href="https://www.andrewtrettel.com/" rel="nofollow">https://www.andrewtrettel.com/</a><p>Hi, I'm Andrew Trettel. I'm a scientist with a PhD in mechanical engineering looking for any potential opportunities outside of academia and research labs. I am open to many different roles, including being a software developer or data scientist.  I have over a decade of experience in scientific research, especially on the numerical side. I have years of experience in writing software for and running large simulations on high-performance computing (HPC) systems. I have also developed software for non-scientific purposes, like creating user interfaces for desktop applications and writing command-line tools. I have years of experience working with large datasets, including the tasks of calculating statistics and developing hypotheses/models/theories from data. I've worn many hats over the years and love learning new and interesting topics.</p>
]]></description><pubDate>Mon, 01 Dec 2025 16:13:29 +0000</pubDate><link>https://news.ycombinator.com/item?id=46109113</link><dc:creator>atrettel</dc:creator><comments>https://news.ycombinator.com/item?id=46109113</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46109113</guid></item></channel></rss>