HNHacker News
TopNewBestAskShowJobs

dblohm7

4,280 karma · joined December 1, 2011

Member of Technical Staff, Tailscale Inc. Ex-Mozilla, 2012-2021
submissionscomments
dblohm7··on Mozilla.ai: Investing in Trustworthy AI
You make it sound like Mozilla is pushing back for no reason. They have pretty valid security and privacy concerns.
dblohm7··on Mozilla.ai: Investing in Trustworthy AI
Building similar integrations will require, in your words, "focusing elsewhere." You can't have both.
dblohm7··on NASA unveils new moon suit
Apparently they are keeping that under cover for competitive reasons:

https://twitter.com/skrishna/status/1635998864531439617

dblohm7··on \Device\Afd, or, the Deal with the Devil that makes async Rust work on Windows
That's fair, but how is that any different than async I/O on any other OS?
dblohm7··on \Device\Afd, or, the Deal with the Devil that makes async Rust work on Windows
> The article also felt like Rust does it this way because all these other projects which came before it did it this way. Someone originated the technique and no one questions its validity, without seeing if there was an alternative method to achieve the same result.

Precisely. As somebody with extensive experience porting cross-platform applications to run on Windows, it smells more to me like "everybody involved in this is actually quite ignorant about Windows," instead of (what I am assuming is the intended) "look at this crazy shit we had to do because Windows sucks."

dblohm7··on \Device\Afd, or, the Deal with the Devil that makes async Rust work on Windows
> Also, I've heard a lot of praise about Microsoft's networking integration which made things like mounting network drives possible and reliable as early as Windows 2000. But of course, if you refuse to use the recommended APIs, you'll suffer for it.

Yup, you nailed it!

dblohm7··on \Device\Afd, or, the Deal with the Devil that makes async Rust work on Windows
That's how things have always been done at Mozilla (I spent several years there dealing with Windows-specific stuff for Firefox)... I kinda wonder if Rust inherited a lot of that attitude from there.
dblohm7··on \Device\Afd, or, the Deal with the Devil that makes async Rust work on Windows
Good god. I like nothing about this piece. I hate the claim that Windows networking is "duct-taped" in. I hate that they're using undocumented stuff. I hate that they're trying to shoehorn Windows into a Unix-y model; in my experience this is often symptomatic of failing to consider all platforms when originally designing the higher-level abstractions. Just blah.

> To make a long story that I don’t fully understand short, you need to have buffers that are pinned in memory and aren’t touched as long as the operation is in progress.

I don't understand why this is so confusing.

> I doubt that Microsoft is really rushing to make it so that you can’t run Javascript on Windows anymore.

Nah, but don't be surprised if suddenly a bunch of apps receive compatibility shims.

dblohm7··on Ask HN: Is anyone successfully self-hosting Firefox Sync?
That only works when you're copying to the same OS. You run the change of entering into a world of hurt if your new device runs on a different platform.
dblohm7··on PagerDuty CEO Quotes Martin Luther King Jr. In Worst Layoff Email Ever
This reminds me of an email my CEO sent out in 2008, where he jacked up parking fees at the office "because of the economic downturn."

Unfortunately for him, another email he sent out not five minutes before was proudly boasting about record profits.

dblohm7··on Minimal Cross-Platform Graphics
https://learn.microsoft.com/en-us/windows/win32/api/dxgi/nf-...
dblohm7··on The truth about CSS selector performance
I wonder how Stylo (Firefox's style system adopted from Servo) compares.
dblohm7··on Rendering like it's 1996 – Bitmap fonts and DOS
Windows 95 was still DOS-based and DirectX was just beginning to take off; many of the most popular games of that era ran on DOS.

(I remember that the best way to run the original release of Warcraft II was to set its shortcut to "DOS mode," where Windows would exit to DOS, run the game, and then restart Windows once the game exited)

dblohm7··on History of Web Browser Engines from 1990 until today (2022)
> Really surprised that FF is only 4% market share now: what did I miss?

The explosion of mobile.

dblohm7··on Supporting the use of Rust in the Chromium project
> and aren't investing too much in rewriting parts of FireFox in Rust.

False. You haven’t been paying attention.

dblohm7··on Apple considering dropping requirement for iPhone web browsers to use WebKit
> Why hasn't the world coalesced around WebKit?

iOS is not the entire ecosystem. Blink dominates everywhere else.

dblohm7··on Tailnet Lock
Tailscalar here.

There were a few things going on with that issue you mentioned; one of them is the way the wrapper library was written, the other was with some stuff in the GUI client that was happening on a background goroutine but shouldn't have been. That should be fixed in the current stable release.

As for the Windows client in general, it is going to be receiving a lot of love over the next few months!

dblohm7··on Narcissistic Collapse
> Other times, they may threaten to estrange or cut off their children. In some cases, they will do that (although they will often spin it as if the child ended the relationship).

I was one of those cases. After years of repeatedly being told I was going to be sent to live at my mother’s house (not an appealing prospect at the time, I assure you), my father finally threw me out. Then he immediately started phoning anybody who would listen, crying to them that I “left him” just like my mother did.

dblohm7··on Please restore our registers when you’re done with them
I did write a little bit! Here's an oldie but a goodie:

https://dblohm7.ca/blog/2016/01/11/bugs-from-hell-injected-t...

dblohm7··on Please restore our registers when you’re done with them
I did write a little bit! Here's an oldie but a goodie:

https://dblohm7.ca/blog/2016/01/11/bugs-from-hell-injected-t...

dblohm7··on Improving Firefox stability on Windows by retrying failed memory allocation
> But I think the OS should try to reserve more space for the swap file before it starts returning ENOMEM to the "commit memory" system calls like Windows seems to be doing (judging from the blog post)...

One could just as easily argue similarly with respect to Unix and needing to loop over write watching for EINTR et al.

dblohm7··on Please restore our registers when you’re done with them
I used to take point for Mozilla's efforts dealing with third-party interference in our binaries. Browsers are ripe targets for this kind of shit. The stories we could tell...
dblohm7··on Improving Firefox stability on Windows by retrying failed memory allocation
That Stack Exchange answer is kind of weird in the sense that it conflates different things. You can have demand paging without overcommitting (as NT does); the kernel simply needs to assure that there is somewhere to commit a particular page, even if that page isn't committed yet.
dblohm7··on Improving Firefox stability on Windows by retrying failed memory allocation
> I suppose it technically improves stability, but the cause seems like a flaw in the Windows operating system, if I'm understanding correctly.

It's not a flaw at all, when you understand what is going on. Part of the issue is that in 2022 so many developers come from Linux backgrounds that they assume that the Linux way of doing things is the "normal" or "correct" way.

The NT kernel does not overcommit, and thus does not have an OOM killer. If the kernel cannot commit pages, the system call fails. That's it. No process terminations.

Firefox would crash because (even on Windows) it uses a customized version of jemalloc that is configured to be infallible by default. If jemalloc requests pages and those pages cannot be committed, the heap allocation will fail, and thus Firefox will self-terminate. That's simply a policy decision on Firefox's part.

Going back to Windows: suppose that the commit request failed because the swap file was full. Assuming that Windows was configured to automatically resize the swap file, the OS will then grow the swap file. That's why pausing for a bit and then retrying the VM allocation works: the swap file was grown, and now the pages can be committed.

dblohm7··on Improving Firefox stability on Windows by retrying failed memory allocation
(Former Mozilla engineer who can speak Windows)

> Maybe Mozilla didn't understand Windows's memory management strategy until now.

That is part of it. A lot of FLOSS engineers come from a Linux background and tend to assume that the Linux way of doing things is the "normal" way. While I was there I had to explain to more than one developer that Windows doesn't have an OOM killer because the NT kernel doesn't overcommit.

dblohm7··on Mozilla revenue 2021 increases 20%
I worked there as an engineer for just under 9 years. Google does not give Mozilla engineering its marching orders.
dblohm7··on Mozilla revenue 2021 increases 20%
They're not getting rid of the old blocking API, though.
dblohm7··on Tailscale Funnel
https://news.ycombinator.com/item?id=32470615

https://news.ycombinator.com/item?id=32469581

dblohm7··on Tailscale Funnel
(Tailscalar here)

Most of the Tailscale client’s functionality is implemented as a daemon called tailscaled which is in the OSS repo.

It’s the GUI front ends for Windows, MacOS and iOS that are not.

dblohm7··on The United States’ Unamendable Constitution
Canada points and laughs.
← PreviousPage 7 of 33Next →