S

Stephen Kell

humprog.org/~stephen · Personal blog · on HN since 2021

Stephen Kell is a researcher who writes papers and posts on programming languages, C, Unix, and software abstractions.

What HN saysCommenters recommend his paper "Unix, Plan 9 and the Lurking Smalltalk" on late binding and Smalltalk-like systems, and cite his C paper to explain why C stays the lingua franca.
36HN people shared it
15linked it in comments
46stories submitted
449story points
3 months agolast shared
2021people per year2026

Most-shared posts

  1. 1
    Unix, Plan 9, and the lurking Smalltalk [pdf]
    8 people · 8 points · first shared 2022 · 13 comments on HN
  2. 2
    Some Were Meant for C (2017) [pdf]
    7 people · 29 points · first shared 2021 · 8 comments on HN
  3. 3
    A tiny self-remaking C program
    3 people · 123 points · first shared 2024 · 45 comments on HN
  4. 4
    Reversing Abstractions: An Existential Crisis
    3 people · 4 points · first shared 2026 · discussion on HN
  5. 5
  6. 6
    Homepage
    3 people · first shared 2022
  7. 7
    How to wrap a C compiler and preprocessor, really
    2 people · 81 points · first shared 2024 · 3 comments on HN
  8. 8
  9. 9
    Software substrates: should there be only one? [pdf]
    2 people · 4 points · first shared 2025 · discussion on HN
  10. 10
    Tracing system calls in-process, using a chain loader
    2 people · 4 points · first shared 2021 · discussion on HN
  11. 11
  12. 12
  13. 13
    The operating system: should there be one? (2013) [pdf]
    2 people · 1 points · first shared 2023 · discussion on HN
  14. 14
  15. 15
    Motto: Unsafe languages allow mostly-safe implementations
    1 people · 51 points · first shared 2022 · 6 comments on HN

What HN people wrote when they linked it

johndoe0815 · 2023-01-02
I can recommend Stephen Kell's publications on this topic, e.g. "Unix, Plan 9 and the Lurking Smalltalk": https://www.humprog.org/~stephen/research/papers/kell19unix-personal.p… Video: https://www.youtube.com/watch?v=LwicN2u6Dro More on Stephen's research can be found at https://www.humprog.org/~stephen/
jhatemyjob · 2025-12-06
People use C not because they like it, but because its the lingua franca [1]. As long as The Unix Programming Environment [2] remains dominant, The C Programming Language [3] will too. 1. https://humprog.org/~stephen/research/papers/kell17some-preprint.pdf 2. https://amazon.com/dp/013937681X 3. https://amazon.com/dp/0131103628
myaccountonhn · 2025-08-25
I actually read a decent paper on that a while back Unix, Plan 9 and the Lurking Smalltalk https://www.humprog.org/~stephen/research/papers/kell19unix-personal.p… Late binding is a bit out of fashion these days but it really brings a lot of cool benefits for composition.
linguae · 2025-05-14
You might be interested in this paper: "Unix, Plan 9 and the Lurking Smalltalk" (https://www.humprog.org/~stephen/research/papers/kell19unix-personal.p… Cuis Smalltalk and related implementations are rather self-contained systems to the point they seemed walled off from the rest of the system, making it difficult to develop Smalltalk programs using external tools. However, there's something compelling about the idea of a Smalltalk (or Lisp) OS running on bare hardware, where everything runs in a single address space. I've been thinking about this for a few years, but I haven't had time to pursue these ideas. Some ideas from the 1994 paper "Sharing and Protection in a Single-Address-Space Operating System" (https://homes.cs.washington.edu/~levy/opal.pdf) could be applicable to add some security to a Smalltalk OS.
lproven · 2024-12-14
> Thats kind of just redefining the OS though, and what a programming language is. Well, yes. I am not deeply knowledgeable about the detailed history of Smalltalk, but my impression is that Alan Kay had the ideas and Ingalls wrote the code and made it work. He may be excused some bias. :-) > You could argue that an OS is just another high level virtual machine. Hmmmm. I think it depends on the OS. OTOH, and I read this, barely understood it and disagreed with what I understood: https://www.humprog.org/~stephen/research/papers/kell19unix-personal.p…
gnuvince · 2024-03-05
Your mention of a "universal API" reminded me of the paper "Some Were Meant for C" [1] in which the author argues that one of the most important feature of C is its "communicative design", i.e., its ability to manipulate any memory -- whether this memory originates from the program or is foreign -- with the usual C operators (+, *, [], <<, >>, etc.) [1] https://www.humprog.org/~stephen//research/papers/kell17some-preprint.…
philzook · 2024-01-29
You might find this work and talks on liballocs by Stephen Kell interesting. The pitch is how to enable smalltalk like reflection for unix as it exists today. https://www.humprog.org/~stephen/#works-in-progress
LanternLight83 · 2023-07-18
This thread reminds me of the essay, "Some were meant for C" https://www.humprog.org/~stephen/research/papers/kell17some-preprint.p…
asdftemp · 2022-11-07
sorry about the misleading title choice; it’s quoted from the author’s homepage in reference to this work: https://www.humprog.org/~stephen/ also, could be marked [2017]
chrisseaton · 2022-11-07
nsm · 2021-09-16
Whenever I read news about the kernel surfacing more traditionally OS level features to user space, I'm reminded of Stephen Kell's "Unix, Plan 9 and the Lurking Smalltalk"[1]. There are a lot of parallels between the Smalltalk VMs (where nearly everything about the system is editable and accessible to the user) and where Linux is heading in certain respects, except going there by a very round-about way and relying on very limited binary formats and C instead of high level languages and live objects. [1]: https://www.humprog.org/~stephen//research/papers/kell19unix-personal.…
jaen · 2026-05-27
Your intuition is not right, I have plenty of experience with REPL-driven development, even having used all the tools you have mentioned in your post. (and Clojure Spec is exactly the runtime specification part I was referring to in my comment...) Logically, it's more the other way around - REPLs are in that sense a compensation for static types, since nothing forbids having a REPL and static types (see: eg. Julia. OCaml, Haskell, Scala etc. have REPLs too, but they are closed-world). There's a fundamental trade-off though, with the open- vs closed-world assumption - if your types and (generic) methods are open world, then certain kinds of errors are just not analyzable. As you hinted, REPLs also don't work well for eg. large pipelines farmed out to clusters of machines, or anything that requires a high degree of static assurance, eg. control software - you either must statically analyze for all errors for it to even be legal, or the cost of having to "live fix" an error is much larger than preventing it in the first place (or just impractical for clusters). Sure, a degree of live patching and experimenting is desirable (namedrop JPL as Lispers do), but that's a somewhat orthogonal concern. A Lisp-style REPL combines introspection and live patching for both code and data. This can be achieved in many heterogenous ways besides a REPL, though. It's just not a nice, curated and holistic experience. But agents don't really care about that. LLMs don't get magic feelings.…
chubot · 2024-04-22
(author here) It's an old name for an old concept :) See the previous post The Internet Was Designed With a Narrow Waist, especially the appendix with some history https://www.oilshell.org/blog/2022/02/diagrams.html The name was apparently coined by Jon Postel in the late 1970's, but this fact is not well known. There are some misattributions in the appendix I apparently learned the term from a talk by Van Jacobsen on Named Data Networking at Google in 2006, but I forgot that I learned it that way! After I wrote the post, a reader Caleb Malchik reminded me about Van Jacobsen's talk, and then I went back and watched it, and realized that's where I got the term from! I then updated the appendix. --- I have searched Hacker News for "narrow waist", and it surprised me that it's not a very well known idea, despite being old and important. (And again - I wrote these articles specifically to gather related material from others, so I welcome any updates or corrections.) One place you can see it in passing is in a 2013 paper from Steven Kell - The operating system: should there be one? https://www.humprog.org/~stephen/research/papers/kell13operating.pdf Search for "waist in the hourglass" --- If you think about it, it is not surprising that the "narrow waist" concept from networking is becoming more important to software. Software has become more and more networked for the last 2 decades, and I don't think that trend has even topped out. It is hard to find any kind…
jonjacky · 2024-01-19
Don't overlook books that are critical of engineering as it is often practiced and how it fits into our society: Computer Power and Human Reason by Joseph Weizenbaum (1976). Weizenbaum wrote Eliza, the first AI chatbot, almost sixty years ago and was appalled at the reception. This book is still very pertinent, especially the Introduction, Chapter 1 On Tools, chapter 9, Incomprehensible Programs, and chapter 10, Against the Imperialism of Instrumental Reason. Chapter 4, Science and the Compulsive Programmer, is one of the first written accounts of the hacker culture. Weizenbaum's original paper on Eliza (1966) [0] is still very pertinent to the present generation of chatbots, especially the introduction and discussion. Tools for Conviviality, Ivan Illich (1973) [1]. Influenced recent work by the computer scientists Steven Kell [2],[3] and Kartik Agaram [4]. Computation and Human Experience, Phil Agre (1997) (excerpt at [5]). Agre got a PhD in AI at MIT in the 80s and 90s and became very critical of the field. I think his shorter writings [6][7] are a better introduction, especially the personal memoir at [6]: "about how I became (relatively speaking, and in a small way) a better person through philosophy." 0. https://dl.acm.org/doi/10.1145/365153.365168 1. http://akkartik.name/illich.pdf 2. https://www.humprog.org/~stephen//research/talks/kell19de-escalating-i… 3. https://www.humprog.org/~stephen//research/talks/kell19software-slides… 4.…

Keyboard shortcuts

/Search
j kNext / previous blog
EnterOpen selected blog
vVisit the blog site
fFollow / unfollow
lSwitch grid / list view
dSwitch dark mode
g hHome
g pTop posts
g tTopics
g fFollowing
g lLiked
g yHistory
g qFAQ
EscBack / close