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 Ruby might be faster than you think
Presumably by streamlining development so they can quickly deliver functionality to paying customers.
nirvdrum··on Should You Use Ruby on Rails or Hanami?
Shopify uses Sorbet and a few companion projects (e.g., Spoom¹ and Tapioca²) to manage Rails projects of various sizes. While there are some holes, like you find with any gradual type system, I think you'll find the experience is quite good. The awesome-sorbet³ project has a comprehensive list of blog posts, conference presentations, and podcast episodes that dig into that deeper.

¹ -- https://github.com/Shopify/spoom

² -- https://github.com/Shopify/tapioca

³ -- https://github.com/andyw8/awesome-sorbet

nirvdrum··on CFPB Takes Action Against Coding Boot Camp BloomTech and CEO Austen Allred
Everything I had seen said you’d only pay if they helped you land a programming job. It looks like more than a few people were surprised when the actual terms allowed them to collect a percentage of income from unrelated employment. I never went through the program, but I’ve seen more than enough marketing and promotion from it; these revelations are quite surprising to me.

The CFPB statements outline where BloomTech was misleading at best. You can’t dress up a loan as some other name and skirt regulations, no matter how much small print you use.

nirvdrum··on Dioxus 0.5: Web, Desktop, Mobile Apps in Rust
Oh, that’s great. I suppose it’d be nice if I could supply my own types, but strings aren’t the end of the world. Thank you for pointing me at that example.

Also, thank you for linking to a particular commit. I wish GitHub would do that by default. The web is littered with GitHub links that either no longer work or highlight incorrect lines.

nirvdrum··on Dioxus 0.5: Web, Desktop, Mobile Apps in Rust
Does anyone know how well this integrates with web components? I struggled getting Shoelace components to run well with Yew. It was doable, but by the time I had it working I decided I was using the wrong tool for the job. I'd like to revisit that project with another Rust framework though when I can find the time.
nirvdrum··on Egui 0.27 – easy-to-use immediate mode GUI for Rust
I think we have the opposite problem: too much innovation in UI elements that don’t need it or sacrificing usability for aesthetics. I get the desire for uniqueness, but common UI elements have a huge positive impact on usability.

Consequently, I wish more sites used Bootstrap. As an end user I don’t care a whole lot about a brand’s identity or style. I don’t want to have to guess and check to figure out what’s a tab or a menu or how to access settings. The number of custom layouts I’ve had to memorize is staggering and often gets invalidated when someone gets promoted and decides the site or app needs a new design.

Desktop window frameworks may have been bland, but they were based on actual usability studies and I think we gave that up too readily.

nirvdrum··on OpenAI's chatbot store is filling up with spam
Almost immediately after OpenAI opened its API there were a raft of services to send auto-generated sales and marketing emails. Sure, there are other ways to generate unsolicited commercial emails. There are even services that will spam on your behalf. But, there's obviously a huge difference between an empty text editor and a service that generates plausibly phrased emails with virtually no effort.
nirvdrum··on Sora: Creating video from text
There’s also loads artists that do web and graphic design, make videos for product demos, ad campaigns, and so on. It’s perhaps not the purest form of art, but it is one way in which artists can apply their craft and still put a roof over their heads. A lot of these AI tools seems squarely aimed at eliminating those positions.

For what it’s worth, I think we’re going to see a slide in quality. Maybe there will be a niche for some. But, I think companies will settle for 70% quality if it means eliminating 100% of a full-time position.

nirvdrum··on Piezoelectrics enable displays to provide both audio and touch feedback
Off the top of my head, here are some reasons people still want a headphone jack:

* Invested in quality audio equipment that they'd like like to continue using without a crappy dongle

  *  Bluetooth dongles don't have the same level of integration that EarPods do, for instance (e.g., button presses don't work the same way)
  * Lightning or USB-C headphone adapters are easy to lose track of
  * Lightning or USB-C headphone adapters are awkward sticking out of your phone and risk breaking the port
* Dislike the environmental impact of trashing perfectly fine equipment

* Dislike like the environmental impact of moving to a model of disposable equipment with non-replaceable batteries

* Tired of the inconvenience of dropping wireless ear phones and not being able to find them (e.g., this happens frequently on flights¹)

* Weary of dealing with Bluetooth issues (e.g., my AirPod Pros randomly disconnect from my iPhone with regularity and I have to click multiple things to switch from my phone to my work laptop)

It's fine if these don't apply to you, but they're a little more substantive than the Luddite hand-wringing you suggest.. And for them the trade-off to get a slightly slimmer phone wasn't worth it. That's not to say there aren't advantages to wireless headphones, but supporting one doesn't mean having to preclude the other.

¹ -- https://www.reddit.com/r/mildlyinteresting/comments/16uuyse/...

nirvdrum··on Deleting and destroying finished movies
> True, there are multiple reasons why some expenses aren't deductible, but AFAIK no such exception exists for "intentionally destroying it".

No, of course not. There isn't an enumerated list of weird cases and if your weird case doesn't match you can get a tax advantage. There are rules about what is and isn't deductible and if you're unclear, you can ask the IRS for a clarification. If you don't get that clarification you better be prepared to adequately defend your tax theory when you get audited. What I suggested is what they're doing may not be in line with the rules about what is deductible. It seems like something should be evaluated.

> There's no way that you can save taxes by doing this.

You absolutely can save taxes by doing this. They're not only not paying any tax, they're offsetting tax they would otherwise pay on a profitable film. I think what you're saying is that they couldn't get enough tax deductions to offset the money they put into the film development. That's a claim I didn't make. I do think it's possible they could get back more money than they otherwise should. It's not like tax fraud is a rare occurrence. And that situation could make this maneuver more attractive. I think it's worth an audit.

nirvdrum··on Deleting and destroying finished movies
The deductible losses are supposed to be incurred in pursuit of profit. Not every expense a business incurs is tax deductible. Not even trying to sell it calls into question whether it was in pursuit of profit. They’re expecting the American tax payer to make up the shortfall and that’s likely based on Hollywood’s unique accounting practices, which has a tendency to inflate the claimed expense amount.
nirvdrum··on Disney to take $1.5B stake in Epic Games
I guess I don't know what we mean by "hit" then. I tried to address it from cultural impact, box office earnings, and movie quality. On any one of those criteria I don't think it's been that long since Disney has had a hit. If a film needs to push "Frozen" numbers to be a hit, then I'll concede they haven't had one in years.
nirvdrum··on Disney to take $1.5B stake in Epic Games
If you take "for years" to literally mean "more than one year", sure. I think it's colloquially understood to be far longer than that. "Encanto" came out in 2021 and I'd consider that a hit. The soundtrack saw wide play, everyone I know who's seen it loves it, and they're merchandising the hell out of it.

To be fair, I saw "Wish" with my family and we all enjoyed it, but it obviously didn't come close to "Frozen 2" numbers. They're not all hits. With animated film taking years to produce, those perhaps aren't the metric to use. It'll be another few years before the next major animated film by Disney is released.

The Marvel movies release more frequently and seem to print money. "Guardians of the Galaxy: Volume 3" came out last year and has done $845MM¹.

¹ -- https://www.boxofficemojo.com/release/rl2977202945/

nirvdrum··on Interview with Andreas Kling of Serenity OS (2022)
Some people grow gardens. Some rebuild cars. Others 3D print things. Others yet enjoy woodworking. One the grand features of our current society is you're not working 14 hour days, seven days a week in a factory. Without a doubt, there are those working multiple jobs and still struggling to make ends meet. But, fortunately, many are able to work a single job and live a relatively comfortable life. Those that can often have hobbies. It helps them unwind and maybe even enjoy life a little since otherwise so much of it is spent working or sleeping. It's downtime and largely considered positive for mental health and, consequently, one's ability to contribute to society.

Most people aren't solving deep societal needs in their free time. If you want to limit it to software, most of us have jobs that hardly improve society or the planet. Most open source code isn't advancing society. What I don't understand is why you've singled out the participants of this particular project for your ire.

I don't know any of the individuals involved personally. My guess is they're not the ones that built physical products with PFCs, ran coal-powered factories and operated strip mining operations, designed nuclear weaponry, or even fly personal jets. I'd hazard to say your average front-end developer chugging through batteries with inefficient frameworks is doing more harm than this project.

If your aim is to clean up the tech industry, I think that's laudable. I believe tech people have for the most part shirked their own contribution to our carbon footprint or other societal needs. But, I think you'll find there are much bigger targets actively doing harm (or certainly not helping things) regularly because it's profitable and/or convenient.

nirvdrum··on Interview with Andreas Kling of Serenity OS (2022)
You're more than free to do with your own time what you wish. These projects aren't harming you in any way. Who cares what enthusiasts want to do for fun? They're not trying to supplant the OS on your desktop. They're learning something and having fun doing it. I love these sorts of projects.

In contrast, many of us treat computers as a magic black box. The abstraction is great for productively building web apps. But, we've lost sight of how things work and I think that's led to steep decline in performance and, perhaps, security. I don't pine for manual resource management in all things, but knowing how syscalls work can help build context on when and why you should use them. Revisiting how to build an OS that isn't rooted in decades-old Linux or BSD code could be really instructive.

nirvdrum··on Apple's bad faith 27% tax on web purchases
I'm fairly certain I'm not mistaken. The MSRP may be the same, sure. Some games, however, are routinely cheaper on sale on EGS than they are on Steam. "Alan Wake 2" in particular has been cheaper on EGS and came with "Alan Wake Remastered". EGS has been giving away free games since its inception. They have issued coupons with pretty large discounts ($15 or 33% off) that can be used on just about any game, effectively reducing the price below what Steam is selling games for.
nirvdrum··on GitHub Spam
It sounds like Facebook Marketplace. I bought counterfeit AirPods Max. They showed up as legitimate in the phone so I thought they were good, but they were fake. Before I realized what happened the seller blocked me, which apparently prevents leaving feedback. I contacted Facebook about the fraud that went into a black hole.

I had found someone else scammed by the same seller and I was annoyed enough to go to the police. The police called it a civil matter and refused to do anything. Obviously I didn’t have the seller’s real name so I couldn’t pursue that angle. I saw from another Facebook account that the seller is still hawking counterfeit goods. So, I guess that’s effectively legal.

nirvdrum··on Nobody Cares About Your Git History
I don't mind ticket IDs, but "Fixes #125" is not a very helpful message. Now I need to cross-reference an issue tracker just to understand what changed. I've been at places that required the ticket title be posted as well and that worked well. Humans could quickly see what changed and tooling could get triggered.

> However, those hyper-detailed commit messages that some people seem to like? High cost, very low payback. Better to put all that effort into other docs instead.

I guess I'm one of those people? I don't think the cost is very high. It's certainly no higher than putting them into another document. I don't get the emphasis on "very low payback" though. I've had to dig into projects where those detailed comments saved me weeks of effort. I love reading the rationale and any associated pitfalls with a nice code diff contextualizing the whole thing. And it's right there, easily accessible in my SCM log, where it integrates with the CLI and IDE. No 404s or issues because the startup that created the project died or was sold and the domain is no longer in use.

nirvdrum··on Nobody Cares About Your Git History
> You want to split it in multiple commits? Then it probably should have been split in multiple PRs.

I've seen this comment repeated in most discussions about this topic and it doesn't align with my experience. I'm trying to better understand that. Are you talking solely about web apps with continuous deployment, maybe with things blocked by feature flags? On many projects I work on splitting a PR by commit would grossly complicate things. And not using multiple commits makes it harder to track changes. I rely quite a bit on being able to read through source history and piece together what changed and why. But, I also work on compilers and runtimes which have a different deployment model and don't generally have a high amount of code churn.

I find source control rather unhelpful on any project I've participated in using squash merges. It helps distribute changes, but little more than that. I can't learn anything looking at the history. It requires access to GitHub because I can't access the original individual commits otherwise, making "git log" useless. It makes the mechanics of bisecting easier, but actually doing anything about it much harder, unless I want to revert the entire changeset. I find there isn't often an appetite for that, so we end up with follow-up commits that undermine the benefit of a single commit in the first place. You can't cherry-pick. Etc.

I can see some domains where you never really rollback and where things get replaced frequently enough that having access to the source history may not be valuable. But, I don't think it's a one size fits all situation. We have decades of experience prior to the squash merge feature in GitHub that demonstrates the utility of smaller commits.

Individual, logical commits are an incredibly powerful tool when stepping into a large codebase where the original author is no longer around. It's an opportunity for the author to document the rationale or design for a scoped change. Squash merges often add too much noise. Sure, you can roll up all the commit messages into one, but without access to the original commits that's of limited value.

nirvdrum··on US developers can offer non-app store purchasing, Apple still collect commission
> You’re also not required to use an iPhone. Grab an Android phone with the features you want (multiple app stores) and you’re good to go!

The situation isn't much better on Android. Yes, there are multiple stores, but since Google Play Services are locked up you effectively have to use the Play Store. Of course, there's more to consider than just the store and there are other reasons, some involving lock-in, to want to use an iPhone.

> While this presents a few problems, my chief concern is that it unwinds some of the great features that Apple essentially lobbied for on behalf of customers. Features such as Sign in with Apple, and other privacy oriented features.

Using Android as an example, that just didn't happen. Granted, part of that is the hoops Google has you jump through to sideload anything. Samsung and Amazon both have stores and outside of Amazon Fire devices, their adoption is quite minimal. So, I don't think this future where everyone abandons the Apple App Store is apt to happen. Having competition in the space should spur Apple to deliver more. And as a consumer I have the option to sideload apps on my computing device if I'd like.

> With multiple app stores customers have no bargaining power or anyone bargaining on their behalf. It’s a marriage of corporate interests united against customers.

I don't know what power I really have with Apple's App Store. Some parts are nice. Some aren't. I have no ability to influence that. I can't "let the market speak" without using a completely different device.

Moreover, other app stores need to have an actual proposition to get adopted. Assuming companies still want to make money, they'll likely still sell apps through the Apple App Store.

> I’m struggling to see the benefit to customers. It seems like we’re trying to screw normal people so a few big companies like Meta can make an extra buck and grab up more of your data.

I don't care at all about helping Meta make more money. I think you'll find that's true for almost everyone. I'm not looking to screw myself or anyone else for that matter. I do care about the grabbing more of your data part. But, that's an argument against mobile apps. In Apple's locked down ecosystem I have no control over the data collected. In a web app I can run a blocker, at least.

I care that mobile devices are the general computation devices of this generation and we ceded control of it to Apple and Google then let them add a 30% tax onto it and control what we can run on our computers. If Microsoft did this with Windows applications, we would rightfully call out their anti-competitive behavior.

The common retort at this point is "just don't use a mobile device." That was a valid answer for a while, but particularly with covid, a lot of things became mobile apps with no web alternatives. I had doctor's appointments that required using an application on one of those two platforms.

As a consumer, I also dislike that Apple and Google don't really need to respond to market demands. Changing platforms is a huge upheaval and can be quite costly, since there's really no cross-platform licenses available. You just need to re-purchase all of your apps and any media. They also lock you in with their cloud services. Sure, I could use Dropbox, but Photo shared libraries only work with iCloud. They have a captive audience and get away with a lot that they wouldn't with a competitive marketplace.

I get it. Plenty of people like the gilded Apple path. But, we're well beyond the point of platform being limited to peripherals for Apple enthusiasts. These are primary computing devices that are essentially unavoidable. Switching to Google is an impractical solution and doesn't address the core problem anyway, so that's a non-starter. If the cost of opening up the platform is you can't get Fortnite in the Apple App Store, I can live with that. In the unlikely event Apple nailed every aspect of this, from pricing, to store presentation, to content restrictions, then its massive population of happy customers will ensure the App Store is the primary destination for applications. Otherwise, competition should force Apple to improve its service or decrease its prices to actually compete.

nirvdrum··on Apple's bad faith 27% tax on web purchases
Isn’t that how competition works? Ideally, no company becomes so large that they don’t feel the pressure to remain competitive. Of course there’s countless examples of big players stagnating and becoming rent collectors with a captive market. But, I see that as all the more reason to have competition.

I think it’s rather optimistic to believe the Epic Games Store going to overtake Steam. If that’s the criteria for raising their cut, I wouldn’t expect it to happen anytime soon. Outside of annoying exclusive distribution rights on some games, having another store has given game developers another way to sell and players a way to purchase games cheaper. With that said, I’d guess their real gambit is to create enough pressure to drive the standard 30% down.

Maybe 30% made sense at one point. Maybe it does now. It strikes me that there have been efficiencies that haven’t been passed along to the consumer. Having a competitive market would let us find out.

nirvdrum··on US developers can offer non-app store purchasing, Apple still collect commission
I don’t think you’d be required to use alternative app stores. You could keep using the Apple one if you wanted. Market forces should allow the best store to win.

Having another “store” doesn’t necessarily mean having to get apps elsewhere. E.g., the one platform app store has severely degraded my ability to enjoy audiobooks. I used to be able to buy books directly in Audible (on Android anyway). It was convenient and Audible offered daily deals. I’d get books on a whim and discover new authors that way. Once Audible had to start paying a 30% tax, that feature went away. Now I have to browse & purchase in a web browser, which is far less convenient.

Incidentally, both Apple and Google sell audiobooks. Presumably they aren’t paying a 30% tax themselves and can use that as a builtin price advantage. But, then I’m tied to that platform.

In this case, you'd be making an "in-app purchase" with your Amazon account. There's no new annoyance in payment management and there's no new store to browse. You just get a more convenient way to buy content.

nirvdrum··on US developers can offer non-app store purchasing, Apple still collect commission
Organized labor has effected plenty of change, both directly and indirectly. Safer working conditions, 40 hour work weeks, sick time, pay raises, etc.. Companies without unionized employees are incentivized to offer reasonable work conditions and benefits to stave off unionization. This has all happened under capitalism.
nirvdrum··on "Software is getting slower more rapidly than hardware becomes faster."
It may be non-trivial to dig yourself out of a performance hole if you didn’t account for performance at all in the design. The pervasive idea that you can make it fast later virtually never pans out.

In many cases, taking performance into account up front adds little overhead and won’t appreciably affect the design. But, if you codify some algorithmically inefficient approach into your public API, you’re going to find that hard to unwind. The engineering team should advocate for that when designing the product.

nirvdrum··on Cleaning up my 200GB iCloud with some JavaScript
I'm sorry. I use the currency and had to think about what the values were. I was trying to follow the theme by the previous author, but I can definitely see how that'd be hard for others to follow. It's $360 USD (Franklin = $100 USD, Jackson = $20 USD).
nirvdrum··on Cleaning up my 200GB iCloud with some JavaScript
Thanks. I overlooked the 12 TB. I'm not sure doubling the capacity and doubling the cost is really ideal for many, but it's nice to know it's there.
nirvdrum··on Cleaning up my 200GB iCloud with some JavaScript
> For the downvoters, consider this: If I were to manage all this myself, I would need at least three storage mediums with one being a different form factor to satisfy the 3-2-1 backup scheme. I would also need to procure arrangements for that third backup copy in the 3-2-1 scheme. And I would need to spend time managing it all.

> That is going to cost me more than a Franklin per year. Life is short, my time is precious, and my money is ultimately expendable.

When you're looking at cloud services, you need to perform your own off-site backup. Apple, Google, Microsoft, etc. will maintain copies that they'll restore in the event of a hardware failure. But, if your account gets compromised or a buggy sync or bad API event happens, your data is gone. They're not going to go restore it from tape for you. This is a big part of why I do have an in-home NAS. Maybe you have everything sync'd with a laptop and that has you covered, but Apple's expanded storage options are outlandishly expensive so I doubt many with the 2TB+ plans are able to do that. (Yes, you could use external storage, but that's also rather inconvenient for a Photos.app library.)

We could both get what we want if these storage operations weren't wrapped up in proprietary APIs. If I use iCloud I get a seamless experience on macOS, but no access at all on Linux. If I use Dropbox I get access on Linux, but little more than photo sync on an iPhone. Given the decades of precedent with filesystems and I/O APIs, I suspect we could have an abstraction layer and an implementation layer that would allow for interoperability. Anyone that wants to pay for iCloud are free to do so, others could use their preferred storage engine. But, allowing access into the walled garden is far less profitable.

For most people, storage needs are going to increase over time (more + higher resolution photos & videos, larger apps, document storage, etc.). 6TB for a family is not unreasonable and that's what? Three Franklins and three Jacksons per year + whatever for an external drive for your offsite backups. What comes after the 6TB option? Storage costs have decreased drastically over time, unless you're using a proprietary service; consumers are not benefiting at all from those gains in efficiency.

nirvdrum··on Fish shell 3.7.0 released, the last release branch before the full Rust rewrite
Writing fish completions is really easy, too. I never bothered when I used Bash, but I write them for various utilities in Fish and it makes the shell more pleasant to use. Several of my custom ones have been supplanted by upstream completions having been added in a subsequent releases.
nirvdrum··on Asking your customers what they want doesn't work
I don’t see how it’s obvious people wanted a Segway. Cost is one problem. They’re also large, making them difficult to store at either end of a destination. They’re a nuisance and safety risk for pedestrians. Riders kept toppling them. They’re an even bigger problem than scooters when the battery dies mid-journey. I’ll grant some people were really enthusiastic about them, but I don’t see that translating into mass market appeal.

Even if I’m dead wrong and there’s a throng of people just waiting for a Segway fire sale, it doesn’t invalidate my point. If your product solves the problem by ignoring the economics of your target customer base that’s just as problematic as building the wrong product.

Electric scooters have seen a lot more traction. Both teams can’t use the supposed Henry Ford quote to say the customer doesn’t know what they want. Or, rather they can, but that doesn’t mean they have any more of a clue than the customer does.

My point is maybe we should stop being so antagonistic to the customer. You’ll find no shortage of instances where the customer is wrong. But there’s plenty of others where the customer is right and the product team is wrong. I’m tired of dealing with products that think they know better than me because they think they’re inventing cars.

nirvdrum··on Asking your customers what they want doesn't work
> The classic example of selling cars when they were invented is that all customers ever asked for was faster horses.

I look at the Segway as a counter example. Maybe people really did just want a faster way to walk through a city. No offense to Dean Kamen —- he has a very impressive set of accomplishments.

I fully support performing user studies to better understand the problem domain and the feature space. I think your bullet points illustrate some of the challenges in finding the right balance. Unfortunately, I’ve run into way more Segway builders than I have car inventors. They build something based on founder intuition or just bad user studies and then glibly dismiss customer requests as calls for faster horses. I lack the time, energy, and desire to adapt to whatever custom workflow is added because I supposedly don’t know my domain well enough to know what I want.

There’s probably a B2C and B2B split in there, but I’ve never seen that distinction made in application of some of this advice. I know you aren’t advocating for the outright dismissal of user feedback, but I’ve seen that interpretation time and time again. I’d love for us to get a new metaphor or apocryphal story.

← PreviousPage 5 of 34Next →