M
Michael Bernstein
michaelrbernste.in · Personal blog · on HN since 2013
Michael Bernstein writes about garbage collection, distributed systems history, and how programmers learn, drawing on research papers.
What HN saysCommenters cite his real-time garbage collection post to argue such collectors exist, and praise his distributed systems archaeology talk from RICON 2013.
34HN people shared it
10linked it in comments
65stories submitted
864story points
1 year agolast shared
2013people per year2026
Most-shared posts
- 1Real-Time Garbage Collection Is Real8 people · 178 points · first shared 2013 · 61 comments on HN
- 2Matter, Anti-Matter, and the Unified Theory of Garbage Collection4 people · 56 points · first shared 2013 · 1 comments on HN
- 3Should I read papers?4 people · 7 points · first shared 2014 · 1 comments on HN
- 4The Only Sure Thing In Computer Science3 people · 100 points · first shared 2013 · 63 comments on HN
- 5Distributed Systems Archaeology [video]3 people · 19 points · first shared 2013 · discussion on HN
- 6Learning How To Learn Programming3 people · 4 points · first shared 2013 · discussion on HN
- 7What Is Declarative Programming (2013)2 people · 55 points · first shared 2013 · 43 comments on HN
- 8Why We Need Explicit State2 people · 6 points · first shared 2013 · discussion on HN
- 9To Know A Garbage Collector: Video2 people · 3 points · first shared 2013 · discussion on HN
- 10Distributed Systems Archaeology, Part One2 people · 2 points · first shared 2013 · discussion on HN
- 11Types Are The Truth1 people · 132 points · first shared 2014 · 102 comments on HN
- 12Formalizing Concurrency, Distribution, and Mobility1 people · 71 points · first shared 2013 · 4 comments on HN
- 13What Lazy Evaluation Really Means1 people · 46 points · first shared 2013 · 15 comments on HN
- 14Lisp is Abstract Syntax1 people · 35 points · first shared 2014 · 54 comments on HN
- 15Declarative Computation, Syntactic Sugar, and the Abstract Machine1 people · 31 points · first shared 2013 · 6 comments on HN
What HN people wrote when they linked it
macintux · 2021-01-20
Some of the best talks I've been fortunate enough to catch have been archaeological expeditions.
MRB's was the first I attended, at RICON 2013:
https://michaelrbernste.in/2013/11/19/distributed-systems-archaeology-…
I wasn't lucky enough to catch it live, but Bret Victor's classic "The Future of Programming" is worth watching if you haven't already:
http://worrydream.com/dbx/
And I might as well plug my own talk about the CS papers on logical time, not nearly on the caliber of the above:
https://youtu.be/b_swtL5bxJg
mrbbk · 2014-07-14
This is a beautiful result that I've written up and spoken about a few times - http://michaelrbernste.in/2014/02/24/papers-we-love-garbage.html - it's surprisingly deep and foments a deep intuition that may developers have.
fouric · 2021-05-07
Already discussed in 2017[1] and 2014[2]. Blog post overview at [3].
[1] https://news.ycombinator.com/item?id=14823054
[2] https://news.ycombinator.com/item?id=8028777
[3] https://michaelrbernste.in/2013/06/12/matter-anti-matter.html
nickpsecurity · 2020-01-08
Don't rule real-time out. Real-time GC's exist. People just need to build open ones for these languages. Example write-up on this:
http://michaelrbernste.in/2013/06/03/real-time-garbage-collection-is-r…
Varriount · 2016-05-27
As I said in another thread recently, garbage collectors don't have to be of the stop-the-world, non-deterministic kind. It's perfectly possible to have real-time garbage collection [1], and the language I commonly work with supports soft real-time use with the default GC [2]. I'm no expert on garbage collection techniques, but what I have picked up is that most of the challenge lies in timing of the collections (when to run the GC) and how to deal with things like cycles.
[1] http://michaelrbernste.in/2013/06/03/real-time-garbage-collection-is-r…
[2] http://nim-lang.org/docs/gc.html
ttflee · 2015-02-21
Yes, I have heard of some algorithms that consume a lot more memory to balance timing.
E.g.: http://michaelrbernste.in/2013/06/03/real-time-garbage-collection-is-r…
swah · 2014-12-04
Ok found the answer
http://michaelrbernste.in/2014/10/21/should-i-read-papers.html
thamer · 2014-07-14
See also Michael Bernstein's articles and talks on the subject, including the paper linked: http://michaelrbernste.in/2013/06/10/to-know-a-garbage-collector-goruc…
mtrn · 2013-11-14
If you are in for the hype, it might be tiresome. Once you mastered the tech, it goes out of fashion.
If you try to be in for a new perspective, it might be useful, since 'Everything is a tradeoff' (tm ;)[1]. Currently I evaluate tradeoffs between speed, readability and maintainability.
In case of Go, I'm also interested in how someone like ken designs a language today.
[1] http://michaelrbernste.in/2013/11/13/the-only-sure-thing-in-computer-s…
boyaka · 2015-09-09
Warning: I am neither a skilled nor experienced programmer. I would say the kernel of programming languages is more practically something like C, assembly, or machine language. Kernel implies containing the core functionality, the building blocks. Van Roy's kernel language does seem to contain core ideas for ideal programming languages, even though it doesn't seem to translate well to existing hardware / machine language.
After reading a bit about it I started to think of it as pseudocode for programming languages, and I thought I'd share some results from my searching based on that idea [1].
"In terms of the kernel language itself, it is in fact its own programming language, a sort of "runnable pseudocode" that is executable in the Mozart/Oz platform."
Here's an interesting link I found by searching for database pseudocode [2]. This delves into the topic of "NoSQL", which might be helpful in your database basics research, but it also covers other database basics.
I am also not very skilled nor experienced with databases, but based on your request, one database that comes to mind for me is Berkeley DB. It is the building block for lots of other technologies, and is also considered one of the origins of the NoSQL concept. Here's a recent relevant discussion that probably made me think of it [3] (that and it is the basis for a distributed filesystem I'm studying). Also, check out the Wikipedia for it, and (maybe obvious to you already) searching site:news.ycombinator.com…