[{"data":1,"prerenderedAt":259},["ShallowReactive",2],{"project-31263556":3},{"id":4,"name":5,"line":6,"line_source":7,"title":8,"url":9,"domain":10,"maker":11,"posted_at":12,"year":13,"points":14,"comments":15,"rank_in_year":16,"shown_in_year":17,"top":18,"tier":19,"category":20,"subcategory":21,"format":22,"keywords":23,"reception":29,"sentiment":30,"stance_mix":31,"scored_comments":36,"aspects":37,"strip":44,"post_text":45,"what":46,"said":73,"maker_in_thread":156,"shape":163,"grid":167,"attempts":216,"same_week":221,"maker_shows":250,"maker_hidden":251,"reader_version":252,"card":253},"31263556","USV","USV = Unicode Separated Values","title","Show HN: USV = Unicode Separated Values","https:\u002F\u002Fgithub.com\u002FSixArm\u002Fusv","github.com","jph",1651686085,2022,32,23,1220,2570,48,"shown","data","data interchange format","library",[24,25,26,27,28],"unicode separated values","csv alternative","delimited text","tsv","data format","debated",-0.038,{"positive":32,"neutral":33,"mixed":34,"critical":35},4,3,2,5,14,{"design":38,"idea":40,"execution":42,"docs":43},{"positive":39,"critical":35},1,{"positive":33,"critical":41},0,{"positive":41,"critical":41},{"positive":41,"critical":41},[39,41,41,41,41,39,35,41,33,33,33,41,35,39,35,39,41,33,39,41,35,33,41],null,{"problem":47,"audience":45,"pricing":45,"motivation":63,"time_to_build":45,"stack":70,"openness":71,"stage":72,"team_size":72},{"value":48,"source":49,"evidence":50},"Avoids CSV escaping rules by using Unicode separator characters instead","commenter",[51,55,59],{"id":52,"by":53,"text":54},"31265161","robbiejs","Cool! Great way to not have to deal with all those csv escape rules :-)",{"id":56,"by":57,"text":58},"31266900","giraffe_lady","Why? Without escaping it's very simple to implement a parser or verifier for it. With escaping it has no real advantages over csv. The characters are pretty much just for this,…",{"id":60,"by":61,"text":62},"31270253","0x073","That's the problem of all CSV formats, wrong or custom implementations. Someone will generate wrong usv e.g. escape or encapsulate values. And if you get that wrong format no one…",{"value":64,"source":65,"evidence":66},"No-escape format makes serialization, parsing and Unix-tool processing simpler","maker",[67],{"id":68,"by":11,"text":69},"31267393","No-escape makes serialization and deserialization simpler, faster, and easier to test. For example, import\u002Fexport is a breeze on the command line with typical Unix tools such as…",[],"open_source","unknown",{"praise":74,"objections":83,"requests":105,"questions":122,"alternatives":134},[75,79],{"value":76,"source":49,"evidence":77},"Simple to implement parsers without escaping",[78],{"id":56,"by":57,"text":58},{"value":80,"source":49,"evidence":81},"Avoids CSV escape rules",[82],{"id":52,"by":53,"text":54},[84,91,98],{"value":85,"source":49,"evidence":86},"No escaping means control picture characters in data cannot be represented",[87],{"id":88,"by":89,"text":90},"31277888","tester89","Note, this (wrongly) uses Control Picture characters rather than the control characters themselves. There can be perfectly valid reasons to want to include the Control Picture…",{"value":92,"source":49,"evidence":93},"Separator characters are hard to type and editors do not handle them",[94],{"id":95,"by":96,"text":97},"31282508","d--b","See, you can already see the problem with this: 1. Editors don’t return carriage on RS 2. There is no US or RS key on my keyboard I am keeping my tsv. Tab is _never_ a data…",{"value":99,"source":49,"evidence":100},"Existence of USVX variant risks confusion between standards",[101],{"id":102,"by":103,"text":104},"31316343","kazinator","USV is not simple if USVX exists. There is a potential for confusion. E.g. someone carelessly documents that some software accepts USV, when they mean USVX, or vice versa. You…",[106,116],{"value":107,"source":49,"evidence":108},"Add USV support to popular languages and tools such as R, Python, and spreadsheets",[109,113],{"id":110,"by":111,"text":112},"31268388","derbOac","This needs to be in base R, Julia, python, and all spreadsheet programs yesterday.",{"id":114,"by":11,"text":115},"31275101","Great idea. I'll pledge $50 as a token of thanks and encouragement for any open source developer who can add USV to a popular language or tool such as R, Julia, OpenOffice,…",{"value":117,"source":49,"evidence":118},"Document group and file separator examples",[119],{"id":120,"by":61,"text":121},"31270273","Group separator and file separator examples would be great.",[123],{"value":124,"source":49,"evidence":125},"Why no escape mechanism",[126,130],{"id":127,"by":128,"text":129},"31265934","pestatije","I don't get the no-escape rule...it should be possible to escape",{"id":131,"by":132,"text":133},"31267262","selfhoster11","In what world would you ever use a tabular format that contains Unicode escapes as a natural part of the content?",[135,139,143,149],{"value":136,"source":49,"evidence":137},"CSV",[138],{"id":52,"by":53,"text":54},{"value":140,"source":49,"evidence":141},"TSV",[142],{"id":95,"by":96,"text":97},{"value":144,"source":65,"evidence":145},"USVX",[146],{"id":147,"by":11,"text":148},"31293647","Yes you're right. For special character escaping like your blog post idea, have you seen Unicode Separated Values Extensions (USVX)? It's USV plus extras for backslash escape,…",{"value":150,"source":49,"evidence":151},"VisiData",[152],{"id":153,"by":154,"text":155},"31375435","cylinder714","Good news: the excellent VisiData (https:\u002F\u002Fwww.visidata.org\u002F) supports USV. Bad news: it looks like they got ␟ and ␞ mixed up, there are trailing ␞␟ characters after each record…",{"comments":35,"answered":39,"key":157},[158,159,162],{"id":147,"text":148},{"id":160,"text":161},"31307889","I hear you. The feedback from this post and other testers is approximately evenly split. Some people like the simplicity, some people want\u002Fneed extras especially whitespace trim,…",{"id":114,"text":115},{"commenters":164,"max_depth":35,"maker_replies":35,"first_comment_mins":165,"lifespan_hours":166},15,146,264,[168,170,172,175,176,177,179,183,185,189,191,195,198,199,200,202,203,204,206,207,210,211,214],[88,41,39,169,89,41],"project\u002Fcritical\u002Fdesign",[147,41,41,171,11,39],"maker\u002Fneutral\u002Fdesign",[173,41,41,174,103,41],"31305831","commenter\u002Fneutral\u002Fdesign",[160,41,41,171,11,39],[102,41,41,174,103,41],[178,41,39,169,103,41],"31300646",[180,39,35,181,182,41],"31272960","project\u002Fpositive\u002Fidea","lazypenguin",[114,39,41,184,11,39],"maker\u002Fpositive\u002Fidea",[186,39,33,187,188,41],"31276417","project\u002Fneutral\u002Fexecution","adgjlsfhk1",[153,39,33,190,154,41],"project\u002Fmixed\u002Fexecution",[192,39,33,193,194,41],"31381356","maker\u002Fneutral\u002Fnone","anjakefala",[196,39,41,197,154,41],"31389122","commenter\u002Fneutral\u002Fnone",[52,34,35,181,53,41],[127,33,39,169,128,41],[56,33,35,201,57,41],"project\u002Fpositive\u002Fdesign",[131,33,39,169,132,41],[68,33,41,201,11,39],[60,33,33,205,61,41],"project\u002Fmixed\u002Fdesign",[95,32,39,169,96,41],[208,32,41,174,209,41],"31282568","justsomehnguy",[110,35,35,181,111,41],[120,212,33,213,61,41],6,"maker\u002Fneutral\u002Fdocs",[215,212,41,213,11,39],"31271971",[217,218],{"id":4,"t":12,"points":14,"comments":15},{"id":219,"t":220,"points":34,"comments":34},"39283710",1707272633,[222,227,232,236,241,245],{"id":223,"name":224,"points":225,"category":226},"31238396","PostgresML",444,"ai",{"id":228,"name":229,"points":230,"category":231},"31210680","Radiopaper",346,"consumer_social",{"id":233,"name":234,"points":235,"category":231},"31238958","Hangtime",311,{"id":237,"name":238,"points":239,"category":240},"31192956","Fintopea",245,"finance_crypto",{"id":242,"name":243,"points":244,"category":240},"31247312","betagainst",217,{"id":246,"name":247,"points":248,"category":249},"31225494","NoiseCraft",214,"creative",12,false,"v2",{"id":254,"name":5,"line":6,"ai":251,"cat":20,"year":13,"points":14,"comments":15,"rec":29,"s":255,"top":18,"kw":256,"maker":11,"domain":10,"tier":19,"attempts":34,"strip":257,"url":9,"mix":258,"praise":76,"objection":85,"sub":21},31263556,-0.04,[24,25,26,27,28],"10000150333051510310530",[32,33,34,35],1794036619924]