We've been holding a Twitter Space weekly on Mondays at 5p for about an hour. Even though it's not (yet?) a feature of Twitter Spaces, we have been recording them all; here is the recording for our Twitter Space for August 23rd, 2021.
In addition to Bryan Cantrill and Adam Leventhal, speakers on August 23rd included Neal Gompa, Tom Lyon, Laura Abbott, Jeremy Tanner, Matt Campbell, Simeon Miteff and others. (Did we miss your name and/or get it wrong? Drop a PR!)
Some of the topics we hit on, in the order that we hit them:
- Last week's recording on "Showstopper" with author G. Pascal Zachary, and Jessamyn West.
- Ashton-Tate history
(there never was any Ashton, and dBASE II was the first version)
- dBASE IV was "slow, buggy" and didn't get fixed in a timely manner
- Last week, Pascal mentioned that CEO Ed Esber "in a fit of insanity admitted to me (a journalist) he didn't know how to use his company's own product!"
- Friday! personal information manager, and Sidekick from Borland (like Google calendar for DOS)
- @3:01
Phrasing: operating program (vs operating system)
- Steve Jobs 1992 MIT Sloan talk ~72mins on consultants, hiring people and leaving Apple (see mit.edu summary)
Jobs: NeXTSTEP is not an operating system, it's an operating environment
- July 5th recording discussing NeXT. Randall Stross book: Steve Jobs and the NeXT Big Thing (1993)
Mac OSX focused on user capabilities of the desktop environment, but they considered it one and the same with the operating system
- @7:42
Windows NT had "multiple personalities"
Adam: I was instantly transported to the 90's. Bryan: I could hear Smashing Pumpkins playing on the radio.
- Sun's Spring OS was the ne plus ultra of this approach
- Mach microkernel, GNU Hurd, Apple M1,
- Windows Subsystem for Linux WSL
Adam: Docker takes static linking to the extreme and just ships everything
- @12:40 Microkernels
Simeon: (Oxide) is working on a microkernel for Hubis, tell us about that
- Minix, and the Tanenbaum-Torvalds 1992 microkernel vs monolithic debate
- QNX Unix-like real-time OS
- See ACM ByteCast interview with Rashmi Mohan, Bryan tells the story ~3mins of coming to QNX after reading about it in the "Operating Systems Roundup" of Byte Magazine 1993 (see also Bryan's blog post and remembering Dan Hildebrand)
- L4 microkernel
- The QNX 1.44M demo disk
- The GUI was called Photon.
Bryan: why would we not run this (QNX) absolutely everywhere?
- @15:49
Laura on writing a microcontroller operating system
- Cliff Biffle's website
- Microkernels, root of trust, embedded systems
- There is very little (or no) dynamic memory allocation in Hubris.
- Tock multitasking embedded OS, and Bryan's "Tockilator: Deducing Tock execution flows from Ibex Verilator traces" video ~12mins
- In Tock, dynamic program loading is central. Hubris functions as a security-minded service processor. The programs it will use are all known in advance; so dynamic loading (and the accompanying security concerns) can be left out.
- Fit-to-purpose OSs
- @24:19
ROPI/RWPI (aka "Ropy Rippy") and the growing pains of RISC-V
- GitHub issue ROPI/RWPI Specification (Embedded PIC)
- OpenTitan, ARM Cortex-M
When we set out to write Hubris, we spent a lot of time reading and learning what's out there.
- QNX vs monolithic systems. QNX was robust against module failure, so bugs in modules were tolerable. At Sun, faults in a module were system faults, so bugs were unacceptable.
- Memory protection. Stack growing into (and corrupting) data segment, hard to debug.
- Stack corruption, a hit and run.
- @32:39 Humor: Oxide
rustfmt
bot is named Ozymandias- Percy Bysshe Shelley's "Ozymandias" poem
LOOK UPON MY REFORMATTING YE MIGHTY AND DESPAIR!
- stale bot, open source maintainers, communicating bugs and issues
- @39:54 Fun QNX bug story
- QNX wrote their own POSIX utilities, they wrote their own AWK
- QNX developers, incl. Peter van der Veen
- @43:00 How do you say...
Tom: Off with their eds!
- sed,
ps,
kubectl,
/etc/passwd
, QNX (quick UNIX)
- sed,
ps,
kubectl,
- @49:34 Octothorpe
- number sign, pound sign, hash
- ! pronounced "bang" (see shebang)
- * pronounced "star", "splat". (see regex Kleene star)
- ^ pronounced "caret", "hat".
- @53:45
INTERCAL
Bryan: is INTERCAL deliberately designed to be unusable?
Tom: it's designed to be hilarious.- INTERCAL was created by Don Woods and Jim Lyon (Tom's brother!) see the manual
Character | Name |
---|---|
. | spot |
: | two-spot |
, | tail |
# | mesh |
= | half-mesh |
! | wow |
? | what |
" | rabbit-ears |
% | double-oh-seven |
() | wax/wane |
{} | embrace/bracelet |
$ | big money |
/ | slat |
\ | backslat |
@ | whirlpool |
^ | shark or sharkfin |
- IBM 3270 terminal, EBCDIC Extended Binary Coded Decimal Interchange Code
- @55:25 Matt on screen readers, accessibility
If we got something wrong or missed something, please file a PR! Our next Twitter space will likely be on Monday at 5p Pacific Time; stay tuned to our Twitter feeds for details. We'd love to have you join us, as we always love to hear from new speakers!