Top all-time · #927
Room 101
Personal blog · gbracha.blogspot.comprogramming
Room 101 is a personal blog at gbracha.blogspot.com about programming. Since 2008, 74 different Hacker News readers have linked it 125 times, most often “Bits of History, Words of Advice”. The last post was in 2022, but the archive is still widely read.
Most-linked posts?
- Bits of History, Words of Advice9 people · 9 mentions · first linked 2020-05-25
- The miracle of Smalltalk’s become: (2009)8 people · 9 mentions · first linked 2018-09-10
- A DOMain of Shadows6 people · 9 mentions · first linked 2018-12-09
- Reified Generics: The Search for the Cure6 people · 6 mentions · first linked 2018-10-06
- Types Are Anti-Modular5 people · 5 mentions · first linked 2011-06-05
- A Ban on Imports (2009)4 people · 5 mentions · first linked 2019-08-27
- Room 101: A DOMain of Shadows3 people · 4 mentions · first linked 2014-09-30
- Maybe Monads Might Not Matter3 people · 3 mentions · first linked 2011-01-24
- Chased by One’s Own Tail (2009)3 people · 3 mentions · first linked 2023-04-09
- The Build is Always Broken3 people · 3 mentions · first linked 2020-01-07
What Hacker News says?
> Its a pity that javascript is so in-grained in client-side web now, as its really a terrible bytecode... Gilad Bracha complains about this at http://gbracha.blogspot.com/2011/03/truthiness-is-out-there....
Comment linking /2011/03/truthiness-is-out-there.html
on “Boot a linux kernel right inside your browser. ”Submitted Bits of History, Words of Advice as a story · 110 points
HN discussionYeah, I’ve long thought that the model of a relatively sparse standard library in a sufficiently expressive language is the ideal. What’s really needed is a newspeak-style parameterized “push” module system (or ML functors) to replace “pull”-style imports. This way, modules can declare that they need certain functionality and then the end user provides it: instead of npm-style infinitely-deep dependency trees. https…
Comment linking /2009/06/ban-on-imports.html?m=1
on “HTML Tips (2020)”Submitted The Build is Always Broken as a story · 95 points
HN discussion> So you end up with a secondary full featured language usually with worse IDE support, worse error messages, more surprising issues, etc. Gilad Bracha calls these "shadow worlds" https://gbracha.blogspot.com/2014/09/a-domain-of-shadows.htm...
Comment linking /2014/09/a-domain-of-shadows.html
on “Solid.js feels like what I always wanted React to be”Submitted Reified Generics: The Search for the Cure as a story · 86 points
HN discussionFrom whatever little I see, I am already hating it :-) This looks like Java for Javascript, if that makes any kind of sense. We are in the year 2011, PL design has progressed so much since 1990 that such an anachronism is unpardonable. I sincerely wish that companies like Google focus on hiring the right kind of person for designing programming languages. What is frustrating is that there are so many people who can…
Comment linking /2011/06/types-are-anti-modular.html
on “Dart language”Submitted The miracle of Smalltalk’s become: (2009) as a story · 85 points
HN discussionI've not used the CLR, but the one thing I noted in Gilad Bracha's recent post on generics ( https://gbracha.blogspot.com/2018/10/reified-generics-search... ) was his claim that the CLR makes implementing and using dynamic languages difficult: > In systems designed to support multiple programming languages, reification brings a different problem. All languages must deal with the complexity of reification; worse they…
Comment linking /2018/10/reified-generics-search-for-cure.html
on “WebAssembly’s post-MVP future”Submitted Taking it to Th’emacs as a story · 80 points
HN discussion> with no support for updating fields While it's not yet standard nearly all Standard ML implementations support what has become known as "Successor ML" [0]. A large subset of Successor ML is common to SML/NJ, MLton, Poly/ML, MLKit and other implementations. That includes record update syntax, binary literals, and more expressive patterns among other deficiencies in Standard ML. For me the two big remaining issues a…
Comment linking /2014/09/a-domain-of-shadows.html
on “Why I love OCaml (2023)”Submitted Types Are Anti-Modular as a story · 57 points
HN discussionI would question your assumption that "clean code" that you describe is really modularization and abstraction. (In particular, separating everything into small scattered pieces, which is IMHO a horrible Java habit that I have to endure now.) I mean, both modules and abstractions should have purpose. The purpose of modules is to "do one task well" so to speak. So if for a typical change you need to modify several of…
Comment linking /2011/06/types-are-anti-modular.html
on “Write code that is easy to delete, not easy to extend (2016)”Submitted Java's Original Sin (2009) as a story · 53 points
HN discussionComputer language inventors are torn between a voice whispering “use the language Luke” and and a more gravelly “let your feelings for the compiler grow, embrace the syntax side.” I did a two-day sprint through Zig a month ago and really really liked it. It has some quirks that I would have done differently, but overall I think it’s pretty cool. I just need a good small scale project to try it out on now. My favorit…
Comment linking /2018/10/reified-generics-search-for-cure.html?m=1
on “A Review of the Zig Programming Language (Using Advent of Code 2021)”Submitted A DSL with a View as a story · 49 points
HN discussionPerhaps a bit more of an unorthodox blog post, but Gilad Bracha's Ban on Imports really changed the way I think about module systems: https://gbracha.blogspot.com/2009/06/ban-on-imports.html He talks about how imports and exports are global state, and that they have all the issues that global state brings. It's made me appreciate dependency injection a lot more.
Comment linking /2009/06/ban-on-imports.html
on “Software essays that shaped me”Submitted Java's Original Sin as a story · 40 points
HN discussionI have a feeling that Dart may be some version of Bracha's Newspeak. If you read his blog post on Javascript's failings, you'll see him talk about how they are already trying hard to have Newspeak fill the gap: http://gbracha.blogspot.com/2011/03/truthiness-is-out-there.... There is also an uncanny link between the features Dart highlights -- security, optional typing, modularity -- and Newspeak. The timing of Newsp…
Comment linking /2011/03/truthiness-is-out-there.html
on “More information on Google's new web language, Dash”Submitted The Miracle of Smalltalk's become: as a story · 28 points
HN discussionIt doesn't distinguish per se, it is rather a good example of something that a dynamic language can make that in a single call makes invalid all assumptions that JIT might have gathered until that point. As for become: usefulness, Gilad Bracha explains it better than ever will, https://gbracha.blogspot.com/2009/07/miracle-of-become.html
Comment linking /2009/07/miracle-of-become.html
on “Faster CPython (2021) [pdf]”Submitted Bits of History, Words of Advice (2020) as a story · 27 points
HN discussionThings like Hiccup and React/JSX were a breath of fresh air next to templating languages like Handlebars/Mustache/Jinja. I prefer to just write simple code instead of learning the idiosyncrasies of yet another DSL. I'm reminded of https://gbracha.blogspot.com/2014/09/a-domain-of-shadows.htm... .
Comment linking /2014/09/a-domain-of-shadows.html
on “How I made a website with Svelte”Submitted Dead Program's Society as a story · 27 points
HN discussionThanks, when I was working on a particularly convoluted React codebase, I realized that it's better to pass dependencies into modules rather than importing them and, when I looked around to see what prior art there was to this idea, I came across https://gbracha.blogspot.com/2009/06/ban-on-imports.html
Comment linking /2009/06/ban-on-imports.html
on “The Evolution of Smalltalk from Smalltalk-72 to Squeak [video]”Submitted Maybe Monads Might Not Matter as a story · 24 points
HN discussionGilad Bracha gave an interesting talk (or in his words, "[maybe] the best talk I ever gave") called "Utopia and Dystopia: Smalltalk And The Wider World", where he posits a universe where the Smalltalk community has recognized and proactively fixed this problem, along with some other problems that outsiders see when they look at Smalltalk. https://www.youtube.com/watch?v=BDwlEJGP3Mk His blog is also great to follow a…
Comment linking /2020/05/bits-of-history-words-of-advice.html
on “Design Principles Behind Smalltalk (1981)”Submitted Bits of history, words of advice as a story · 16 points
HN discussionHm. I have mixed feelings about this project (judging solely from the video presentation). On one hand, it is very impressive, no question about that. The sheer amount and diversity of stuff in it would require a degree of focus that makes me feel envious even after this very superficial examinaton. On the other hand, the choice of which stuff to put in just disagrees with how the boundaries are drawn in my head—I’d…
Comment linking /2009/07/miracle-of-become.html
on “C and C++ Hot-Reload/Live Coding”Submitted The prospect of an execution: The hidden objects among us as a story · 14 points
HN discussion