News for hackers. Stuff that matters.
Re:Modern CSV version 2 is now available by evanem on Tuesday August 15, 2023 @06:35PM (#37140160)
Hi, I'm Evan and I developed Modern CSV. Last year, the beta version of version 2 was posted here on Hacker News. As a follow-up, I'm letting you guys know that the beta period is over and Modern CSV 2 is now available.

Modern CSV is a tabular file editor/viewer for Windows, Mac, and Linux. I developed it out of frustration with how spreadsheet programs handle CSV files. Plain text editors, on the other job, do a poor job of handling columns. With Modern CSV, I attempt to combine the best of both worlds.

With version 2, you can expect to see an improved UI/UX, better performance, more useful features, updated documentation, and for Mac users, native Apple Silicon support.

If you haven't tried it yet, give it a shot and let me know what you think!

Re:Modern CSV version 2 is now available by simonw on Tuesday August 15, 2023 @07:30PM (#37140733)
You should add that "Modern CSV is a tabular file editor/viewer for Windows, Mac, and Linux" line to the announcement page on https://www.moderncsv.com/modern-csv-2-is-now-available/ - for this kind of post it's always best to assume that people landing on the page don't know what the software is yet.

(It's easy to assume people will click the link from that page to https://www.moderncsv.com/ in order to find out more, but I'm not sure that's always a safe assumption!)

Re:Modern CSV version 2 is now available by nullindividual on Tuesday August 15, 2023 @07:59PM (#37140978)
To expand upon this... the name is a problem.

"How can one make a _modern_ version of the CSV file format, let alone a second?"

Re:Modern CSV version 2 is now available by bombcar on Tuesday August 15, 2023 @08:18PM (#37141121)
Something playing on CSV could work - CSVlad or CSViper or CSVi
Re:Modern CSV version 2 is now available by agar on Tuesday August 15, 2023 @08:49PM (#37141375)
CSVi is quite clever. It immediately conjures the idea that its an editor for CSVs.

I assumed from the HN headline that Modern CSV version 2 was an iteration on some new CSV specification.

Re:Modern CSV version 2 is now available by sdenton4 on Tuesday August 15, 2023 @10:03PM (#37141924)
Spoiler: it's Parquet.
Re:Modern CSV version 2 is now available by yencabulator on Wednesday August 16, 2023 @10:34AM (#37147693)
Parquet is great but I'd argue ndjson[1] is closer to "modern" CSV. That is, people who like to describe things as "modern" and "elegant" are likely to want JSON everywhere ;-)

[1]: Newline-delimited JSON, http://ndjson.org/

Re:Modern CSV version 2 is now available by another-dave on Wednesday August 16, 2023 @03:36AM (#37143884)
It is clever but I can imagine the comments the OP would've gotten if posting "CSVi" and it didn't use vi-like keyboard shortcuts!
Re:Modern CSV version 2 is now available by jdmichal on Wednesday August 16, 2023 @06:36AM (#37145091)
CSVi is cute and clever in exactly the way you don't want to be. It loses the entire audience of people who are Excel jockeys working with CSV files and maybe frustrated with the experience. Software engineers and system admins know what vi is. The rest of the world doesn't.
Re:Modern CSV version 2 is now available by bombcar on Wednesday August 16, 2023 @10:56AM (#37148061)
The worse is the people who do know what vi is, and assume that it's a vi plugin or worse, an editor using vi bindings, and ignore it.
Re:Modern CSV version 2 is now available by avgcorrection on Wednesday August 16, 2023 @08:01AM (#37145734)
You know that was my first though as well (new CSV version), but then I thought that a new version wouldn't make sense since (1) there is already a specification (the RFC), and (2) those who don't care about the current RFC won't care about a new spec, either.

CSV is one of those things that are everywhere because it is “obvious”. Then we have to deal with 100 interpretations of “obvious” decades later, since not enough people care about standardization.

Re:Modern CSV version 2 is now available by __del__ on Tuesday August 15, 2023 @11:09PM (#37142455)
i agree with the nibling comment that this name works precisely because it provokes curiosity about its relevance.

i can't be the only dev who saw this headline and wondered whether some entity was pushing for a csv standardization (e.g. guarantees about encoding, escaping, etc.)

Re:Modern CSV version 2 is now available by DonHopkins on Wednesday August 16, 2023 @06:37AM (#37145100)
No no no, not CSVi, but CSVmacs!!! ;)
Re:Modern CSV version 2 is now available by evanem on Tuesday August 15, 2023 @09:04PM (#37141493)
The name only refers to the app's features and appearance. Well before I started development, I was looking for a CSV editor for my own use and everything I tried had a 90s look and feel. I figured just because the format is ancient doesn't mean the applications for it should be.
Re:Modern CSV version 2 is now available by simondotau on Tuesday August 15, 2023 @10:03PM (#37141920)
I think it’s a great name. Keep it. Even if it confuses some people at first, it’s the sort of confusion which will inspire many people — especially those who deal with text files all day and get pedantic about this stuff — to satisfy their incredulity and thus be exposed to your program.

This is perfect for a tool which most people, including those who would derive the most benefit from it, won’t even hypothesise the existence of.

Re:Modern CSV version 2 is now available by coldtea on Wednesday August 16, 2023 @03:20AM (#37143783)
>it’s the sort of confusion which will inspire many people

...to skip it, because while they could use a CSV file editor, they don't care to read about yet another "modern CSV" format.

Confusion can only inspire if potential users pass from hearing about this, to the next level (of checking what it is about).

I, for one, almost didn't click the HN submission because of this reason.

Re:Modern CSV version 2 is now available by pbhjpbhj on Wednesday August 16, 2023 @03:59AM (#37144025)
This type of marketing by deception is absolute anathema to me.

People will "dig deeper" because you tricked then into thinking what you've made of something else, something that person knows they want. Bleurgh.

Yes, that's consistent with modern marketing: make people get your product even if they don't want it and/or don't need it. But, really, are you so desperate. You might save a 1000 hours by making it clear what the subject is; choosing to waste others time [which I'm not at all claiming the OP has done] is contemptible.

Re:Modern CSV version 2 is now available by evanem on Wednesday August 16, 2023 @09:41AM (#37146838)
Definitely not my intent.
Re:Modern CSV version 2 is now available by simondotau on Friday August 18, 2023 @08:14AM (#37174590)
And it's obvious that it wasn't. Don't apologise. Ignore the critics. Any real potential customer will be far too distracted by the excitement of discovering a new thing which might make their life easier; they're not going to be lingering on the moment of cognitive dissonance. Anyone who does was never going to be your customer anyway.
Re:Modern CSV version 2 is now available by ckastner on Wednesday August 16, 2023 @07:02AM (#37145256)
> it’s the sort of confusion which will inspire many people — especially those who deal with text files all day and get pedantic about this stuff — to satisfy their incredulity and thus be exposed to your program.

Confusion doesn't inspire, it irritates. And to pedantic people, the satisfaction comes from being rightfully irritated.

You're basically advocating in defense of misleading/false advertising.

Re:Modern CSV version 2 is now available by ChrisNorstrom on Wednesday August 16, 2023 @02:36AM (#37143528)
Ignore them, ModernCSV is perfect and memorable. That's how I remembered it and found it.
Re:Modern CSV version 2 is now available by coldtea on Wednesday August 16, 2023 @03:24AM (#37143812)
Of course those who skipped it because of the name wouldn't be posting...

https://medium.com/@penguinpress/an-excerpt-from-how-not-to-...

Re:Modern CSV version 2 is now available by coldtea on Wednesday August 16, 2023 @03:19AM (#37143777)
>The name only refers to the app's features and appearance

Perhaps, but it's very easy to confuse with it being about a modern version of the CSV standard.

In fact that would be probably the default interpretation.

Re:Modern CSV version 2 is now available by kwanbix on Wednesday August 16, 2023 @05:17AM (#37144551)
Yeah, that is the first thing I thought.

Modern CSV Editor will probably be a much better name.

Re:Modern CSV version 2 is now available by coldtea on Wednesday August 16, 2023 @06:18AM (#37144979)
Yeah, and perhaps sticking the word together: ModernCSV Editor
Re:Modern CSV version 2 is now available by pnt12 on Wednesday August 16, 2023 @04:54PM (#37153688)
CSVEdit? Hopefully not sued by reddit!
Re:Modern CSV version 2 is now available by bee_rider on Tuesday August 15, 2023 @11:43PM (#37142620)
I don’t really see the problem. Of course, CSV is more of a vague description of a family of pseudo-standards, rather than an actual standard. But Modern CSV seems like a fine name for an actual standard that takes inspiration from them.
Re:Modern CSV version 2 is now available by coldtea on Wednesday August 16, 2023 @03:25AM (#37143820)
That's exactly the problem.

This isn't about a name "for an actual standard that takes inspiration from them" but for a CSV editing software.

Re:Modern CSV version 2 is now available by shmoe on Tuesday August 15, 2023 @11:56PM (#37142692)
That sort of thing usually breeds curiosity and leads someone to dig in deeper about the product though.
Re:Modern CSV version 2 is now available by cxr on Wednesday August 16, 2023 @06:24PM (#37154691)
> How can one make a _modern_ version of the CSV file format

Check out WebCSV*:

<http://www.w3.org/TR/tabular-data-primer/>

* I'm aware that "WebCSV" isn't the real name, but it should be.

Re:Modern CSV version 2 is now available by wodenokoto on Wednesday August 16, 2023 @12:39AM (#37142936)
Yeah, the HN title lead me to believe this would be version to of a modern cab specification.

A bit surprised to see that a specification had improved UI before it dawned on me that it’s a CSV reading.

Re:Modern CSV version 2 is now available by topato on Wednesday August 16, 2023 @02:32AM (#37143510)
Haha, I had the same thought "Oh wow, I wonder what sorts of modern data storage techniques they managed to backport into simple CSV" And then.... disappoint. At least until I check out the software. It still sounds like the same column functions I get from notepad++ or VS:C
Re:Modern CSV version 2 is now available by hn_throwaway_99 on Tuesday August 15, 2023 @07:31PM (#37140749)
Just wanted to say I haven't used your product yet, but there are a couple things I really like about your site that led me to download it:

1. The first question I had was "How is this better than Excel?" The Google result for your site directly pulls up this very informative blog post, https://www.moderncsv.com/why-excel-sucks-and-modern-csv-is-... . Note my 2 cents is that I would more prominently link this, or at least have a more prominent section, from your home page.

2. Simple AF pricing. So rare these days. Kudos!

Re:Modern CSV version 2 is now available by stevage on Wednesday August 16, 2023 @04:17AM (#37144137)
Yeah, Excel's data munging is a massive problem for a lot of CSV stuff.
Re:Modern CSV version 2 is now available by haspok on Wednesday August 16, 2023 @04:44AM (#37144345)
Thanks for linking that post. I would summarize this tool more as a log viewer and editor, not necessarily a CSV editor. I mean, this: "What if you’re running a script that writes to a CSV file and you want to see it updated?" I have never experienced in my life, and I had my fair share of CSV munging...
Re:Modern CSV version 2 is now available by jdmichal on Wednesday August 16, 2023 @06:29AM (#37145045)
I would use that feature. We do data processing, and for testing I developed a version that runs locally on CSV files. It can take a few minutes to work through a large file, but it's stream processing so it starts writing almost immediately. Being able to load that output sooner than once it's done like Excel provides would be a nice improvement.
Re:Modern CSV version 2 is now available by chambers on Tuesday August 15, 2023 @07:49PM (#37140906)
Love the idea of this. Is there a feature to support views or linked records from other CSV files?

Basically, my team is curious if there's a smaller, lighter, local-alternative to Airtable, which we can collaborate on with Git. It's a big ask and maybe not on your roadmap, but something that is on our minds.

Re:Modern CSV version 2 is now available by djbusby on Tuesday August 15, 2023 @07:54PM (#37140941)
Have you tried the trick where you put CSV into SQLite?

I do that. Many, maybe linked, CSVs. Load all into SQLIte, query, filter, sort, etc.

In the repos to process we have only scripts to load and filter. The SQLite things are short lived.

Also, memory only SQLite FTW!

Re:Modern CSV version 2 is now available by TristanBall on Tuesday August 15, 2023 @09:15PM (#37141588)
Duckdb does this straight from csv. You can treat them pretty much just like un-indexed tables, including queries, joins and output back to csv or parquet. its

Really nice.

Re:Modern CSV version 2 is now available by jdoconnor on Tuesday August 15, 2023 @08:13PM (#37141079)
Re:Modern CSV version 2 is now available by chambers on Tuesday August 15, 2023 @08:22PM (#37141155)
Grist was one of the first tools we looked at but it wasn't the desktop-first app my team was hoping for. Self-hosting a service felt like a little too much upkeep, on top of all the other systems we own. I recall the data was also not git diff-able.
Re:Modern CSV version 2 is now available by bnj on Tuesday August 15, 2023 @08:32PM (#37141238)
Desktop first made me think of Superintendant[0] which I’ve enjoyed using

0: https://superintendent.app/

Re:Modern CSV version 2 is now available by jdoconnor on Wednesday August 16, 2023 @05:57AM (#37144842)
There's an electron app that doesn't require hosting at all. It's a desktop solution. https://github.com/gristlabs/grist-electron
Re:Modern CSV version 2 is now available by alanvillalobos on Tuesday August 15, 2023 @07:59PM (#37140972)
Git based database? Sounds super interesting. Are you guys actively looking for something or is it a nice to have?
Re:Modern CSV version 2 is now available by chambers on Tuesday August 15, 2023 @08:17PM (#37141109)
More like a git-based log than database. We use it for requests and questions that come up on our slack. We figured out how to extract threads from slack, transform them into CSV files and then load them into Airtable.

Airtable has a great UI but the data becomes isolated from our ETL script and it means we have to re-download and export to CSV to use in other contexts.

It'd be great if we could load a CSV into a desktop editor, and then have it store certain views/linked records to other CSV files in a local "db.json" file.

Re:Modern CSV version 2 is now available by nuc1e0n on Wednesday August 16, 2023 @07:00AM (#37145242)
If you want a proper relational database, sqlite would suit better. There are GUI tools to work with sqlite database files and sqlite has csv import and export. But that won't help much if you already have a large CSV you just need to edit a few rows on.

As for versioning sqlite data, just don't ever update or delete any rows but instead only ever insert the updates as a new row. Potentially you could add a 'deleted' boolean and 'inserted' date columns to the tables you want to version. That way you can use '... and deleted = false' to filter out old data and you also know when updates occurred.

Re:Modern CSV version 2 is now available by WorldMaker on Wednesday August 16, 2023 @12:37PM (#37149660)
The problem with SQLite is that you have binary blobs and you don't have useful text diffs. So you lose a lot easy history reviewing tools based on git and also easy merge/pull reviews.

The closest to a best of both worlds is to use something like JSON to store the data in git and then a tool like Datasette to build an SQLite-powered view on top of that repo.

Re:Modern CSV version 2 is now available by TylerE on Tuesday August 15, 2023 @11:15PM (#37142481)
Many moons and a few jobs ago, I rolled an in-house Wiki in python, that was basically a very thin web UI over mercurial. Each page was a checked-in plain text file (I think some sort of markdown flavor, but this was circa 2010, a totally different era!), each edit was a revision/commit. Things like article history just shelled out to mercurial. "Querying" was down via filesystem operations. Rolled the whole thing in a day and a half or so - less than I'd already spent trying to get a MediaWiki instance stood up!
Re:Modern CSV version 2 is now available by evanem on Tuesday August 15, 2023 @08:54PM (#37141408)
That has not been on my roadmap, but I'll think about it. It sounds like it may have to be a separate product, not that that's a bad thing.
Re:Modern CSV version 2 is now available by davgoldin on Tuesday August 15, 2023 @08:23PM (#37141163)
I share the frustration! I have to open lots of small and large CSV files daily, with multiple encodings. Usually I'm juggling between Excel, Numbers, and Sublime text editor - depending on which one would open that file faster.

Naturally, I installed Modern CSV seconds after seeing this post.

I'm on MacBook M2, using trackpad 1) the vertical scroll is slow and un-mac-like, unnatural; and 2) horizontal scroll basically doesn't work, it scrolls a column or a half on a full swipe, but it does improve somewhat when there's less content in the cells.

I admire your work, please keep on going, there's a huge need!

Re:Modern CSV version 2 is now available by evanem on Tuesday August 15, 2023 @09:15PM (#37141583)
You're right, Mac trackpad handling is something I need to address. It's on my to-do list.
Re:Modern CSV version 2 is now available by oneeyedpigeon on Wednesday August 16, 2023 @05:37AM (#37144698)
Looks like it's scrolling in general, not just trackpad. It appears to limit the maximum scroll speed when I'm using a mouse. I take it this is because the app is programmed using some kind of non-native controls?
Re:Modern CSV version 2 is now available by OGWhales on Wednesday August 16, 2023 @08:49AM (#37146271)
I noticed on Windows that if I have the window in focus and scroll, each notch of my scroll wheel scrolls 4 rows. However, if I have another window in focus and hover over the Modern CSV window and scroll it will scroll ~90 rows (not always the same for some reason). The max scroll speed is the same in both scenarios, which I tested using a free-spinning scroll wheel. After some more testing it seems a lot of programs handling scrolling differently between these two scenarios, but it is much more obvious in Modern CSV because a single notch scrolling 90 lines is quite a lot.

I would like to be able to have some kind of scroll options available, choosing between smooth-scrolling or scroll by row/column would be great. Removing the scroll speed limit would be good too.

Re:Modern CSV version 2 is now available by m_0x on Tuesday August 15, 2023 @08:24PM (#37141169)
If I buy a personal license can I install it multiple times in different computers? Or do I need to transfer my license from computer to computer?
Re:Modern CSV version 2 is now available by evanem on Tuesday August 15, 2023 @09:01PM (#37141466)
Yes, you can use it on as many machines as you want and there's no limitation on platforms either.
Re:Modern CSV version 2 is now available by winrid on Tuesday August 15, 2023 @08:41PM (#37141301)
What UI framework are you using? It kind of reminds me of libgdx + vis-ui.
Re:Modern CSV version 2 is now available by evanem on Tuesday August 15, 2023 @08:48PM (#37141368)
Qt 6 with C++.
Re:Modern CSV version 2 is now available by winrid on Sunday August 20, 2023 @01:13AM (#37196320)
Ah makes sense. It looks nice! I really have been thinking about learning QT or wxWidgets for a future commercial project.