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

Top all-time · #378

J

Joe Duffy

Personal blog · joeduffyblog.comprogrammingsystems

Joe Duffy's personal blog at joeduffyblog.com covers programming and systems. Since 2013, 147 different Hacker News readers have linked it 206 times, most often “Blogging about Midori (2015)”. The last post was in 2019, but the archive is still widely read.

Visit the blog
206mentions?
8recommend?
147HN people?
2013–2026first – last linked?
Links on Hacker News per year · peak 27 in 2016

Sometimes recommended · 8 of 40 sampled comments recommend it?

Why HN links it

HN readers cite Joe Duffy's blog for long posts on OS and language design, mainly from his Midori work at Microsoft, including async, error handling and object capabilities.

Recommended for · 8 comments
One commenter calls the blog great and says it has long posts on OS and language design; others call the Midori error-model post very good, excellent, and worth12345678

Summarised by Claude from a sample of 40 HN comments that link here. Each comment is marked recommending, critical or neutral (citing without judging); how this works.

Joe Duffy's Blog | Adventures in the high-tech underbelly

Most-linked posts?

  1. Blogging about Midori (2015)
    36 people · 45 mentions · first linked 2015-11-14
  2. The Error Model in Midori
    18 people · 20 mentions · first linked 2016-02-07
  3. Asynchronous Everything (2015)
    16 people · 16 mentions · first linked 2015-11-20
  4. The Error Model (about modern, robust error handling strategies)
    13 people · 13 mentions · first linked 2023-01-03
  5. Joe Duffyging about Midori (2015)
    12 people · 16 mentions · first linked 2022-01-31
  6. C# for Systems Programming (a new language from Microsoft's OS incubation)
    8 people · 9 mentions · first linked 2013-12-27
  7. Objects as Secure Capabilities
    8 people · 8 mentions · first linked 2015-11-11
  8. Safe Native Code
    6 people · 7 mentions · first linked 2015-12-19
  9. A (brief) retrospective on transactional memory (2010)
    6 people · 7 mentions · first linked 2014-05-16
  10. A Brief Retrospective on Software Transactional Memory (2010)
    5 people · 7 mentions · first linked 2023-06-14

What Hacker News says?

  1. Are you aware of the history of object-capability programming languages? There are multiple actual demonstrations of real-world ocaps programming languages and projects built with them: * The (now defunct) E programming language: http://erights.org and Joule: https://en.wikipedia.org/wiki/Joule_(programming_language) * Pony: https://www.ponylang.io * Monte: http://www.monte-language.org * The Midori project at Micro…

    Comment linking /2015/11/10/objects-as-secure-capabilities/

    on “Dependency Confusion: How I Hacked Into Apple, Microsoft and Other Companies”
  2. Submitted 15 Years of Concurrency as a story · 355 points

    HN discussion
  3. msangi · 2017-03-12Recommends
    http://joeduffyblog.com is great, albeit it's far from being daily. It has long posts about operating system and programming language design

    Comment linking /

    on “Ask HN: What are some good technology blogs to follow?”
  4. Submitted Pulumi – A new open-source cloud development platform as a story · 317 points

    HN discussion
  5. TPL (and PLINQ) raise the level of abstraction. They discourage the use of mutable shared memory and low-level locks. They encourage the use of immutable or thread-safe data structures. Joe Duffy, who had originally done quite a bit of initial work on the TPL, argues in favor of this paradigm[0] of raising the abstraction level. I feel like introducing the low-level tools without providing a raised abstraction level…

    Comment linking /2016/11/30/15-years-of-concurrency/

    on “ECMAScript 2017 Language Specification”
  6. Submitted The Error Model in Midori as a story · 146 points

    HN discussion
  7. They had a project called "Midori" which was a new operating system (I believe including browser?) written in a C# derivative. The blog posts on it are fascinating stuff, diving into some greenfield decisions for both language design and OS design. http://joeduffyblog.com/2015/11/03/blogging-about-midori/ It's interesting to compare what we know of "Midori C#" to Rust.

    Comment linking /2015/11/03/blogging-about-midori/

    on “What's the future of Servo?”
  8. Submitted Safe Native Code as a story · 141 points

    HN discussion
  9. What we do with the spin lock classes that we use in our products is a SwitchToThread call: https://msdn.microsoft.com/en-us/library/windows/desktop/ms6... If the SwitchToThread call returns False, then the code reverts to a Sleep(0) call instead. Credit to StackOverflow and Joe Duffy's excellent article on this: https://stackoverflow.com/questions/1383943/switchtothread-v... http://joeduffyblog.com/2006/08/22/prior…

    Comment linking /2006/08/22/priorityinduced-starvation-why-sleep1-is-better-than-sleep0-and-the-windows-balance-set-manager/

    on “Why Skylake CPUs Are Sometimes 50% Slower”
  10. Submitted Performance Culture as a story · 122 points

    HN discussion
  11. It was MSR: http://joeduffyblog.com/2015/11/03/blogging-about-midori/ Yeah, their verification tools are incredible. They applied VCC to Hyper-V. The driver tools mostly wiped out blue screens. Got a new one called P language used in USB stack. The methods you mentioned like Dafny got applied in ExpressOS by another team: https://github.com/ExpressOS/expressos Microsoft did it first in VerveOS although Nucleus was r…

    Comment linking /2015/11/03/blogging-about-midori/

    on “What made Xerox PARC special? Who else today is like them?”
  12. Submitted The 'premature optimization is evil' myth (2010) as a story · 94 points

    HN discussion
  13. async/await as we know it actually came from Midori's C# dialect, which indeed was inspired from F#: http://joeduffyblog.com/2015/11/19/asynchronous-everything/ (Although, just to be pedantic, the concept of futures is way older than F#. Alice's syntax, for example, is pretty close)

    Comment linking /2015/11/19/asynchronous-everything/

    on “JavaScript async/await implemented in V8”
  14. Submitted Asynchronous Everything (2015) as a story · 64 points

    HN discussion
  15. It's also potentially faster and more efficient than goroutines, because it packs the state to be shared on context switches into what is typically a very tight structure instead of saving the entire stack. I'm sure you already know this, but for anyone new to design in concurrency backends, not only does async/await (CPS) have the potential to really trounce goroutine-style concurrency in modern systems, but if you…

    Comment linking /2015/11/19/asynchronous-everything/

    on “Visual Studio Code for Go”
  16. Submitted Blogging about Midori (2015) as a story · 59 points

    HN discussion
  17. These uses of panic look a lot like the canonical use of unchecked exceptions in Java: the programmer has made an error, which they could have avoided. It's a bug. There's no point returning an error and letting the program try to recover, just blow up with as much information as you can, so the bug can be fixed. The canonical use of checked exceptions in Java is for unpredictable events - almost always related to i…

    Comment linking /2016/02/07/the-error-model/

    on “The State of Go”
  18. Submitted The Error Model (2016) as a story · 56 points

    HN discussion
  19. > I hope this philosophy do not reach the Linux kernel. Well, I hope it does. Albeit it almost certainly will not, because Linus is opposed to it. But ever since I read Joe Duffy's blog posts on the Midori research project at MS, I have been convinced that using panics leads to increased reliability, not decreased. From his blog[1]: "Given that bugs are inherently not recoverable, we made no attempt to try. All bugs…

    Comment linking /2016/02/07/the-error-model/

    on “Jiff: Datetime library for Rust”
  20. Submitted Midori: A Tale of Three Safeties as a story · 48 points

    HN discussion
  21. To be clear, not everybody agrees with Gor and although they still don't have much traction, stackful coroutines are still being proposed. Most (but admittedly not all) of Gor issues with stackful coroutines are due to current implementations being purely a library feature with no compiler support. Most of the issues (context switch overhead, tread local issues) can be solved with compiler support. The issue with la…

    Comment linking /2015/11/19/asynchronous-everything/

    on “Why choose async/await over threads?”
  22. Submitted On being stateful (2008) as a story · 38 points

    HN discussion
  23. How about https://joeduffyblog.com/2015/11/03/blogging-about-midori/

    Comment linking /2015/11/03/blogging-about-midori/

    on “Don't forget Microsoft”
  24. Submitted Asynchronous Everything as a story · 29 points

    HN discussion
  25. > Is async/await a good idea for an OS kernel, even a toy one? You might want to look at Joe Duffy's posts about Microsoft's Midori OS. In particular the post "Asynchronous Everything": http://joeduffyblog.com/2015/11/03/blogging-about-midori/ Their findings sound pretty compelling to me. Personally I'm convinced that eventually we'll see much more system-level use of async/await style mechanisms. Perhaps with Rust,…

    Comment linking /2015/11/03/blogging-about-midori/

    on “Writing an OS in Rust: Async/Await”
  26. Submitted Objects as Secure Capabilities as a story · 18 points

    HN discussion
  27. For starters, Xerox stuff for Interlisp-D, Smalltalk, Mesa and Mesa/Cedar, https://archive.org/details/bitsavers_xerox ETHZ Research https://people.inf.ethz.ch/wirth/ https://www.research-collection.ethz.ch/handle/20.500.11850/... "NEWP Programming Reference Manual" for ClearPath MCP (nee Burroughs B5000 in 1961) https://public.support.unisys.com/aseries/docs/clearpath-mcp... https://www.smecc.org/The%20Architecture…

    Comment linking /2015/11/03/blogging-about-midori/

    on “Mezzano – An operating system written in Common Lisp”
  28. Submitted Journey to Pulumi 1.0 as a story · 12 points

    HN discussion
  29. http://joeduffyblog.com/2015/11/03/blogging-about-midori/ There is also a really great blog about Singularity’s “rebirth” experimental OS, Midori, that continued in its footsteps.

    Comment linking /2015/11/03/blogging-about-midori/

    on “WebAssembly and Back Again: Fine-Grained Sandboxing in Firefox 95”
  30. Submitted Safe Native Code (Midori OS) as a story · 11 points

    HN discussion

Search all of HN for joeduffyblog.com

Linked by the same people?