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
    C

    Charlie Robbins

    cirw.in · Personal blog · on HN since 2012

    Charlie Robbins writes about developer tools, terminals, Ruby, Node, and Go, including bracketed paste mode and the CONL config format.

    Visit blogRSSHN submissions
    ProgrammingWeb Development
    What HN says

    HN commenters link his bracketed paste mode explainer for terminal paste attacks, and also cite his CONL config format and his MVC post.

    Stats for nerds
    34HN people shared it
    32linked in comments
    1.4Kstory points
    Nov 2025last shared
    2012people per year2025

    Top posts on HN

    1. 1
      MVC is dead, it's time to MOVE on
      3 people · 754 points · first shared 2012 · 222 comments on HN
    2. 2
      MVC is dead, it's time to MOVE on (2012)
      1 person · 182 points · first shared 2013 · 168 comments on HN
    3. 3
      Node's Unicode Dragon
      3 people · 97 points · first shared 2013 · 63 comments on HN
    4. 4
      CONL: "Markdown" for your config files
      3 people · 95 points · first shared 2025 · 51 comments on HN
    5. 5
      Show HN: pry-rescue — workflow-optimized debugging for ruby
      1 person · 69 points · first shared 2012 · 30 comments on HN
    6. 6
      Bracketed paste mode (2013)
      14 people · 56 points · first shared 2013 · 22 comments on HN
    7. 7
      Visualizing memory leaks in Ruby
      2 people · 45 points · first shared 2013 · 9 comments on HN
    8. 8
      Ampex - concise readable Ruby blocks
      1 person · 45 points · first shared 2012 · 17 comments on HN
    9. 9
      How to program like an explorer (with Pry).
      1 person · 25 points · first shared 2012 · 3 comments on HN
    10. 10
      A safer git checkout
      1 person · 13 points · first shared 2012 · 18 comments on HN

    What HN people wrote when they linked it

    • CarpaDoradaNov 2024

      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-armored signature here <https://cirw.in/gpg-decoder/#-----BEGIN%20PGP%20SIGNATURE-----%0A%0AiF4EABYIAAYFAlX5X5UACgkQjP3hIZeWWpr2IgD%2FVvkMypjiECY3vZg%2F2xbBMd%2FS%0Aftgr9N3lYG4NdWrtM2YBANCcT6EVJ%2FA44PV%2FIgHYLy6iyQMyZfps60iehUuuYbQE%0A-----END%20PGP%20SIGNATURE----->.

      You can add a patch to git to support more signature types than just OpenPGP. You may then be able to move mountains and get GitHub/others to join in the validation. Finally, if you can find bugs/exploits in GnuPG, you should report them and you will definitely get credit and recognition for them. They are not trivial to find.

    • xiaqJul 2017

      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/elvish) supports bracketed paste out of the box. When you paste anything that includes a carriage return, Elvish will insert a literal return instead of executing it.

      (Disclaimer: I am the author of Elvish.)

    • JadeNBAug 2020

      > 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.in/blog/bracketed-paste . (I guess that Win+Ins is doing something similar on Windows?)

    • pmoriartyFeb 2017

      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://cirw.in/blog/bracketed-paste

    • O_H_EMar 2019

      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)

    • oefrhaJul 2020

      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

    Related

    Dave Cheneydave.cheney.net271 people

    Why Slack is inappropriate for open source communications

    Dave Cheney
    Personal · last shared 2026
    Bluish Coderbluishcoder.co.nz77 people

    Using Freenet

    Bluish Coder
    Personal · last shared 2025
    Ruby Insiderubyinside.com147 people

    Sinatra 1.0 Released: Major Milestone for Ruby’s Best Webapp DSL

    Ruby Inside
    Publication · last shared 2021
    Unlimited Noveltyunlimitednovelty.com42 people

    Node.js has jumped the shark

    Unlimited Novelty
    Personal · last shared 2023
    Hawkinshawkins.io16 people

    We Are Pioneers: the Journey to Ember.js

    Hawkins
    Personal · last shared 2021
    Chris Wellonsnullprogram.com295 people

    Why Aren't There C Conferences?

    Chris Wellons
    Personal · last shared 2026
    Textual Blogtextual.textualize.io54 people

    Algorithms for high performance terminal apps – Textual

    Textual Blog
    Company · last shared 2026
    Code Adventuresmedium.com/code-adventures31 people

    Farewell Node.js

    Code Adventures
    Publication · last shared 2021