[{"data":1,"prerenderedAt":296},["ShallowReactive",2],{"project-41162505":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":44,"post_text":46,"what":47,"said":75,"maker_in_thread":145,"shape":158,"grid":161,"attempts":258,"same_week":259,"maker_shows":288,"maker_hidden":289,"reader_version":290,"card":291},"41162505","visual_astar_python","Visual A* pathfinding and maze generation in Python","title","Show HN: Visual A* pathfinding and maze generation in Python","https:\u002F\u002Fgithub.com\u002FDicklesworthstone\u002Fvisual_astar_python","github.com","eigenvalue",1722873361,2024,135,38,627,3515,18,"notable","learning_science","pathfinding visualization","other",[24,25,26,27],"a* pathfinding","maze generation","python visualization","matplotlib animation","roasted",-0.34,{"positive":31,"neutral":32,"mixed":33,"critical":34},2,3,0,11,16,{"design":37,"execution":39,"idea":41,"performance":42,"docs":43},{"positive":33,"critical":38},1,{"positive":33,"critical":40},7,{"positive":31,"critical":38},{"positive":33,"critical":33},{"positive":33,"critical":38},[33,38,33,33,33,38,38,38,33,33,33,45,33,38,33,33,33,33,32,33,45,33,33,38,33,38,38,38,33,33,32,38,33,32,33,38,33,33],5,"I was fascinated reading through another recent HN submission about a highly efficient implementation of A* in Lisp, which got me thinking about how I could do something similar in Python. However, these kinds of pathfinding algorithms really need complex terrain\u002Fmazes with interesting obstructions to showcase what they can do and how they work. So, I started thinking about how I could generate cool and diverse random \"mazes\" (they aren't really mazes, but I'm not sure what the best term is). I got a bit carried away thinking of lots of different cool ways to generate these mazes, such as cell",{"problem":48,"audience":54,"pricing":54,"motivation":55,"time_to_build":54,"stack":59,"openness":72,"stage":73,"team_size":74},{"value":49,"source":50,"evidence":51},"Showcases A* pathfinding on diverse solvable random mazes with animated visualizations","maker",[52],{"id":53},"post",null,{"value":56,"source":50,"evidence":57},"Maker was inspired by a Lisp A* implementation and wanted a Python version with showcase mazes",[58],{"id":53},[60,64,68],{"value":61,"source":50,"evidence":62},"Python",[63],{"id":53},{"value":65,"source":50,"evidence":66},"Numba",[67],{"id":53},{"value":69,"source":50,"evidence":70},"Matplotlib",[71],{"id":53},"open_source","launched","solo",{"praise":76,"objections":85,"requests":119,"questions":131,"alternatives":137},[77],{"value":78,"source":79,"evidence":80},"Interesting idea for applying A* heuristics to real problems","commenter",[81],{"id":82,"by":83,"text":84},"41162943","noufalibrahim","I like this..I recently used A* to implement laying out connectors between nodes in a graph. I really like the abstraction of a heuristic function. I was able to add in all sorts…",[86,105,112],{"value":87,"source":79,"evidence":88},"Code and README appear largely LLM-generated, with repetitive style and no OOP structure",[89,93,97,101],{"id":90,"by":91,"text":92},"41163285","JBorrow","I would be interested to hear what fraction of this script and README were generated by large language models. At first glance, the code contains a number of repetitive…",{"id":94,"by":95,"text":96},"41163401","crowdstriker","Pretty much the entire project.",{"id":98,"by":99,"text":100},"41163767","szykbi","seems this was LLM generated? I dont mind people using LLMs to generate boilerplate, but at least apply some basic oop fundamentals to make it readable. the bar is on the floor",{"id":102,"by":103,"text":104},"41164102","YeGoblynQueenne","@eigenvalue, some comments suggest the project code and README was LLM-generated. Could you say to what extent that is the case? Edit: I'm curious about other repositories under…",{"value":106,"source":79,"evidence":107},"Git commit history is messy",[108],{"id":109,"by":110,"text":111},"41163549","karolist","I think so too. Also, what's the point of using git with commit messages like that? https:\u002F\u002Fgithub.com\u002FDicklesworthstone\u002Fvisual_astar_python\u002Fcommits\u002Fmain\u002F LoL.",{"value":113,"source":79,"evidence":114},"YouTube end-screen covers the final frame",[115],{"id":116,"by":117,"text":118},"41163647","ryandrake","Ugh, it would be nice to be able to pause the final frame of animation to compare each generated path. Instead YouTube replaces it with their obnoxious \"next video\" suggestions.…",[120,124],{"value":121,"source":79,"evidence":122},"Freeze the final frame longer so paths can be compared",[123],{"id":116,"by":117,"text":118},{"value":125,"source":79,"evidence":126},"Apply the approach to real map data",[127],{"id":128,"by":129,"text":130},"41166636","hcrisp","I prefer this video of A* pathfinding on a real map (Chicago and Rome): https:\u002F\u002Fyoutu.be\u002FCgW0HPHqFE8?si=9aw_eHy3IedXY1Ro",[132],{"value":133,"source":79,"evidence":134},"To what extent was the code and README LLM-generated",[135,136],{"id":90,"by":91,"text":92},{"id":102,"by":103,"text":104},[138],{"value":139,"source":79,"evidence":140},"PathFinding.js visualizer",[141],{"id":142,"by":143,"text":144},"41172328","simonmysun","It reminds me another JavaScript path finding algorithms visualization: https:\u002F\u002Fqiao.github.io\u002FPathFinding.js\u002Fvisual\u002F",{"comments":146,"answered":147,"key":148},10,4,[149,152,155],{"id":150,"text":151},"41162538","Here's a direct link to the YouTube demo video: https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=iA6XJRE6CTM Also, here's the Lisp implementation post that inspired me (and which I based my…",{"id":153,"text":154},"41163670","Check out the other sample videos I linked to in my comment, those are easy to pause in VLC. I can look into extending the final frame for a few seconds, too.",{"id":156,"text":157},"41166677","That is very cool. Too bad it’s not open source.",{"commenters":159,"max_depth":40,"maker_replies":146,"first_comment_mins":32,"lifespan_hours":160},20,62,[162,164,166,168,170,172,174,175,176,180,183,186,188,191,195,198,201,203,207,211,213,216,219,221,222,224,226,229,231,234,236,241,244,247,249,251,254,256],[150,33,33,163,11,38],"maker\u002Fneutral\u002Fdocs",[116,33,38,165,117,33],"project\u002Fcritical\u002Fdesign",[153,33,33,167,11,38],"maker\u002Fneutral\u002Fdesign",[128,38,33,169,129,33],"other\u002Fneutral\u002Fnone",[156,38,33,171,11,38],"project\u002Fneutral\u002Fnone",[90,31,38,173,91,33],"maker\u002Fcritical\u002Fexecution",[94,31,38,173,95,33],[109,31,38,173,110,33],[177,31,33,178,179,33],"41163739","commenter\u002Fneutral\u002Fnone","inhumantsar",[181,31,33,182,11,38],"41163789","maker\u002Fneutral\u002Fexecution",[184,31,33,178,185,33],"41171016","Kiro",[82,32,45,187,83,33],"project\u002Fpositive\u002Fidea",[189,32,33,190,11,38],"41163029","maker\u002Fneutral\u002Fidea",[192,32,38,193,194,33],"41168268","maker\u002Fcritical\u002Fidea","dietr1ch",[196,32,33,197,83,33],"41180239","commenter\u002Fneutral\u002Fidea",[199,32,33,200,194,33],"41186815","commenter\u002Fcritical\u002Fidea",[202,32,33,197,83,33],"41188553",[204,147,33,205,206,33],"41163424","other\u002Fneutral\u002Fidea","samstave",[208,45,32,209,210,33],"41166107","project\u002Fneutral\u002Fidea","yarg",[212,45,33,209,11,38],"41166132",[214,45,45,187,215,33],"41166352","dheera",[217,45,33,169,218,33],"41172085","taeric",[142,220,33,169,143,33],6,[98,40,38,173,99,33],[223,40,33,182,11,38],"41163906",[225,40,38,173,99,33],"41164112",[227,40,38,173,228,33],"41166138","uncivilized",[230,40,38,173,194,33],"41168203",[232,40,33,178,233,33],"41164425","diggan",[235,40,33,178,11,38],"41164467",[237,238,32,239,240,33],"41165967",8,"project\u002Fneutral\u002Fperformance","globalise83",[102,242,38,243,103,33],9,"maker\u002Fcritical\u002Fdocs",[245,242,33,246,11,38],"41164316","maker\u002Fneutral\u002Fnone",[248,242,32,246,103,33],"41165461",[250,242,33,246,11,38],"41165646",[252,242,38,253,103,33],"41170079","maker\u002Fcritical\u002Fnone",[255,242,33,178,185,33],"41171255",[257,242,33,178,103,33],"41172590",[],[260,265,269,274,279,284],{"id":261,"name":262,"points":263,"category":264},"41180504","Roometron",694,"creative",{"id":266,"name":267,"points":268,"category":20},"41156872","WebGPU Unleashed",471,{"id":270,"name":271,"points":272,"category":273},"41173161","1-FPS",433,"dev_tools",{"id":275,"name":276,"points":277,"category":278},"41160268","Pie Menu",309,"productivity",{"id":280,"name":281,"points":282,"category":283},"41163645","Iso20022.js",291,"finance_crypto",{"id":285,"name":286,"points":287,"category":278},"41180441","BudgetFlow",275,15,false,"v2",{"id":292,"name":5,"line":6,"ai":289,"cat":20,"year":13,"points":14,"comments":15,"rec":28,"s":29,"top":18,"kw":293,"maker":11,"domain":10,"tier":19,"attempts":33,"strip":294,"url":9,"mix":295,"praise":78,"objection":87,"sub":21},41162505,[24,25,26,27],"01000111000501000030500101110031030100",[31,32,33,34],1794036658881]