HN Hall of Fame Weekly email

List of command line tools for manipulating CSV, XML, HTML, JSON, INI, etc.

Screenshot of github.com captured 2026-07-20
Page preview · captured 2026-07-20

Resurfaced independently across 6 calendar years, with breakout response in 2 of them.

submissions
6
submitters
5
observed span
2016–2024
peak thread · 55 comments
389 pts
latest 20+ return · 2018-04-08
389 pts

Submission timeline

2007–2026

One slot for every year since HN launched. Height is that year's peak points; orange marks a 100+ point or 50+ comment breakout. Select a bar to open its strongest thread.

First comments on top threads

HN comment order

[lnav](https://www.lnav.org) is a terrific little tool, a "mini-ETL" of sorts with an embedded SQLite client and a clean, powerful interface. Its sweet spot is logfiles, but given regex-based custom formats, works great with any semi-structured input. Lnav easily handles a few million rows at a time. IME it pairs really really well with eg mitmproxy/mitmdump for client request logs, as well as webserver logs.

Also csvkit. in2csv data.xls > data.csv in2csv data.json > data.csv csvcut -c column_a,column_c data.csv > new.csv csvcut -c column_c,column_a data.csv > new.csv csvgrep -c phone_number -r 555-555-\d{4}" data.csv > matching.csv csvjson data.csv > data.json csvsql --query "select name from data where age > 30" data.csv > old_folks.csv csvsql --db postgresql:///database --insert data.csv sql2csv --db postgresql:///database --query "select * from data" > extract.csv https://github.com/wireservice/csvkit (Submitted a…

The first top-level comment from each of the four biggest threads, in HN’s own order. Excerpts are shortened; open a comment for full context.

Breakout years
2

100+ points or 50+ comments

Total points
573

reference only — not used in Hall rules or ranking

Total comments
96

reference only — not used in Hall rules or ranking

Every submission