HNHacker News
TopNewBestAskShowJobs

nirvdrum

3,991 karma · joined October 8, 2009

Twitter: nirvdrum Mastodon: @nirvdrum@ruby.social

Working on ZJIT & TruffleRuby at Shopify.

submissionscomments
nirvdrum··on DeepSeek V4.1 Flash 1017 (Max)
As luck would have it, you can just pay the provider and use their service. Others may want to run locally for privacy reasons or just for the fun of it. I think at-home AI is incredibly awesome and I applaud the enthusiasts pushing it forward. Just because that's where it's at today doesn't mean it's the best we can do.

Plus, you know, this thread was about running AI on "lame consumer hardware". There are more power efficient options available.

nirvdrum··on Why don't more developers “use the platform”?
I don’t disagree, but to me web components solve a different problem. I want rich widgets without being bound to any particular JS framework and without having to ad hoc it everywhere.

As an example, I still like the simplicity of Rails for basic apps. I also enjoy the numerous component libraries, such as Antd, available for React. I don’t want to have to pull in React just so I can get a reasonable way to work with a Tree widget.

I’m not trying to only use the platform. The components are free to be built with whatever lightweight lib they need (Lit, UI5 Core, etc.). But that’s contained in the component. I’m free to use my framework or web technology of choice for building my app.

nirvdrum··on JEP 544: Ahead-of-Time Code Compilation
The very next sentence after the one you posted is "We expect normal porting activities to eventually add support for all major architectures." Goals and non-goals inform the scope of the proposal. Given this is effectively an "add-on", I don't think it's unreasonable to prioritize the most popular platforms. Others will continue to execute Java perfectly fine in JVM mode.
nirvdrum··on JEP 544: Ahead-of-Time Code Compilation
If you haven't checked it out yet, GraalVM's Native Image [1] already let's do AOT compilation suitable for distribution. You have to do some configuration to deal with reflection and dynamic class loading since there's no JVM in the produced build, but it comes with tooling to simplify that. And that restriction is being addressed by Project Crema [2].

[1] -- https://www.graalvm.org/latest/reference-manual/native-image... [2] -- https://github.com/oracle/graal/issues/11327

nirvdrum··on Xbox goes down. You can't play games you own on disc
While not great, the virtual cards are an improvement, unless your kid and you never play the same games. One Switch gets to be the home console and doesn't need checks. The other would have to be logged in as you, which requires a license check every time you play. But, save files are tied to the account and you can't move them between accounts. If you use cloud save files, you and your kid are going to be bumping into each other all the time. Then, if you introduced a 3rd Switch, only one of the non-home Switches could play a game under your account at a time, even if they're different games.

I know 3+ Switches sound like a lot, but Nintendo was pushing the Switch Lite like the latest Gameboy. Maybe you concede and decide to buy the same game multiple times to avoid all of this. Well, there's no gifting. You need to enter your billing details into your kid's Switch and buy it there. Assuming you don't want to leave your credit card setup in their Switch, you get to go through this whole dance every time you buy something.

Virtual cards let you avoid a lot of this nonsense for two weeks. You'll rapidly get annoyed having to keep the original Switch and the new one in close proximity to do the exchange, but it'll work. But, it's nowhere near as nice as Steam Family or the iOS Family Sharing.

nirvdrum··on Zed DeltaDB
The limit is per-user, not per-editor. Every process under your UID shares the same max_user_watches pool. So the editor's "prioritize open files" behavior can't help when a resident daemon like Watchman has already consumed the budget. Zed doesn't error out when it hits the watch limit. It logs a warning and periodically retries to establish the watch. Until it can do so, external file changes aren't reflected in the editor.

I just checked my workstation and found Watchman alone holds ~556K watches across 34 roots. It keeps those watches even after the tool that spawned it disconnects. Notably, I've never invoked Watchman manually -- other tools do. And the 8k floor isn't much of a floor. My nixpkgs checkout alone is 37,686 directories, 4.6x that.

Truthfully, I had no idea Watchman stays resident and accumulates watched roots. But, that's kind of the point. It's a very easy thing to miss.

nirvdrum··on Zed DeltaDB
Have you checked your fs.inotify.max_user_watches value? Maybe your value is too low and Zed can't watch the files that are changing. I know the JetBrains IDEs need the default to be increased on Linux because they detected it and prompted me to increase it.
nirvdrum··on Xbox goes down. You can't play games you own on disc
Nintendo Switch cartridges don't have this problem, mostly. It's the reason I buy physical for the family library. Nintendo's digital licensing is terrible (slightly less so with Virtual Cartridges, but miles away from Steam Family) and doesn't really work for a multi-Switch household.

But, I was traveling for work and brought the non-"home" Switch with me along with a copy of Breath of the Wild on cartridge. I fired it up on the airplane, ready to go. And then discovered that because I had bought the DLC and the DLC license check couldn't pass, I was locked out of playing at all. It's given me pause on buying any other DLC on a Nintendo platform.

nirvdrum··on JEP 401: Value Objects (Preview) merged to OpenJDK master
If you click the “favorite” link it’ll be saved to your list of favorites. But, it doesn’t actually have to be your favorite —- it’s just a user-defined collection of HN posts.
nirvdrum··on Stacked PRs are now live on GitHub
I usually just amend commits as I go and don’t find it all that onerous. Sometimes it gets tricky, particularly if a rebase effectively changes what the code would have looked like. But, with LLMs even that’s gotten much easier.
nirvdrum··on Stacked PRs are now live on GitHub
Thanks for mentioning this. It seemed odd to me, too, so I spent some time trying to work it out. As a reviewer, I'm not sure how I'm supposed to assess database or API changes without knowing how they're intended to be used. And deploying them independently seems odd, too, especially if you need to roll it all back.

I think in my ideal world there would be a clean history and I could review a PR commit-by-commit. But, you can't just approve a single commit, so there's a tooling problem there. And most CI runs on an entire push rather than individual commits. And increasingly I see devs using git as an offsite backup for whatever change they just made, rather than breaking commits up into logical chunks. In that workflow, squashed merges make the most sense.

It's probably flawed, but the mental model I came up with is each stacked PR collapses into what would have been an individual commit in a clean PR, with the advantage of being able to be reviewed separately from the other changes and forced to clear CI. And then the whole stack becomes what would have been a clean PR in the old model. That, I can kinda see the benefit of. But, merging only part of the stack into trunk is the mental hurdle I can't clear; it'd be like merging only some commits from a PR. It kinda reminds me of when projects used CVS.

I've really only seen stacked PRs used on projects where history is little more than an audit log. I'm keen to see how this gets employed by open source projects. I think there's a disconnect and it's likely I'm not going to really get it until I see it.

nirvdrum··on Show HN: Dowe – A full-stack language for server, web, desktop, Android, and iOS
I mean an application that does more than what I can do in a mobile web browser. If it's just a web page I'd rather just do responsive web design. Presumably you've developed this to build native apps with rich functionality.
nirvdrum··on Show HN: Dowe – A full-stack language for server, web, desktop, Android, and iOS
Thanks for answering. Is there an example project you can share? I'd love to see this in action.
nirvdrum··on America has become an entrepreneur's paradise
I bootstrapped two companies in my 20s. While living off savings to get going, $20k in medical would have been the end of that venture. I'm glad it's working out for you. I don't have hard data, but I suspect being so healthy you don't need a doctor favors younger adults without dependents. And being able to afford up to $20k without losing your business implies a certain amount of wealth before getting started. That matches the profile of most tech founders I know -- certainly all of the ones that bootstrap. I only managed to make it work because for the first one I was on my parents' health insurance and for the second I had COBRA and a funded HSA.

If we want to encourage people to start new businesses, some form of universal healthcare would be a massive catalyst. Starting a business is never going to be risk-free, but there's a big difference between risking your retirement or even your house and risking the health of your child.

nirvdrum··on Show HN: Dowe – A full-stack language for server, web, desktop, Android, and iOS
It's an interesting idea, but it's hard to tell what the native parts are. The home page has a section titled "Native Targets" with an arrow icon that looks like it'd go to some docs, but appears to just be an icon. The running example is a straightforward responsive web page. The docs are centered around UI components for this tool and the lack of a Tree component really makes it look like this is a web framework.

Does it actually generate a native mobile or desktop application? I probably overlooked it, but I couldn't find an example app to build and experiment with locally.

nirvdrum··on Sony deletes more movies from the accounts of people who ‘bought’ them
Microsoft already switched its release support to the "series" model. There are still big games coming out on PS4. With the PS6 expected to be very expensive, we may very well see games simultaneously released on the 4, 5, and 6. We may be moving away from discrete console generations. Older consoles still have a massive library you can cycle through as well.

Yeah, the console companies want to be profitable, but consumers are pushing for new stuff, too. I don't care a whole lot about graphics improvements, but going from HDDs to SSDs was a huge improvement and worth the upgrade for me. And software engineers as a whole have long favored requiring new hardware over optimization for current hardware. I hope the great electronics crunch will curtail that.

nirvdrum··on Sony deletes more movies from the accounts of people who ‘bought’ them
> Come on now. This is extremely obvious.

I was talking about game compatibility and you brought up an utterly unrelated point and referenced non-specified “recent moves by Sony”. Forgive me for giving you the benefit of the doubt and inquiring if there were platform changes that would affect compatibility.

Clawing back games isn’t a particularly new risk. If you issue a chargeback, Sony bans your account, losing your library and any wallet funds you may have. And I already indicated that if I have to go all digital, then Steam is far more attractive. But there’s no guarantee any given game I buy on Steam is going to play on any given device. If I purchase a PS5 game I can be fairly certain it will run on a PS5 and what the performance is going to be like.

But, yeah, thanks for reminding me: physical games are still a major benefit for consoles. I buy Switch cartridges almost exclusively because Nintendo's DRM implementation is horrible for a family library. I lend games to friends and family members. I've even sold games and bought used ones. Steam Family is great, and the best of the current DRM options. But, while physical still exists, it's a good reason for favor consoles that has nothing to do with technical acumen.

nirvdrum··on Sony deletes more movies from the accounts of people who ‘bought’ them
Can you please elaborate? The recent moves I’ve seen have been announcing a shift to digital-only and another about clawing back movie purchases. Neither are appealing to me, but also aren’t related to game performance or compatibility.
nirvdrum··on Sony deletes more movies from the accounts of people who ‘bought’ them
I don’t think the appeal is just to the less technically inclined masses. I’m a developer with a MacBook Pro and a Linux workstation. Proton has come a long way, but consoles just work for the most part; I never have to question whether the game will function and perform well on the console (setting aside the random buggy messes we see).

Then there’s the convenience. I don’t want to play games where I work. I want to play on my TV. I have no interest in moving my workstation into my living room. Streaming with Moonlight works well enough, but there’s still lag. Even if I wanted to move my PC to the living room, the setup isn’t as nice. The Steam Machine has HDMI CEC and can power on with a controller — all the major consoles have had that for years.

Even if I accepted all that, no one else in my household could play anything while I’m working on my computer.

Things are a little weird now. If I’m going to have to go all digital, Steam Family is by far the best option of those with DRM. But, due to the astronomical cost of components, consoles are still pretty attractive.

nirvdrum··on Apple's new SpeechAnalyzer API, benchmarked against Whisper and its predecessor
I’ve regularly used an M1 Max, M4 Pro, and M5 Max. They all get pretty loud when driving local LLMs. “Jet-engine” would be hyperbolic, but it’s definitely noisy.
nirvdrum··on Box3D, an open source 3D physics engine
He didn’t ask for it, as far as I can tell. It looks like a Rovio customer asked how they treat downstream partners. I think that’s allowed under capitalism.

Be that as it may, plenty of engineers don’t understand the full ramifications of their open source license choice. Undoubtedly some, if not many, regret it afterwards. Companies change the terms or revoke licenses all the time. But, the dumb, naive engineer that gave their work away didn’t pay a lawyer to advise how to best give their work away, so screw ‘em.

If I made a boatload of money on the back of someone else’s work, I’d reward them. You wouldn’t. Neither one of us is legally required to. I’m not fond of taking advantage of people that don’t realize their worth. And I think the whole open source thing works best giving and taking, whether that’s code, money, or time.

But, this cutthroat approach to open source also hasn’t always been the societal norm. IBM and others made sizable donations to groups like the Apache Software Foundation back in the 90s and 00s and were more or less expected to do so. It seemed to me more a case of both sides agreeing a bunch of money could be spent on lawyers to iron out whatever terms or we could keep the licensing simple and have a gentlemen’s agreement on how to conduct ourselves. I’ve never heard of the Box2D guy so I hope that fame was worth something. It sounds a lot like being paid in exposure.

To your point, I don’t know how to codify a “leave a penny, take a penny” approach to open source and really don’t have the inclination to spend either the time or the money on a lawyer to figure that out. So, nowadays I just don’t release open source code anymore or, if I do, it’s AGPL just so I can protect my interests. I don’t think I’m alone in this. The camaraderie aspect of it has been supplanted by maximum value extraction and I don’t think that’s really sustainable. But between LLMs and an endless source of naive optimists, maybe this is fine.

nirvdrum··on Physical disc production ending in Jan 2028 for new games on PlayStation
You can’t export save files on PS5. You can’t transfer licenses, so you’ll have to repurchase any games you want to continue playing. For trophy/achievement hunters, those are going to be locked away. And a lot of the online game accounts are locked to the platform so you’ll have to start any progress/reputation/level over.

Yeah, you can walk away, but let’s not pretend it’s the same thing as buying orange juice at a new grocer because your regular one only sells it with pulp now. People aren’t being irrational in being annoyed by this.

nirvdrum··on Qwen 3.6 27B is the sweet spot for local development
Probably USD vs CAD. The parent posted a /ca/ link, which will look really similar to /us/, but the prices will all appear to be higher.
nirvdrum··on 'No way to prevent this,' says only package manager where this regularly happens
Part of the point the article makes is that most other popular languages have a comprehensive standard library. JS has an astonishingly small on. Rather than have one vetted set of libraries that ship with the language, applications either need to roll it themselves or pull from a 3rd party package repository. We've drilled NIH into people, so they tend to reach for packages. That's not necessarily a bad thing, but it often means they're pulling in more code than they need. The JS ecosystem has also favored smaller modules, so you need many of them. And everyone builds on top of that, leading to massive growth in dependency graphs. It's a huge surface area for things to go wrong, intentionally or not.

With many other languages, you have a lot of functionality out of the box. Certainly, there have been bugs and security issues, but they're a drop in the bucket compared to what you see in the JS ecosystem. With other languages, you have a much smaller external dependency graph and the core functionality is coming from a trusted 3rd party.

nirvdrum··on Bitwarden CLI compromised in ongoing Checkmarx supply chain campaign
The lack of a comprehensive standard library for JavaScript also results in projects pulling many more third party dependencies than you would with most other modern environments. It’s just a bigger attack surface. And if you can compromise a module used for basic functionality that you’d get out of the box elsewhere, the blast radius will be enormous.
nirvdrum··on SpaceX says it has agreement to acquire Cursor for $60B
They’re definitely playing catch up, but the IDE integration makes interactive development really nice. Claude is good for one-shotting things, but I find JetBrains AI integration really useful for working with large codebases where I may be unfamiliar with things.

I think they’ve been caught in a bad spot. They’re a profitable company, but nowhere on the scale of Microsoft. And they don’t have billions of VC to effectively price dump. Other tools that can focus on one thing and burn cash are advancing quickly and some of them don’t really need an IDE at all.

The semi-recent introduction of ACP integration in the JetBrains IDEs has been a nice bridge. But now it’s confusing how everything comes together. I really hope they can survive.

nirvdrum··on Want to Write a Compiler? Just Read These Two Papers (2008)
Based on another reply I can’t tell if there’s a clever window-based pun that I’m missing. If not, I think you want “shudder” and not “shutter” here. I’m sorry if I just ruined the joke.
nirvdrum··on Americans still opt for print books over digital or audio versions
CheapCharts is really nice. I find discovery in the Apple TV store pretty bad otherwise. They earn their affiliate revenue.

I do wish we had DRM-free purchases like we have with MP3s. But this is a big step up over streaming services. The Movies Anywhere integration is handy as well.

nirvdrum··on Ex-Meta worker investigated for downloading 30k private Facebook photos
After getting scammed on Facebook Marketplace, I look at the profiles of sellers, particularly if they don’t have much in way of reviews. That seems more prudent than creepy to me. I’m not stalking anyone and I’m not looking to be their friend.

Is there a better way to do seller verification? It does seem like an information leak to me. Craigslist and eBay don’t share my identification as a potential buyer. I don’t love the marketplace being tied to a social network, but it’s what many people are using these days.

nirvdrum··on TruffleRuby
In case anyone's wondering, the TruffleRuby project is still going strong. It undoubtedly would be going stronger were Chris still with us. But, some of us that worked with Chris in the early days of the project and others that joined later are still pushing the project forward.

If you're interested in the project, please give it a try. Or, if you just want to chat Ruby compilers, feel free to drop into one of our community channels (Slack or GitHub Discussions).

https://github.com/truffleruby/truffleruby.

Page 1 of 34Next →