[{"data":1,"prerenderedAt":420},["ShallowReactive",2],{"project-4947047":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":28,"sentiment":29,"stance_mix":30,"scored_comments":35,"aspects":36,"strip":45,"post_text":46,"what":47,"said":102,"maker_in_thread":235,"shape":244,"grid":248,"attempts":383,"same_week":384,"maker_shows":42,"maker_hidden":412,"reader_version":413,"card":414},"4947047","ppl","The Command Line Address Book","title","Show HN: ppl - The Command Line Address Book","http:\u002F\u002Fppladdressbook.org\u002F","ppladdressbook.org","h2s",1356000382,2012,106,54,202,1677,13,"notable","productivity","address book","cli",[24,21,25,26,27],"command line","contacts","git","vcard","curious",0.148,{"positive":31,"neutral":32,"mixed":33,"critical":34},12,22,2,4,40,{"idea":37,"execution":39,"design":41,"docs":44},{"positive":38,"critical":33},5,{"positive":40,"critical":33},3,{"positive":42,"critical":43},1,0,{"positive":43,"critical":43},[43,38,38,43,40,38,43,43,40,38,40,40,40,40,40,42,40,38,43,38,43,40,38,40,40,42,43,43,42,38,40,40,40,43,40,38,40,40,43,38],null,{"problem":48,"audience":55,"pricing":46,"motivation":64,"time_to_build":68,"stack":72,"openness":99,"stage":100,"team_size":101},{"value":49,"source":50,"evidence":51},"No command line address book existed for the maker's own needs","maker",[52],{"id":53,"by":11,"text":54},"4947107","This has been my side project for the last month or so. It's a \"scratch your own itch\" type of deal, because I wanted a CLI address book and there didn't seem to be one. I tried…",{"value":56,"source":57,"evidence":58},"Command line users who want contacts managed in the terminal","inferred",[59,60],{"id":53,"by":11,"text":54},{"id":61,"by":62,"text":63},"4947320","ing33k","very cool thing .. I will start using it",{"value":65,"source":50,"evidence":66},"Scratch his own itch: wanted a CLI address book and found none",[67],{"id":53,"by":11,"text":54},{"value":69,"source":50,"evidence":70},"About a month",[71],{"id":53,"by":11,"text":54},[73,79,89,95],{"value":74,"source":50,"evidence":75},"Ruby",[76],{"id":77,"by":11,"text":78},"4947900","I thought about this a bit. I considered using C, but decided against it in the end. C lost out because I wanted to use this project as an opportunity to try out full-on TDD, and…",{"value":26,"source":80,"evidence":81},"commenter",[82,86],{"id":83,"by":84,"text":85},"4948499","contingencies","Things I like are codename-per-contact and the fact that there's a command line tool supplied with exit codes. I don't like almost everything else, including the syntax ('ppl…",{"id":87,"by":11,"text":88},"4948043","It uses git, so you can keep your address book on as many different computers as you want and use commands such as \"git push\" and \"git pull\" to handle the synchronisation. There…",{"value":90,"source":50,"evidence":91},"Jekyll",[92],{"id":93,"by":11,"text":94},"4947860","Yeah I customised flatstrap (colors and fonts mainly). 2.css is part of the little CSS build process I came up with for this site. There are a bunch of LESS files in a directory…",{"value":96,"source":50,"evidence":97},"LESS",[98],{"id":93,"by":11,"text":94},"open_source","launched","solo",{"praise":103,"objections":131,"requests":173,"questions":193,"alternatives":209},[104,112,123],{"value":105,"source":80,"evidence":106},"Fits command line workflow and is Unixy",[107,111],{"id":108,"by":109,"text":110},"4947300","telemachos","There's abook[1], but yours seems different in design. (Main difference at a glance: Yours doesn't work on captured interface. So in that sense, yours is more Unixy.) One nice…",{"id":61,"by":62,"text":63},{"value":113,"source":80,"evidence":114},"Mutt integration added quickly",[115,119],{"id":116,"by":117,"text":118},"4949738","asveikau","Is it me or was that some pretty fast turnaround? Kudos to you, sir.",{"id":120,"by":121,"text":122},"4947296","koralatov","Beat me to it; I was going to suggest exactly that. Keeping everything in one place, accessible via the shell, would be perfect, and this looks less awkward than maintaining a…",{"value":124,"source":80,"evidence":125},"Clean git-based design",[126,127],{"id":87,"by":11,"text":88},{"id":128,"by":129,"text":130},"4948239","shad0wfax","Really nice! I can Create a remote repo on Dropbox and have a cloud based service :)",[132,151,158,162],{"value":133,"source":80,"evidence":134},"No sync with phone or Google or iCloud contacts",[135,139,143,147],{"id":136,"by":137,"text":138},"4947196","n0nick","Looks very cute, and might be useful (not having to leave the terminal is always good), but I think I speak for many others saying that I don't want to start a new address book…",{"id":140,"by":141,"text":142},"4947784","antihero","Does it sync with Google contacts\u002Fmy phone?",{"id":144,"by":145,"text":146},"4956788","chalst","No. See https:\u002F\u002Fgithub.com\u002Fh2s\u002Fppl\u002Fissues\u002F5 The semantics of contact data exposed via the Contacts API is supposed to be quite close to vcard, which would make pushing data from…",{"id":148,"by":149,"text":150},"4948110","skram","Agreed. I'd use this in an instant if it would read from my Mac Address Book which syncs w\u002F iCloud and all my devices (as well as corporate Exchange server)",{"value":152,"source":80,"evidence":153},"Ruby is not installed on many systems",[154],{"id":155,"by":156,"text":157},"4947827","keithpeter","Like others, I am impressed with this app and the fact it is written for the command line. As the author is posting here: why using ruby, a language which seems to be missing…",{"value":159,"source":80,"evidence":160},"Syntax and design criticized",[161],{"id":83,"by":84,"text":85},{"value":163,"source":80,"evidence":164},"Missing postal address and import support at launch",[165,169],{"id":166,"by":167,"text":168},"4947468","nicky0","There seems to be no command for adding the contact's postal address.",{"id":170,"by":171,"text":172},"4948391","tucosan","Very nice. But how would i get my existing contacts into ppl? Typing them all in would be a chore. An import function bout be quite neat to make a transition from other…",[174,179,183,187],{"value":175,"source":80,"evidence":176},"Sync with iCloud, Google or other address books",[177,178],{"id":136,"by":137,"text":138},{"id":148,"by":149,"text":150},{"value":180,"source":80,"evidence":181},"Exporter from abook",[182],{"id":108,"by":109,"text":110},{"value":184,"source":80,"evidence":185},"Import existing contacts",[186],{"id":170,"by":171,"text":172},{"value":188,"source":80,"evidence":189},"Support for multiple entries per category",[190],{"id":191,"by":109,"text":192},"4947835","One issue that will come up with any exporter: abook can handle multiple entries for each category, and (I think?) ppl can't yet. So, at the moment, I'm not sure there's a way to…",[194,198,202],{"value":195,"source":80,"evidence":196},"Does it sync with Google contacts or phone",[197],{"id":140,"by":141,"text":142},{"value":199,"source":80,"evidence":200},"Why Ruby instead of C, Python or Perl",[201],{"id":155,"by":156,"text":157},{"value":203,"source":80,"evidence":204},"How to access the data from other programming languages",[205],{"id":206,"by":207,"text":208},"4949520","HugoDias","There are some way to access this data with any programming language? like phyton or ruby ? Very interesting..",[210,214,221,228],{"value":211,"source":80,"evidence":212},"abook",[213],{"id":108,"by":109,"text":110},{"value":215,"source":80,"evidence":216},"Alfred app on Mac",[217],{"id":218,"by":219,"text":220},"4947340","knes","To search my adress book without leaving the keyboard I use Alfred app[1] ( on Mac ). It is a god send. [1]http:\u002F\u002Fwww.alfredapp.com\u002F",{"value":222,"source":80,"evidence":223},"Grep and a text file",[224],{"id":225,"by":226,"text":227},"4948444","_glass","For a short while I was using grep and a text file as an address book mostly because like this I could easily add in free form. The reason why I switched to a AddressBook.app and…",{"value":229,"source":80,"evidence":230},"Logbook",[231],{"id":232,"by":233,"text":234},"4947705","jondot","Looks great! Reminds me of when I built Logbook - store notes on Gists from CLI. The mindset is amazingly the same :) Though I offloaded most of the CLI processing to Thor, and…",{"comments":31,"answered":38,"key":236},[237,238,241],{"id":53,"text":54},{"id":239,"text":240},"4947823","You have described exactly the two things about abook that have always put me off using it and drove me to build this. The ncurses UI works well but isn't what I want, and the…",{"id":242,"text":243},"4948928","Damn, that is kind of spooky actually. I can't keep track of all the similarities... The layout of the project's directory structure, the TravisCI image placement, the README…",{"commenters":245,"max_depth":38,"maker_replies":31,"first_comment_mins":246,"lifespan_hours":247},36,25,117,[249,251,255,257,260,261,263,267,268,270,272,273,274,277,279,281,284,288,291,294,295,297,301,303,305,307,308,310,311,314,317,321,325,327,328,330,332,334,338,340,343,346,350,354,358,359,361,363,368,373,376,378,379,382],[53,43,43,250,11,42],"maker\u002Fneutral\u002Fidea",[252,43,38,253,254,43],"4947184","project\u002Fpositive\u002Fidea","StavrosK",[108,43,40,256,109,43],"project\u002Fneutral\u002Fidea",[258,43,38,253,259,43],"4947765","tammer",[239,43,43,253,11,42],[191,43,40,262,109,43],"project\u002Fneutral\u002Fexecution",[264,43,40,265,266,43],"4949787","project\u002Fneutral\u002Fnone","engtech",[232,43,38,253,233,43],[242,43,43,269,11,42],"commenter\u002Fneutral\u002Fnone",[271,43,43,269,233,43],"4965433",[140,43,40,262,141,43],[144,43,40,256,145,43],[275,43,38,253,276,43],"4948796","chanux",[136,42,40,278,137,43],"project\u002Fmixed\u002Fidea",[280,42,43,256,11,42],"4947226",[282,42,40,283,137,43],"4948879","maker\u002Fneutral\u002Fnone",[285,33,40,286,287,43],"4947398","project\u002Fmixed\u002Fdesign","glogla",[289,40,40,256,290,43],"4947391","klibertp",[292,34,40,256,293,43],"4947315","lloeki",[148,34,40,262,149,43],[83,38,42,296,84,43],"project\u002Fcritical\u002Fidea",[298,299,40,256,300,43],"4947256",6,"7h0ma5",[302,299,43,262,11,42],"4947269",[120,299,38,304,121,43],"project\u002Fpositive\u002Fexecution",[306,299,43,262,11,42],"4948247",[116,299,38,304,117,43],[155,309,40,262,156,43],7,[77,309,43,262,11,42],[312,309,40,262,313,43],"4948271","omaranto",[218,315,43,316,219,43],8,"other\u002Fneutral\u002Fnone",[318,319,38,253,320,43],"4947248",9,"udp",[322,323,40,256,324,43],"4947878",10,"andrewcooke",[225,326,40,256,226,43],11,[170,31,40,262,171,43],[166,18,42,329,167,43],"project\u002Fcritical\u002Fexecution",[331,18,43,262,11,42],"4947528",[333,18,43,262,11,42],"4949872",[335,336,42,329,337,43],"4947303",14,"bussetta",[339,336,43,283,11,42],"4947326",[341,336,38,342,337,43],"4947350","maker\u002Fpositive\u002Fnone",[206,344,40,345,207,43],15,"project\u002Fneutral\u002Fdocs",[347,348,40,256,349,43],"4947576",16,"poiuisdfkjhdsf",[351,352,40,256,353,43],"4947294",17,"mehulkar",[355,356,40,256,357,43],"4947997",18,"v33ra",[87,356,43,262,11,42],[128,360,38,304,129,43],19,[362,360,42,296,156,43],"4948440",[364,365,38,366,367,43],"4954198",20,"project\u002Fpositive\u002Fnone","MortenK",[369,370,40,371,372,43],"4947475",21,"project\u002Fneutral\u002Fdesign","strawberrysauce",[374,370,40,371,375,43],"4947562","hxseven",[377,370,40,371,372,43],"4947819",[93,370,43,371,11,42],[380,370,38,381,372,43],"4947908","maker\u002Fpositive\u002Fdesign",[61,32,38,366,62,43],[],[385,390,395,399,403,407],{"id":386,"name":387,"points":388,"category":389},"4949551","Ember Table",199,"languages",{"id":391,"name":392,"points":393,"category":394},"4957144","DataFart",114,"dev_tools",{"id":396,"name":397,"points":398,"category":20},"4952490","Servus",95,{"id":400,"name":401,"points":402,"category":394},"4951738","NameMesh",94,{"id":404,"name":405,"points":406,"category":394},"4962797","TerminalIMDB",61,{"id":408,"name":409,"points":410,"category":411},"4953362","Million Short DNS",48,"infrastructure",false,"v2",{"id":415,"name":5,"line":6,"ai":412,"cat":20,"year":13,"points":14,"comments":15,"rec":28,"s":416,"top":18,"kw":417,"maker":11,"domain":10,"tier":19,"attempts":43,"strip":418,"url":9,"mix":419,"praise":105,"objection":133,"sub":21},4947047,0.15,[24,21,25,26,27],"0550350035333331350503533100153330353305",[31,32,33,34],1793990889009]