HNHacker News
TopNewBestAskShowJobs

jech

213 karma · joined May 23, 2020

submissionscomments
jech··on Introduction to GrapheneOS
LineageOS is just fine if you have a well-supported device. If you need to run proprietary apps, you'll need MicroG (which runs just fine as a user application) and the Aurora store.

Unfortunately, now that CalyxOS has died, the other choices are all forks of LineageOS (Iodé, /e/). The long-term hope is for a non-Google Linux system with all of Android running in a sandbox (something like Waydroid), but that's not ready for everyday use yet.

jech··on iPhone Air
> Old people cannot see small text.

The old people you know need a better optometrist. (Hint: progressive lenses.)

jech··on iPhone Air
> If you get a new phone, you cant just pop your physical sim in. You need to go through your provider to transfer

Which, at least with my provider, you cannot do while roaming. So if I break my phone while travelling, I cannot access my online banking until I get back home.

jech··on Petition to stop Google from restricting sideloading and FOSS apps
Yes, I mean explaining to your bank advisor that you cannot run their app, and asking whether they can recommend any solutions other than switching banks. They must have a number of elderly customers, and they most certainly have something to propose to them.

It worked for me, in a European country with very high smartphone usage (you can pay on the bus by scanning a QR code). Twice.

jech··on Petition to stop Google from restricting sideloading and FOSS apps
Have you tried calling your bank advisor to see what they can recommend? (You do have a phone number to call, right?)
jech··on Make any site multiplayer in a few lines. Serverless WebRTC matchmaking
> If you're in a 5-person peer-to-peer webrtc video call where you receive 4 streams of video, you also need to send 4 streams of video. This is scalable in a sense; the uplink and downlink requirements are equal.

The issue is not with the throughput: a typical videoconference requires 700kbit/s per stream, so even 12Mbit/s upstream should be enough for 20 streams or so. The issue is with having to encode the video separately for every receiver.

WebRTC adapts to the available throughput by encoding the video separately for every receiver, with different parameters. If you're in a five-person peer-to-peer conference, you decode four videos simultaneously, which is fine, but you're also encoding your video four times, which is not.

An SFU works around the issue by not reencoding the video: the SFU merely decrypts the video and reencrypts it with the public key of every receiver. Since AES is implemented in hardware, the reencryption comes essentially for free.

(Of course, that implies that the SFU needs to use other techniques for bandwidth adaptation, such as simulcast or scalable video coding (SVC). See slides 10-12 of https://galene.org/galene-20250610.pdf if you're interested.)

jech··on Ask HN: The government of my country blocked VPN access. What should I use?
Is WebRTC being blocked by China? I'm wondering whether it'd be worthwile to implement an VPN that uses WebRTC as a transport. With cover traffic, it could likely be made to look just like a video call.
jech··on Petition to stop Google from restricting sideloading and FOSS apps
> And then you cannot use your phone for payments.

That's why you have a debit card. And if your bank won't give you a debit card, you find a better bank.

jech··on Petition to stop Google from restricting sideloading and FOSS apps
> what about EU?

https://digital-markets-act.ec.europa.eu/contact-dma-team_en

jech··on Google will allow only apps from verified developers to be installed on Android
> "Pop up a permission prompt every single time an app links out to a browser" is not going to be a thing that users like.

Calculator.apk wants to open the web page https://eviltracker.example.com. Allow this time? Allow for 24 hours? Allow and don't ask me again?

jech··on AWS CEO says using AI to replace junior staff is 'Dumbest thing I've ever heard'
> the same critical thinking skills as a bottle of Beaujolais Nouveau

I'm loving this expression. May I please adopt it?

jech··on Pixel 10 Phones
> I feel that iOS and Android offer pretty all the features that I could ever want.

Except privacy.

jech··on QNX: The Incredible 1.44M Demo
Nice. They're using the Xvesa server, which doesn't include any hardware drivers and instead runs the VESA BIOS in a 16-bit virtual machine.

https://www.xfree86.org/current/Xvesa.1.html

jech··on Modern Node.js Patterns
So you can say:

    let r = await fetch(...);
    if(!r.ok) ...
    let len = response.headers.get("Content-Length");
    if(!len || new Number(len) > 1000 * 1000)
        throw new Error("Eek!");
jech··on Debian switches to 64-bit time for everything
So you can write "delta = t1 - t0".
jech··on Graphene OS: a security-enhanced Android build
> We use Apple's location service, not beaconDB.

I stand corrected. Do you have plans to switch to BeaconDB when the coverage in the USA improves?

jech··on Graphene OS: a security-enhanced Android build
>>The only technical limitation I have encountered using these ROMs is related to GPS: my position is often lost

> Graphene's new network location feature

I believe it uses https://beacondb.net/, which is starting to have fairly decent coverage, at least in large parts of Europe. You can contribute to BeaconDB even if you have an ordinary Google phone by installing https://github.com/mjaakko/NeoStumbler.

I use LineageOS myself (because Graphene no longer supports my Pixel 5), and unfortunately it doesn't do network location out of the box. You can get network location on LineageOS by installing MicroG, but it's currently somewhat flaky.

jech··on Skype Is Gone: The FOSS Alternative
There are a number of providers that offer such a service with the SIP protocol. The upside is that you're not tied to a single provider; the downside is that most providers only offer unencrypted calls (using RTP, not SRTP).

OVH, for example, offers unlimited calls to landlines in 40 countries for 1€ per month: <https://www.ovhcloud.com/fr/phone/voip/>.

Now that Android no longer includes a built-in SIP client, you must use a third-party application. I've had success with Linphone (ignore their somewhat obnoxious on-boarding procedure), I've also tried Baresip, but I've had it hang on occasion. Both are in F-Droid.

jech··on Hasochism: The pleasure and pain of dependently typed Haskell programming [pdf] (2013)
> Idris is strict, unlike Haskell.

"The next Haskell will be strict." — Simon Peyton-Jones

jech··on Airline demand between Canada and United States collapses, down 70%+
> I would expect many conferences to have less and less international attendees in the coming years.

It's starting: https://boycott-ietf127.org/

jech··on Ask HN: Should I learn COBOL at 14yo in 2025?
Don't. Learn something fun instead.

If you're into classic languages, learn Common Lisp, or Scheme, or APL. If you're into more recent stuff, try Caml, or Haskell, or perhaps Idris.

And don't worry too much about your employability: if you're smart and know two or three programming languages, you'll be able to adapt to whatever technology is fashionable when you start looking for a job.

jech··on Peer-to-peer file transfers in the browser
> the holy grail of a P2P service which would allow me to initiate a connection via CLI and get a simple URL to share with someone who could download the file from a web browser

    git clone https://github.com/jech/galene-file-transfer
    cd galene-file-transfer
    go build
    ./galene-file-transfer -to john https://galene.org:8443/group/public/somethingdifficulttoguess/ file.tar.gz
Now tell the receiver to connect to <https://galene.org:8443/group/public/somethingdifficulttogue...> and login as john with an empty password.
jech··on Peer-to-peer file transfers in the browser
> One tricky constraint is that a "simple URL" isn't big enough to hold a full-entropy encryption key.

If you trust the server not to MITM you, then you don't need the encryption key in the URL. The URL only needs to be long enough so it cannot be guessed by an attacker, 64 bits should be plenty. Once the peers connect to the common URL, they can generate an arbitrarily large key by performing ECDH through the server. (This is where you assume that the server is not doing MITM.)

jech··on Peer-to-peer file transfers in the browser
The Galene videoconferencing system <https://galene.org> includes peer-to-peer file transfer. The web client is built in, but there's also a command-line client at <https://github.com/jech/galene-file-transfer>.
jech··on WASM GC isn't ready for realtime graphics
> The DOM has been designed as a JS API

My understanding is that it originated as a straight binding to Netscape Navigator's C++ API, so it's actually originally a C++ API.

jech··on Google removed Organic Maps from the Play Store
> OSMAnd is great

I switched from OSMAnd to Organic Maps a few years ago. Organic Maps is way faster, and I actually understand what all the buttons do.

It has some minor limitations, though: it cannot keep the GPS on when you switch to a different app, and it doesn't do track recording.

jech··on Zoom terms now allow training AI on user content with no opt out
> Do you happen to know of others by any chance.

There's Galene, <https://galene.org>. It's easy to deploy, uses minimal server resources, and the server is pretty solid. The client interface is still a little awkward, though. (Full disclosure, I'm the main author.)

jech··on Ken Thompson's 75 year project: A century of popular music in a jukebox [video]
> The Enlightenment lead developer for instance does not believe a programmatic way to make screenshots or listen to keypresses should ever exist.

Rasterman is entitled to his opinion, but every production-ready Wayland server ("compositor") implements an extension to do screenshots:

  * Weston: https://wayland.app/protocols/weston-screenshooter
  * Sway and friends: https://wayland.app/protocols/wlr-screencopy-unstable-v1
  * KDE: https://wayland.app/protocols/kde-zkde-screencast-unstable-v1
They haven't been able to agree on one common extension yet, granted, but the functionality is available.
jech··on Converting my PhD thesis into HTML (2021)
I cannot do that when I'm reading a paper written by somebody else, and I only have the produced PDF.
jech··on Converting my PhD thesis into HTML (2021)
> I find PDF math papers easy to browse

So do I. Still, I wish LaTeX produced easily reflowable PDFs, especially when a document is formatted in two columns.

← PreviousPage 3 of 4Next →