Phil Hagelberg

technomancy.us · Personal blog · on HN since 2008

Phil Hagelberg, a Lisp programmer behind Fennel tooling, writes about Lisp, game jams, the Atreus keyboard, and programming language ideas.

What HN saysCommenters credit his writeups on Fennel with Love2d and TIC-80, and point to his Lisp Game Jam posts and Fennel-built pico-8 game.
59HN people shared it
24linked it in comments
54stories submitted
602story points
2 years agolast shared
2008people per year2026

Most-shared posts

  1. 1
    A game written in 4 Lisp dialects
    6 people · 8 points · first shared 2013 · 1 comments on HN
  2. 2
    Atreus – kit to build your own mechanical keyboard
    4 people · 135 points · first shared 2014 · 75 comments on HN
  3. 3
    Http://technomancy.us/
    4 people · 2 points · first shared 2010 · discussion on HN
  4. 4
    In which a compiler gets its wings
    3 people · 75 points · first shared 2018 · 3 comments on HN
  5. 5
    In which five different paths lead to methods
    3 people · 19 points · first shared 2022 · discussion on HN
  6. 6
  7. 7
    In which persistence proves a propitious property
    3 people · 3 points · first shared 2009 · discussion on HN
  8. 8
    In which interactive development saves the day
    3 people · 2 points · first shared 2018 · discussion on HN
  9. 9
  10. 10
  11. 11
    In which a laptop defies the trends
    2 people · 56 points · first shared 2021 · 35 comments on HN
  12. 12
  13. 13
    Less known (but useful) Clojure Libraries
    2 people · 7 points · first shared 2011 · discussion on HN
  14. 14
    In which static types are friends, not foes
    2 people · 6 points · first shared 2011 · discussion on HN
  15. 15
    How EXWM saved me from living a tragic, rage-fueled life
    2 people · 6 points · first shared 2017 · discussion on HN

What HN people wrote when they linked it

baruchthescribe · 2019-05-20
It's been a game changer for me observing the elegance and productivity of the Fennel language (https://fennel-lang.org/) combined with Love2d (love2d.org) and LuaJIT. Thanks to Phil Hagelberg for his documenting of his experiences (http://technomancy.us) and his work on a decent emacs mode for Fennel. Check out his previous winning entry, particularly the code that drops you in a repl and lets you live change a running Love game here: https://technomancy.itch.io/exo-encounter-667
daxfohl · 2015-09-07
That's a great question. Honestly I don't know the answer. I'm actually married now with two young kids in suburban America, and with husband and wife (her ideals are pretty similar to mine) not-quite-content, and hoping to figure something out. My ideal would be to do something like http://technomancy.us/, one of the big developers at Heroku, who is taking time off with his family to go do missionary work in rural Thailand, teaching his kids electronics, and meanwhile supporting himself selling custom keyboards.
James-Bennet · 2025-04-19
I am looking for a game framework that allows interactive programming like LISP for browser games. So far I have tried love2d, TIC-80, and defold. Fennel (Clojure like language for Lua) works with love2d and TIC-80, but I could not get emacs repl to connect to TIC-80. Also I couldn't get Fennel to work with defold. Maybe there's a way I haven't found yet, but for now the only way to achieve interactive programming is to use love2d (love2d + fennel + emacs repl). https://vxlabs.com./2018/05/18/interactive-programming-with-fennel-lua… https://technomancy.us/188
CarnunMP · 2022-11-20
Worth noting (for parenthesis-lovers!) the Fennel support added by Phil Hagelberg, as demoed e.g. in one of his Lisp Game Jam writeups here: https://technomancy.us/193
bokchoi · 2020-09-06
And if you haven't checked out his pico-8 game he used fennel to write, you ought to. It's great! https://technomancy.us/190
emmanueloga_ · 2020-05-13
I'd love to hear more from the author (can someone interview him for a podcast please? :-). He also has another programming language called Fennel [1] which compiles a lisp like language to Lua. Both Fennel and Janet seem to orbit around Clojure ideas.... interestingly one of Fennel's main contributors [2] is also the author of Clojure's most popular build system, Leiningen. 1: https://fennel-lang.org/ 2: https://technomancy.us/186
technomancy · 2018-09-18
> why does fennel description insist on macros as compile time feature? This just means that it's possible to ship the compiled code on its own and have no dependencies on Fennel at runtime. It doesn't mean you can't ship the compiler if you want to; the choice is up to you. In fact, I strongly recommend in most cases shipping the compiler so you can write and refine your code interactively as the program runs. It's helpful to think of "compile time" as a subset of runtime; it's just that portion of runtime when the function that's running happens to be the compiler! Fennel is very well-suited for live-coding; I used this heavily when writing my entry to the Lisp Game Jam this spring. I blogged a bit about how live-reloads interact with the Lua module system here: https://technomancy.us/189
olenhad · 2013-08-20
Scheme is great, but I think there are several key features that clojure has that scheme doesn't provide by default, including (but not limited to): - Persistent Hash-Trie based Data Structures - Beautiful asynchronous constructs - Multimethods - Protocols Obviously I in no way intend to discredit scheme, nor start a lisp flamewar :) /sidenote I love this article comparing a game written in 4 lisp dialects (http://technomancy.us/169)
rmc · 2010-10-25
Actually, I'm not connected to the original 'technomancy'. I've never met the guy. I just liked the domain name (from reading Neal Stephenson's Cryptonomicon), and it's my personal domain name. I think 'technomancy' is on 'http://technomancy.us.
sourcepluck · 2024-11-27
This is funny, cos I saw this stated somewhere on HN the other day, was totally amazed he'd done both, went and checked, and found out it was untrue - I think! Someone correct me please if I'm confused. Calvin Rose made Janet https://github.com/bakpakin and https://bakpakin.com/ Phil Hagelberg made Fennel https://git.sr.ht/~technomancy/fennel and https://technomancy.us/colophon
ryukafalz · 2024-07-04
I'm reminded of Seeing Like a State by James C. Scott[0], which is in part about just this sort of thing. Maps were one example presented in the book. And it does apply beyond just that too; I read this blog post a while back relating this tendency to social networks: https://technomancy.us/199 [0] https://en.wikipedia.org/wiki/Seeing_Like_a_State
rahen · 2022-01-04
> In order to become relevant for the next 50 years, the computer needs to be made of easily replaceable parts. Inspirations are the Fairphone and the MNT Reform laptop. Interesting. I knew about the Framework laptop but the Reform seems to go quite farther in being usable and repairable for a long time. Bulky and less advanced, but I like how one can just buy spare battery cells for cheap on Amazon or Aliexpress. edit: https://technomancy.us/195
elangoc · 2015-06-15
Thanks, Phil! Your post about Logo (http://technomancy.us/167) was definitely an inspiration for this project. I hope that something in Clojure can be made to be as effective as DrRacket has been for you.
luxbock · 2015-03-26
This is a blog post by technomancy, the original author of Leiningen, exploring Racket as a new language: http://technomancy.us/175 EDIT: Wrong link. This one might be interesting as well so I've left it here: http://technomancy.us/169
pbiggar · 2014-12-23
technomancy, the author of leiningen, is moving to Thailand and has a side-business of selling keyboards. See http://technomancy.us/177
rads · 2014-12-23
It's a joke, people. Among the other things he's doing in Thailand, he actually is selling keyboards and seems to be quite content with his situation: http://technomancy.us/177
sdegutis · 2014-03-15
Related: a hardware hacker that I know recently designed and made a new keyboard[1], which looks really interesting and fun to make. Fortunately he also provided really good detailed instructions[1][2] so other people can make it too. I'm not at the skill stage yet where I can make it myself, but it'll probably be the first complex hardware project I eventually undertake. [1]: https://github.com/technomancy/atreus [2]: http://technomancy.us/173
Anderkent · 2014-03-07
You can make a keyboard pretty small nowadays: http://technomancy.us/173
gtani · 2011-10-31
I would argue that it's very useful to learn about data structures and the immutable/mutable distinction upfront (hashtables vs. balanced 2-way trees vs. Bagwell 32-way HAMT vs. "exotics" like skip trees.) I dunno if CL make these as easily avail as clojure Re: Stacktraces, they have nicer formatting at least, but cutting out irrelevant parts of stack is tough. You can also set *stack-trace-depth* http://dev.clojure.org/display/design/Stacktraces http://technomancy.us/154
leif · 2011-04-02
"bus scheme" is cute: http://technomancy.us/98 You could do "airbus scheme".
jmatt · 2010-10-04
Thanks! I use many of those projects daily. Your work is appreciated. http://technomancy.us/projects
jefffoster · 2009-05-29
http://technomancy.us/126 is an updated set of instructions for setting up Emacs and Clojure. It's been discussed previously (http://news.ycombinator.org/item?id=629816)
gphil · 2012-08-22
See http://technomancy.us/163 for more discussion.
amatecha · 2022-01-20
So many people make websites that basically look like they are from the 90's (though without all the animated GIFs haha), and use basic features without any strictly-modern stuff. These are just a few off the top of my head: https://cblgh.org/ https://technomancy.us/list https://alexschroeder.ch/ http://100r.co/site/about_us.html https://dataswamp.org/~solene/ https://rgz.ee/ https://www.bsdly.net/~peter/ https://codevoid.de/ https://www.undeadly.org https://compudanzas.net/ http://altexxanet.org/ http://sdf.org/ https://solar.lowtechmagazine.com/

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