Hacker Blogs
Work in progress: 15,409 of 181,233 sites checked so far, more every week · updated 2 Nov 2026Missing a blog? Tell us

Top all-time · #1780

D

David Teller

Personal blog · yoric.github.io · on HN as Yoricprogrammingsystems

David Teller writes Il y a du thé renversé au bord de la table, by David "Yoric" Teller, a personal blog at yoric.github.io about programming and systems. Since 2017, 43 different Hacker News readers have linked it 80 times, most often “Why Did Mozilla Remove XUL Add-Ons?”. It is still writing: the last post was on 2026-03-13, and you can follow it by feed.

Visit the blog
80mentions?
43HN people?
2017–2025first – last linked?
Links on Hacker News per year · peak 21 in 2020

The author on HN?

Yoric · 7,372 karma · member since 2009

Hi, I'm David. If you have ever cursed at Promise or async/await in JavaScript, I'm sorry, I promise it's not (only) my fault! The same if you ever cursed at try! or ? in Rust! Currently working on static analysis at GitLab, formerly quantum computing at Pasqal, safety tools at Element, performance at Mozilla, Rust contributor. Enjoys tech and product challenges, performance programming, safety guarantees, systems programming, programming language design, distributed programming, static analysi…

From their public HN profile, which links to this site.

Most-linked posts?

  1. Why Did Mozilla Remove XUL Add-Ons?
    14 people · 18 mentions · first linked 2020-08-21
  2. Typestates in Rust (2018)
    8 people · 11 mentions · first linked 2018-02-22
  3. A Few Words About Async
    5 people · 6 mentions · first linked 2025-07-09
  4. Possibly one step towards named arguments in Rust
    5 people · 5 mentions · first linked 2020-08-08
  5. Units of Measure in Rust, with Refinement Types
    5 people · 5 mentions · first linked 2020-01-18
  6. Coding for a Finite World
    4 people · 5 mentions · first linked 2023-11-01
  7. About Safety, Security and yes, C++ and Rust (2023)
    3 people · 5 mentions · first linked 2023-02-04
  8. Thinkerbell: A minimal scripting language for the SmartHome (post-mortem)
    3 people · 3 mentions · first linked 2018-03-08
  9. Towards a JavaScript Binary AST
    3 people · 3 mentions · first linked 2017-08-04
  10. What would it take to add refinement types to Rust?
    2 people · 2 mentions · first linked 2024-12-22

What Hacker News says?

  1. An opposing point of view, from somebody at Mozilla who cared about the browser and wrote the code: https://yoric.github.io/post/why-did-mozilla-remove-xul-addo...

    Comment linking /post/why-did-mozilla-remove-xul-addons/

    on “Firefox usage is down despite Mozilla's top exec pay going up”
  2. Submitted Why Did Mozilla Remove XUL Add-Ons? as a story · 399 points

    HN discussion
  3. Thanks for the reply! I'm a big fan of your work. I can only imagine the nightmare of trying to implement two separate XUL <=> HTML/CSS flex/box models in Servo/Rust. For readers that are unaware, there is also a great blog post breaking down some of these points in finer detail [0][1]. I guess my question is — are there replacements planned for any of the legacy yet performant XPCOM interfaces / XUL elements like n…

    Comment linking /post/why-did-mozilla-remove-xul-addons/

    on “Google Docs will now use canvas based rendering”
  4. Submitted Programming languages that blew my mind (2023) as a story · 370 points

    HN discussion
  5. I believe this is the best account: https://yoric.github.io/post/why-did-mozilla-remove-xul-addo...

    Comment linking /post/why-did-mozilla-remove-xul-addons/

    on “Firefox Was Always Enough”
  6. Submitted Towards a JavaScript Binary AST as a story · 310 points

    HN discussion
  7. So when FF reduces customization by changing the extension system they are bad. When they let you customize the UI ad-infinitum through userChrome.css it's because, "its UI is THAT bad.". Right, got it, FF bad. Some of the devs who have worked on the FF extension system over the years both before and after the changes have blogged about why they had to do what they did, https://yoric.github.io/post/why-did-mozilla-r…

    Comment linking /post/why-did-mozilla-remove-xul-addons/

    on “Mozilla has defeated Microsoft’s default browser protections in Windows”
  8. Submitted Typestates in Rust (2018) as a story · 205 points

    HN discussion
  9. Oops. This is why I try not to rush HN comments. This one I did and tried to remove my partial list of complaints about Mozilla and left one element, that’s not the most important one.¹ Mozilla markets Firefox as ‘the only browser made for people, not profit’. But they’ve done the exact opposite time and time again. Virtually the single most prominent UI element, the omnibar, has been sold out to the single largest…

    Comment linking /post/why-did-mozilla-remove-xul-addons/

    on “Supporting Linux kernel development in Rust”
  10. Submitted What would it take to add refinement types to Rust? as a story · 136 points

    HN discussion
  11. > like XUL depreciation There were specific reasons for that: https://yoric.github.io/post/why-did-mozilla-remove-xul-addo...

    Comment linking /post/why-did-mozilla-remove-xul-addons/

    on “Supporting Linux kernel development in Rust”
  12. Submitted Things to do before your project dies as a story · 96 points

    HN discussion
  13. I will give you a few examples. My knowledge of Ada is insufficient, so I'll let you tell me whether Ada can solve that without using an external prover (note: being able to use an external prover is great and I haven't seen this done in Rust yet :) – but that's not the topic at hand). 1/ Consider a file `f` (or a socket, etc.). Using the standard library, Rust will statically ensure that, once the file is closed, y…

    Comment linking /post/rust-typestate/

    on “Implications of Rewriting a Browser Component in Rust”
  14. Submitted A Few Words About Async as a story · 89 points

    HN discussion
  15. Got it, now it makes sense :) I may accidentally have been inspired from your message when I wrote the following piece, yesterday: https://yoric.github.io/post/formal-ai/

    Comment linking /post/formal-ai/

    on “A messy experiment that changed how I think about AI code analysis”
  16. Submitted What would it take to add refinement types to Rust? as a story · 26 points

    HN discussion
  17. I also hate they had to kill XUL addons, but they had good reasons to do so: https://yoric.github.io/post/why-did-mozilla-remove-xul-addo...

    Comment linking /post/why-did-mozilla-remove-xul-addons/

    on “Google sets burial date for legacy Chrome Extensions, fears for ad-blockers grow”
  18. Submitted (Quite) a Few Words About Async as a story · 5 points

    HN discussion
  19. I hesitate to reply to this, because it's such a caricature of negativity. It's kind of a rollup of all of the crap that HN comes up with to fling at Mozilla. Everything has some kernel of truth in it, but it's pretty heavily buried. 1) The majority of developers at Mozilla are working on Firefox. Many more than 50. It is true that we have fewer staff than Google has working on Chrome (Mozilla is less than half, I h…

    Comment linking /post/why-did-mozilla-remove-xul-addons/

    on “What happened to Firefox Send?”
  20. Submitted Typestates in Rust as a story · 5 points

    HN discussion
  21. > If it is so unpopular, how come Firefox hasn’t axed it? "I don't like it and some people I know don't like it" is not evidence for something being unpopular in general. > How come only popular things like advanced extension support gets axed? https://yoric.github.io/post/why-did-mozilla-remove-xul-addo...

    Comment linking /post/why-did-mozilla-remove-xul-addons/

    on “Firefox 80”
  22. Submitted Units of Measure in Rust, with Refinement Types as a story · 4 points

    HN discussion
  23. One example that comes to mind is type state [0]. I'm not aware of any other language (including those with support for dependent types, like Agda) where these properties can be checked without external static analysis tools and the problems they bring. [0] https://yoric.github.io/post/rust-typestate/

    Comment linking /post/rust-typestate/

    on “Rust Ownership Rules”
  24. Submitted (Quite) a few words about async as a story · 3 points

    HN discussion
  25. Defining async is hard. And I'm writing this as one of the many people who designed async in JavaScript. I don't quite agree with the definition in this post: just because it's async doesn't mean that it's correct. You can get all sorts of user-land race conditions with async code, whether it uses `async`/`await` (in languages that need/support it) or not. My latest formulation (and I think that it still needs work)…

    Comment linking /post/quite-a-few-words-about-async/

    on “Asynchrony is not concurrency”
  26. Submitted Go Zero Values as a story · 3 points

    HN discussion
  27. So does Firefox, btw. This is addressed here: https://yoric.github.io/post/binary-ast-newsletter-1/#improv...

    Comment linking /post/binary-ast-newsletter-1/

    on “Towards a JavaScript Binary AST”
  28. Submitted Possibly one step towards named arguments in Rust as a story · 3 points

    HN discussion
  29. > If parsing is so slow, maybe browsers should be caching the parsed representation of javascript sources to speed up page loading, or even better: the bytecode/JIT-generated code. This is addressed in the article: https://yoric.github.io/post/binary-ast-newsletter-1/#improv...

    Comment linking /post/binary-ast-newsletter-1/

    on “Towards a JavaScript Binary AST”
  30. Submitted Rust Typestates as a story · 3 points

    HN discussion

Search all of HN for yoric.github.io

Linked by the same people?