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

  1. 1
    Write Libraries, Not Frameworks
    6 people · 1.0K points · first shared 2020 · 327 comments on HN
  2. 2
    Write code. Not too much. Mostly functions.
    3 people · 825 points · first shared 2020 · 352 comments on HN
  3. 3
    Casual Parsing in JavaScript
    3 people · 41 points · first shared 2021 · 10 comments on HN
  4. 4
    Homepage
    3 people · first shared 2021
  5. 5
    Why Rust strings seem hard
    2 people · 256 points · first shared 2021 · 241 comments on HN
  6. 6
    The Bagel Language
    2 people · 72 points · first shared 2021 · 53 comments on HN
  7. 7
    Update on the Bagel language
    2 people · 52 points · first shared 2022 · 22 comments on HN
  8. 8
    Rust's BufRead, and When to Use It
    2 people · 2 points · first shared 2023 · discussion on HN
  9. 9
    Favorite rust function
    2 people · first shared 2021
  10. 10
    Thoughts on Testing
    1 people · 71 points · first shared 2024 · 71 comments on HN
  11. 11
    Three Kinds of Polymorphism in Rust
    1 people · 36 points · first shared 2022 · 3 comments on HN
  12. 12
    Grasping React Hooks
    1 people · 6 points · first shared 2022 · discussion on HN
  13. 13
    Another Update on the Bagel Language
    1 people · 3 points · first shared 2022 · discussion on HN
  14. 14
    Bagel Bites: Type Refinement
    1 people · 2 points · first shared 2022 · discussion on HN
  15. 15
    Three types of data
    1 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
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
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

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