[{"data":1,"prerenderedAt":237},["ShallowReactive",2],{"project-31883209":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":27,"sentiment":28,"stance_mix":29,"scored_comments":33,"aspects":34,"strip":38,"post_text":41,"what":42,"said":64,"maker_in_thread":129,"shape":140,"grid":144,"attempts":194,"same_week":199,"maker_shows":228,"maker_hidden":229,"reader_version":230,"card":231},"31883209","Particles","the URL contains the whole program code","title","Show HN: Particles – the URL contains the whole program code","https:\u002F\u002Feasylang.online\u002Frun\u002F?code=%23%20Particles%0A%23%20%0An_part%20%3D%2040%0Athres%20%3D%2015%0A%23%20%0Asubr%20connect%0A%20%20h%20%3D%20dx%20*%20dx%20%2B%20dy%20*%20dy%0A%20%20dist%20%3D%20sqrt%20h%0A%20%20if%20dist%20%3C%20thres%0A%20%20%20%20lw%20%3D%20(thres%20-%20dist)%20%2F%2030%0A%20%20%20%20linewidth%20lw%0A%20%20%20%20move%20px%20py%0A%20%20%20%20line%20px%5Bj%5D%20py%5Bj%5D%0A%20%20.%0A.%0Aon%20animate%0A%20%20clear%0A%20%20for%20i%20range%20n_part%0A%20%20%20%20px%20%3D%20px%5Bi%5D%0A%20%20%20%20py%20%3D%20py%5Bi%5D%0A%20%20%20%20move%20px%20py%0A%20%20%20%20circle%200.3125%0A%20%20%20%20for%20j%20range%20i%0A%20%20%20%20%20%20dx%20%3D%20abs%20(px%5Bj%5D%20-%20px)%0A%20%20%20%20%20%20if%20dx%20%3C%20thres%0A%20%20%20%20%20%20%20%20dy%20%3D%20abs%20(py%5Bj%5D%20-%20py)%0A%20%20%20%20%20%20%20%20if%20dy%20%3C%20thres%0A%20%20%20%20%20%20%20%20%20%20call%20connect%0A%20%20%20%20%20%20%20%20.%0A%20%20%20%20%20%20.%0A%20%20%20%20.%0A%20%20%20%20if%20px%20%3E%20100%20or%20px%20%3C%200%0A%20%20%20%20%20%20pvx%5Bi%5D%20%3D%20-pvx%5Bi%5D%0A%20%20%20%20.%0A%20%20%20%20if%20py%20%3E%20100%20or%20py%20%3C%200%0A%20%20%20%20%20%20pvy%5Bi%5D%20%3D%20-pvy%5Bi%5D%0A%20%20%20%20.%0A%20%20%20%20px%5Bi%5D%20%2B%3D%20pvx%5Bi%5D%0A%20%20%20%20py%5Bi%5D%20%2B%3D%20pvy%5Bi%5D%0A%20%20.%0A.%0Afor%20i%20range%20n_part%0A%20%20px%5B%5D%20%26%3D%20randomf%20*%20100%0A%20%20py%5B%5D%20%26%3D%20randomf%20*%20100%0A%20%20pvx%5B%5D%20%26%3D%20(0.5%20-%20randomf)%20%2F%203%0A%20%20pvy%5B%5D%20%26%3D%20(0.5%20-%20randomf)%20%2F%203%0A.%0A","easylang.online","chkas",1656245222,2022,58,21,893,2570,35,"notable","languages","beginner programming language","web_app",[21,24,25,26],"url program","wasm code runner","easylang","curious",0.074,{"positive":30,"neutral":31,"mixed":32,"critical":32},1,11,0,12,{"execution":35,"design":36,"idea":37},{"positive":32,"critical":32},{"positive":30,"critical":32},{"positive":32,"critical":32},[39,39,39,39,39,39,32,32,32,32,39,32,39,39,40,32,39,32,39,32,32],3,5,null,{"problem":41,"audience":43,"pricing":41,"motivation":53,"time_to_build":41,"stack":57,"openness":62,"stage":63,"team_size":62},{"value":44,"source":45,"evidence":46},"Beginners learning to program","maker",[47,50],{"id":48,"by":11,"text":49},"31886511","Thanks. The main motivation was to develop a programming language for beginners. The code runner, the web apps, and the various tutorials were created kind of on the side.",{"id":51,"by":11,"text":52},"31886891","It runs in the browser using WASM, not on the server. And it is a beginner-friendly programming language.",{"value":54,"source":45,"evidence":55},"To develop a programming language for beginners",[56],{"id":48,"by":11,"text":49},[58],{"value":59,"source":45,"evidence":60},"WebAssembly",[61],{"id":51,"by":11,"text":52},"unknown","launched",{"praise":65,"objections":84,"requests":100,"questions":101,"alternatives":116},[66,74],{"value":67,"source":68,"evidence":69},"Friendly, polished UI that quickly invites trying programs","commenter",[70],{"id":71,"by":72,"text":73},"31886426","rambambram","Wow, very friendly and welcoming UI\u002FUX that quickly makes me try out stuff. It looks simple but the flow is very polished. Good job! P.S. Do you have more plans for this app? I…",{"value":75,"source":68,"evidence":76},"Clever encoding of whole program in URL fragment",[77,81],{"id":78,"by":79,"text":80},"31883422","reneberlin","flems.io (lightweight online html, js,css editor) does this also. i was very impressed, when i first encountered this. Everything is encoded in the url to share.…",{"id":82,"by":11,"text":83},"31885421","URL parameters starting with # sound interesting, since they are obviously not sent to the server.",[85],{"value":86,"source":68,"evidence":87},"Long URLs may break on CDNs or some browsers",[88,92,96],{"id":89,"by":90,"text":91},"31884929","fastball","Partly this is doable because although RFC 2616 (HTTP\u002F1.1) specifies a max URL length of 2048 bytes, all the major browsers will process URLs which are much longer, with Safari…",{"id":93,"by":94,"text":95},"31885210","mmastrac","Using fragments instead of query strings bypasses CDN limits, but obviously those are going to be a lot more fragile in general.",{"id":97,"by":98,"text":99},"31888023","jansan","THe URL is 1548 character long, which is below the \"safe\" length limit for URLs of 2058 characters. With Internet Explorer gone, URLs of up to 8192 chars length should work on…",[],[102,109],{"value":103,"source":68,"evidence":104},"Why are variable names short",[105],{"id":106,"by":107,"text":108},"31886712","mkoryak","Cool, but why are the variables named like you are trying to conserve memory? I understand `dx` and `dy`, but `thres` and `n_part` ?",{"value":110,"source":68,"evidence":111},"How does it differ from Try It Online",[112],{"id":113,"by":114,"text":115},"31886757","cmp2tio","How is this different from Try It Online https:\u002F\u002Ftio.run ?",[117,121,125],{"value":118,"source":68,"evidence":119},"Try It Online",[120],{"id":113,"by":114,"text":115},{"value":122,"source":68,"evidence":123},"flems.io",[124],{"id":78,"by":79,"text":80},{"value":126,"source":68,"evidence":127},"CryptPad",[128],{"id":78,"by":79,"text":80},{"comments":130,"answered":131,"key":132},8,4,[133,134,137],{"id":82,"text":83},{"id":135,"text":136},"31887045","I looked it up: \"#\" is the location.hash and sets the anchor part of a URL. And is probably perfect for client side parameters, which is what I need. Such a discussion on HN is…",{"id":138,"text":139},"31896882","It now also works with \"#\" parameter code - which is not sent to the server unnecessarily.…",{"commenters":141,"max_depth":39,"maker_replies":130,"first_comment_mins":142,"lifespan_hours":143},14,41,53,[145,147,148,151,155,158,161,163,165,169,170,173,175,176,180,183,185,187,189,190,191],[89,32,39,146,90,32],"project\u002Fneutral\u002Fexecution",[93,32,39,146,94,32],[149,32,39,146,150,32],"31909997","hjkl0",[152,30,39,153,154,32],"31885499","project\u002Fneutral\u002Fdesign","golf_mike",[156,30,39,146,157,32],"31890576","jakeogh",[78,159,39,160,79,32],2,"project\u002Fneutral\u002Fidea",[82,159,32,162,11,30],"project\u002Fpositive\u002Fprivacy",[135,159,32,164,11,30],"maker\u002Fneutral\u002Fnone",[166,159,32,167,168,32],"31890660","commenter\u002Fneutral\u002Fnone","cryptonector",[138,159,32,146,11,30],[171,39,39,146,172,32],"31887736","Natfan",[174,39,32,153,11,30],"31888204",[97,131,39,146,98,32],[177,40,39,178,179,32],"31886245","project\u002Fneutral\u002Fnone","memalign",[71,181,40,182,72,32],6,"project\u002Fpositive\u002Fdesign",[48,181,32,184,11,30],"maker\u002Fneutral\u002Fidea",[106,186,39,153,107,32],7,[188,186,32,164,11,30],"31886958",[113,130,39,160,114,32],[51,130,32,160,11,30],[192,193,32,178,11,30],"31885095",9,[195,198],{"id":196,"t":197,"points":33,"comments":40},"22266563",1581087655,{"id":4,"t":12,"points":14,"comments":15},[200,205,210,214,219,224],{"id":201,"name":202,"points":203,"category":204},"31903076","min-dalle",663,"ai",{"id":206,"name":207,"points":208,"category":209},"31925871","TAXSIM.app",497,"finance_crypto",{"id":211,"name":212,"points":213,"category":20},"31897430","PRQL 0.2",378,{"id":215,"name":216,"points":217,"category":218},"31910622","Legible News",320,"productivity",{"id":220,"name":221,"points":222,"category":223},"31921830","Brevity 500",193,"learning_science",{"id":225,"name":226,"points":227,"category":218},"31891608","Yboard",165,13,false,"v2",{"id":232,"name":5,"line":6,"ai":229,"cat":20,"year":13,"points":14,"comments":15,"rec":27,"s":233,"top":18,"kw":234,"maker":11,"domain":10,"tier":19,"attempts":159,"strip":235,"url":9,"mix":236,"praise":67,"objection":86,"sub":21},31883209,0.07,[21,24,25,26],"333333000030335030300",[30,31,32,32],1794036621835]