2026/06/28

Newest at the top

2026-06-28 19:08:31 +0000ski(~ski@31-208-30-244.cust.bredband2.com)
2026-06-28 19:06:48 +0000ski(~ski@31-208-30-29.cust.bredband2.com) (Ping timeout: 270 seconds)
2026-06-28 19:00:24 +0000ski(~ski@31-208-30-29.cust.bredband2.com)
2026-06-28 18:59:01 +0000ski(~ski@31-208-30-244.cust.bredband2.com) (Ping timeout: 265 seconds)
2026-06-28 18:56:47 +0000Everything(~Everythin@static.208.206.21.65.clients.your-server.de) Everything
2026-06-28 18:51:27 +0000vanishingideal(~vanishing@user/vanishingideal) (Ping timeout: 252 seconds)
2026-06-28 18:46:51 +0000Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Excess Flood)
2026-06-28 18:45:20 +0000Lord_of_Life(~Lord@user/lord-of-life/x-2819915) Lord_of_Life
2026-06-28 18:40:52 +0000Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Excess Flood)
2026-06-28 18:37:30 +0000Lord_of_Life(~Lord@user/lord-of-life/x-2819915) Lord_of_Life
2026-06-28 18:24:17 +0000 <monochrom> Yeah sqlite offers to use FS etc.
2026-06-28 18:23:58 +0000 <dolio> Go look in the ermine codebase and tell me the `unfurl` function doesn't unfurl.
2026-06-28 18:23:44 +0000 <dolio> My meaningful names are accurate.
2026-06-28 18:23:28 +0000 <EvanR> FS literally field separator
2026-06-28 18:23:13 +0000 <EvanR> use those
2026-06-28 18:23:12 +0000 <EvanR> those ascii controls are what's not used in data xD
2026-06-28 18:22:08 +0000 <darkling> 28-31 https://en.wikipedia.org/wiki/C0_and_C1_control_codes
2026-06-28 18:21:49 +0000 <darkling> We should never have stopped using FS, GS, RS and US ASCII codes. :)
2026-06-28 18:20:43 +0000 <tomsmeding> there has also been a suggestion to separate fields using unicode characters instead. After all, those don't appear in data, do they? https://github.com/sixarm/usv
2026-06-28 18:17:45 +0000 <monochrom> In Unix, listen(2) does not listen.
2026-06-28 18:17:31 +0000 <monochrom> All "meaningful" names from programmers are lies.
2026-06-28 18:17:14 +0000 <monochrom> Ah you're picking on the name?
2026-06-28 18:16:15 +0000 <EvanR> "csv" is a lie. A,B,"C,D",E four values not 5!
2026-06-28 18:14:14 +0000 <monochrom> I didn't know of csvkit so I adopted sqlite3. If you start now, you may as well go for csvkit, especially since it can still bridge to sql if one day you need it.
2026-06-28 18:13:27 +0000 <EvanR> LIFE HAXX
2026-06-28 18:12:29 +0000 <EvanR> instead of |
2026-06-28 18:12:20 +0000 <EvanR> it also dumps to google sheets pretty easily, by setting the field separator to tab
2026-06-28 18:11:50 +0000 <tomsmeding> yeah you're right
2026-06-28 18:11:44 +0000 <EvanR> modifying the database is another story
2026-06-28 18:11:32 +0000 <EvanR> tomsmeding, though if you're just reading using shell scripts and hacks, sqlite dumps to text pretty easily
2026-06-28 18:05:12 +0000 <monochrom> "I was writing sensible CSV tools in Haskell. Then I downloaded csvkit and switched to Python." >:)
2026-06-28 17:58:23 +0000 <monochrom> s/strong/string/
2026-06-28 17:58:14 +0000 <monochrom> The quotes in my example is really CSV quotes. My first column is the strong: The Great, Monochrom
2026-06-28 17:56:39 +0000 <monochrom> Nice csvsql
2026-06-28 17:52:27 +0000 <darkling> Ah, yes, csvkit
2026-06-28 17:51:32 +0000fgarcia(~lei@user/fgarcia) fgarcia
2026-06-28 17:51:29 +0000 <tomsmeding> fortunately my CSVs didn't have quotes
2026-06-28 17:51:08 +0000 <tomsmeding> oh, -t
2026-06-28 17:51:08 +0000 <geekosaur> you forgot embedding quotes in the first field
2026-06-28 17:51:04 +0000 <darkling> There's a set of csv tools too that mirror grep/cut/sort/join and a few others but handle CSVs properly.
2026-06-28 17:51:02 +0000 <tomsmeding> darkling: where is the option to consider ',' the field delimiter?
2026-06-28 17:50:47 +0000 <monochrom> "The Great, Monochrom",10011101,monochrom
2026-06-28 17:50:13 +0000 <monochrom> Fragile in the face of real csv.
2026-06-28 17:50:04 +0000 <darkling> Although I have done the sqlite trick a few times for more complicated pipelines.
2026-06-28 17:50:03 +0000 <geekosaur> sadly csv in the wild is often too complex for it
2026-06-28 17:49:45 +0000 <darkling> There's already: join (1) - join lines of two files on a common field
2026-06-28 17:49:22 +0000Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Excess Flood)
2026-06-28 17:48:30 +0000fgarcia(~lei@user/fgarcia) (Ping timeout: 245 seconds)
2026-06-28 17:48:11 +0000piranezi2(~piranezi@user/maxnetyaga) maxnetyaga
2026-06-28 17:48:10 +0000 <monochrom> I wrote my own haskell program for "read 2 csv's, join, output csv" but it is clunky to use.