[{"data":1,"prerenderedAt":278},["ShallowReactive",2],{"project-12572412":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":35,"aspects":36,"strip":42,"post_text":44,"what":45,"said":71,"maker_in_thread":153,"shape":164,"grid":168,"attempts":240,"same_week":241,"maker_shows":18,"maker_hidden":270,"reader_version":271,"card":272},"12572412","G9.js","Automatically Interactive Differentiable Graphics","title","Show HN: G9.js – Automatically Interactive Differentiable Graphics","http:\u002F\u002Fomrelli.ug\u002Fg9\u002Fgallery\u002F","omrelli.ug","bijection",1474747679,2016,237,29,107,2264,5,"notable","languages","graphics library","library",[24,25,26,27,28],"differentiable graphics","gradient descent","interactive graphics","javascript library","constraint graphics","curious",0.083,{"positive":32,"neutral":33,"mixed":32,"critical":34},2,8,1,13,{"idea":37,"performance":39,"execution":40,"docs":41},{"positive":34,"critical":38},0,{"positive":34,"critical":38},{"positive":38,"critical":34},{"positive":38,"critical":38},[18,38,43,38,38,34,38,43,38,43,43,38,38,38,38,38,43,18,43,38,43,43,38,43,43,38,38,38,38],3,null,{"problem":46,"audience":44,"pricing":44,"motivation":44,"time_to_build":44,"stack":53,"openness":68,"stage":69,"team_size":70},{"value":47,"source":48,"evidence":49},"Makes drawn shapes draggable by automatically adjusting the underlying numeric values that define them","commenter",[50],{"id":51,"by":11,"text":52},"12573446","First, you make up some names and give each name a number. Then you draw shapes based on the names, not the numbers. For example, you might make a number called my_cool_number,…",[54,61],{"value":55,"source":56,"evidence":57},"JavaScript","inferred",[58],{"id":59,"by":11,"text":60},"12574136","In https:\u002F\u002Fgithub.com\u002Fbijection\u002Fg9\u002Fblob\u002Fmaster\u002Fsrc\u002FData2Renderables.js each shape gets a unique id. Dragging a shape calls the 'desire' function in…",{"value":62,"source":48,"evidence":63},"NumericJS uncmin for gradient descent",[64],{"id":65,"by":66,"text":67},"12572752","antimatter15","That's definitely a really interesting piece of prior art! It looks like the patent expired last month. I'm sure there are a lot of other interesting approaches in the space, so…","open_source","launched","unknown",{"praise":72,"objections":91,"requests":109,"questions":124,"alternatives":133},[73,84],{"value":74,"source":48,"evidence":75},"Cool, neat idea and interactive demos",[76,80],{"id":77,"by":78,"text":79},"12572536","trishume","This apparently uses the back-propagation engine from https:\u002F\u002Falpha.trycarbide.com\u002F (which the author of g9 also works on). When I saw it I thought I remembered seeing it in the…",{"id":81,"by":82,"text":83},"12574062","crazy2be","How does the differentiation part of this work? Is it just gradient descent, or something more clever than that? It seems like it ought to need to trace the data flows, but there…",{"value":85,"source":48,"evidence":86},"Good explanation of how it works",[87],{"id":88,"by":89,"text":90},"12574194","analognoise","This is a wonderful explanation. How do you avoid cyclic dependencies?",[92,102],{"value":93,"source":48,"evidence":94},"Did not work on some browsers or mobile until fixed",[95,99],{"id":96,"by":97,"text":98},"12575252","stuaxo","I guess the code is supposed to update when I drag the graphics? But nothing happens for me on firefox [Ubuntu, 64 bit]. This does look great, and I've been wanting to build…",{"id":100,"by":11,"text":101},"12572584","Hey HN, I'm the author of this library, happy to answer any questions! We just fixed a bug that was breaking this on mobile, everything should be working now.",{"value":103,"source":48,"evidence":104},"Graph not real time on Firefox in one example",[105],{"id":106,"by":107,"text":108},"12572958","roblabla","On firefox, the graph isn't \"real time\", it only updates when you stop dragging. Other examples seem to work real time in the gallery though, so I suppose it's just a problem…",[110,117],{"value":111,"source":48,"evidence":112},"Visio-like clone that outputs Graphviz code",[113],{"id":114,"by":115,"text":116},"12573210","emmelaich","Could someone please make a Visio clone out of this that produced Graphviz code? You would make me blissfully happy. Graphviz is too hard for my colleagues and I cannot face…",{"value":118,"source":48,"evidence":119},"Support for inverse kinematics, 3D, and DOM binding",[120],{"id":121,"by":122,"text":123},"12580481","macca321","Very cool! Lots of questions! Could this be used for inverse kinematics? Would this approach work in 3d? Could you use it for reverse model binding with DOM elements?",[125,129],{"value":126,"source":48,"evidence":127},"How does differentiation work, is it gradient descent",[128],{"id":81,"by":82,"text":83},{"value":130,"source":48,"evidence":131},"How are cyclic dependencies avoided",[132],{"id":88,"by":89,"text":90},[134,141,145,149],{"value":135,"source":48,"evidence":136},"Embedded Constraint Graphics (Interval Research patent)",[137],{"id":138,"by":139,"text":140},"12572696","DonHopkins","That is a neat idea! It reminds me of another cool constraint based animation system called \"Embedded Constraint Graphics\" that Tom Ngo developed at Interval Research…",{"value":142,"source":48,"evidence":143},"Sketch-N-Sketch",[144],{"id":65,"by":66,"text":67},{"value":146,"source":48,"evidence":147},"Apparatus and Sketchpad",[148],{"id":65,"by":66,"text":67},{"value":150,"source":48,"evidence":151},"ConstraintJS",[152],{"id":65,"by":66,"text":67},{"comments":154,"answered":155,"key":156},7,4,[157,158,161],{"id":100,"text":101},{"id":159,"text":160},"12573017","Sorry about that! I can't reproduce this on the most recent ff on Mac OSX, what operating system are you using?",{"id":162,"text":163},"12573080","Thanks! Fixed.",{"commenters":165,"max_depth":43,"maker_replies":154,"first_comment_mins":166,"lifespan_hours":167},19,27,43,[169,171,173,175,176,180,184,186,188,189,192,193,195,199,201,203,205,206,210,214,216,217,219,223,224,228,231,235,237],[77,38,18,170,78,38],"project\u002Fpositive\u002Fidea",[100,34,38,172,11,34],"maker\u002Fneutral\u002Fexecution",[106,34,43,174,107,38],"project\u002Fmixed\u002Fperformance",[159,34,38,172,11,34],[177,34,38,178,179,38],"12573024","commenter\u002Fneutral\u002Fexecution","desdiv",[181,34,34,182,183,38],"12573069","project\u002Fcritical\u002Fexecution","azdavis",[162,34,38,185,11,34],"maker\u002Fpositive\u002Fexecution",[81,34,43,187,82,38],"project\u002Fneutral\u002Fidea",[59,34,38,187,11,34],[190,34,43,187,191,38],"12576257","anderspitman",[114,32,43,187,115,38],[138,43,38,194,139,38],"other\u002Fneutral\u002Fidea",[196,43,38,197,198,38],"12572713","other\u002Fcritical\u002Fnone","javajosh",[200,43,38,197,139,38],"12572874",[65,43,38,202,66,38],"other\u002Fneutral\u002Fnone",[204,43,38,202,139,38],"12572825",[96,155,43,174,97,38],[207,155,18,208,209,38],"12582265","project\u002Fpositive\u002Fperformance","Senji",[211,18,43,212,213,38],"12573363","project\u002Fneutral\u002Fdocs","macawfish",[51,18,38,215,11,34],"project\u002Fpositive\u002Fdocs",[88,18,43,187,89,38],[218,18,43,212,213,38],"12574265",[220,221,38,202,222,38],"12580545",6,"goblin89",[121,154,43,187,122,38],[225,33,43,226,227,38],"12573576","project\u002Fneutral\u002Fnone","d0100",[229,33,38,230,11,34],"12573682","maker\u002Fneutral\u002Fnone",[232,233,38,234,198,38],"12572706",9,"other\u002Fpositive\u002Fnone",[236,233,38,230,11,34],"12572725",[238,233,38,202,239,38],"12573049","sctb",[],[242,247,252,256,261,266],{"id":243,"name":244,"points":245,"category":246},"12571200","InstaPart",309,"dev_tools",{"id":248,"name":249,"points":250,"category":251},"12589538","fgmk",215,"games",{"id":253,"name":254,"points":255,"category":246},"12588897","Material Design for Bootstrap",164,{"id":257,"name":258,"points":259,"category":260},"12564410","days",156,"productivity",{"id":262,"name":263,"points":264,"category":265},"12584380","Alooma Live",144,"data",{"id":267,"name":268,"points":269,"category":20},"12584086","teensy3-rs",137,false,"v2",{"id":273,"name":5,"line":6,"ai":270,"cat":20,"year":13,"points":14,"comments":15,"rec":29,"s":274,"top":18,"kw":275,"maker":11,"domain":10,"tier":19,"attempts":38,"strip":276,"url":9,"mix":277,"praise":74,"objection":93,"sub":21},12572412,0.08,[24,25,26,27,28],"50300103033000003530330330000",[32,33,32,34],1794036548037]