Skip to content
0:00 / 0:00

#midori#rust#singularity

RustConf 2017 - Closing Keynote: Safe Systems Software and the Future of Computing by Joe Duffy

Confreaks

42K subscribers • 73 videos on Hallway • Conference channel

YouTube
  • Recommended by 4 people: 2 on Hacker News, 1 on Lobsters and 1 in engineering communities.
  • Presented by Joe Duffy
  • An opinion. It argues one side of a question engineers disagree on.

Intermediate. Assumes working knowledge.

2.4K views9 years ago4 recommendations

Systems programmingSecurityOperating systemsRustSoftware architecture

Joe Duffy shares lessons from building Midori, a safe operating system at Microsoft, and discusses the challenges of bringing safe systems programming to Windows.

Closing Keynote: Safe Systems Software and the Future of Computing by Joe Duffy Someday in the future, all important systems software on the planet will be written in a safe programming language. The questions are, when, and how do we get there? In this talk, I will describe my experiences at Microsoft building a new operating system written entirely in a Rust-like safe systems language. I will also talk about my subsequent efforts taking those experiences and applying them to the heart of Windows, and the associated technical and cultural challenges.

Why it's here

4 people recommend this

What people say. Highly recommended as an excellent talk on the practical challenges and benefits of safe systems programming and OS design.

u/oilshellin r/ProgrammingLanguages • Recommends

Safe Systems Software and the Future of Computing by Joe Duffy

nickpsecurityon Lobsters • Recommends

Closing Keynote: Safe Systems Software and Future of Computing by Joe Duffy (2017)

chuboton Hacker News • Recommends

On “Some Were Meant for C: The Endurance of an Unmanageable Language [pdf]”

Related: "Safe Systems Software and the Future of Computing by Joe Duffy" at RustConf 2017. link to this video I summarized this excellent talk here 1, but one of the main points is that compatibility with existing systems is important for adoption. (They learned that the hard way -- by having their entire project cancelled and almost everything thrown out.) He advocates unit-by-unit rewrites rather than big-bang rewrites, just like Kell does in this conference article. And compatibility with C in Windows should be easier than it is in the Unix world, because the whole OS is architected around a binary protocol AFAIK -- COM. My sense is that Rust may not have thought enough about compatibility early…

shepmasteron Hacker News • Recommends

On “Blogging about Midori (2015)”

See also "Safe Systems Software and the Future of Computing" by Joe Duffy, the closing keynote at RustConf 2017: link to this video Midori and Rust have several striking similarities, and Microsoft's recent uptick in interest in Rust (and Rust-like languages) bodes well for improved software quality.

pjmlpon Hacker News • Mentions

On “Re: Moving from PHP to Go and Back Again”

It doesn't matter what Rob Pike says regarding Go and systems programming, because Google, the company that employs him, has decided Go makes sense to write system components of Fucshia in Go. That is a fact, easily validated in Fuchsia's repository. According to you, Rob Pike should call management and let them know it is not a good idea to use Go for writing Fuchsia's TCP/IP stack. You only read Joe's blog years ago, yet you missed the talks he gave. Two years ago is not that long time ago, link "My biggest regret is that we didn’t OSS it from the start, where the meritocracy of the Internet could judge its pieces appropriately. As with all big corporations, decisions around the destiny…

Promargedon Hacker News • Mentions

On “Google’s Fuchsia OS on the Pixelbook: It Works It Actually Works”

I don't know why but I'm actually less excited about Fuchsia than the old Singularity/Midori. As Joe Duffy said 0 when they worked on Midori they also wrote UI, editors, browsers and many more applications in months so it's not surprising Google engineers also managed that. 0: link to this video For me it looks like the classic Not Invented Here syndrome - we already have microkernels, even formally verified ones (seL4) but AFAIK Google didn't want that to "be more flexible". Using C for kernel also looks like a poor choice nowadays, unless Google has some magic static analysis (for example Singularity/Midori had custom languages with ownership tracking akin to Rust). Maybe Fuchsia is for bringing…

pjmlpon Hacker News • Mentions

On “D on embedded Linux (ARM)”

…e @nogc friendly. As for reaching mainstream, I share your thoughts. It is not only Rust and Go. There is also Swift, C++17 and the ongoing improvements to make Java and C# more machine friendly (memory management and AOT compilation). Still, even if just a small group gets to use it, it is already a victory. Most languages never achieve it. 0 - link to this video 1 - link…

pjmlpon Hacker News • Mentions

On “The Evolution of C Programming Practices: A Study of Unix (2016) [pdf]”

First of all, there is no such language as C/C++. C++ although tainted by copy-paste compatibility with C89, does offer the language features for security conscious developers to make use of, and C++17 is quite a pleasure to use. C on the other hand could be nuked for what I care, it has been clear since 1979 that security and C would never go together. Now regarding your assertions. z/OS was initially written in a mix of Assembly and PL/I. C and C++ came later into the picture as the system got a POSIX personality. The way to write libraries exposed to all languages available on z/OS is via the z/OS Language Environment. Chapter 9.12 of z/OS Basics, link .NET has hardly any pure C code, r…

pjmlpon Hacker News • Mentions

On “A History of .NET Runtimes”

At RustConf 2017 keynote presented by Joe Duffy regarding Midori at a certain moment, he mentions that even with Midori running in front of them, WinDev guys were still not open to the idea of such kind of system being possible. "Safe Systems Software and the Future of Computing" link to this video Sorry a bit lazy to track down the exact moment.

pjmlpon Hacker News • Mentions

On “A Look into CBL-Mariner, Microsoft’s Internal Linux Distribution”

…nk] Yet Android, ChromeOS, Midori are examples of what happens when actually everyone works into the same direction bringing an OS into production. Joe Duffy does some remarks on his two talks, where he hints at why it was a failure to fight Windows culture "Systems Programming in C# " - link "Safe Systems Software and the Future of Computing" - link to this video Note that for some time the Asian Bing nodes were actually running on top of Midori as production test. A big decision of Vista, was to replicate the .NET design using COM instead (hello WinDev), hence…

pjmlpon Hacker News • Mentions

On “Singularity – Microsoft’s Experimental OS”

The usual politics, from .NET vs C++ at Microsoft. Here Joe Duffy mentions towards the end that even with Midori running in front of them, the Windows team was sceptical of it. link to this video Since .NET's introduction, Microsoft seems to lack the same kind of culture that Apple and Google have towards into steering their platforms into safer languages (e.g. how constrained NDK happens to be, or first class bindings to all OS APIs in Swift). It appears that every attempt to do so ends up being sabotaged in some way to assure C++'s reign at Microsoft and Windows subsystems. Note that Windows is the only desktop/mobile OS where the GUI stack is still fully C++ aware, and they even make a point out of…

pjmlpon Hacker News • Mentions

On “The wild world of non-C operating systems”

Regarding Midori, besides the blog posts, Joe Duffy did two talks about the subject, "RustConf 2017 - Closing Keynote: Safe Systems Software and the Future of Computing by Joe Duffy" link to this video "Safe Systems Programming in C# and .NET" link In one of them, he mentions that even with Midori proving its value to the Windows team, they were quite dimissive of it. It appears to have also been yet another victim of the usual DevDiv vs WinDev politics.

pjmlpon Hacker News • Mentions

On “Safe Native Code: The Midori Compiler”

See also from him, Safe Systems Programming in C# and .NET link RustConf 2017 - Closing Keynote: Safe Systems Software and the Future of Computing link to this video The latter has some remarks on how the WinDev disregarded Midori efforts even with the system proving its value in workloads like Bing0. 0 - link

pjmlpon Hacker News • Mentions

On “Recommendation for non-DOS/Unix open source OS outside x86/X64”

…ts, link SPIN, done in Modula-3 link Singularity, link link Midori, although no source code, the blog posts, existing talks and internal session at Microsof do provide some nice overview, link "The Midori Operating System Overview" link "Safe Systems Programming in C# and .NET" link "Safe Systems Software and the Future of Computing" link to this video Xerox PARC Mesa, used on the Xerox Star OS link link link Xerox PARC Cedar, used on Dorado platforms link link link link link Xerox PARC Smalltalk, original documentation can be taken from link - Smalltalk-80, Bits of History, Words of Advice - Smalltalk-80: The Language and its Implementation - Smalltalk-80, The Interacti…

pjmlpon Hacker News • Mentions

On “.NET 10 Preview 6 brings JIT improvements, one-shot tool execution”

…ence of Windows 7 is best accessed through a powerful, flexible language, and that means C++: by using C++ you can access the raw power of the APIs for Windows 7." From link Joe Duffy has some remarks on how even with Midori running Asia Bing infrastructure, and proving workloads in front of the Windows team, the reception to it was rather cold. link to this video Eventually he left MSR and created Pulumin on top of Go. Meanwhile Apple/NeXT and Google, decided to push languages like Objective-C, Swift, Java, Kotlin, over classical C and C++, proving the point that change is possible if management is willing to support the team, even if that is a very long run. See Apple's Metal Swift bindings, versus…

pjmlpon Hacker News • Mentions

On “New OS aims to provide (some) compatibility with macOS”

Mostly because of internal politics, it was used in production for Bing. > While never reaching commercial release, at one time Midori powered all of Microsoft’s natural language search service for the West Coast and Asia. From link Enjoy this recording of an internal presentation, while it is still available on YouTube, link Joe Duffy also did a few presentations, on one of them (too lazy to search for the exact moment), he mentions that even with Midori running in front of them, the Windows team was very sceptical of it, "RustConf 2017 - Closing Keynote: Safe Systems Software and the Future of Computing by Joe Duffy" link to this video "Safe Systems Programming in C# and .NET" link