<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: nrub</title><link>https://news.ycombinator.com/user?id=nrub</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Sat, 13 Jun 2026 13:39:38 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=nrub" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by nrub in "Microsoft Office 2019 and 2021 for Mac view-only conversion"]]></title><description><![CDATA[
<p>Just because they don't know how to use a computer well, doesn't mean you can't teach them.</p>
]]></description><pubDate>Sun, 31 May 2026 03:37:57 +0000</pubDate><link>https://news.ycombinator.com/item?id=48342806</link><dc:creator>nrub</dc:creator><comments>https://news.ycombinator.com/item?id=48342806</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48342806</guid></item><item><title><![CDATA[New comment by nrub in "CISA Admin Leaked AWS GovCloud Keys on GitHub"]]></title><description><![CDATA[
<p>I no longer keep my dotenv files in plaintext. I use `sops` to keep an encrypted env around and you can use tools like direnv to make them available to your shell while you're working. Obviously the LLM could print any of these secrets, but it's less likely. Additionally I find that at least claude seems to avoid reading the dotenv. And lastly, don't make any local secrets that important. Limited scope, dev accounts, etc.</p>
]]></description><pubDate>Tue, 19 May 2026 15:33:38 +0000</pubDate><link>https://news.ycombinator.com/item?id=48194693</link><dc:creator>nrub</dc:creator><comments>https://news.ycombinator.com/item?id=48194693</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48194693</guid></item><item><title><![CDATA[New comment by nrub in "If AI writes your code, why use Python?"]]></title><description><![CDATA[
<p>No, they're not there. Did you read my comment? It's not just flawed or limited implementation, those are things that python just doesn't have.</p>
]]></description><pubDate>Tue, 12 May 2026 22:30:38 +0000</pubDate><link>https://news.ycombinator.com/item?id=48115457</link><dc:creator>nrub</dc:creator><comments>https://news.ycombinator.com/item?id=48115457</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48115457</guid></item><item><title><![CDATA[New comment by nrub in "If AI writes your code, why use Python?"]]></title><description><![CDATA[
<p>Yeah, that's cool, but it would be almost completely unnecessary if python just had actual private methods/classes/properties. It's a lot like pydantic, which is completely unnecessary if you had strong typing.</p>
]]></description><pubDate>Tue, 12 May 2026 17:31:49 +0000</pubDate><link>https://news.ycombinator.com/item?id=48111470</link><dc:creator>nrub</dc:creator><comments>https://news.ycombinator.com/item?id=48111470</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48111470</guid></item><item><title><![CDATA[New comment by nrub in "If AI writes your code, why use Python?"]]></title><description><![CDATA[
<p>Yes, but:
a) they're a second class citizen, not guaranteed to be used in whatever niche of the python ecosystem you find yourself in and there's already an n+1 problem with multiple type checker written by third parties, rather than having 1st class language support tool that's consistent. You're not going to get it by default, you're usually going to have to do some configuration (and maybe bike shedding) to get it working;
b) they completely negate the idea of python being "easy to read", your code is now littered with `if TYPE_CHECKING:`, `Literal`, `TypeAliasType` and any number of workarounds needed to make your hints work out. Unfortunately the syntax was just not designed with typing in mind, and I think it shows;
c) the idea of "hinting" rather than enforced type checking means you have no guarantees that a type is what you need it to be, you have to do a lot of boundary work to make sure the edges of your code are coercing things to the right type. While I love pydantic and find it to be an excellent library, to me it's the kind of code smell you get in languages without strong typing. Also you're going to get a lot of spurious type errors along this path as well;<p>I will gladly use python's type hints, it's a whole lot better than nothing (IMHO better than typescript), but in it's current form it will always fall short of a language that was designed with strong typing in mind.</p>
]]></description><pubDate>Tue, 12 May 2026 17:26:54 +0000</pubDate><link>https://news.ycombinator.com/item?id=48111391</link><dc:creator>nrub</dc:creator><comments>https://news.ycombinator.com/item?id=48111391</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48111391</guid></item><item><title><![CDATA[New comment by nrub in "If AI writes your code, why use Python?"]]></title><description><![CDATA[
<p>You joking?<p>- strong typing
- real concurrency (heaven forbid you want a background task without having to spool up an external message queue and worker)
- immutability
- limitations in error handling (sort of just typing really)
- limitations in nullability (also typing)
- memory layout is usually hidden or abstracted away
- no actual private methods or classes<p>That's far from a complete list, but maybe you're taking for granted the typical pythonic conventions that many practice. It requires a ton of work to design and architect python systems of any non-trivial size for maintainability and understanding. No language is perfect, but there are plenty of languages that make supporting complex systems easier than python.</p>
]]></description><pubDate>Tue, 12 May 2026 17:26:43 +0000</pubDate><link>https://news.ycombinator.com/item?id=48111389</link><dc:creator>nrub</dc:creator><comments>https://news.ycombinator.com/item?id=48111389</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48111389</guid></item><item><title><![CDATA[New comment by nrub in "Bring Your Agent to Teams"]]></title><description><![CDATA[
<p>You have literal Stockholm syndrome. Not joking.</p>
]]></description><pubDate>Thu, 23 Apr 2026 14:52:59 +0000</pubDate><link>https://news.ycombinator.com/item?id=47876451</link><dc:creator>nrub</dc:creator><comments>https://news.ycombinator.com/item?id=47876451</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47876451</guid></item><item><title><![CDATA[New comment by nrub in "Results (Don't) Speak for Themselves: A Case for Documentation"]]></title><description><![CDATA[
<p>RCA with FM radio, <a href="https://en.wikipedia.org/wiki/Edwin_Howard_Armstrong" rel="nofollow">https://en.wikipedia.org/wiki/Edwin_Howard_Armstrong</a></p>
]]></description><pubDate>Tue, 10 Sep 2024 16:33:24 +0000</pubDate><link>https://news.ycombinator.com/item?id=41502642</link><dc:creator>nrub</dc:creator><comments>https://news.ycombinator.com/item?id=41502642</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41502642</guid></item><item><title><![CDATA[New comment by nrub in "Devin: AI Software Engineer"]]></title><description><![CDATA[
<p>I've seen a few suspect benchmarks for recent announcements of LLM releases. I'm sure they made an attempt at an honest benchmark, but until there's an independent assessment and benchmark (preferably multiple) you have to assume that there's bias in anyone's self published benchmarks like this.<p>I'm guessing it's a fine-tuning of some existing LLM model or API, but this largely seems to be an "agent" and UI that includes some SWE like workflow coding to allow more complex requests to be asked than just an LLM could provide.</p>
]]></description><pubDate>Tue, 12 Mar 2024 18:28:11 +0000</pubDate><link>https://news.ycombinator.com/item?id=39683066</link><dc:creator>nrub</dc:creator><comments>https://news.ycombinator.com/item?id=39683066</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39683066</guid></item><item><title><![CDATA[New comment by nrub in "Where is Noether's principle in machine learning?"]]></title><description><![CDATA[
<p>There are promising methods developing for Physic's informed neural networks. Mathematical models can be integrated into the architecture of neural networks such that the parameters of the designed mathematical models can be learned. Examples include learning the frequency of a swinging pendulum from video, amongst more advanced ideas.<p><a href="https://en.wikipedia.org/wiki/Physics-informed_neural_networks" rel="nofollow">https://en.wikipedia.org/wiki/Physics-informed_neural_networ...</a>
<a href="https://www.youtube.com/watch?v=JoFW2uSd3Uo" rel="nofollow">https://www.youtube.com/watch?v=JoFW2uSd3Uo</a></p>
]]></description><pubDate>Fri, 01 Mar 2024 16:19:12 +0000</pubDate><link>https://news.ycombinator.com/item?id=39563236</link><dc:creator>nrub</dc:creator><comments>https://news.ycombinator.com/item?id=39563236</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39563236</guid></item><item><title><![CDATA[New comment by nrub in "Going beyond ‘do you know of any open positions?’"]]></title><description><![CDATA[
<p>Do what you want with some of those tips, maybe not necessarily good advice. But if you're searching, try these search queries replacing `%s` with your desired role(s):<p>```
search_strings = [
    'site:boards.greenhouse.io %s',
    'site:jobs.smartrecruiters.com %s',
    'site:jobs.lever.co %s',
    'site:<i>.wd5.myworkdayjobs.com %s',
    'site:icims.com inurl:jobs %s',
    'site:careers.peopleclick.com %s',
    'site:apply.workable.com %s',
    'site:jobs.workable.com %s',
    'site:apply.workable.com %s',
    'site:</i>.taleo.net %s',
]
```<p>Most of those ATS systems are super annoying. I actually give preference to employers using more modern systems that have up to date user experiences, but regardless, it doesn't hurt to scrape and search all the big ATS players.</p>
]]></description><pubDate>Wed, 12 Jul 2023 18:27:24 +0000</pubDate><link>https://news.ycombinator.com/item?id=36699440</link><dc:creator>nrub</dc:creator><comments>https://news.ycombinator.com/item?id=36699440</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=36699440</guid></item><item><title><![CDATA[New comment by nrub in "Executable Examples in Go"]]></title><description><![CDATA[
<p>Yup</p>
]]></description><pubDate>Sat, 10 Jun 2023 15:51:02 +0000</pubDate><link>https://news.ycombinator.com/item?id=36271571</link><dc:creator>nrub</dc:creator><comments>https://news.ycombinator.com/item?id=36271571</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=36271571</guid></item><item><title><![CDATA[New comment by nrub in "Plotting the source code “TODO” history of the most popular open source projects"]]></title><description><![CDATA[
<p>One option if you're on github, <a href="https://github.com/marketplace/actions/todo-to-issue" rel="nofollow">https://github.com/marketplace/actions/todo-to-issue</a></p>
]]></description><pubDate>Mon, 17 May 2021 18:55:12 +0000</pubDate><link>https://news.ycombinator.com/item?id=27186854</link><dc:creator>nrub</dc:creator><comments>https://news.ycombinator.com/item?id=27186854</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=27186854</guid></item><item><title><![CDATA[New comment by nrub in "Evolution Is the New Deep Learning"]]></title><description><![CDATA[
<p>The paper linked above does directly address the case of multiple experiments occurring in the same context. They address this with hill-climbing over those 180 different variations. The use of a bayesian linear regression takes place of the exploration found with Thompson sampling.</p>
]]></description><pubDate>Thu, 22 Mar 2018 23:33:49 +0000</pubDate><link>https://news.ycombinator.com/item?id=16653730</link><dc:creator>nrub</dc:creator><comments>https://news.ycombinator.com/item?id=16653730</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=16653730</guid></item><item><title><![CDATA[New comment by nrub in "Prodigy: A new tool for radically efficient machine teaching"]]></title><description><![CDATA[
<p>They have some hard comparisons in some of their earlier blog posts on how spacy compares to the other popular open source NLP libraries. In my experience it has been much easier to use and faster than things like Stanford's library or NLTK. In general it's aimed at production or commercial use, whereas the other libraries I typically hear mentioned are aimed at a more academic audience.</p>
]]></description><pubDate>Fri, 04 Aug 2017 20:24:28 +0000</pubDate><link>https://news.ycombinator.com/item?id=14931914</link><dc:creator>nrub</dc:creator><comments>https://news.ycombinator.com/item?id=14931914</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=14931914</guid></item><item><title><![CDATA[New comment by nrub in "Why Kakoune – The quest for a better code editor"]]></title><description><![CDATA[
<p>Have you used paredit-mode in emacs with a lisp dialect? Getting proficient with this mode can be a lot like what you describe. Paredit let's you navigate and edit the tree structure of lisp code pretty effectively. It's not inherently a modal paradigm, but I used it evil-mode successfully. I'd imagine what you describe could be a refinement on that technique. Lisp lends itself well to this type of editing due to it's lack of syntax. Other languages are more difficult.</p>
]]></description><pubDate>Tue, 13 Dec 2016 20:08:27 +0000</pubDate><link>https://news.ycombinator.com/item?id=13170449</link><dc:creator>nrub</dc:creator><comments>https://news.ycombinator.com/item?id=13170449</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=13170449</guid></item><item><title><![CDATA[New comment by nrub in "Ask HN: Who is hiring? (December 2016)"]]></title><description><![CDATA[
<p>Artemis Health | Product/Data/Engineering Roles | Salt Lake City, UT | ONSITE, Full Time | <a href="https://artemishealth.com" rel="nofollow">https://artemishealth.com</a><p>We build analytics and visualization tools for self-insured companies. We're funded, have had great growth, and we've got several open positions that we're hiring for including:
- Data Pipeline Manager
- Data Quality Analyst
- Data Pipeline Engineer
- ETL Engineer
- Software Engineer in Testing
- Frontend Engineer<p>Our frontend and API stack is built with Angular, Django, and Django Rest Framework, and some Rust. We're using MySQL and Redshift for the operational and analytics databases respectively.<p>With our backend and pipeline we use some traditional ETL tooling (Pentaho, Kettle) and have started building out the more complex aspects of our pipeline with the JVM and Kotlin, in addtion to some various python scripts. Again using MySQL and Redshift databases.<p>Feel free to message me paul at artemishealth.com, and have a look at the open positions: <a href="http://artemis-health.breezy.hr/#positions" rel="nofollow">http://artemis-health.breezy.hr/#positions</a></p>
]]></description><pubDate>Thu, 01 Dec 2016 18:15:20 +0000</pubDate><link>https://news.ycombinator.com/item?id=13081826</link><dc:creator>nrub</dc:creator><comments>https://news.ycombinator.com/item?id=13081826</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=13081826</guid></item><item><title><![CDATA[New comment by nrub in "Finding Similar Music Using Matrix Factorization"]]></title><description><![CDATA[
<p>PageRank is analogous to this type of music discovery if you created a graph based on artists who have collaborated together. It'd be about the same as having a teleportation vector that always restarts the random walk back at the artist you're wanting to explore around.</p>
]]></description><pubDate>Tue, 10 May 2016 15:39:38 +0000</pubDate><link>https://news.ycombinator.com/item?id=11668000</link><dc:creator>nrub</dc:creator><comments>https://news.ycombinator.com/item?id=11668000</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=11668000</guid></item><item><title><![CDATA[New comment by nrub in "Improving Angular performance with 1 line of code"]]></title><description><![CDATA[
<p>Looks like it's the first suggestion in their production developer guide, <a href="https://docs.angularjs.org/guide/production" rel="nofollow">https://docs.angularjs.org/guide/production</a></p>
]]></description><pubDate>Tue, 03 May 2016 21:01:14 +0000</pubDate><link>https://news.ycombinator.com/item?id=11624210</link><dc:creator>nrub</dc:creator><comments>https://news.ycombinator.com/item?id=11624210</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=11624210</guid></item><item><title><![CDATA[New comment by nrub in "Amazon Provides DIY Echo Plans for Raspberry Pi"]]></title><description><![CDATA[
<p>I think part of the terms for the Alexa voice service forbid auto-listening.</p>
]]></description><pubDate>Fri, 25 Mar 2016 21:31:27 +0000</pubDate><link>https://news.ycombinator.com/item?id=11362820</link><dc:creator>nrub</dc:creator><comments>https://news.ycombinator.com/item?id=11362820</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=11362820</guid></item></channel></rss>