Brandon Smith
brandons.me · Personal blog · on HN since 2020
Brandon Smith, a JavaScript developer, writes about programming style, Rust strings, and his Bagel programming language.
What HN saysHN commenters cite his posts on writing libraries rather than frameworks and mostly using functions; one questions his authority to comment on game engines.
16HN people shared it
12linked it in comments
23stories submitted
2.4Kstory points
8 months agolast shared
2020people per year2026
Most-shared posts
- 1Write Libraries, Not Frameworks6 people · 1.0K points · first shared 2020 · 327 comments on HN
- 2Write code. Not too much. Mostly functions.3 people · 825 points · first shared 2020 · 352 comments on HN
- 3Casual Parsing in JavaScript3 people · 41 points · first shared 2021 · 10 comments on HN
- 4Homepage3 people · first shared 2021
- 5Why Rust strings seem hard2 people · 256 points · first shared 2021 · 241 comments on HN
- 6The Bagel Language2 people · 72 points · first shared 2021 · 53 comments on HN
- 7Update on the Bagel language2 people · 52 points · first shared 2022 · 22 comments on HN
- 8Rust's BufRead, and When to Use It2 people · 2 points · first shared 2023 · discussion on HN
- 9Favorite rust function2 people · first shared 2021
- 10Thoughts on Testing1 people · 71 points · first shared 2024 · 71 comments on HN
- 11Three Kinds of Polymorphism in Rust1 people · 36 points · first shared 2022 · 3 comments on HN
- 12Grasping React Hooks1 people · 6 points · first shared 2022 · discussion on HN
- 13Another Update on the Bagel Language1 people · 3 points · first shared 2022 · discussion on HN
- 14Bagel Bites: Type Refinement1 people · 2 points · first shared 2022 · discussion on HN
- 15Three types of data1 people · first shared 2021
What HN people wrote when they linked it
tpmx · 2023-03-17
Please do realize that according to your own web site (https://www.brandons.me/) you're a javascript developer having opinions on why Godot is supposedly catching up with Unreal Engine to the point that it's becoming a threat.
danuker · 2023-02-20
Being able to learn C doesn't mean C's wordiness didn't irk me. It did.
In addition to verbosity, C bothered me with mandatory types, undefined behavior and having to manage memory myself.
Rust is not much better. It still has types and memory management. A lot[1].
I don't want to deal with that. The computer should figure it out. Not having to specify all that also translates generally to shorter programs, and this is why I appreciate terseness.
[1] - https://www.brandons.me/blog/favorite-rust-function
brundolf · 2022-03-21
+1 for MobX, can't recommend it enough
[also a quick shill for the general-purpose language I'm working on which internalizes that mechanism at the language level :)]
https://www.brandons.me/blog/the-bagel-language
hitekker · 2021-10-12
React is a framework that doesn't want to admit it's a framework. If you follow its recommendations like Hooks, you have to write your JS a "special way" since React owns your component lifecycle.
Put simply, React calls your component, your component does not call React. Your UI code needs to work inside of React, not around it.
The relevant and most upvoted HN article on the difference between libraries and framework is:
https://www.brandons.me/blog/libraries-not-frameworks
apitman · 2026-03-19
fbn79 · 2024-10-07
It is always a good idea to write a library, not so for frameworks https://www.brandons.me/blog/libraries-not-frameworks
WanderPanda · 2023-08-20
Would be really nice if there also is a „library mode“ without relying on callbacks in addition to the „framework mode“ [1]
[1] https://www.brandons.me/blog/libraries-not-frameworks
crdrost · 2023-07-07
Related: "Write libraries, not frameworks," which goes more into depth about how frameworks establish precisely such a "seam" and the responsibilities it entails.
https://www.brandons.me/blog/libraries-not-frameworks
fuzzythinker · 2022-09-24
Links for those wondering:
Blog: https://www.brandons.me/tags/bagel.html
HN (53 comments, 1 yr ago): https://news.ycombinator.com/item?id=28566597
gh: https://github.com/brundonsmith/bagel
kaleidawave · 2022-09-24
Thank you. Just checked out the Bagel post (https://www.brandons.me/blog/the-bagel-language) and it looks really cool. Identifying pure functions (whether that is by syntax annotation or from synthesis) is a really good idea, gives me some ideas for doing function inlining in Ezno. I like the "Misc niceties" section, a few of those may of may not be on Ezno's todo list :)
The automatic / inferred generic restrictions is quite cool. https://hegel.js.org/ got there before me! Basic restriction modification is quite simple e.g. `(x) => Math.sin(x)`, x wants to be a number so can add that restriction. It gets more difficult with higher poly types. `(someObj) => Math.sin(someObj.prop1.prop2)` requires modifying not just `someObj` but a property on a property on it. And `(x, y) => printString(x + y)` requires doing even more complex things. But its definitely possible!
latk · 2021-05-25
Probably a call-back to this post that made the rounds on HN a few months ago: https://www.brandons.me/blog/write-code-not-too-much-mostly-functions
takoid · 2022-09-17
https://jrock.us/
https://jgc.org/
http://kaledavis.com/
https://aegir.sexy/
https://www.gwern.net/
https://jacquesmattheij.com/
https://danwin.com/
https://www.kalzumeus.com/
https://www.magic.do/
https://edweissman.com/
https://jakeseliger.com/
http://www.fogus.me/
https://www.stavros.io/
https://jasonlefkowitz.net/
https://minimaxir.com/
https://www.robinwhittleton.com/
https://ciexinc.com/
https://rongarret.info/
https://williampietri.com/
https://bpier.re/
https://joshtriplett.org/
https://ooer.com/
https://feross.org/resume/
https://www.brandons.me/
https://benjaminpbreen.com/
http://hokstad.com/
https://www.scott-a-s.com/
https://www.bermita.com/
http://tlrobinson.net/
https://ldpreload.com/
https://dotat.at/
http://xavvy.com/
https://correa.in/
https://adriann.github.io/
https://leclan.ch/
https://joeyespo.com/
https://pius.me/
https://adamierymenko.com/
https://drewdevault.com/
https://battlepenguin.com/
https://chris.improbable.org/
https://www.snellman.net/
https://ocdtrekkie.com/
https://www.cryptolotus.com/
https://www.gregkogan.com/
https://david.kitchen/
In no particular order. From: https://jessimekirk.com/blog/hn_users_links/. I went through about half of the list looking for personal websites to use as inspiration for my own.