[{"data":1,"prerenderedAt":294},["ShallowReactive",2],{"project-19969390":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":43,"post_text":45,"what":46,"said":88,"maker_in_thread":171,"shape":181,"grid":184,"attempts":256,"same_week":257,"maker_shows":35,"maker_hidden":286,"reader_version":287,"card":288},"19969390","Empirical","a language for time-series analysis","title","Show HN: Empirical – a language for time-series analysis","https:\u002F\u002Fwww.empirical-soft.com\u002F","empirical-soft.com","chrisaycock",1558440834,2019,111,29,434,2195,20,"notable","languages","programming language","cli",[24,25,26,27,28],"time-series analysis","dataframe language","statically typed","backtesting","q language alternative","curious",0.184,{"positive":32,"neutral":33,"mixed":34,"critical":35},5,7,0,2,14,{"design":38,"idea":40,"performance":41,"privacy":42},{"positive":35,"critical":39},1,{"positive":39,"critical":34},{"positive":34,"critical":34},{"positive":39,"critical":39},[34,44,34,39,34,32,34,34,32,34,44,34,32,34,44,34,44,44,34,44,34,34,32,34,39,34,32,44,34],3,null,{"problem":47,"audience":54,"pricing":58,"motivation":62,"time_to_build":45,"stack":66,"openness":85,"stage":86,"team_size":87},{"value":48,"source":49,"evidence":50},"Time-series data work is error-prone, e.g. backtests failing from type errors after hours","maker",[51],{"id":52,"by":11,"text":53},"19969416","I wrote Empirical to address issues I had routinely faced in my career. I spent ten years in quantitative finance, primarily statistical arbitrage and high-frequency trading. I…",{"value":55,"source":49,"evidence":56},"Quantitative finance and time-series analysts",[57],{"id":52,"by":11,"text":53},{"value":59,"source":49,"evidence":60},"Proprietary license available for commercial users",[61],{"id":52,"by":11,"text":53},{"value":63,"source":49,"evidence":64},"Maker's frustrations working with time-series data in quantitative finance",[65],{"id":52,"by":11,"text":53},[67,79],{"value":68,"source":69,"evidence":70},"C++","commenter",[71,75],{"id":72,"by":73,"text":74},"19983186","corysama","Looking at interpret.cpp for SIMD potential: I bet you could add an allocator for std::vector that aligns and pads everything to 32 bytes then just replace all of the scalar op…",{"id":76,"by":77,"text":78},"19983963","chubot","This looks cool! A few comments: - I peeked at the VVM implementation, since I've been looking for an implementation of data frames for my shell Oil [1]. I've looked at Hadley…",{"value":80,"source":49,"evidence":81},"VVM virtual machine",[82],{"id":83,"by":11,"text":84},"19985452","VVM is column-oriented, which is how pretty much every Dataframe implementation works. Each column is a vector of whatever the user's type represents; Int64 in Empirical is i64…","open_source","beta","unknown",{"praise":89,"objections":108,"requests":124,"questions":136,"alternatives":149},[90,97],{"value":91,"source":69,"evidence":92},"Dynamically typed feel with static type inference",[93],{"id":94,"by":95,"text":96},"19971717","jaupe","I really like that it feels like a dynamically typed language but with the security of type inference. That's really cool",{"value":98,"source":69,"evidence":99},"Integrated SQL syntax and clear homepage content",[100,104],{"id":101,"by":102,"text":103},"19970167","hx2a","I like how SQL syntax is integrated into the language. That is very convenient. Can you compare\u002Fcontrast this language with q? Can I write complex queries as I can do in q? How…",{"id":105,"by":106,"text":107},"19983508","dmix","This is a great programming language homepage content wise. The copy and examples are good, gets right to the point. But the navigation needs some work. The problem is the top…",[109,113],{"value":110,"source":69,"evidence":111},"Site navigation lacks clickable logo and footer links",[112],{"id":105,"by":106,"text":107},{"value":114,"source":69,"evidence":115},"Limited features in first beta, no charting or saving",[116,120],{"id":117,"by":118,"text":119},"19980763","floki999","Very nice. I realize that it currently runs in a shell, but one ingredient I would absolutely want is built-in charting capabilities - especially when running back-tests etc.",{"id":121,"by":122,"text":123},"19982216","e12e","Looks very interesting. Is there (currently) any facility for saving work? Like writing dataframes and\u002For functions to disk? I had a quick look at the tutorial and source - but…",[125,132],{"value":126,"source":69,"evidence":127},"Built-in charting and visualization",[128,129],{"id":117,"by":118,"text":119},{"id":130,"by":11,"text":131},"19981331","Visualization is definitely important and I would love to hear anybody's thoughts on it. I think I should make a wrapper to an existing library, like matplotlib or ggplot2.",{"value":133,"source":69,"evidence":134},"Performance improvements such as SIMD",[135],{"id":72,"by":73,"text":74},[137,145],{"value":138,"source":69,"evidence":139},"How does it compare to q and performance",[140,141],{"id":101,"by":102,"text":103},{"id":142,"by":143,"text":144},"19974341","pnichols","Any comments on performance today or in the near future? Any features which should provide a big speedup in the future as compared to competitors (kdb, pandas)?",{"value":146,"source":69,"evidence":147},"Ability to save dataframes and functions",[148],{"id":121,"by":122,"text":123},[150,158,163,167],{"value":151,"source":69,"evidence":152},"kdb",[153,154],{"id":142,"by":143,"text":144},{"id":155,"by":156,"text":157},"19981665","atemerev","Thank you! Aside from non-free kdb, there are not much products available in the field. I will test it and see if it works for my tasks.",{"value":159,"source":69,"evidence":160},"pandas",[161,162],{"id":142,"by":143,"text":144},{"id":76,"by":77,"text":78},{"value":164,"source":69,"evidence":165},"q",[166],{"id":101,"by":102,"text":103},{"value":168,"source":69,"evidence":169},"Julia",[170],{"id":76,"by":77,"text":78},{"comments":172,"answered":32,"key":173},13,[174,175,178],{"id":52,"text":53},{"id":176,"text":177},"19970429","q was definitely an inspiration. The biggest difference is that Empirical is statically typed. Also, arbitrary expressions are allowed anywhere when dealing with Dataframes. For…",{"id":179,"text":180},"19983674","Thanks for the tips. Web design is a complete mystery to me, so I'll gladly take all the feedback I can get.",{"commenters":182,"max_depth":32,"maker_replies":172,"first_comment_mins":44,"lifespan_hours":183},15,33,[185,187,189,190,192,194,196,198,202,207,210,212,215,219,221,222,223,226,229,231,232,234,237,240,242,247,250,253,255],[52,34,34,186,11,39],"project\u002Fneutral\u002Fidea",[101,34,44,188,102,34],"project\u002Fneutral\u002Fdesign",[176,34,34,188,11,39],[105,39,39,191,106,34],"project\u002Fcritical\u002Fdesign",[179,39,34,193,11,39],"maker\u002Fneutral\u002Fdesign",[94,35,32,195,95,34],"project\u002Fpositive\u002Fdesign",[197,35,34,188,11,39],"19972378",[199,44,34,200,201,34],"19985224","commenter\u002Fneutral\u002Fidea","mamcx",[203,204,32,205,206,34],"19983650",4,"project\u002Fpositive\u002Fidea","cedricd",[208,204,34,209,11,39],"19984031","maker\u002Fneutral\u002Fnone",[121,32,44,211,122,34],"project\u002Fneutral\u002Fnone",[213,32,34,214,11,39],"19982503","project\u002Fneutral\u002Fdocs",[216,217,32,195,218,34],"19982838",6,"victorNicollet",[220,217,34,188,11,39],"19983698",[117,33,44,211,118,34],[130,33,34,186,11,39],[224,33,44,186,225,34],"19983330","X6S1x6Okd1st",[142,227,44,228,143,34],8,"project\u002Fneutral\u002Fperformance",[230,227,34,228,11,39],"19974551",[72,227,44,228,73,34],[233,227,34,228,11,39],"19983777",[235,227,34,236,73,34],"19983973","commenter\u002Fneutral\u002Fperformance",[155,238,32,239,156,34],9,"project\u002Fpositive\u002Fnone",[241,238,34,209,11,39],"19981845",[243,244,39,245,246,34],"19980013",10,"project\u002Fcritical\u002Fprivacy","mvcalder",[248,244,34,249,11,39],"19981412","maker\u002Fneutral\u002Fprivacy",[251,244,32,252,246,34],"19981657","maker\u002Fpositive\u002Fprivacy",[76,254,44,188,77,34],11,[83,254,34,193,11,39],[],[258,263,268,273,277,282],{"id":259,"name":260,"points":261,"category":262},"19968271","Keikai",386,"dev_tools",{"id":264,"name":265,"points":266,"category":267},"19981869","Scar",363,"infrastructure",{"id":269,"name":270,"points":271,"category":272},"19946941","The Cyber Plumber's Handbook",277,"learning_science",{"id":274,"name":275,"points":276,"category":262},"19984582","Metacode",209,{"id":278,"name":279,"points":280,"category":281},"19960313","Link Drop",188,"productivity",{"id":283,"name":284,"points":285,"category":262},"19954195","UXY",126,false,"v2",{"id":289,"name":5,"line":6,"ai":286,"cat":20,"year":13,"points":14,"comments":15,"rec":29,"s":290,"top":18,"kw":291,"maker":11,"domain":10,"tier":19,"attempts":34,"strip":292,"url":9,"mix":293,"praise":91,"objection":110,"sub":21},19969390,0.18,[24,25,26,27,28],"03010500503050303303005010530",[32,33,34,35],1794036577725]