Work in progress: 181,232 of 181,233 sites checked so far, more every week · updated 2 Nov 2026Missing a blog? Tell us

Top all-time · #2156

C

Conrad Irwin

Personal blog · cirw.in/blogprogramming

Conrad Irwin is a personal blog at cirw.in about programming. Since 2012, 35 different Hacker News readers have linked it 53 times, most often “Bracketed paste mode (2013)”. It has a working feed you can follow.

Visit the blog
53mentions?
35HN people?
2012–2026first – last linked?
Links on Hacker News per year · peak 11 in 2020

Too few sampled comments (20) to say how often HN recommends it.?

Why HN links it

HN readers link this blog mainly for its bracketed paste mode article, which explains how terminals stop pasted text from running commands immediately. Other posts cover Ruby, the CONL config format and Emacs.

Summarised by Claude from a sample of 20 HN comments that link here. Each comment is marked recommending, critical or neutral (citing without judging); how this works.

Most-linked posts?

  1. Bracketed paste mode (2013)
    13 people · 20 mentions · first linked 2016-05-24
  2. CONL: "Markdown" for your config files
    3 people · 3 mentions · first linked 2025-04-26
  3. Node's Unicode Dragon (2013)
    2 people · 2 mentions · first linked 2015-11-19
  4. Visualizing memory leaks in Ruby
    2 people · 2 mentions · first linked 2013-03-04
  5. Tools for Go Modules
    2 people · 2 mentions · first linked 2024-12-16
  6. MVC is dead, it's time to MOVE on (2012)
    2 people · 2 mentions · first linked 2020-02-18
  7. Dynamic scope for Ruby
    2 people · 2 mentions · first linked 2012-12-03

What Hacker News says?

  1. This. I'd argue that the issue here is more with terminals and shells than web browsers: paste shouldn't immediately start executing something. The technology to not do so has been around for years - it's called bracketed paste: https://cirw.in/blog/bracketed-paste

    Comment linking /blog/bracketed-paste

    on “Pastejacking”
  2. Submitted MVC is dead, it's time to MOVE on as a story · 487 points

    HN discussion
  3. > plus a newline to make it run immediately I already mentioned this in another comment, but everyone should enable bracket paste mode in their shell to defend against this. https://cirw.in/blog/bracketed-paste

    Comment linking /blog/bracketed-paste

    on “Don't touch my clipboard”
  4. Submitted MVC is dead, it's time to MOVE on (2012) as a story · 267 points

    HN discussion
  5. > copy-pastes including newlines (i.e. which will execute a command instantly) You should enable bracketed paste mode in your shell. IMO it’s much better UX than a confirmation dialog. https://cirw.in/blog/bracketed-paste

    Comment linking /blog/bracketed-paste

    on “Don't touch my clipboard”
  6. Submitted MVC is dead, it's time to MOVE on (2012) as a story · 182 points

    HN discussion
  7. Does vim 8 still not have bracketed paste by default? https://cirw.in/blog/bracketed-paste

    Comment linking /blog/bracketed-paste

    on “A Good Vimrc (2014)”
  8. Submitted Node's Unicode Dragon as a story · 94 points

    HN discussion
  9. Quadruple-click smart selection should be doable with urxt's perl extension feature. Selecting within a tmux pane: you got me on that one. I'm not aware of a terminal that does that, but again, it should be possible to do with urxvt's perl extension feature. Regarding the "safer command line paste", Linux can do the same with bracketed paste mode.[1] For splitting panes, I just use tmux, vim, or emacs. [1] - https:/…

    Comment linking /blog/bracketed-paste

    on “St – A simple terminal implementation for X”
  10. Submitted CONL: "Markdown" for your config files as a story · 70 points

    HN discussion
  11. OP might want to consider bracketed paste mode: https://cirw.in/blog/bracketed-paste

    Comment linking /blog/bracketed-paste

    on “Do not use redirection characters in your shell prompt”
  12. Submitted Show HN: pry-rescue — workflow-optimized debugging for ruby as a story · 69 points

    HN discussion
  13. Some terminal emulators / shells use some heuristics, but the most reliable way is to use a combination of a terminal emulator and shell that support bracketed paste mode. This article ( https://cirw.in/blog/bracketed-paste ) lists some terminal emulators that supports bracketed paste, and a zsh plugin that makes zsh handle bracketed paste in a safe manner. As an alternative to zsh, Elvish ( https://github.com/elves…

    Comment linking /blog/bracketed-paste

    on “Ask HN: Ubuntu Desktop Default Apps”
  14. Submitted Visualizing memory leaks in Ruby as a story · 45 points

    HN discussion
  15. Turn on bracketed paste mode everywhere. Doesn’t help with homograph attacks (e.g. an IDN homograph attack tricking you into downloading something from the wrong domain), but at least you’re totally safe until you press enter to execute. https://cirw.in/blog/bracketed-paste

    Comment linking /blog/bracketed-paste

    on “Identity Beyond Usernames”
  16. Submitted Ampex - concise readable Ruby blocks as a story · 45 points

    HN discussion
  17. There is safe-paste plugin for oh-my-zsh and you can enable the bracketed paste mode in Bash too by adding set enable-bracketed-paste on to your ~/.inputrc. https://cirw.in/blog/bracketed-paste

    Comment linking /blog/bracketed-paste

    on “Look before you paste from a website to terminal”
  18. Submitted Bracketed paste mode (2013) as a story · 41 points

    HN discussion
  19. zsh implements something called bracketed paste mode.[1] [1] - https://cirw.in/blog/bracketed-paste

    Comment linking /blog/bracketed-paste

    on “Look before you paste from a website to terminal”
  20. Submitted CONL: "Markdown" for your config files as a story · 25 points

    HN discussion
  21. The issue is mostly with git itself, e.g. take a look at git cat-file commit HEAD to see something like: tree <tree-hash> parent <parent-hash> author <author-name> <author-email> <timestamp> committer <committer-name> <committer-email> <timestamp> gpgsig -----BEGIN PGP SIGNATURE----- <ascii-armored RFC9580 signature> -----END PGP SIGNATURE----- <commit message> You can view an example of the structure of this ascii-…

    Comment linking /gpg-decoder/

    on “Emacs arbitrary code execution and how to avoid it”
  22. Submitted How to program like an explorer (with Pry). as a story · 25 points

    HN discussion
  23. Using this architecture with htmx is the future https://cirw.in/blog/time-to-move-on

    Comment linking /blog/time-to-move-on

    on “Ask HN: Anybody Using Htmx on the Job?”
  24. Submitted A safer git checkout as a story · 13 points

    HN discussion
  25. I am gonna leave this here. https://cirw.in/blog/bracketed-paste It is not that "I think" it is objectively more efficient and easier to read, yes this has been studied before. I agree that going too narrow increases scrolling and it's annoying. (Widescreens are a stupid trend)

    Comment linking /blog/bracketed-paste

    on “Fixing Unix/Linux/Posix Filenames (2009)”
  26. Submitted Be proud of your git commit history as a story · 6 points

    HN discussion
  27. > Aside: Is there a similar tool for macOS? I don't know the state of Windows terminal emulators, but it seems strange to describe the problem without mentioning the term for the solution, which is 'bracketed paste'. This article discusses how bracketed-paste mode is signalled using ANSI escape sequences, which I guess can work in most macOS terminal emulators (although it's up to the shell to respond): https://cirw…

    Comment linking /blog/bracketed-paste

    on “Yet another tool for making copy/paste/run experience better (Windows)”
  28. Submitted Bracketed Paste Mode as a story · 5 points

    HN discussion
  29. Could go the other way and only have strings a la CONL[0]. Which feels reasonable once I got over my initial shock. Your program is already going to enforce data types, why force that into the config language? [0] https://cirw.in/blog/conl

    Comment linking /blog/conl

    on “Things I don't like in configuration languages”
  30. Submitted Dotgpg: Easy-to-use storage for your production secrets (2014) as a story · 5 points

    HN discussion

Search all of HN for cirw.in

Linked by the same people?