Modern CSV version 2 (moderncsv.com)
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!
159 comments
[ 4.9 ms ] story [ 56.1 ms ] threadHeres a link to a big CSV if anyone else looking for one to test: https://github.com/datablist/sample-csv-files/raw/main/files...
https://csvplot.com/remote_file.html?url=https://media.githu...
Just to give you some info, I just opened a csv that's 3.5 GB and has about 1.6 million rows. It took about 30-40 seconds to load nad it's only using 215 MB of ram. I have managed to crash it a few times but I think it's understandable considering the huge amount of data it's dealing with.
(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!)
"How can one make a _modern_ version of the CSV file format, let alone a second?"
I assumed from the HN headline that Modern CSV version 2 was an iteration on some new CSV specification.
[1]: Newline-delimited JSON, http://ndjson.org/
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.
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.)
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.
...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.
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.
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.
https://medium.com/@penguinpress/an-excerpt-from-how-not-to-...
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.
Modern CSV Editor will probably be a much better name.
This isn't about a name "for an actual standard that takes inspiration from them" but for a CSV editing software.
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.
A bit surprised to see that a specification had improved UI before it dawned on me that it’s a CSV reading.
Edit: I found it under 'set theme'
I REALLY recommend doing light mode as the default, not dark mode. I imagine like 1% of people would actually want to look at big data as white text on black.
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!
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.
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!
Really nice.
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.
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.
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.
0: https://superintendent.app/
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!
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.
The widgets like inputs or selects also look weird, sometimes they don't have enough padding and content touches the edges, sometimes there is too much padding. In a numeric input there are icrement/decrement buttons, but they are so tiny that I doubt they are usable even with an Apple touchpad. The text in inputs is sometimes aligned to the left and sometimes centered without obvious reasons.
The command search popup is transparent and the background seen behind it makes reading the text harder.
Newlines in values should be explicitly escaped, e.g.
What are the benefits over converting the CSV to a SQLite DB and using a DB GUI?
This is all fine for an open source project but once people are paying for a tool, using it daily, and are promised certain updates coming soon, it's not great to have that update delayed by a full year.
https://news.ycombinator.com/item?id=31576554
At the same time, the "Premium Personal" price is a one-time payment of $29. My basic chicken sandwich meal at Whataburger was $11 dollars.
Point being, it's obvious to me that this is 1 dude who is developing this, so I'm not going to expect flawless communication for the price of 2.5 Whataburger meals. I'd much prefer to deal with that than have something like a monthly subscription SaaS charge.
Doesn't have to be flawless but a full year delay is a little much. I'm not even with that employer anymore.
These coffee/meal prices differ a lot between countries. Similarly, there are huge differences how often people living in different countries can easily afford to eat out or buy a coffee at some café.
I am not claiming you ripped us off or that your product is no good. Pretty sure we eventually purchased 4 licenses, because it is a good product. But better communication, taking the whole thing a bit more seriously, would go a long way. You knew what day the betas were expiring, instead of leaving all the customers hanging, you could have proactively sent everyone license keys or a longer-expiring version. You could have posted a quick status update on your web site. As I mentioned in another comment, I vouched for you internally and when asked about it months later (budget reviews, etc) with still just a beta version, I didn't have any answers.
Also HN: Why is the one developper that work on my software when he can because he can't make a living out of my one time 30$ payment doesn't ship all the features and versions I expect in a timely manner
Support contracts start at 500-1000$ a month these days, if you depend on it for your day job maybe invest in your tooling correctly...
- we would have been fine continuing to use a non-expiring v2 beta, but the developer set it up differently (eventually, a non-expiring version was provided)
- we never asked for support, just to not have the software expire without a replacement available
> maybe invest in your tooling correctly...
So your suggestion is that businesses should avoid independent developers altogether? That's a great way to be supportive of the little guy.
Think it's perfectly fine to tier features and make some stuff gated at a higher price.
Especially when you consider that it's a one time purchase and also it's an editor for a standard that will never change (you won't have to upgrade in a year to support features in the latest version of CSV)
Good luck on your project!