HNHacker News
TopNewBestAskShowJobs

jorams

4,053 karma · joined August 1, 2014

You can reach me at hn at joram dot io
submissionscomments
jorams··on Iosevka typeface for code, from code
Thank you so much for this. I've been using Input for years, and the main things keeping me there were the line height and clarity at small font sizes. Your build makes Iosevka match those very, very closely. I think I've finally found my new code font. I sent a patch to fix the build for new versions of Iosevka :)
jorams··on YouTube is testing a three-strikes policy for ad blocking
I used to watch YouTube on my TV without adblocker almost every day, but it's now forcing so many ads that my usage has plummeted. There's always at least two for every few minutes of actual video, they're almost all at least 20 seconds long and unskippable.

The few times I do still watch a video I now have a nice (annoying) little ritual: Click and go back and repeat until the first ad is less than 10 seconds, then watch that to the end, then go back and click again which skips the second ad. It's going to play another 2 ads 5 minutes in no matter what, so I might as well.

jorams··on How I run my servers (2022)
SBCL needs a relatively large amount of memory to start with, but beyond that it doesn't require much. I run a few small services written in Common Lisp. Instead of running a separate process for every one of them I run a single SBCL process and run each service in a different thread.

This has some downsides: Firstly they run in the same address space, so global state is shared and serious bugs can affect another service. Secondly they run as a single systemd service, so they're not easy to manage individually. Still I've found it to work quite nicely for things that are simple and don't really need attention.

jorams··on No CSS Club
It's UTF-8, but the server doesn't specify that so the browser treats it as windows-1252.
jorams··on Geddit: Open-source, Reddit client for Android without using API
They can just turn off the .json endpoints for unauthenticated requests. Their own clients use a non-public GraphQL API that (supposedly, I haven't checked) uses elaborate fingerprinting to stop outside access. When I said "all apps" I should probably have clarified that it's all 3rd-party apps.
jorams··on Geddit: Open-source, Reddit client for Android without using API
So this thing is advertised as a "Reddit client without using their API", but then it uses the reddit API for everything. The JSON endpoints are part of the API. It's how all apps get the content of subreddits, comments, etc. It's odd that they're still open for unauthenticated access, but I expect that to change.
jorams··on Ask HN: Why is there no major push towards Android for Servers and Desktops?
Ah, you are correct. It's based on Chromium OS, which is the open source base for Chrome OS. I somehow missed it, but it's also mentioned on the page I linked.
jorams··on Ask HN: Why is there no major push towards Android for Servers and Desktops?
> chromeos is sort of like that and GKE nodes use it to run k8s stuff

I'm not sure where you got that impression, but the default OS for GKE is Container-Optimized OS[1]. It's a Linux distribution maintained by Google for the purpose of running containers. I don't think ChromeOS is an option you can select for your nodes.

[1]: https://cloud.google.com/container-optimized-os/docs

jorams··on YouTube's copyright system isn't broken, the world's is (2020) [video]
> Legal Entity vs Legal Entity defaults to keep up.

Note that it only does so after a waiting period of 10-14 days after the counterclaim. There's plenty of cases where a bullshit takedown is enough to destroy the value of the material taken down.

jorams··on React to LiveView for Performance [audio]
This seems like a weird criticism. The motivation for people to switch to LiveView usually doesn't have much to do with performance. Instead it's about removing a whole class of work around client-server interaction. It offers the ability to have a server-powered UI be dynamic without any custom JS, to easily push content from the server to the client when something is updated, stuff like that.
jorams··on Mullvad Leta: A search engine used in the Mullvad Browser
Your client connects to them after discovering them, they indicate interest, then you start sending data. A bittorrent connection, once opened, is a two-way street.
jorams··on Mullvad Leta: A search engine used in the Mullvad Browser
You don't necessarily need port forwarding to torrent, but if everyone was behind a VPN without port forwarding the network wouldn't work.

For two peers to connect, at least one needs to be reachable by the other. Behind a VPN that requires port forwarding, so if you don't have it you rely entirely on peers that are reachable.

jorams··on The Staggering Frontiers of CSS
The CSS viewport unit situation is so frustrating. First they introduced vw and vh, and those did the obvious thing: reflect the viewport. Then mobile WebKit/Safari broke vh for many use cases, because they couldn't make the obvious behavior perform at 60fps in combination with their UI choices (the actual problem always remained vague: "looks like shit but we can't show you"). Instead these units started ignoring any browser chrome that could change size. This makes them useless for any purpose where the actual size of the viewport matters. Other browsers followed because Safari was not going to change.

Now, years later, the obvious behavior is re-introduced in the form of dvh. vh and vw are no longer recommended because their behavior regarding changing UI is unspecified.

The idea of a static viewport unit is not bad. It's useful for things that don't actually care about the viewport size, but just want to be somewhat responsive (font size). I don't think I've ever seen a situation where lvh vs svh matters, because the web developer has no say in browser UI behavior.

It's just sad how many hours have been wasted working around a problem only introduced because Apple couldn't deal with a small temporary framerate drop.

jorams··on Reddit appears to be restoring edited/deleted comments
Yeah, the mention of June 14th suggests the same to me. I can attest that comments from private subreddits don't show up on your own profile. The deletion script won't be able to find them nor delete them.
jorams··on Alphabet selling Google Domains assets to Squarespace
There's also Google Cloud Domains. It's entirely unclear if that's also being sold off, but the sale would make a bit more sense if it's not. It's insane how bad Google is at communicating things like this.
jorams··on Alphabet selling Google Domains assets to Squarespace
Google Cloud includes a service called Google Cloud Domains. They're really screwing up on communication here, because it's totally unclear if that's included in the sale.
jorams··on The Reddit blackout will continue
Reddit Premium exists for $5.99/month, but there's no mention of it for the API changes.
jorams··on Nix/NixOS S3 Update and Recap of Community Call
It seems the answer for Cloudflare is that the real price of their services is just a lot more hidden.

9 cents per GB is still a lot more than it needs to be. It's a form of vendor lock-in. BunnyCDN charges[1] 1 to 6 cents per GB depending on the region, or 0.5 cents and lower for the "volume network" with fewer POPs. They've done so for years, and it funded their entire operation until their first investment round last October.

[1]: https://bunny.net/pricing/

jorams··on Why I recommended ECS instead of Kubernetes to my latest customer
Since the post only mentions Kubernetes once, I don't really understand why it's in the title at all.

> The team didn't have much DevOps expertise in-house, so a Kubernetes setup, even using a managed service like EKS, would have been way too complex for them at this stage, not to mention the additional costs of running the control plane which they wanted to avoid.

The control plane cost makes sense, but I can't imagine learning Terraform to set up ECS is that much easier than learning Yaml to configure k8s. Unless EKS is much harder to use than GKE.

jorams··on Tailscale doesn't want your password
Note that this requires a "nearby device", which is determined via Bluetooth. There are lots of desktop PCs without Bluetooth, so this requirement is kind of a serious problem.
jorams··on DreamBerd is a perfect programming language
I think a better compromise would be to standardize an indent at 1 space followed by one tab. Then the tabs-vs-spaces debate would finally be settled as both, and anyone can decide how wide an indent should be by changing a setting in their editor.
jorams··on Third-party Reddit apps are being crushed by price increases
I found out recently (not sure where) you can still append ".i" instead of ".compact", and it works. Annoyingly all links then go to ".compact", so you need some browser magic to actually make it usable.
jorams··on GCP CloudSQL Vulnerability Leads to Internal Container Access and Data Exposure
So this blog post is missing any information about what the actual vulnerabilities were. What was the "gap"? What was the misconfiguration? Also missing is whether access to the host VM exposes meaningful secrets. Does this actually risk customers' sensitive data?
jorams··on European Commission Calls for Pirate Site Blocking Around the Globe
I'm not saying IP should not exist. You don't have to legalize piracy. Piracy is not a good thing.

Piracy does not offer a better product because it's free. Pirating is actually an awful experience for most people, involving shady sites, malicious ads, and a serious risk of malware. Once you get through all that, however, you've got a video file of whatever quality you prefer, that you can play in whatever way you prefer, that won't disappear based on some contract you are not party to.

Some people pirate media because they don't want to spend any money on it. You're not going to get those people to pay. Lots of other people are willing to spend money on media. For those people either the product they want is not for sale, or they are punished every step of the way for their willingness to pay.

In the days of DVD it was unskippable anti-piracy warnings, only seen by people paying for DVDs. Now it's the proliferation of streaming services with different exclusive content. It's their unavoidable software that's somewhere between bad and thoroughly broken. It's limiting video quality to 720p/480p on platforms that aren't sufficiently infected with DRM. It's content getting deleted from streaming services, either because of their license expiring or the service deciding it doesn't want to pay residuals anymore. It's the fact that DRM-free media is not for sale in the first place.

jorams··on European Commission Calls for Pirate Site Blocking Around the Globe
I keep hoping for the day the entertainment industry decides to solve the obvious problems that cause people to pirate, but instead we keep getting this endless lobbying for dystopian measures and technology that only exists to destroy value (DRM).

Piracy simply offers a better product. You own the source material. Sell it. Make it available for streaming. Everywhere.

jorams··on Goodbye, section 2.8 and hello to Cloudflare’s new terms of service
> removed an old restriction on benchmarking–we’re confident in the performance of our network and services, unlike some of our competitors.

Lots of your competitors never had such a clause. It's good that you're joining them, but this swipe at unnamed competitors, in the announcement that you have finally left that group, feels a bit misplaced.

jorams··on F-Droid interview featuring Sylvia von OS and Hans-Christoph Steiner [audio]
Wikipedia says that's not true:

> The German "von" is a linguistic cognate of the Dutch "van", however, unlike the German "von", the Dutch "van" is not indicative of the person's nobility or royalty. Van has a history of being used by commoners and nobility alike to simply signify ancestral relation to a particular place, (e.g. Willem van Oranje "William of [the] Orange [family]"; Jan van Ghent "John [who hails] from Ghent").

jorams··on .zip is now available as a TLD
The .sh ccTLD was registered in 1997[1]. I can't quickly find a reference for when the .sh file extension was first used, but I'd be surprised if it weren't older.

[1]: https://www.iana.org/domains/root/db/sh.html

jorams··on Visual Studio UI Refresh
So most of this is just making things bigger, but ignoring that for a second I'm confused about the inconsistency between the changes to Menus and Active region styling.

The changes for active region styling create a clearer connection between the selected tab and the space it's about. This seems like a very sane change. Then for the menu they explicitly remove that connection, by separating the menu from its button entirely. They also dim the background color of the menu, making it much less clearly separate from everything behind it.

jorams··on Supertokens: Open-Source Alternative to Auth0 / Firebase Auth / AWS Cognito
That is the license for the contents of the "ee" directory. The top-level LICENSE is Apache 2.0.

I don't know to what extent this code is integrated into the rest, but it's a valid way to develop open-core software.

← PreviousPage 13 of 28Next →