<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: eestrada</title><link>https://news.ycombinator.com/user?id=eestrada</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Wed, 23 Sep 2026 20:14:47 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=eestrada" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by eestrada in "Show HN: AsyncFutures – A Ruby gem for asynchronous/concurrent code execution"]]></title><description><![CDATA[
<p>Here are the generated docs. I tried to be thorough with these right from the beginning too.<p><a href="https://rubydoc.info/gems/async_futures" rel="nofollow">https://rubydoc.info/gems/async_futures</a><p><a href="https://rubydoc.info/gems/async_futures/index" rel="nofollow">https://rubydoc.info/gems/async_futures/index</a></p>
]]></description><pubDate>Sun, 12 Jul 2026 21:07:37 +0000</pubDate><link>https://news.ycombinator.com/item?id=48884808</link><dc:creator>eestrada</dc:creator><comments>https://news.ycombinator.com/item?id=48884808</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48884808</guid></item><item><title><![CDATA[Show HN: AsyncFutures – A Ruby gem for asynchronous/concurrent code execution]]></title><description><![CDATA[
<p>This gem allows you to execute code more-or-less identically across Ractors, Threads, and Fibers. This makes it much easier to test out your code's performance behavior by using an identical API across all concurrency primitives. It is built around a flexible core Future class.<p>This was actually the impetus for creating this Gem: the core Ruby concurrency primitives all have different APIs and subtly different behavior even for the APIs that initially look similar. For example, `join` on Ractor and Thread instances do NOT behave the same. This Gem adds Executors that expose near identical behavior across all of them and return a Future object with identical API and behavior across all of them.<p>I've been working on this Gem for a few months in my spare time. I just published the Gem and made the git repo public a few minutes ago. Please feel free to review the code, test out the gem, and provide your feedback.<p>As a footnote: this was <i>not</i> vibe coded. I wanted to learn through experience how to correctly write concurrent code, so using AI would have defeated the purpose. Also, I don't particularly enjoy writing/generating code via AI, so that would have made vibe coding this doubly pointless.<p>The Gem has 100% line and branch coverage on CRuby 4.0 and is 0BSD licensed.<p>Thank you.</p>
<hr>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=48878436">https://news.ycombinator.com/item?id=48878436</a></p>
<p>Points: 1</p>
<p># Comments: 1</p>
]]></description><pubDate>Sun, 12 Jul 2026 05:06:57 +0000</pubDate><link>https://rubygems.org/gems/async_futures/versions/0.1.2</link><dc:creator>eestrada</dc:creator><comments>https://news.ycombinator.com/item?id=48878436</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48878436</guid></item><item><title><![CDATA[New comment by eestrada in "Building an HTML-first site doubled our users overnight"]]></title><description><![CDATA[
<p>That's pretty much true of HTMX too (which is what GP mentions using). I mention Hotwire Native (different from plain Hotwire) because it makes it easy to wrap a web app as a mobile app. Then you can replace performance critical parts with native views, but keep everything else working through the web app portion. This is easier to maintain, albeit with the downside that everything requires network round trips. Depending on you use case, that may be an acceptable tradeoff.</p>
]]></description><pubDate>Wed, 10 Jun 2026 20:17:37 +0000</pubDate><link>https://news.ycombinator.com/item?id=48482042</link><dc:creator>eestrada</dc:creator><comments>https://news.ycombinator.com/item?id=48482042</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48482042</guid></item><item><title><![CDATA[New comment by eestrada in "Building an HTML-first site doubled our users overnight"]]></title><description><![CDATA[
<p>Can't vouch for it's effectiveness, but Hotwire Native might meet the needs for mobile paired with plain HTML. Despite the name, it doesn't seem that using Hotwire for the web UI is necessary to use Hotwire Native. I could be wrong about that though.<p><a href="https://native.hotwired.dev/" rel="nofollow">https://native.hotwired.dev/</a></p>
]]></description><pubDate>Wed, 10 Jun 2026 18:35:21 +0000</pubDate><link>https://news.ycombinator.com/item?id=48480706</link><dc:creator>eestrada</dc:creator><comments>https://news.ycombinator.com/item?id=48480706</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48480706</guid></item><item><title><![CDATA[New comment by eestrada in "Company Will Add Phone, AirPod, and Smartwatch Trackers to ALPRs"]]></title><description><![CDATA[
<p>Time to invest in a small Faraday bag to keep in the car.</p>
]]></description><pubDate>Wed, 10 Jun 2026 00:45:03 +0000</pubDate><link>https://news.ycombinator.com/item?id=48469783</link><dc:creator>eestrada</dc:creator><comments>https://news.ycombinator.com/item?id=48469783</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48469783</guid></item><item><title><![CDATA[New comment by eestrada in "Appearing productive in the workplace"]]></title><description><![CDATA[
<p>There was a hidden benefit in the old way: it avoided people making effort for things that weren't important. It took effort to make signal cut through noise. When it was low effort, it was obvious it was just noise and could easily be ignored.<p>Now low effort noise can masquerade as high effort signal, drowning out the signal for things that actually matter.<p>Direct relationships of trust matter more than ever now. You can't just trust that if something looks high effort that it actually is. You need to know the person producing it and know how they approach work and how they treat you personally. Do they cut corners all the time or only for reasons they clearly communicate? Do they value high quality work? Do they respect your time?</p>
]]></description><pubDate>Wed, 06 May 2026 21:27:52 +0000</pubDate><link>https://news.ycombinator.com/item?id=48042108</link><dc:creator>eestrada</dc:creator><comments>https://news.ycombinator.com/item?id=48042108</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48042108</guid></item><item><title><![CDATA[New comment by eestrada in "AI has a deep understanding of how this code works"]]></title><description><![CDATA[
<p>I haven't had to deal with this in open source, but I have had to deal with coworkers posting slop for code reviews where I am the assigned reviewer.<p>I've noticed that slop code has certain tell tale markers (such as import statements being moved for no discernible reason). No sane human does things like this. I call this "the sixth finger of code." It's important to look for these signs as soon as possible.<p>Once one is spotted, you can generally stop reading; you are wasting your time since the code will be confusing and the code "creator" doesn't understand the code any better than you do. Any comments you post to correct the code will just be fed into an LLM to generate another round of slop.<p>In these situations, effort has not been saved by using an LLM; it has at best been shifted. Most likely it has been both shifted <i>and</i> inflated, and you bear the increased cost as the reviewer.</p>
]]></description><pubDate>Wed, 26 Nov 2025 05:28:29 +0000</pubDate><link>https://news.ycombinator.com/item?id=46054452</link><dc:creator>eestrada</dc:creator><comments>https://news.ycombinator.com/item?id=46054452</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46054452</guid></item><item><title><![CDATA[New comment by eestrada in "Zig's New Async I/O"]]></title><description><![CDATA[
<p>Although I'm not wild about the new `io` parameter popping up everywhere, I love the fact that it allows multiple implementations (thread based, fiber based, etc.) and avoids forcing the user to know and/or care about the implementation, much like the Allocator interface.<p>Overall, I think it's a win. Especially if there is a stdlib implementation that is a no overhead, bogstock, synchronous, blocking io implementation. It follows the "don't pay for things you don't use" attitude of the rest of zig.</p>
]]></description><pubDate>Sun, 13 Jul 2025 05:36:31 +0000</pubDate><link>https://news.ycombinator.com/item?id=44547786</link><dc:creator>eestrada</dc:creator><comments>https://news.ycombinator.com/item?id=44547786</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44547786</guid></item><item><title><![CDATA[New comment by eestrada in "Many ransomware strains will abort if they detect a Russian keyboard installed (2021)"]]></title><description><![CDATA[
<p>The best anti malware on any version of windows has always been to not run windows.</p>
]]></description><pubDate>Sun, 29 Jun 2025 22:17:27 +0000</pubDate><link>https://news.ycombinator.com/item?id=44417046</link><dc:creator>eestrada</dc:creator><comments>https://news.ycombinator.com/item?id=44417046</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44417046</guid></item><item><title><![CDATA[New comment by eestrada in "PlasticList – Plastic Levels in Foods"]]></title><description><![CDATA[
<p>I bring up raw milk because it is minimally processed (I don't even consume it personally). I used it as an example because it shows how much plastic is embedded in the food chain and ecosystem by looking at one of the least processed items on the list.</p>
]]></description><pubDate>Tue, 24 Jun 2025 16:05:35 +0000</pubDate><link>https://news.ycombinator.com/item?id=44367679</link><dc:creator>eestrada</dc:creator><comments>https://news.ycombinator.com/item?id=44367679</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44367679</guid></item><item><title><![CDATA[New comment by eestrada in "PlasticList – Plastic Levels in Foods"]]></title><description><![CDATA[
<p>The most disturbing is "Raw Cow Milk from Farm in Glass". It still is loaded with plastic, even though it is one of the least processed things on the list.<p>My only question is was the cow milked by hand or by machine? The tubing in a milking machine almost certainly contains plastic.<p><a href="https://www.plasticlist.org/product/29" rel="nofollow">https://www.plasticlist.org/product/29</a></p>
]]></description><pubDate>Tue, 24 Jun 2025 15:35:15 +0000</pubDate><link>https://news.ycombinator.com/item?id=44367349</link><dc:creator>eestrada</dc:creator><comments>https://news.ycombinator.com/item?id=44367349</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44367349</guid></item><item><title><![CDATA[New comment by eestrada in "Gemini in Chrome"]]></title><description><![CDATA[
<p>I use it on my own docs to remove extraneous details. I often write too many words in early drafts and LLMs summarize my writing faster than I can (although I don't know if they do it better than I would/could).<p>Then the next version of my doc becomes the summarization, and I only flesh out details where the summarization went too far and removed critical details.</p>
]]></description><pubDate>Tue, 03 Jun 2025 22:35:16 +0000</pubDate><link>https://news.ycombinator.com/item?id=44175511</link><dc:creator>eestrada</dc:creator><comments>https://news.ycombinator.com/item?id=44175511</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44175511</guid></item><item><title><![CDATA[New comment by eestrada in "Curl: We still have not seen a valid security report done with AI help"]]></title><description><![CDATA[
<p>And that increase in LLM usage has resulted in an enormous increase of code duplications and code churn in said open source projects. Any benefit from new features implemented by LLMs is being offset by the tech debt caused by duplication and the maintenance burden of constantly reverting bad code (i.e. churn).<p><a href="https://arc.dev/talent-blog/impact-of-ai-on-code/" rel="nofollow">https://arc.dev/talent-blog/impact-of-ai-on-code/</a></p>
]]></description><pubDate>Tue, 06 May 2025 20:01:18 +0000</pubDate><link>https://news.ycombinator.com/item?id=43909035</link><dc:creator>eestrada</dc:creator><comments>https://news.ycombinator.com/item?id=43909035</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43909035</guid></item><item><title><![CDATA[New comment by eestrada in "The one interview question that will protect you from North Korean fake workers"]]></title><description><![CDATA[
<p>In light of this, employee referrals and in person interviews should become increasingly important.<p>Sadly, most corporate executives will learn the wrong lessons from this and instead use this as an opportunity to push RTO even more.</p>
]]></description><pubDate>Thu, 01 May 2025 16:59:16 +0000</pubDate><link>https://news.ycombinator.com/item?id=43860350</link><dc:creator>eestrada</dc:creator><comments>https://news.ycombinator.com/item?id=43860350</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43860350</guid></item><item><title><![CDATA[New comment by eestrada in "Vim Language, Motions, and Modes Explained (2023)"]]></title><description><![CDATA[
<p>I mostly like Vim because it is available everywhere and in the terminal. In its default configuration it isn't the most powerful IDE, but it is vastly more powerful that any other default experience in any other text editor (IMO). It also makes it trivially easy to shell out to external tools for modifying the text, so even for a set up that isn't heavily riced you can still do a ton.<p>Even when I'm forced to use another IDE for work, I try to find Vim keybindings ASAP. I like that I can learn Vim motions and actions once and use them in nearly every IDE.</p>
]]></description><pubDate>Thu, 24 Apr 2025 17:33:43 +0000</pubDate><link>https://news.ycombinator.com/item?id=43785300</link><dc:creator>eestrada</dc:creator><comments>https://news.ycombinator.com/item?id=43785300</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43785300</guid></item><item><title><![CDATA[New comment by eestrada in "Kotlin, Swift, and Ruby losing popularity"]]></title><description><![CDATA[
<p>My understanding is that TIOBE is primarily based on number of search engine results. Other results like number of active (a commit within the last 6-12 months) open source repos or number of new repos in a given language are other metrics worth considering. The project you linked seems to be one like this.<p>A high search rate doesn't necessarily mean high rate of real world usage. Correlating across multiple metrics would be a better way to measure popularity.<p>Although popularity itself may still be a weak signal depending on your purposes.</p>
]]></description><pubDate>Mon, 14 Apr 2025 17:18:30 +0000</pubDate><link>https://news.ycombinator.com/item?id=43683665</link><dc:creator>eestrada</dc:creator><comments>https://news.ycombinator.com/item?id=43683665</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43683665</guid></item><item><title><![CDATA[New comment by eestrada in "Garfield Minus Garfield"]]></title><description><![CDATA[
<p>I miss the old internet. I'm pretty sure anyone old enough to have experienced it misses it.</p>
]]></description><pubDate>Thu, 10 Apr 2025 20:33:45 +0000</pubDate><link>https://news.ycombinator.com/item?id=43647786</link><dc:creator>eestrada</dc:creator><comments>https://news.ycombinator.com/item?id=43647786</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43647786</guid></item><item><title><![CDATA[New comment by eestrada in "No Pay, No Work; Early Career Lessons"]]></title><description><![CDATA[
<p>I had one job at a pinball company where my coworkers and I didn't get paid for a couple months. I quickly found work elsewhere. Thankfulfully my backpay did eventually come, but I wasn't going to stick around to see if they would be good to their word again the next time funds dried up. I heard this was a recurring problem even before I was hired on.<p>Later some of my coworkers sent an article to me mentioning that the owner was under investigation by the SEC for (allegedly) embezzling funds from investors. I think I figured out where everyone's paychecks were going.</p>
]]></description><pubDate>Thu, 10 Apr 2025 15:01:07 +0000</pubDate><link>https://news.ycombinator.com/item?id=43644517</link><dc:creator>eestrada</dc:creator><comments>https://news.ycombinator.com/item?id=43644517</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43644517</guid></item><item><title><![CDATA[New comment by eestrada in "AI coding mandates are driving developers to the brink"]]></title><description><![CDATA[
<p>I tried AI code completion via Amazon Q. I quickly turned it off; half the suggestions were noise that took more time to review than actually writing it myself.<p>The one good use I have found is using it to tighten up my writing in design documents. I tend to use too many words to describe things. I use an LLM as a type of prose compressor on my documents. I need to re-read it afterward and make minor corrections, but it still saves me time since summarising my own writing takes much more time and energy.<p>That is the only net win I've had with LLMs so far.</p>
]]></description><pubDate>Wed, 09 Apr 2025 19:40:31 +0000</pubDate><link>https://news.ycombinator.com/item?id=43636806</link><dc:creator>eestrada</dc:creator><comments>https://news.ycombinator.com/item?id=43636806</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43636806</guid></item><item><title><![CDATA[New comment by eestrada in "Take this on-call rotation and shove it"]]></title><description><![CDATA[
<p>I tried graveyards and swing shifts in my twenties. I only did it for a year, but it wrecked my sleep schedule for years afterward; I struggled with insomnia because of it. Not sure there is any age where this works.<p>Some people can handle it better than others. I'll never do it again though.</p>
]]></description><pubDate>Fri, 28 Mar 2025 00:52:54 +0000</pubDate><link>https://news.ycombinator.com/item?id=43500114</link><dc:creator>eestrada</dc:creator><comments>https://news.ycombinator.com/item?id=43500114</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43500114</guid></item></channel></rss>