News for hackers. Stuff that matters.

eestrada

Here are the generated docs. I tried to be thorough with these right from the beginning too.

https://rubydoc.info/gems/async_futures

https://rubydoc.info/gems/async_futures/index

Show HN: AsyncFutures – A Ruby gem for asynchronous/concurrent code execution

https://rubygems.org/gems/async_futures/versions/0.1.2

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.This was actually the impetus for creating this Gem: the core Ruby concurrency primitives all have different APIs and...

( Read More... | 1 comment | on HN )
Re:Building an HTML-first site doubled our users overnight on Wednesday June 10, 2026 @04:17PM (#48482042)
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.
Re:Building an HTML-first site doubled our users overnight on Wednesday June 10, 2026 @02:35PM (#48480706)
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.

https://native.hotwired.dev/

Time to invest in a small Faraday bag to keep in the car.
Re:Appearing productive in the workplace on Wednesday May 06, 2026 @05:27PM (#48042108)
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.

Now low effort noise can masquerade as high effort signal, drowning out the signal for things that actually matter.

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?

Re:AI has a deep understanding of how this code works on Wednesday November 26, 2025 @12:28AM (#46054452)
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.

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.

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.

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 and inflated, and you bear the increased cost as the reviewer.

Re:Zig's New Async I/O on Sunday July 13, 2025 @01:36AM (#44547786)
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.

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.

The best anti malware on any version of windows has always been to not run windows.
Re:PlasticList – Plastic Levels in Foods on Tuesday June 24, 2025 @12:05PM (#44367679)
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.
Re:PlasticList – Plastic Levels in Foods on Tuesday June 24, 2025 @11:35AM (#44367349)
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.

My only question is was the cow milked by hand or by machine? The tubing in a milking machine almost certainly contains plastic.

https://www.plasticlist.org/product/29

Re:Gemini in Chrome on Tuesday June 03, 2025 @06:35PM (#44175511)
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).

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.

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).

https://arc.dev/talent-blog/impact-of-ai-on-code/

In light of this, employee referrals and in person interviews should become increasingly important.

Sadly, most corporate executives will learn the wrong lessons from this and instead use this as an opportunity to push RTO even more.

Re:Vim Language, Motions, and Modes Explained (2023) on Thursday April 24, 2025 @01:33PM (#43785300)
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.

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.

Re:Kotlin, Swift, and Ruby losing popularity on Monday April 14, 2025 @01:18PM (#43683665)
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.

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.

Although popularity itself may still be a weak signal depending on your purposes.

Re:Garfield Minus Garfield on Thursday April 10, 2025 @04:33PM (#43647786)
I miss the old internet. I'm pretty sure anyone old enough to have experienced it misses it.
Re:No Pay, No Work; Early Career Lessons on Thursday April 10, 2025 @11:01AM (#43644517)
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.

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.

Re:AI coding mandates are driving developers to the brink on Wednesday April 09, 2025 @03:40PM (#43636806)
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.

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.

That is the only net win I've had with LLMs so far.

Re:Take this on-call rotation and shove it on Thursday March 27, 2025 @08:52PM (#43500114)
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.

Some people can handle it better than others. I'll never do it again though.

Re:Take this on-call rotation and shove it on Thursday March 27, 2025 @08:45PM (#43500050)
Good point. That sounds about right.
Re:Take this on-call rotation and shove it on Thursday March 27, 2025 @08:27PM (#43499911)
I think paid oncall could work if oncall is voluntary. The more oncall sucks, the less likely team members are to volunteer because the pay isn't worth it, then the company/team needs to pay more as an incentive to get people to volunteer for oncall. Eventually the price is so high that it becomes cheaper to just build the system correctly and stop shoehorning features in with no regard for stability.

If oncall burden is light, then everyone volunteers because it is an easy way to make a bit of money.

However, it is a huge systemic change to move towards a voluntary model. Not sure how feasible this really is.

Re:I won't connect my dishwasher to your stupid cloud on Tuesday March 25, 2025 @11:09AM (#43472278)
Not a dishwasher story, but related. We bought a whirlpool washer and dryer set and hated them. The set was one of the few name brand models without WiFi "features" added on. But they were still terrible.

The one highlight is that we learned about the brand Speed Queen from the sales person at Lowe's. She talked them up as being the best, but they aren't sold at any big box store. Speed Queen is only sold through mom and pop shops.

When we dug in and did some research, we found that Speed Queen has the best consumer ratings by a wide margin.

They still produce a fixed drum model for the washer, like the type that whirlpool and maytag used to make decades ago. We put up with the whirlpool for a couple of years, but when we moved we got rid of them and bought a fixed drum style Speed Queen (look for the models marketed as "classic clean"). Best consumer appliance I've ever owned. I expect it to last at least another 20 years.

Show HN: Psyllium, a Ruby Gem to make Fibers behave more like Threads

https://github.com/eestrada/psyllium

Hi everyone!I created this small Ruby Gem to add some convenient methods to the Fiber class to make it easier to use in the same way a Thread object can be used.This was born out of my frustration that the current implementation of the Fiber class makes it difficult to retrieve the final value of a block passed to a Fiber, especially when creating a fiber via the `schedule` class method.I...

( Read More... | no comments | 3 points | on HN )
It is mentioned in the article, but then quickly dismissed: people seeking income via creating new businesses after being laid off during the lockdowns.

I think there is a secondary effect here. Many people remember how many jobs were deemed "non-essential" and how many people were laid off. Building your own business is one way to insulate oneself from this.

I think some amount of continued momentum is people preparing for the next time government overeach interferes with their ability to feed and house themselves and their families.

Re:Ask HN: Widespread Apathy? on Thursday June 13, 2024 @07:12PM (#40675913)
I neither approve nor disapprove of this message.
Re:Books for Game Developers on Friday September 15, 2023 @06:13PM (#37529732)
My (poor) understanding of quaternions is they are like a vector with a rotation angle around the axis of the vector. This is probably incorrect on many levels. But it was a simple enough explanation that it made sense to my brain why this would work better than simple SRT transform parameters for avoiding gimbal lock. It's been several years since I needed to deal with 3D transformations of any sort, so I'm a bit rusty on all this.
In the USA, corporations just do stock splits or run a corporate vote to issue more shares. Also many large tech companies use stock as total compensation for employees, so the "selling" of stock can be indirect as a form of revenue. Instead of paying employees cash, they pay in stock, which frees up more cash for other things. Thus they don't need to have as high of true revenue margins to pay employees well. Big corporations understand that a lot of paper value is fungible one way or another.
I pologize for not being clear in my comment. None of my musing was meant to allude to public policy or law. It was about what an individual (or group of individuals) could choose to do with a corporation to avoid perverse incentives in the future. I'm not really interested in directly enforcing anything.

To play on an old programming joke:

Once there was an individual who noticed there was a problem with society. He said to himself "I'll use the State to change things!" Now there were two problems.

Re:Gaussian Splatting: The next big thing in 3D [video] on Friday September 15, 2023 @02:47PM (#37527543)
Specular higlights are view dependent and the specular higlights seem to react properly when tumbling the virtual camera. It seems reasonable that it would be possible to do a reverse calculation to determine the location and intensity of light sources in a scanned scene. Once those are determined, they can be extracted from the scene and made global light objects in a scene in a DCC app or game engine. More than likely it would just be baked as one big IBL dome light.

I could be wrong about all of that though.

Older »