[{"data":1,"prerenderedAt":179},["ShallowReactive",2],{"project-40979575":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":34,"aspects":35,"strip":38,"post_text":30,"what":40,"said":51,"maker_in_thread":107,"shape":117,"grid":120,"attempts":142,"same_week":143,"maker_shows":14,"maker_hidden":172,"reader_version":173,"card":174},"40979575","Contacts","A Microlang for Managing Contacts","title","Show HN: Contacts: A Microlang for Managing Contacts","https:\u002F\u002Fscroll.pub\u002Fblog\u002Fcontacts.html","scroll.pub","breck",1721158682,2024,15,11,2137,3515,61,"shown","languages","domain-specific language","library",[24,25,26,27,28],"contacts","microlanguage","plain text","vcard","git","quiet",null,{"positive":32,"neutral":32,"mixed":33,"critical":32},1,0,3,{"docs":36,"idea":37},{"positive":33,"critical":32},{"positive":32,"critical":33},[33,33,33,33,33,32,33,39,33,34],5,{"problem":41,"audience":30,"pricing":30,"motivation":30,"time_to_build":30,"stack":48,"openness":49,"stage":50,"team_size":50},{"value":42,"source":43,"evidence":44},"Storing and managing contacts in a plain text format that apps can share","maker",[45],{"id":46,"by":11,"text":47},"40980653","> integration The way this minilanguage works is that all contacts app can push\u002Fpull a `contacts.scroll` in a git repo. That's the database: a plain text file in a git repo.",[],"open_source","unknown",{"praise":52,"objections":65,"requests":80,"questions":89,"alternatives":98},[53],{"value":54,"source":55,"evidence":56},"Lovely idea and a good effort","commenter",[57,61],{"id":58,"by":59,"text":60},"40983128","librasteve","i think this is lovely … one idea would be to build a raku Grammar for your language (which would be also ~23 lines I suppose) … that way you could make raku Contact objects and…",{"id":62,"by":63,"text":64},"40980620","kkfx","For ideas, personally I manage my contacts in two separate entities because I still have to find a way to merge two different worlds: - on desktop my contacts are org-mode notes,…",[66,73],{"value":67,"source":55,"evidence":68},"Integration with other apps is hard unless they explicitly support the format",[69,72],{"id":70,"by":63,"text":71},"40983714","Yes, but any other app need to explicitly integrate it, and it the biggest issue in modern software. Let's imaging such project is an Emacs package, you do not need any change…",{"id":62,"by":63,"text":64},{"value":74,"source":55,"evidence":75},"Does not account for vCard or real-world multiple phones and emails",[76],{"id":77,"by":78,"text":79},"40983432","zvr","Obvious question: how does it relate to vCard, which is the standard way of describing contacts? The examples shown are too simplistic for real world use: how do I specify…",[81,85],{"value":82,"source":55,"evidence":83},"Add a vCard export",[84],{"id":77,"by":78,"text":79},{"value":86,"source":55,"evidence":87},"Add a Raku grammar and Contact objects",[88],{"id":58,"by":59,"text":60},[90,94],{"value":91,"source":55,"evidence":92},"How does it relate to vCard?",[93],{"id":77,"by":78,"text":79},{"value":95,"source":55,"evidence":96},"How are multiple phones and emails specified?",[97],{"id":77,"by":78,"text":79},[99,103],{"value":100,"source":55,"evidence":101},"vCard",[102],{"id":77,"by":78,"text":79},{"value":104,"source":55,"evidence":105},"DavX and Davis CardDAV setups with org-mode notes",[106],{"id":62,"by":63,"text":64},{"comments":108,"answered":32,"key":109},4,[110,111,114],{"id":46,"text":47},{"id":112,"text":113},"40986084","> it's YOU the one who can integrate. In modern software it's the opposite Ah I see what you mean. Yes I agree. > It's simply about time to admin that software can only be FLOSS…",{"id":115,"text":116},"40986127","Looking at vCard (https:\u002F\u002Fpldb.io\u002Fconcepts\u002Fvcard.html) it would be straightforward to compile Contacts to vCard. I am not the one to do that due to time constraints, but a…",{"commenters":108,"max_depth":39,"maker_replies":108,"first_comment_mins":118,"lifespan_hours":119},127,25,[121,123,125,126,128,130,132,134,137,139],[62,33,33,122,63,33],"other\u002Fneutral\u002Fidea",[46,33,33,124,11,32],"project\u002Fneutral\u002Fdesign",[70,33,33,122,63,33],[112,33,33,127,11,32],"commenter\u002Fneutral\u002Fnone",[129,33,33,122,63,33],"40988584",[77,32,32,131,78,33],"project\u002Fcritical\u002Fdocs",[115,32,33,133,11,32],"project\u002Fneutral\u002Fdocs",[58,135,39,136,59,33],2,"project\u002Fpositive\u002Fidea",[138,135,33,127,11,32],"40989107",[140,135,34,141,59,33],"40990082","maker\u002Fneutral\u002Fnone",[],[144,149,154,159,164,168],{"id":145,"name":146,"points":147,"category":148},"40956087","Resurrecting a dead Dune RTS game",485,"games",{"id":150,"name":151,"points":152,"category":153},"40972122","Horizon",361,"web_saas",{"id":155,"name":156,"points":157,"category":158},"40960508","Buzzinga",284,"consumer_social",{"id":160,"name":161,"points":162,"category":163},"40952509","CSS grid generator",262,"dev_tools",{"id":165,"name":166,"points":167,"category":163},"40961101","Kaskade",164,{"id":169,"name":170,"points":171,"category":163},"40980715","Magic-cli",158,false,"v2",{"id":175,"name":5,"line":6,"ai":172,"cat":20,"year":13,"points":14,"comments":15,"rec":29,"s":30,"top":18,"kw":176,"maker":11,"domain":10,"tier":19,"attempts":33,"strip":177,"url":9,"mix":178,"praise":54,"objection":67,"sub":21},40979575,[24,25,26,27,28],"0000010503",[32,32,33,32],1794036657922]