[{"data":1,"prerenderedAt":289},["ShallowReactive",2],{"project-5511280":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":34,"aspects":35,"strip":39,"post_text":41,"what":42,"said":79,"maker_in_thread":166,"shape":173,"grid":178,"attempts":252,"same_week":253,"maker_shows":33,"maker_hidden":281,"reader_version":282,"card":283},"5511280","CommitQ","Programming language-aware Git repository hosting","title","Show HN: CommitQ – Programming language-aware Git repository hosting","http:\u002F\u002Fcommitq.com\u002Fblog\u002F2013\u002F04\u002F01\u002Fhello\u002F","commitq.com","caustic",1365424286,2013,93,33,248,1739,15,"notable","dev_tools","code review and hosting","web_app",[24,25,26,27],"git hosting","semantic diff","structural diff","code review","mixed",0.217,{"positive":31,"neutral":31,"mixed":32,"critical":33},4,3,1,12,{"idea":36,"pricing":37},{"positive":32,"critical":33},{"positive":38,"critical":38},0,[40,32,33,32,38,38,38,38,32,38,38,32,38,32,38,38,38,38,38,40,38,40,38,38,40,38,38,32,38,32,38,38,38],5,null,{"problem":43,"audience":54,"pricing":41,"motivation":41,"time_to_build":41,"stack":66,"openness":77,"stage":78,"team_size":77},{"value":44,"source":45,"evidence":46},"Git diffs are line-based and hard to read; tools lack language-aware understanding of code changes","maker",[47,50],{"id":48,"by":11,"text":49},"5512470","> Question: For every language, are you writing a full-blown language parser to get the semantic information you need? That is correct. The structural diff algorithm is generic,…",{"id":51,"by":52,"text":53},"5511436","ziyadb","Interesting project. Semantically organizing code is a longstanding problem in the world of software development. The primary concern with this project, or any other attempts at…",{"value":55,"source":56,"evidence":57},"Software developers using Git","inferred",[58,62],{"id":59,"by":60,"text":61},"5511489","goodwink","This seems really cool, I'd love to see it integrated with GitHub so that when I push my code to my repos it notifies CommitQ of the diffs and it can process them. I don't need a…",{"id":63,"by":64,"text":65},"5511593","roskilli","Giving more \"engineering\" tools to devs is finally getting more attention which is awesome. I'd love to use this kind of tech but don't want to move source repository host and…",[67,71],{"value":68,"source":45,"evidence":69},"Language-specific parsers",[70],{"id":48,"by":11,"text":49},{"value":72,"source":45,"evidence":73},"C# parser planned",[74],{"id":75,"by":11,"text":76},"5513209","> Do you think any of these efforts would even help an effort such as your are doing? If anyone else is going to make something similar for .NET, then yes. But we are going to…","unknown","prototype",{"praise":80,"objections":101,"requests":123,"questions":138,"alternatives":147},[81],{"value":82,"source":83,"evidence":84},"Semantic diff idea is interesting and useful","commenter",[85,89,93,97],{"id":86,"by":87,"text":88},"5512087","gabriel","This is pretty amazing. I regularly have conversations with other programmers where we talk about needing this sort of tool. Question: For every language, are you writing a…",{"id":90,"by":91,"text":92},"5511529","paulyg","This has some real promise. Congrats! Are you planning to parse PHP?",{"id":94,"by":95,"text":96},"5512014","rwos","The semantic diff is pretty cool. It will probably be pretty hard to apply that to C (cpp) and Lisp (macros, and especially the programmable readers in some Lisps). But maybe we…",{"id":98,"by":99,"text":100},"5511970","miles_matthias","Cool stuff! This is something that can be improved instead of huge line diffs. For some input, I generally don't use `git diff`, instead I alias `git df` to `git diff…",[102,108,119],{"value":103,"source":83,"evidence":104},"Hosting is commoditized; value lies in insights and annotations",[105],{"id":106,"by":52,"text":107},"5511506","That's is an interesting proposition. Especially considering that hosting is commoditized. Annotations and providing insights is the real value proposition in this case, so it…",{"value":109,"source":83,"evidence":110},"Closed-source business model conflicts with open source",[111,115],{"id":112,"by":113,"text":114},"5511699","goldfeld","I can't help but sympathize with the Morozov rant on O'Reilly when bleeding-edge tooling like this get sold as services and not offered up as free software for all the community…",{"id":116,"by":117,"text":118},"5512949","bfish510","How does one make sure that their code isn't used in a closed source project though? What's to stop them from using it if no outsider will see their code?",{"value":120,"source":83,"evidence":121},"Hard to parse languages like C and Lisp",[122],{"id":94,"by":95,"text":96},[124,129,134],{"value":125,"source":83,"evidence":126},"Open source the diff tool",[127,128],{"id":98,"by":99,"text":100},{"id":112,"by":113,"text":114},{"value":130,"source":83,"evidence":131},"Integrate with GitHub without moving repos",[132,133],{"id":59,"by":60,"text":61},{"id":63,"by":64,"text":65},{"value":135,"source":83,"evidence":136},"Support PHP parsing",[137],{"id":90,"by":91,"text":92},[139,143],{"value":140,"source":83,"evidence":141},"Will it parse many languages and allow custom parsers?",[142],{"id":86,"by":87,"text":88},{"value":144,"source":83,"evidence":145},"How will the business model avoid closed-source use of open code?",[146],{"id":116,"by":117,"text":118},[148,155],{"value":149,"source":83,"evidence":150},"Code Climate",[151],{"id":152,"by":153,"text":154},"5511554","lukeholder","This is what https:\u002F\u002Fcodeclimate.com\u002F do. They started with code static analysis metrics, but have now added security analysis too. Ruby only, but same concept applies.",{"value":156,"source":83,"evidence":157},"Plastic SCM",[158,162],{"id":159,"by":160,"text":161},"5512587","j_s","Plastic SCM's free-as-in-beer desktop diff\u002Fmerge tools include enhanced diff functionality, including help when refactoring: http:\u002F\u002Fplasticscm.com\u002Ffeatures\u002Fxmerge.aspx",{"id":163,"by":164,"text":165},"5516881","psantosl","Yep, there's such a thing for C#, just check this: http:\u002F\u002Fplasticscm.com\u002Fsm\u002Findex.html",{"comments":40,"answered":32,"key":167},[168,171,172],{"id":169,"text":170},"5513311","> I suppose utility rests on whether you treat it as a collaborative development platform or merely as a host for your code (and keep track of discussions, proposed changes, and…",{"id":48,"text":49},{"id":75,"text":76},{"commenters":174,"max_depth":175,"maker_replies":40,"first_comment_mins":176,"lifespan_hours":177},21,8,42,31,[179,181,183,185,187,190,194,197,198,201,203,206,207,209,212,216,218,221,224,227,228,229,232,233,234,236,238,241,242,244,246,248,250],[59,38,40,180,60,38],"project\u002Fpositive\u002Fidea",[106,38,32,182,52,38],"project\u002Fneutral\u002Fpricing",[152,38,33,184,153,38],"project\u002Fcritical\u002Fidea",[112,38,32,186,113,38],"maker\u002Fneutral\u002Fidea",[188,38,38,189,153,38],"5511729","commenter\u002Fneutral\u002Fpricing",[191,38,38,192,193,38],"5511927","commenter\u002Fneutral\u002Fnone","rcfox",[195,38,38,189,196,38],"5512765","profquail",[116,38,38,189,117,38],[199,38,32,200,196,38],"5513080","project\u002Fneutral\u002Fidea",[202,38,38,192,193,38],"5513588",[204,38,38,192,205,38],"5512405","sneak",[51,33,32,200,52,38],[169,33,38,208,11,33],"maker\u002Fneutral\u002Fnone",[63,210,32,211,64,38],2,"project\u002Fmixed\u002Fidea",[213,210,38,214,215,38],"5512190","other\u002Fneutral\u002Fnone","Ixiaus",[217,210,38,192,95,38],"5512354",[219,210,38,192,220,38],"5513580","tikhonj",[222,210,38,192,223,38],"5513787","gtani",[225,210,38,214,226,38],"5514458","wvs",[86,32,40,180,87,38],[48,32,38,208,11,33],[230,32,40,231,87,38],"5512878","maker\u002Fpositive\u002Fidea",[75,32,38,208,11,33],[163,32,38,214,164,38],[90,31,40,235,91,38],"project\u002Fpositive\u002Fnone",[237,31,38,208,11,33],"5512598",[239,31,38,192,240,38],"5514001","pbiggar",[94,40,32,211,95,38],[243,40,38,208,11,33],"5512528",[98,245,32,211,99,38],6,[159,247,38,214,160,38],7,[249,247,38,192,164,38],"5516883",[251,175,38,214,164,38],"5520453",[],[254,258,263,268,273,278],{"id":255,"name":256,"points":257,"category":20},"5518565","Firepad",168,{"id":259,"name":260,"points":261,"category":262},"5511417","Hide Secret Messages In Facebook Photos With My Chrome Extension",153,"security_privacy",{"id":264,"name":265,"points":266,"category":267},"5500352","Pinry",140,"infrastructure",{"id":269,"name":270,"points":271,"category":272},"5525941","Rappad",134,"creative",{"id":274,"name":275,"points":276,"category":277},"5492708","TheBigDB",133,"data",{"id":279,"name":280,"points":14,"category":277},"5498224","Quandl",false,"v2",{"id":284,"name":5,"line":6,"ai":281,"cat":20,"year":13,"points":14,"comments":15,"rec":28,"s":285,"top":18,"kw":286,"maker":11,"domain":10,"tier":19,"attempts":38,"strip":287,"url":9,"mix":288,"praise":82,"objection":103,"sub":21},5511280,0.22,[24,25,26,27],"531300003003030000050500500303000",[31,31,32,33],1793990893070]