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
    H

    Heeris

    heeris.id.au · Personal blog · on HN since 2013

    Heeris is an Australian programmer who posts small pieces, including a well-known cartoon about interrupting programmers.

    Visit blogHN submissions
    ProductivityCareer & Work
    What HN says

    HN links his cartoon as the best illustration of how interruptions break a developer's flow, often in remote work and open office debates.

    Stats for nerds
    58HN people shared it
    7linked in comments
    815story points
    Apr 2023last shared
    2014people per year2023

    Top posts on HN

    1. 1
      Why You Shouldn't Interrupt a Programmer
      49 people · 686 points · first shared 2013 · 204 comments on HN
    2. 2
      If programming languages were Harry Potter characters
      1 person · 129 points · first shared 2015 · 61 comments on HN
    3. 3
      ProgrammerInterrupted.png
      7 people · first shared 2018
    4. 4
      ProgrammerInterrupted.pdf
      1 person · first shared 2023
    5. 5
      ProgrammerInterrupted.pdf[PDF]
      1 person · first shared 2023
    6. 6
      [2013]
      1 person · first shared 2023

    What HN people wrote when they linked it

    • pdkl95Sep 2015

      Advertising has approximately the same "context switch" problem[1] that programmers often complain about. By definition, an advertisement is not the thing I'm currently involved with.

      At best, a even a "tasteful" ad requires you to

      0. Interrupt whatever you were doing.
      1. Parse text or recognize the basic features of an image.
      2. Run whatever heuristics you use to decide if the parsed data is an ad.
      3. Try to skip past the ad, either temporally or spatially.
      4. *Continue* to monitor the ad until you recognize that it no longer
      impedes the thing you interrupted in #0.

      These are complex behaviors that have non-trivial costs. The only reason you don't see those costs some of the time is because you've invested a lot of time and effort learning these skills. If you abstain from all advertising for a few months, the parsing costs will become much more obvious.

      > every

      If your definition of "advert" is so broad it includes everything, it's not a particularly useful definition. Ad blockers (and this discussion in general) are talking about ads that are not the content the user requested; otherwise ad blockers would ban the entire page.

      [1] http://heeris.id.au/2013/this-is-why-you-shouldnt-interrupt-a-programmer/

    • teddyhJan 2016

      > Good Commandment 5. Thou shalt disturb thy neighbors.

      > Researchers have found that innovation is enhanced if all participants
      work in a single open space less than 50 meters across, as it
      encourages spontaneous discussions across disciplines.[viii] The goal
      is for the space to support concentration and communication. For
      example, for the last four centers of Table I, the faculty gave up
      their private offices to be embedded with students and postdocs in
      open space, where only the meeting rooms have walls.[ix] Faculty access
      draws students from their home offices to the lab, which increases
      chances of interactions. A downside of shared space is the cost of
      remodeling to create an attractive open space . This is a one-time
      capital expense, since following projects will use it, but even so,
      the cost was equal to just two students over the life of a
      center. Shared open space is certainly more beneficial to a center
      than a few more students

      I have to wonder how they get any research done.

      http://heeris.id.au/2013/this-is-why-you-shouldnt-interrupt-a-programmer/

      Do they normally have very quiet participants and students?

    • PermitFeb 2014

      I think there is a balance to be struck between visualizing various aspects of a program (control flow, data flow etc.) and retaining the control available to developers writing their programs as text stored in files. It does seem strange in some ways that we're still dumping text into files in 2014. A given function might interact with classes and functions defined in 10 different files, and we can only view two or three files at a time.

      It seems like programmers compensate by creating a mental model of their program as they try to memorize how it will execute. (The comic This is why you shouldn't interrupt a programmer comes to mind: http://heeris.id.au/2013/this-is-why-you-shouldnt-interrupt-a-programmer)

      I'm actually working on a plugin for Visual Studio roughly modeled off of Code Bubbles to see if it's practical to solve this problem. (http://codeconnect.io) I think text is the best way to express exactly what you want out of a program, but the way we're interacting with that text can be improved.

    • Adam13531Sep 2019

      > Do you find it difficult to converse with folks while programming? How do you maintain flow state while streaming? (Maybe this is just a skill you pick up?)

      This comic (which you've probably seen!) sums up context-switching as a programmer: https://heeris.id.au/2013/this-is-why-you-shouldnt-interrupt-a-programmer/

      Imagine that but multiplied by 100. Every 3 seconds, someone is saying something that you can see out of the periphery of your vision. How difficult it is to interact is up to you; you can hold off on chat and handle it every X minutes, you can let them interact with themselves, or you can interrupt your flow every few seconds.

      I try to take extensive notes about what I'm doing at any given moment so that I can always pop the context back off the stack and resume my work. It's a skill you'll hone as you go.

    • greenyodaSep 2020

      > Also, I find myself having to take notes to come back to later.

      I rely on notes too. I'm not sure it's entirely due to my memory getting worse with age. It's also that as you progress to more senior or leadership roles over the course of your career, the rate at which you become interrupted by questions or meetings increases, and the number of different issues you need to juggle also increases. I use my notes as a non-volatile memory to save my current mental state so I can resume after these interrupts.

      If I'm coding uninterrupted and in a state of "flow", I can still remember details of my code from years ago.

      Cartoon about interrupting a programmer: https://heeris.id.au/2013/this-is-why-you-shouldnt-interrupt-a-programmer

    • decodebytesJun 2021

      I feel directly opposite to this, I am way more productive working from home as a programmer, for this reason alone:

      https://heeris.id.au/2013/this-is-why-you-shouldnt-interrupt-a-programmer/

      Also I find modern tools easily make up for not being in close proximity.

      Best of all as an engineering lead, I am not restricted to hiring in the small pool of engineers who can travel to the physical location of an office. I can hire talent world wide

      > I had a stronger work/life separation. I rarely turned on my work laptop at home.

      To be fair, that's a matter of personal discipline. There is nothing to stop you closing your laptop at 5pm and leaving it until the next day to open it again.

    Related

    Kragen Javier Sitakerlists.canonical.org36 people

    Why I do not want to work at Google

    Kragen Javier Sitaker
    Personal · last shared 2014
    Typical Programmertypicalprogrammer.com49 people

    Why don’t software development methodologies work?

    Typical Programmer
    Personal · last shared 2026
    Simple Programmersimpleprogrammer.com72 people

    The Hacker News Generation (Afraid of Hard Work)

    Simple Programmer
    Personal · last shared 2025
    Pointers Gone Wildpointersgonewild.com88 people

    The internet changed my life

    Pointers Gone Wild
    Personal · last shared 2026
    Imran on Techimranontech.com24 people

    The Etymology of "Hacker"

    Imran on Tech
    Personal · last shared 2025
    beza1e1beza1e1.tuxen.de120 people

    A collection of things that are Turing-complete by accident (2013)

    beza1e1
    Personal · last shared 2026
    Raganwaldweblog.raganwald.com115 people

    My favourite interview question

    Raganwald
    Personal · last shared 2025
    The Codistthecodist.com119 people

    My Biggest Regret as a Programmer

    The Codist
    Personal · last shared 2025