Imagine the amount of pain that could have been spared if we had done it right from the start some 50 years ago.
Imagine the amount of pain that could have been spared if we had done it right from the start some 50 years ago.
Unfortunately that ship has sailed. We have standards for escaping commas, escaping quotes, it’s escaping all the way down
This can be fixed in the font
> Imagine the amount of pain that could have been spared if we had done it right from the start some 50 years ago.
I think it's Putt's Law: If you design something for idiots, someone will make a better idiot. In this case, it took less than 15 years.
https://en.wikipedia.org/wiki/Optimus_Maximus_keyboard
(It's been almost 20 years and you still can't get one...)
Perhaps this would make an interesting personal project. Are you aware of any hurdles, missing key features, etc. that previous attempts at creating such a format have run into (other than adoption, obviously)?
(That said every text editor since ever should have had a "table mode" that uses the ASCII field/record seperators (or whatever you choose), I was always confused why this isn't common. Maybe vim and emacs do?)
I'm a Notepad++ person. When I needed to mock-up data typing the characters was easy-- just ALT and the ASCII code on the numeric pad. It took a bit to memorize the codes I needed to use. Their visual representation is just inverse text and initials.
I absolutely HATE this Parcquage.
(I don't think everyone has moved to it. I had never heard of it myself.)
You won't remember Parquet in 15 years, but you will have CSV files in 50 years.
You're probably right about CSV but probably not parquet. Parquet is already 11 years old, there are vast data warehouses that store parquet, it's first class in the spark ecosystem, and a key component of iceberg. Crucially, formats like parquet are "good enough" for a use case that doesn't appear to be going away. There is a high probability in my estimation that enough places are still using them in 15 years to be memorable even if it isn't as common or as visible.
Considering it also separates records with newlines, they really should have replaced newlines with "\n" and require escaping "\" with "\\".
Edit: this is what I have so far: https://github.com/tmccombs/ssv
Nice job. I hope you come back to finish the project eventually.
In time, editors and file browsers should come to render separators visually in a logical way.
Feel free to correct me, but I figure that as long as data can be from 0x00 to 0xFF per byte, no format that uses characters in that range will ever be safe. I’m not a big C developer but I figure the null terminated strings have the same limitation.
But if its something entered by keyboard you should be ok to use control codes.
Personally, I find tab and return to be fine for text driven stuff. Shows up in an editor just like intented.
The advantage of ASV is not that you can't have invalid or insecure data, it's that valid data will almost never contain ASCII control characters in the record fields themselves. Commas, quotation marks, and backslashes, meanwhile, are everywhere.
(Because CSV is a terrible data exchange format in terms of information per byte. But that makes sense, because it's an intentionally human readable data exchange format, not a machine format)
Hence https://github.com/SixArm/usv/tree/main/doc/faq#why-choose-u...
Where's the key on my keyboard yo make one?
The point of text-based formats is that you can edit them in a text editor by hand trivially, if typing the character is nontrivial, then it entirely defeats the point (that's also why USV ads very little value IMHO).
There is no perfect solution, but I’d rather open a text file in a decent editor than having to deal with the escaping hell that is CSV.
They could have chosen the pipe character “|” at least, but the comma is the thousand separator in many languages (number formatting is kind of important for tabular data, if you ask me) and also, you know, general prose.
Alt gr+E? Like it's shown on the keyboard.
European ones tend to have one. US keyboards don't.
Not sure about British. Are they different from US?
There's one on French keyboards actually!
And it was there even before we got euro coins in our hands (I know this because I'm still using my first (mechanical) keyboard that I got with my first own PC in 2001: and there is a “€” symbol on it)
BELL Ctrl-G
RECORD SEPARATOR Ctrl-^
UNIT SEPARATOR Ctrl-_
ESCAPE Ctrl-[
You can think of the Ctrl key as clearing the two most-significant bits of the letter's ASCII code. Not all key combos are supported in all environments. Notepad++ doesn't support Ctrl-] (GROUP SEPARATOR) at all, but does support e.g. SHIFT OUT as Ctrl-Shift-N, for instance. The Windows CMD.EXE command line supports many combinations (but not UNIT SEPARATOR, unfortunately), displaying them as e.g. ^[ or ^G in the console.
[1] https://upload.wikimedia.org/wikipedia/commons/1/1b/ASCII-Ta...
If you need to train your employees on that, it's not "very easily".
"Very easily" is when I can take any family member who's seen a computer in their life, give them a keyboard and they can figure it out on their own without Google in 2 seconds (like csv).