Skip to content
HomeVideosBooksBlogs
AllTop postsTopics
Podcasts
HistoryListsWatch laterLiked videosFollowing

The videos, books, blogs and podcasts Hacker News keeps recommending, all in one place.

VideosBooksBlogsPodcastsAboutPrivacySettings

Data from Hacker News, HackerTube, HackerBooks, HackerBlogs and Open Library. Credits · Not affiliated with Y Combinator.

HomeVideosBooksBlogsPodcasts
Ctrl K
    T

    Tom Tromey

    tromey.com · Personal blog · on HN since 2009

    Tom Tromey, a free software developer known for work on GDB, gcj and Emacs, writes about tools and package management.

    Visit blogRSSHN submissions
    Open Source & LinuxLanguages & Compilers
    What HN says

    HN links it for his ELPA package manager for Emacs, which commenters find easy to use, and thanks him for improvements to GDB's Python API.

    Stats for nerds
    31HN people shared it
    14linked in comments
    834story points
    Aug 2022last shared
    2009people per year2022

    Top posts on HN

    1. 1
      The Deletion of gcj
      2 people · 284 points · first shared 2016 · 73 comments on HN
    2. 2
      JIT Compilation for Emacs Lisp
      2 people · 180 points · first shared 2018 · 50 comments on HN
    3. 3
      Faster GDB startup
      4 people · 99 points · first shared 2022 · 6 comments on HN
    4. 4
      Emacs and Common Lisp
      6 people · 86 points · first shared 2012 · 31 comments on HN
    5. 5
      Emacs JIT Calling Convention
      1 person · 81 points · first shared 2018 · 1 comments on HN
    6. 6
      Emacs and Common Lisp, Part 2
      2 people · 78 points · first shared 2012 · 13 comments on HN
    7. 7
      ELPA - a package manager for emacs
      7 people · 22 points · first shared 2009 · 6 comments on HN
    8. 8
      Shaggy Dogs and SpiderMonkey Unwinders
      3 people · 4 points · first shared 2016 · 1 comments on HN
    9. 9
      Install
      2 people · first shared 2010
    10. 10
      Post 201809
      1 person · first shared 2020

    What HN people wrote when they linked it

    • eddybAug 2022

      [continued from above due to size limit]

      What I'm referring to is incremental recompilation with the following properties:

      1. automatic correctness

      ` - that is, a compiler change not explicitly updating anything related to dependency tracking should at most result in conservative coarser-grained behavior, not unsoundly cause untracked dependencies

      ` - manual cache invalidation logic is a clear indicator a compiler isn't this - e.g. this rules out https://gcc.gnu.org/wiki/IncrementalCompiler (maybe also Roslyn/C# and the Swift compiler, but I'm not sure - they might be hybrid w/ automated coarse-grained vs manual fine-grained?)

      ` - the practical approach to this is to split workload into work units (aka tasks/queries/etc.) and then force information flow through centralized "request"/"query" APIs that automatically track dependencies - see https://github.com/salsa-rs/salsa for more information

      ` - research along the lines of ILC (Incremental Lambda Calculus) might yield more interesting results long-term

      ` - outside of a compiler, the only examples I'm aware of are build systems like tup (https://gittup.org/tup/) or RIKER (https://github.com/curtsinger-lab/riker) which use filesystem sandboxing (FUSE for tup, ptrace/seccomp-BPF for RIKER) for "automatically correct" build dependencies

      2. fine-grained enough

      ` - at the very least, changes within function bodies should be isolated from other bodies, with only IPOs ("interprocedural optimizations", usually…

    • chubotOct 2020

      Just want to give a shout out to the people who have been improving GDB's Python API over the years (I think it first appeared about 10 years ago). It seems like a lot of it is due to Tom Tromey? [1]

      This is a super useful feature that I just used. I have a DSL for algebraic data types in C++ called ASDL [2], and I wrote a very small Python plugin that pretty prints the types.

      Basically it automates the process of looking at the runtime type tag, and downcasting to the right variant, so you can see all the fields in the debugger. (Variants are naturally modeled with inheritance, and you still have type safety)

      This makes debugging the code way easier. I basically enhanced C++'s type system and now the debugger also understands it!

      It works on the command line and the Eclipse GUI. Although I should get around to requesting an open source license for CLion, because I think it is significantly more polished.

      -----

      GDB is very old, and has sort of a bad reputation for usability, but it's getting better after all these years! This scripting power can make up for the usability in some cases (and maybe CLion will give the best of both worlds)

      https://lobste.rs/s/h7f6qk/what_debugging_technique_did_it_take_you#c_pqoh28

      [1] https://tromey.com/blog/?m=201809

      https://tromey.com/blog/?p=927

      [2] What is Zephyr ASDL? https://www.oilshell.org/blog/2016/12/11.html

      ASDL is mentioned in the post about Ungrammar, on the front page now:…

    • parfeMay 2011

      Thanks for your clojure work. I'm using a lot of your stuff and I am grateful you take the time to write and release it.

      "In the mean time, the link to package.el for Emacs 23 is right at the top of marmalade-repo.org: http://bit.ly/pkg-el23

      You know that, but nothing on the page indicates it. In fact, that page leads me to believe it is the same version as tromey.com hosts. It isn't made clear that marmalade is a fork rather than an additional repository.

      Plus that package.el does not integrate (or include instructions on how to integrate) with Emacs the same way the one from tromey.com does when you run the code on http://tromey.com/elpa/install.html

    • astineMay 2011

      Whenever installing software for Emacs, it's usually worth checking ELPA http://tromey.com/elpa/ (which comes installed on Emacs by default now,) to see if the package is there already. The ELPA provide both slime and clojure-mode and they work out of the box with swank-clojure. You'll still need to install Leiningen/Cake with swank-clojure separately, but there isn't much Emacs can do to help there.

    • rmaccloyJan 2011

      It's just an integration of ELPA (http://tromey.com/elpa/) which has been around for quite a while. According to the mailing lists Tom Tromey will continue to maintain his archive in parallel. I'm not sure what licensing restrictions he has but I'm fairly sure you don't have to assign copyright as per FSF projects.

    • ZeroGravitasJan 2011

      Either my expensive Kinesis keyboard and Dvorak layout are giving me an unfair advantage, or the difficulty needs tweaked.

      There should be more keyboard driven web games, for a more sedate puzzle game with a similar interface try Word Swirl:

      http://tromey.com/Swirl/

    Related

    Software Development Team (King's College London)soft-dev.org20 people

    Garbage collection for Rust: The finalizer frontier

    Software Development Team (King's College London)
    Publication · last shared 2026
    Aphyraphyr.com551 people

    Hexing the technical interview (2017)

    Aphyr
    Personal · last shared 2026
    PyPy Blogpypy.org183 people

    PyPy has moved to Git, GitHub

    PyPy Blog
    Company · last shared 2026
    Emacs Rocksemacsrocks.com80 people

    Emacs Rocks

    Emacs Rocks
    Personal · last shared 2025
    Tom Preston-Wernertom.preston-werner.com165 people

    Readme Driven Development

    Tom Preston-Werner
    Personal · last shared 2026
    Russ Coxresearch.swtch.com554 people

    Timeline of the xz open source attack

    Russ Cox
    Personal · last shared 2026
    Wingologwingolog.org237 people

    FFS SSL

    Wingolog
    Personal · last shared 2026
    Grisha Trubetskoygrisha.org27 people

    Proof-Of-Work is a Decentralized Clock

    Grisha Trubetskoy
    Personal · last shared 2022