HNHacker News
TopNewBestAskShowJobs

eridius

15,723 karma · joined May 8, 2009

[ my public key: https://keybase.io/eridius; my proof: https://keybase.io/eridius/sigs/ALIMfZRpix8B0AyyAUKf_l7NE5BnpGDzl-JYATYYg6s ]
submissionscomments
eridius··on Why All of Our Games Look Like Crap
> the Exile III version of the Realmz graphics

What do you mean by this?

I miss Realmz¹, and until today didn't realize that the developer of Realmz was also the publisher of the Exile series. But I still can't figure out what "the Exile III version of the Realmz" graphics is referring to.

¹My ringtone is actually the Realmz outdoor theme.

eridius··on A DMZ 'gardening job' that almost sparked a war
Not trimming the tree also affects sight lines, because trees are living things that grow.
eridius··on The GitHub registry public beta is live
I suppose you could build this database on top of git first, and then transform it to be relative to nixpkgs channel tarballs, since each channel release maps to a git commit.
eridius··on The GitHub registry public beta is live
The default way to consume nixpkgs is through channels which today does not involve git. And a nixpkgs git checkout is over 1GB (my .git dir is currently sitting at 1.4GB on this machine). So that's not great.

> If you maintain such a "database", you'd have to explicitly state version info for the dependencies of every package.

I don't know what you mean. If I say "I want git v2.10.0" I don't care about dependencies; whatever nixpkgs tarball I download that has that will have the dependencies too. There will be a whole range of nixpkgs tarballs that contain the requested git version of course, but with such a database I could also say "find me a channel tarball that contains both git v2.10.0 and some-dependency v7.23" if I want that particular combination (assuming the two coexisted in the same nixpkgs at some point).

> For a particular version of a package, the versions of the dependencies it's compatible with are those that are present in the same commits.

This is true of downloading a nixpkgs channel tarball too.

> Also, to maintain package building scripts in a database outside of git would require either making 1 script per package that builds every version of that package ever.

I don't know what you mean by this either.

> Re-reading your comment thought, I think you're talking about pre-built packages.

No I'm not.

What I'm talking about is just any time hydra builds a channel, it can run a script that collects the pname/version combination for every derivation in nixpkgs (or at least, every searchable derivation; we probably don't need to collect this from all the invisible helper derivations). This can then be appended to a database from the previous version, such that we end up with this information for every single tarball.

In fact, this is pretty much exactly what you'd do for git, except you'd build it incrementally rather than running a script that processes the entire git history from scratch (which is pretty much building it incrementally for every commit).

eridius··on The GitHub registry public beta is live
That would be cool, though I'd prefer an approach where the channels maintain a database of the pname/version combo for every package in the channel, and an API where you can query to find out what version of the channel contained a given pname/version combo for a given attribute path. Then you can just download the tarball for that version, no git needed anywhere.

In theory, that database could also just be included in the channel so it could be queried locally, but I don't know how large it would end up being.

eridius··on Apple Targets Launch of Apple TV+ in November for $9.99
What's your source on diversity of people who buy things on iTunes?
eridius··on Apple Targets Launch of Apple TV+ in November for $9.99
Why? When people buy things in the iTunes Store it means they think it's actually worth money. Once you have a Netflix subscription, watching shows there is free, so views is a signal of interest but not a great signal of whether the viewer meaningfully values the show.
eridius··on Kaspersky AV injected unique ID allowing sites to track users in incognito mode
Apple does actually have malware protection built in to macOS. It's not nearly as extensive as something like Windows Defender and is pretty much invisible to the user, but it does exist.
eridius··on The not so hidden cost of sharing code between iOS and Android
The fact that Metal itself requires the existence of C++ really has nothing to do with this topic though, which is whether there's any downside to writing your app in a language that Apple doesn't ship a compiler for. The fact that Metal shaders are written in a language based on C++ is irrelevant to this question, because it doesn't matter what language you pick for the rest of your app as Metal shaders don't link with your app. Swift has zero integration with C++ and yet I can write a Metal app using Swift, because the fact that the shaders are written in MSL has no impact on the fact that the app uses Swift.

And the language for writing drivers in is even more irrelevant because we're not talking about writing drivers. You can't write drivers in Swift either.

eridius··on Making email more modern with JMAP
What would this support look like, in the context of JMAP? By the time the email is in your inbox it's already gone through server-side prefiltering. So the only integration I can imagine is a way to fetch and store Sieve scripts so you can edit them from your mail client, but that seems like a very provider-specific thing.

For example, Fastmail themselves support Sieve, except they don't give you a single editable script, instead they convert your structured rules and spam settings into 8 labelled sections in a Sieve script and give you 4 free-form edit boxes to insert your own code at specific points (so you can't edit the code that they synthesize for you). I don't know how a protocol like JMAP would expose this in a generic fashion.

eridius··on The not so hidden cost of sharing code between iOS and Android
I don't know what point you're trying to make. MSL doesn't link with the rest of your program. No matter what language you use for your program, the shaders are written in MSL. For my program if I use Rust or C++ or Obj-C or Swift or a microscopic magnet and a very careful hand, I write my Metal shaders in MSL.
eridius··on The not so hidden cost of sharing code between iOS and Android
Metal shaders != Metal API. Metal API is Obj-C. Metal shaders are written in MSL (Metal Shading Language). C++ is still not involved, though MSL is admittedly based on C++.
eridius··on The Order of the JSON
You know what, you're right. I made a knee-jerk comment but I didn't think it through all the way. From any arbitrary unsigned 32-bit integer, every other unsigned 32-bit integer is reachable with a single addition. Therefore addition works just fine here.

It still feels wrong to say this, it feels like since adding will effectively shove bits off the high end and drop them on the floor that you're losing information, but I can't actually justify that feeling with reasoning.

eridius··on The Order of the JSON
Please XOR your hashes instead of adding them! If you add them, you're losing bits on the low end. EDIT: No you're not. It feels like you should be, but with unsigned overflow, this actually works just fine.

This assumes of course that you're using proper hashes that make use of the full domain of the output type (a proper hash will have a 50% chance of any arbitrary bit being flipped by any change to the input). But if you're not using proper hashes, you're doing something wrong.

eridius··on A bug I wish I hadn't caught
Facebook lets you configure both your Name (display name) and Username (the URL slug for your profile) separately. You can even edit your Username right from within Messenger if you want.
eridius··on A bug I wish I hadn't caught
I did figure that if I were to email hn@ and ask, you'd probably be able to rename my account, but this isn't exposed anywhere in the UI (or even the FAQ), and links to profiles are based on username rather than some internal ID.
eridius··on The not so hidden cost of sharing code between iOS and Android
Metal is Obj-C.
eridius··on A bug I wish I hadn't caught
Please don't use the username as your primary key for a user!

Usernames change. If your username can't change, you designed your system wrong.

Systems that are heavily persisted-comment-based at least have the excuse where changing a username would invalidate old comments referencing that user, but even GitHub still lets you change your username (if you link @-references to users, please store the user's ID in the backend text and only convert it back to a username when displaying; GitHub doesn't take this step but it should).

P.S. Hacker News, I'm looking at you.

eridius··on Museum of Ice Cream Valued at $200M
Non-paywall version: https://www.wsj.com/articles/museum-of-ice-cream-valued-at-2...

I also found another article about Figure8 that has some quotes: https://www.finanzen.ch/nachrichten/aktien/museum-of-ice-cre...

> "We created Figure8 to chart the future of how Millennials and Gen Z will want to spend their time. Over the past 3 years building Museum of Ice Cream, we have learned so much from our guests and gained endless insight. Globalization and technology have made the world smaller, yet people are more lonely than ever," said Maryellis Bunn, 27-year-old Co-Founder of Figure8 and Museum of Ice Cream. "I want to inspire people around the world with what I call experiums, emotional and transformative moments and spaces for people to reconnect with themselves and those around them."

> "Museum of Ice Cream receives an overwhelming amount of requests from companies asking us to design branded experiums for them," said Manish Vora, Co-Founder of Figure8. "Now we can answer this need and more. Figure8 will expand internationally, rolling out a new Museum of Ice Cream location each quarter while also launching new Figure8 brands and working on commissioned special projects."

eridius··on The not so hidden cost of sharing code between iOS and Android
Apple ships a C++ compiler but you can't use C++ with Apple's platform SDKs. IF you want to use C++ you need to write Obj-C++ glue code to access most of the system frameworks, including UI code.
eridius··on The not so hidden cost of sharing code between iOS and Android
I'm not sure why "supported by both Google and Apple" is supposed to matter. Apple doesn't need to ship a Rust compiler for me to use Rust.
eridius··on WebKit Tracking Prevention Policy
I'm not sure what you mean by this; WebKit Tracking Prevention doesn't break third-party login. Third-party login works by handing a token back to the first party, who then stores it directly and validates it on the backend. After the initial login with the third party, the third party isn't involved anywhere that the browser can see. And the initial login happens in a browser window that's navigated directly to the third party, making them the first party for the login form (and therefore able to access any saved login data from previous logins).

In fact, this WebKit Tracking Prevention Policy explicitly states that third-party login is implied consent for the third party to identify the user as having the same identity in these multiple places.

eridius··on WebKit Tracking Prevention Policy
> Google Analytics

Website analytics should not rely on cross-site tracking. Breaking any cross-site tracking ability of GA is unambiguously good for users.

> Google Ads conversion tracking

Apple already proposed a mechanism of privacy-protecting click attribution. If Google doesn't want to use that, it's because they don't respect your privacy. Again, unambiguously good for users.

> Using same login across different sites like Gmail & YouTube

The only way this is "broken" that I can see is the user has to log in separately to each site. Which seems fine to me. In fact, this is a good thing; just because I log into Gmail with one account doesn't mean that's what I want to use for YouTube.

eridius··on The not so hidden cost of sharing code between iOS and Android
1.5 years ago Dropbox was looking into rewriting their shared mobile codebase in Rust. It's a shame this blog post doesn't touch upon that at all, instead focusing on C++.
eridius··on FAA Bans Recalled Apple Laptops from Flights
I admit I'm really confused as to why this particular comment is being downvoted.
eridius··on Extended Validation Certificates Are Really Dead
I mean, you just described mobile numbers. If someone calls my cell phone, the phone system has to figure out what tower I'm connected to and therefore how to reach me. That's roughly equivalent to figuring out what IP address the domain should resolve to right now.

In any case, I don't really understand what point you're trying to make. For the phone system we assume the phone company will route our call correctly. Sometimes they don't! Over the years I've seen a number of anecdotes where someone called a number and was connected to the completely wrong person, and when they tried a second time it worked. At least the DNS system allows critical sites like banks to use features like certificate pinning if they're afraid of hackers intercepting their domain and having a DV cert issued by a trusted root.

eridius··on FAA Bans Recalled Apple Laptops from Flights
Looks like the Dell XPS 13 uses a single rectangular battery, though it still requires unscrewing the whole case, disconnecting a battery cable, and then unscrewing the battery, so it's not something you can do on the fly.

The 2018 MacBook Air battery isn't quite so neat and rectangular: https://d3nevzfk7ii3be.cloudfront.net/igi/HvCgVPqVQtVI5K5X.h...

And you can see here how it fits into all of the available space in the computer: https://d3nevzfk7ii3be.cloudfront.net/igi/QUm4KjJyARQaSorr.h...

Switching this computer to using a simple battery like the Dell XPS 13 is using means sacrificing a significant amount of battery capacity.

eridius··on Legit-Looking iPhone Lightning Cables Will Hijack Your Computer
If Apple were going to ditch the lightning connector on the iPhone I would have expected them to do it last year.

More generally, the lightning port is actually slightly slimmer than a USB-C port, which is important. While the iPad isn't any thicker than an iPhone, it has squared-off edges, versus the iPhone's rounded edges, so switching the iPhone to USB-C would likely require either making it thicker or making the area around the charge port flat.

eridius··on Legit-Looking iPhone Lightning Cables Will Hijack Your Computer
Lightning cables have a computer inside them, that would destroy the cable.
eridius··on Legit-Looking iPhone Lightning Cables Will Hijack Your Computer
If you know the wifi environment of your intended victim, you could pre-configure it with the network in question.
← PreviousPage 2 of 34Next →