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
    A

    Austin Henley

    web.eecs.utk.edu/~azh · Personal blog · on HN since 2018

    Austin Henley, a computer science professor at the University of Tennessee, writes about programming projects, developer tools and teaching software engineering.

    Visit blogHN submissions
    ProgrammingLanguages & Compilers
    What HN says

    HN links his project ideas, compiler tutorial and favorite blogs list; commenters engage with his posts on seeing past code and useless projects.

    Stats for nerds
    16HN people shared it
    77linked in comments
    7.5Kstory points
    Sep 2021last shared
    2019people per year2021

    Top posts on HN

    1. 1
      Challenging projects every programmer should try
      3 people · 917 points · first shared 2019 · 297 comments on HN
    2. 2
      Why I prefer making useless stuff
      2 people · 772 points · first shared 2021 · 270 comments on HN
    3. 3
      More challenging projects every programmer should try
      2 people · 757 points · first shared 2020 · 223 comments on HN
    4. 4
      When users never use the features they asked for
      1 person · 575 points · first shared 2021 · 218 comments on HN
    5. 5
      Why is it so hard to see code from 5 minutes ago?
      2 people · 523 points · first shared 2021 · 408 comments on HN
    6. 6
      Books I recommend to my software engineering students
      2 people · 431 points · first shared 2020 · 116 comments on HN
    7. 7
      Lessons from my PhD
      2 people · 407 points · first shared 2021 · 130 comments on HN
    8. 8
      “This project will only take 2 hours”
      2 people · 404 points · first shared 2021 · 271 comments on HN
    9. 9
      What’s wrong with computational notebooks?
      3 people · 387 points · first shared 2020 · 221 comments on HN
    10. 10
      Can you make a basic web app without Googling? I can’t
      1 person · 341 points · first shared 2021 · 322 comments on HN

    What HN people wrote when they linked it

    • TeMPOraLApr 2021

      We need to tease out several different things here. In my opinion:

      - Information density is good. If you can stuff more data on screen, by using annotations, underlines, fringe markers, whatnot - it's usually a win. As long as the indicators don't interfere with each other, human brain can quickly learn to filter them with near-zero effort.

      - Clicking is bad ergonomics. It has high enough overhead compared to keyboard that it's enough to interfere with focus and the state of flow.

      - Most animations are bad ergonomics. This, ironically, applies to the author's CodeRibbon[0]. It looks like a great idea. Then you think how to implement it in Vim/Emacs, with less animations. Then you realize that you can get this with some tweaks to how you switch buffer/window configurations, and it'll give you same benefits with better ergonomics.

      - The article underexplores the third choice of the predator - enriching the environment. Or, perhaps, we should introduce a fourth choice[1]: meta-enrichment, or developing technology. That is, reconfiguring and extending your tooling to offer you more/different contextual cues (foraging), navigation tools (navigation) and operations (enrichment). This is where Emacs shines above all - for a proficient Emacs user, meta-enrichment is something one just does. Of course, as a developer living in Emacs, I suffer from confirmation bias[2] :).

      --

      [0] - https://web.eecs.utk.edu/~azh/blog/coderibbon.html

      [1] - Incidentally, one that distinguishes…

    • eatonphilFeb 2021

      Take a look at https://web.eecs.utk.edu/~azh/blog/challengingprojects.html and https://web.eecs.utk.edu/~azh/blog/morechallengingprojects.html for some good summaries.

      For me, I started building programming languages (and standard libraries) years ago as personal challenge and to learn more about how various languages work. Later on that branched into emulation (x86/amd64, armv8/aarch64) and more recently databases. (You can find these kinds of projects on my github).

      Before that when I was more focused on web tech, I'd build clones of React or Bootstrap or Flask to increase my understanding there.

      It helped being surrounded by people with a lot more experience than I so I'd keep being in a situation where I knew nothing about some field and wanted to not be embarrassingly naïve :D so I'd try to build something from scratch to learn it.

      It doesn't always work out! An example of a topic I haven't yet been able to get into is the TCP/IP stack. I got somewhere into the IP layer on top of userland raw sockets but TCP complexity and may poor C skills failed me as the algorithms needed for tracking state came up.

    • kriroJan 2020

      Direct link to the preprint: http://web.eecs.utk.edu/~azh/pubs/Chattopadhyay2020CHI_NotebookPainpoints.pdf

      Interesting study, I like the mixed-method approach. A quick glance at the industry of the participants suggests that there might be a bias towards structural data (which I think is actually acceptable as that makes up a huge chunk of the non-academic ML-Notebook work)
      Edit: The authors acknowledge this in the "Limitations".

    • rgoulterJun 2019

      http://web.eecs.utk.edu/~azh/pubs/Henley2018bDissertation.pdf
      FWIW, for those interested, there's some discussion of the "Code Bubbles" environment which allows arranging working sets on a canvas. (IDK if this falls under "limited canvas" or whatever).

      I think a big part of why this hasn't caught on is that the benefits of a layout which maps to a mental model are _generally_ less than the cost of arranging things.

    • brigandishAug 2021

      I'm currently using one in a personal app because I'm learning a lot about a new language for me (Crystal). It's why, like this author[1], I also like writing useless apps.

      [1] https://web.eecs.utk.edu/~azh/blog/makinguselessstuff.html

    • leohonexusSep 2021

      Ah, this reminds me of YesterCode, a tool that lets you scrub through code changes like a timeline.

      Relevant HN thread: https://web.eecs.utk.edu/~azh/blog/yestercode.html

    Related

    Coding Horrorblog.codinghorror.com2.1k people

    Farewell Stack Exchange

    Coding Horror
    Personal · last shared 2026
    Mark Guzdialcomputinged.wordpress.com69 people

    Stanford CS enrollment increase "downright scary"

    Mark Guzdial
    Personal · last shared 2026
    Better Programmingbetterprogramming.pub319 people

    Three programmers got fired, including me, due to a single app crash

    Better Programming
    Publication · last shared 2025
    Eugene Wallingfordcs.uni.edu/~wallingf80 people

    I just need a programmer

    Eugene Wallingford
    Personal · last shared 2026
    John Regehrblog.regehr.org401 people

    Teaching C

    John Regehr
    Personal · last shared 2026
    Chad Austinchadaustin.me53 people

    I just wanted Emacs to look nice – Using 24-bit color in terminals

    Chad Austin
    Personal · last shared 2026
    Scirra Blogscirra.com46 people

    Bitcoin's UK future looks bleak

    Scirra Blog
    Company · last shared 2021
    Swizec Tellerswizec.com133 people

    Software engineering salaries come from one of three budgets

    Swizec Teller
    Personal · last shared 2026