[{"data":1,"prerenderedAt":203},["ShallowReactive",2],{"project-8414525":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":40,"post_text":30,"what":42,"said":74,"maker_in_thread":134,"shape":141,"grid":145,"attempts":168,"same_week":169,"maker_shows":33,"maker_hidden":196,"reader_version":197,"card":198},"8414525","Pykov","a tiny Python module on finite regular Markov chains","title","Show HN: Pykov – a tiny Python module on finite regular Markov chains","https:\u002F\u002Fgithub.com\u002Friccardoscalco\u002FPykov","github.com","ricsca",1412576931,2014,37,11,851,2272,38,"shown","learning_science","markov chain library","library",[24,25,26,27,28],"markov chain","python","steady state","mean first passage","absorbing time","quiet",null,{"positive":32,"neutral":33,"mixed":32,"critical":33},0,2,4,{"execution":36,"design":38,"idea":39},{"positive":32,"critical":37},1,{"positive":32,"critical":37},{"positive":32,"critical":32},[37,32,37,32,32,32,32,41,32,41,32],3,{"problem":43,"audience":30,"pricing":30,"motivation":50,"time_to_build":30,"stack":56,"openness":73,"stage":73,"team_size":73},{"value":44,"source":45,"evidence":46},"Computing steady state, mean first passage times and absorbing times for discrete-time finite regular Markov chains.","maker",[47],{"id":48,"by":11,"text":49},"8417048","Pykov implements the computation of some of the most common quantities related to discrete-time finite regular Markov Chains, namely: steady state, mean first passage times and…",{"value":51,"source":45,"evidence":52},"Written during a PhD applying Markov chains to protein folding dynamics.",[53],{"id":54,"by":11,"text":55},"8416556","I coded this library during my PhD, where I applied Markov Chains to the study of protein folding dynamics. I am quite confident with it, but as far as I know few others used it.…",[57,65,69],{"value":58,"source":59,"evidence":60},"Python","commenter",[61],{"id":62,"by":63,"text":64},"8415621","ayrx","Quite a few bad practices. 1. Separate python 2 and python 3 modules? How can I be sure that they both do the same thing? 2. You have the tarball in your source control. Why? 3.…",{"value":66,"source":59,"evidence":67},"NumPy",[68],{"id":62,"by":63,"text":64},{"value":70,"source":45,"evidence":71},"SciPy",[72],{"id":54,"by":11,"text":55},"unknown",{"praise":75,"objections":80,"requests":109,"questions":117,"alternatives":129},[76],{"value":77,"source":45,"evidence":78},"Maker is confident in it after using it on networks of about 100k nodes.",[79],{"id":54,"by":11,"text":55},[81,89,100,105],{"value":82,"source":59,"evidence":83},"Mixed Python 2 and Python 3 modules and code quality concerns.",[84,85],{"id":62,"by":63,"text":64},{"id":86,"by":87,"text":88},"8415591","piqufoh","I'm currently choosing whether to go with an existing MC library, or roll-my-own. Has anyone used this library? How is it working out? Reading the source sets a couple of alarm…",{"value":90,"source":59,"evidence":91},"Misleading naming: Vector.sort() returns a result instead of sorting in place.",[92,96],{"id":93,"by":94,"text":95},"8415188","Latty","I'd note that `Vector.sort()` is an awkward choice of name for a function that returns a result, rather than mutating the object in-place, given the standard library tends to use…",{"id":97,"by":98,"text":99},"8415489","shoyer","True, but who really wants the mutating version? Worse, do we really want to make it more obvious\u002Fnatural to modify in place? I think this is a standard library convention that…",{"value":101,"source":59,"evidence":102},"Commented-out methods and large single file.",[103,104],{"id":62,"by":63,"text":64},{"id":86,"by":87,"text":88},{"value":106,"source":59,"evidence":107},"Missing numpy and scipy dependencies in setup.py.",[108],{"id":62,"by":63,"text":64},[110],{"value":111,"source":59,"evidence":112},"Rename Vector.sort() to follow standard library naming conventions.",[113,114],{"id":93,"by":94,"text":95},{"id":115,"by":11,"text":116},"8416457","Agree. Naming is difficult and here maybe I did a wrong choice. Anyway, pykov.Vector class inherit from dict, which is not ordered, so mutating in place cannot be done. The…",[118,125],{"value":119,"source":59,"evidence":120},"How does this differ from PyMC?",[121],{"id":122,"by":123,"text":124},"8416484","mrcactu5","How does this differ from PyMC? How is this tiny? I would be interested in a Python Markov chain library since I use them a lot.",{"value":126,"source":59,"evidence":127},"Has anyone used this library and how did it work out?",[128],{"id":86,"by":87,"text":88},[130],{"value":131,"source":59,"evidence":132},"PyMC",[133],{"id":122,"by":123,"text":124},{"comments":34,"answered":41,"key":135},[136,139,140],{"id":137,"text":138},"8416419","All good points, thanks for pointing them out. I'll consider each one carefully.",{"id":115,"text":116},{"id":54,"text":55},{"commenters":142,"max_depth":34,"maker_replies":34,"first_comment_mins":143,"lifespan_hours":144},7,276,15,[146,148,150,152,154,157,159,161,163,165,167],[62,32,37,147,63,32],"project\u002Fcritical\u002Fexecution",[137,32,32,149,11,37],"maker\u002Fneutral\u002Fnone",[93,37,37,151,94,32],"project\u002Fcritical\u002Fdesign",[97,37,32,153,98,32],"commenter\u002Fneutral\u002Fdesign",[155,37,32,153,156,32],"8415526","andreasvc",[158,37,32,153,98,32],"8418311",[115,37,32,160,11,37],"maker\u002Fneutral\u002Fdesign",[86,33,41,162,87,32],"project\u002Fneutral\u002Fnone",[54,33,32,164,11,37],"project\u002Fpositive\u002Fnone",[122,41,41,166,123,32],"project\u002Fneutral\u002Fidea",[48,41,32,166,11,37],[],[170,175,180,184,188,192],{"id":171,"name":172,"points":173,"category":174},"8416693","Nightmare",429,"dev_tools",{"id":176,"name":177,"points":178,"category":179},"8423825","postgres_vectorization_test",332,"data",{"id":181,"name":182,"points":183,"category":174},"8422408","ReadMe.io",266,{"id":185,"name":186,"points":187,"category":20},"8427086","Sail boat simulation",229,{"id":189,"name":190,"points":191,"category":174},"8426558","DevTools tips",212,{"id":193,"name":194,"points":195,"category":174},"8400265","GoldenLayout",211,false,"v2",{"id":199,"name":5,"line":6,"ai":196,"cat":20,"year":13,"points":14,"comments":15,"rec":29,"s":30,"top":18,"kw":200,"maker":11,"domain":10,"tier":19,"attempts":32,"strip":201,"url":9,"mix":202,"praise":77,"objection":82,"sub":21},8414525,[24,25,26,27,28],"10100003030",[32,33,32,33],1794036523459]