[{"data":1,"prerenderedAt":838},["ShallowReactive",2],{"maker-atum47":3},[4,32,53,71,92,109,127,144,164,184,200,216,230,245,259,277,294,311,330,348,362,381,395,408,423,439,452,467,480,494,508,523,539,552,566,576,590,600,613,632,648,664,677,692,705,719,733,745,762,778,791,806,821],{"id":5,"name":6,"line":7,"ai":8,"cat":9,"year":10,"points":11,"comments":12,"rec":13,"s":14,"top":15,"kw":16,"maker":21,"domain":22,"tier":23,"attempts":24,"strip":25,"url":26,"mix":27,"praise":29,"objection":30,"sub":31},18216858,"budget","A JavaScript budgeting app that implements a KNN to make predictions",false,"finance_crypto",2018,46,6,"quiet",null,39,[17,18,19,20],"budgeting app","knn prediction","expense categories","javascript","atum47","github.com","shown",0,"130050","https:\u002F\u002Fgithub.com\u002Fvictorqribeiro\u002Fbudget",[28,28,24,28],1,"Neat idea for predicting categories","Correlating prices with categories suffers from omitted variable bias","personal budgeting",{"id":33,"name":34,"line":35,"ai":8,"cat":36,"year":10,"points":37,"comments":38,"rec":39,"s":40,"top":41,"kw":42,"maker":21,"domain":22,"tier":23,"attempts":24,"strip":46,"url":47,"mix":48,"praise":-1,"objection":51,"sub":52},18246166,"cookie stealer","A cookie stealer disguised as a GIF image","security_privacy",7,18,"curious",-0.31,91,[34,43,44,45],"cross origin cookies","xss demo","session hijacking","100000003300103000","https:\u002F\u002Fgithub.com\u002Fvictorqribeiro\u002FcookieStealer",[24,49,24,50],3,2,"Browsers do not send cross-origin image-host cookies, so the attack does not steal anything","proof of concept cookie theft demo",{"id":54,"name":55,"line":56,"ai":8,"cat":57,"year":10,"points":58,"comments":59,"rec":13,"s":14,"top":60,"kw":61,"maker":21,"domain":22,"tier":23,"attempts":66,"strip":67,"url":68,"mix":69,"praise":70,"objection":-1,"sub":63},18278435,"GroupImg","GroupImg update accelerate k-means with multiprocessing to group images","data",15,9,64,[62,63,64,65],"k-means","image clustering","image grouping","multiprocessing",4,"500500300","https:\u002F\u002Fgithub.com\u002Fvictorqribeiro\u002FgroupImg",[50,28,24,24],"Nice tool",{"id":72,"name":73,"line":74,"ai":8,"cat":75,"year":10,"points":76,"comments":77,"rec":39,"s":78,"top":12,"kw":79,"maker":21,"domain":22,"tier":84,"attempts":50,"strip":85,"url":86,"mix":87,"praise":89,"objection":90,"sub":91},18339551,"InvaderZ","Space invaders, but the invaders evolve with genetic algorithm","games",253,69,-0.08,[80,81,82,83],"genetic algorithm","space invaders","evolutionary game","browser game","legend","5010003013030103503350031300113305133303","https:\u002F\u002Fgithub.com\u002Fvictorqribeiro\u002Finvaderz",[66,88,50,37],19,"Interesting evolving-enemy concept and human-in-the-loop fitness idea.","Fitness by distance survived is partly random when many invaders fire at once with a slow single bullet.","browser shooter game",{"id":93,"name":94,"line":95,"ai":8,"cat":96,"year":97,"points":98,"comments":50,"rec":13,"s":14,"top":99,"kw":100,"maker":21,"domain":22,"tier":23,"attempts":24,"strip":104,"url":105,"mix":106,"praise":107,"objection":-1,"sub":108},18992486,"Perceptron","The simplest Perceptron you'll ever see, in JavaScript","learning_science",2019,11,77,[101,20,102,103],"perceptron","neural network","machine learning","50","https:\u002F\u002Fgithub.com\u002Fvictorqribeiro\u002Fperceptron",[28,24,24,24],"Simple to understand","machine learning education",{"id":110,"name":111,"line":112,"ai":8,"cat":113,"year":97,"points":114,"comments":37,"rec":13,"s":14,"top":115,"kw":116,"maker":21,"domain":22,"tier":121,"attempts":24,"strip":122,"url":123,"mix":124,"praise":125,"objection":126,"sub":117},19037960,"photoEditor","A Image Editor in JavaScript Canvas","creative",56,35,[117,118,119,120],"image editor","javascript canvas","browser image editing","pixel manipulation","notable","5051010","https:\u002F\u002Fgithub.com\u002Fvictorqribeiro\u002FphotoEditor",[50,24,24,50],"Commenters like the project and find it cool","Button design is disliked",{"id":128,"name":129,"line":130,"ai":8,"cat":131,"year":97,"points":49,"comments":132,"rec":13,"s":14,"top":133,"kw":134,"maker":21,"domain":22,"tier":23,"attempts":24,"strip":138,"url":139,"mix":140,"praise":141,"objection":142,"sub":143},19111963,"carGamePerceptron","Excuse me, would you let my neural network drive?","ai",5,97,[102,101,135,136,137],"car game","reinforcement learning","self driving","00005","https:\u002F\u002Fgithub.com\u002Fvictorqribeiro\u002FcarGamePerceptron",[28,24,24,24],"Cool project","A simple if statement would work better than a neural network here","neural network game agent",{"id":145,"name":146,"line":147,"ai":8,"cat":75,"year":97,"points":148,"comments":149,"rec":150,"s":151,"top":152,"kw":153,"maker":21,"domain":158,"tier":23,"attempts":50,"strip":159,"url":160,"mix":161,"praise":162,"objection":163,"sub":155},19832422,"Sokoban clone","A sokoban clone game with \"infinity\" levels",13,16,"roasted",-0.18,71,[154,155,156,157],"sokoban","puzzle game","level generator","box pushing","victorribeiro.com","1050010100030300","https:\u002F\u002Fvictorribeiro.com\u002Fsokoban\u002F",[28,50,24,49],"Simple but fun game","Sokoban is popular and free, so people may not pay",{"id":165,"name":166,"line":167,"ai":8,"cat":168,"year":97,"points":169,"comments":170,"rec":171,"s":172,"top":173,"kw":174,"maker":21,"domain":22,"tier":121,"attempts":24,"strip":179,"url":180,"mix":181,"praise":182,"objection":183,"sub":177},20229393,"old terminal","An old terminal HTML template","dev_tools",74,24,"mixed",0.19,29,[175,176,177,178],"terminal theme","retro terminal","html template","crt green screen","130300505000553050303131","https:\u002F\u002Fgithub.com\u002Fvictorqribeiro\u002FoldTerminal",[132,12,24,49],"Looks good and nostalgic","Mixes different computing eras inconsistently",{"id":185,"name":186,"line":187,"ai":8,"cat":75,"year":97,"points":12,"comments":132,"rec":13,"s":14,"top":188,"kw":189,"maker":21,"domain":194,"tier":23,"attempts":24,"strip":195,"url":-1,"mix":196,"praise":197,"objection":198,"sub":199},20315778,"Gaia","AI to help create procedural quests",92,[190,191,192,193],"procedural quests","game npc","game dialogue generation","game ai","","50300",[28,24,28,24],"Idea seems reasonably clear and workable for generating quests from agent goals","Looks more like a game than an agent simulation; needs examples of agents interacting","game ai quest generation",{"id":201,"name":202,"line":203,"ai":8,"cat":131,"year":97,"points":204,"comments":205,"rec":150,"s":206,"top":207,"kw":208,"maker":21,"domain":22,"tier":121,"attempts":49,"strip":210,"url":211,"mix":212,"praise":213,"objection":214,"sub":215},20531307,"jokenpo","Play rock paper and scissors against a untrained neural network",101,63,-0.37,22,[209,102,83,103],"rock paper scissors","0101111000110000000000003333113101305013","https:\u002F\u002Fgithub.com\u002Fvictorqribeiro\u002Fjokenpo",[28,98,24,148],"Surprisingly good opponent","Training includes the player's current move before prediction, so it cheats","game playing neural network",{"id":217,"name":218,"line":218,"ai":8,"cat":131,"year":97,"points":219,"comments":132,"rec":13,"s":14,"top":220,"kw":221,"maker":21,"domain":194,"tier":23,"attempts":24,"strip":226,"url":-1,"mix":227,"praise":228,"objection":-1,"sub":229},20650615,"I've trained my neural network to play Tinder",10,82,[102,222,223,224,225],"tinder","pyautogui","scrcpy","image classification","00050",[28,24,24,24],"Funny","neural network agent",{"id":231,"name":232,"line":233,"ai":8,"cat":234,"year":97,"points":59,"comments":132,"rec":13,"s":14,"top":235,"kw":236,"maker":21,"domain":22,"tier":23,"attempts":50,"strip":226,"url":241,"mix":242,"praise":243,"objection":-1,"sub":244},20797242,"Radialmenu.js","A highly customizable radial menu that's easy to setup","languages",88,[237,20,238,239,240],"radial menu","canvas menu","circular menu","ui library","https:\u002F\u002Fgithub.com\u002Fvictorqribeiro\u002FradialMenu",[28,24,24,24],"Works well on mobile devices","javascript ui library",{"id":246,"name":247,"line":248,"ai":8,"cat":113,"year":97,"points":249,"comments":24,"rec":13,"s":14,"top":250,"kw":251,"maker":21,"domain":22,"tier":23,"attempts":12,"strip":194,"url":256,"mix":257,"praise":-1,"objection":-1,"sub":258},20978383,"radio","WebRadio Visualizer now supporting WebGL shaders",17,59,[252,253,254,255],"webgl shaders","web radio","audio visualizer","music visualization","https:\u002F\u002Fgithub.com\u002Fvictorqribeiro\u002Fradio",[24,24,24,24],"music visualizer",{"id":260,"name":261,"line":262,"ai":8,"cat":234,"year":97,"points":263,"comments":264,"rec":171,"s":265,"top":219,"kw":266,"maker":21,"domain":22,"tier":121,"attempts":24,"strip":271,"url":272,"mix":273,"praise":274,"objection":275,"sub":276},21234891,"dial","A rotary dial number input, because why not?",190,86,-0.05,[267,268,269,20,270],"rotary dial","number input","web ui","html5","3331333000300533333001000001313013133555","https:\u002F\u002Fgithub.com\u002Fvictorqribeiro\u002Fdial",[59,149,132,98],"Clever and fun, nostalgic for rotary phones","Dragging is too precise; the dial should keep rotating when the mouse leaves the control","ui component",{"id":278,"name":279,"line":280,"ai":8,"cat":75,"year":97,"points":281,"comments":282,"rec":171,"s":283,"top":88,"kw":284,"maker":21,"domain":22,"tier":121,"attempts":49,"strip":288,"url":289,"mix":290,"praise":292,"objection":293,"sub":91},21353123,"Aim and Shoot","A game where your opponents are neural networks",118,33,0.34,[285,80,286,287],"neural network game","browser shooter","evolving enemies","500000055303010353030303305155005","https:\u002F\u002Fgithub.com\u002Fvictorqribeiro\u002FaimAndShoot",[291,37,28,50],8,"Fun game that shows enemies evolving","Player health regen too stingy at 15% per round",{"id":295,"name":296,"line":297,"ai":8,"cat":234,"year":97,"points":298,"comments":98,"rec":13,"s":14,"top":299,"kw":300,"maker":21,"domain":22,"tier":23,"attempts":50,"strip":305,"url":306,"mix":307,"praise":308,"objection":309,"sub":310},21501457,"FOS","Web components to create OS-like web apps",36,43,[301,302,303,304],"web components","os-like web desktop","html css","custom elements","30000505000","https:\u002F\u002Fgithub.com\u002Fvictorqribeiro\u002FFOS",[50,28,24,24],"Modular component design makes the concept approachable","Many similar OS-style web projects already exist","web components library",{"id":312,"name":313,"line":314,"ai":8,"cat":131,"year":97,"points":315,"comments":316,"rec":39,"s":317,"top":12,"kw":318,"maker":21,"domain":22,"tier":84,"attempts":24,"strip":322,"url":323,"mix":324,"praise":327,"objection":328,"sub":329},21522830,"hntitlenator","Testing HN titles against a neural network",285,209,-0.25,[319,320,102,321],"hacker news","title prediction","upvote prediction","3123231324311113121214122223332221333243","https:\u002F\u002Fgithub.com\u002Fvictorqribeiro\u002Fhntitlenator",[59,325,28,326],102,50,"Thorough technical critique and clear pipeline","Predictions are essentially random or noisy","neural network demo",{"id":331,"name":332,"line":333,"ai":8,"cat":75,"year":97,"points":334,"comments":335,"rec":150,"s":336,"top":337,"kw":338,"maker":21,"domain":22,"tier":121,"attempts":49,"strip":342,"url":343,"mix":344,"praise":345,"objection":346,"sub":347},21701124,"googol","Learn When to Quit",147,44,-0.42,14,[339,340,332,341],"optimal stopping","secretary problem","probability game","0033331000000000150105001131303010010013","https:\u002F\u002Fgithub.com\u002Fvictorqribeiro\u002Fgoogol",[50,291,24,219],"Good way to learn the concept","Number generation is biased toward smaller numbers","educational browser game",{"id":349,"name":350,"line":351,"ai":8,"cat":131,"year":97,"points":337,"comments":28,"rec":13,"s":14,"top":352,"kw":353,"maker":21,"domain":22,"tier":23,"attempts":24,"strip":357,"url":358,"mix":359,"praise":360,"objection":361,"sub":350},21890703,"ocr","Extract text from images using Tesseract",67,[350,354,355,356],"tesseract","text extraction","image to text","0","https:\u002F\u002Fgithub.com\u002Fvictorqribeiro\u002Focr",[24,24,24,24],"Works great when it succeeds","Slow on very large images",{"id":363,"name":364,"line":365,"ai":8,"cat":75,"year":97,"points":366,"comments":367,"rec":368,"s":369,"top":28,"kw":370,"maker":21,"domain":22,"tier":84,"attempts":24,"strip":374,"url":375,"mix":376,"praise":378,"objection":379,"sub":380},21923940,"isocity","A tiny isometric city builder in JavaScript",593,104,"loved",0.38,[371,372,373,83],"isometric city builder","javascript game","isometric tiles","3303333553350030000053530003335531555550","https:\u002F\u002Fgithub.com\u002Fvictorqribeiro\u002Fisocity",[149,377,50,50],21,"Fun and simple to play","Tile selection requires scrolling a long vertical list","city builder",{"id":382,"name":383,"line":384,"ai":8,"cat":131,"year":385,"points":386,"comments":377,"rec":387,"s":388,"top":282,"kw":389,"maker":21,"domain":22,"tier":121,"attempts":24,"strip":390,"url":391,"mix":392,"praise":393,"objection":394,"sub":329},21962326,"bangBangML","Self-taught neural network learns to shoot a target",2020,60,"debated",-0.23,[102,20,136,193],"150000050550310011301","https:\u002F\u002Fgithub.com\u002Fvictorqribeiro\u002FbangBangML",[66,50,24,132],"Fun project and useful for beginners to build intuition","Overengineered for the problem",{"id":396,"name":397,"line":398,"ai":8,"cat":75,"year":385,"points":337,"comments":66,"rec":13,"s":14,"top":352,"kw":399,"maker":21,"domain":22,"tier":23,"attempts":49,"strip":404,"url":405,"mix":406,"praise":407,"objection":-1,"sub":400},22494643,"Genius","webgame to exercise your brain",[400,401,402,403],"memory game","brain training","simon game","memory exercise","0505","https:\u002F\u002Fgithub.com\u002Fvictorqribeiro\u002Fgenius",[50,24,24,24],"Enjoyable and nostalgic, recalls playing Simon",{"id":409,"name":410,"line":411,"ai":8,"cat":113,"year":385,"points":412,"comments":58,"rec":13,"s":14,"top":15,"kw":413,"maker":21,"domain":22,"tier":23,"attempts":50,"strip":417,"url":418,"mix":419,"praise":420,"objection":421,"sub":422},22769511,"randomFractal","Evolving fractals with genetic algorithms",42,[80,414,415,416],"fractal","iterated function system","generative art","300000000503030","https:\u002F\u002Fgithub.com\u002Fvictorqribeiro\u002FrandomFractal",[28,50,28,24],"Fun, nice-looking fractals and a good project.","Most generated examples are not attractive; users must click many times to get a nice one.","generative fractal art",{"id":424,"name":425,"line":426,"ai":8,"cat":75,"year":385,"points":427,"comments":428,"rec":171,"s":265,"top":219,"kw":429,"maker":21,"domain":433,"tier":121,"attempts":24,"strip":434,"url":435,"mix":436,"praise":437,"objection":438,"sub":155},22799430,"QUBES","I'm releasing my game for free",195,103,[154,155,430,431,432],"block pushing","free game","html5 game","victorqribeiro.itch.io","0003153513313330033333333355311113511035","https:\u002F\u002Fvictorqribeiro.itch.io\u002Fqubes",[59,170,66,148],"Fun and addictive puzzle design","No undo function",{"id":440,"name":441,"line":442,"ai":8,"cat":96,"year":385,"points":58,"comments":170,"rec":171,"s":388,"top":443,"kw":444,"maker":21,"domain":22,"tier":23,"attempts":49,"strip":447,"url":448,"mix":449,"praise":450,"objection":451,"sub":446},23153451,"Monty Hall","The Monty Hall Problem in JavaScript",65,[445,446,20],"monty hall problem","probability simulation","300100000000050000103013","https:\u002F\u002Fgithub.com\u002Fvictorqribeiro\u002Fmontyhall",[28,49,24,49],"Simulation is a good way to learn the counterintuitive probability result.","Colors and statistics display are confusing; the stats should show the switch win ratio.",{"id":453,"name":454,"line":455,"ai":8,"cat":75,"year":385,"points":148,"comments":66,"rec":13,"s":14,"top":456,"kw":457,"maker":21,"domain":22,"tier":23,"attempts":50,"strip":462,"url":463,"mix":464,"praise":465,"objection":-1,"sub":466},23278310,"tileEditor","I'm releasing my 2D Tile Map Editor for free",70,[458,459,460,461],"tile map editor","2d tile editor","game level editor","open source tilemap","0005","https:\u002F\u002Fgithub.com\u002Fvictorqribeiro\u002FtileEditor",[28,24,24,24],"Enthusiastic reception of the tile editor and video demo","game development tools",{"id":468,"name":73,"line":469,"ai":8,"cat":75,"year":385,"points":11,"comments":38,"rec":150,"s":470,"top":471,"kw":472,"maker":21,"domain":433,"tier":23,"attempts":24,"strip":474,"url":475,"mix":476,"praise":477,"objection":478,"sub":479},23301121,"InvaderZ is now available to play on itch.io",-0.41,37,[80,81,83,287,473],"itch.io","003030003101103101","https:\u002F\u002Fvictorqribeiro.itch.io\u002Finvaderz",[24,49,28,132],"Beautiful game and minimalist approach","Firing cooldown is too long and feels frustrating","arcade shooter",{"id":481,"name":158,"line":482,"ai":8,"cat":168,"year":385,"points":59,"comments":132,"rec":13,"s":14,"top":483,"kw":484,"maker":21,"domain":158,"tier":23,"attempts":24,"strip":489,"url":490,"mix":491,"praise":492,"objection":493,"sub":486},23671310,"360º panoramic render using my 3D engine",87,[485,486,20,487,488],"webgl","3d engine","panoramic render","glsl","03000","https:\u002F\u002Fvictorribeiro.com\u002F3Dsphere\u002F",[24,28,24,24],"Commenters like the demo and the maker's other projects","Engine is early stage and may not work on iPhone",{"id":495,"name":496,"line":497,"ai":8,"cat":75,"year":385,"points":49,"comments":132,"rec":13,"s":14,"top":133,"kw":498,"maker":21,"domain":502,"tier":23,"attempts":24,"strip":503,"url":504,"mix":505,"praise":-1,"objection":506,"sub":507},24106939,"yargled-js","Procedural level generator for my tower defense game",[499,500,156,501],"tower defense","procedural generation","game development","twitter.com","00000","https:\u002F\u002Ftwitter.com\u002Fvictorqribeiro\u002Fstatus\u002F1292738025156378625",[24,24,24,24],"Did not work well on a cellphone","tower defense game",{"id":509,"name":510,"line":511,"ai":8,"cat":113,"year":385,"points":28,"comments":132,"rec":13,"s":14,"top":512,"kw":513,"maker":21,"domain":158,"tier":23,"attempts":50,"strip":518,"url":519,"mix":520,"praise":521,"objection":-1,"sub":522},24231328,"look4sound","An app that helps you search through your audio library",100,[514,515,516,517],"sound effects","audio library","game audio","sound search","05030","https:\u002F\u002Fvictorribeiro.com\u002Flook4sound\u002F",[28,28,24,24],"Looks sweet, thanks for sharing.","audio search tool",{"id":524,"name":525,"line":526,"ai":8,"cat":131,"year":385,"points":527,"comments":528,"rec":39,"s":529,"top":530,"kw":531,"maker":21,"domain":22,"tier":121,"attempts":49,"strip":534,"url":535,"mix":536,"praise":537,"objection":538,"sub":329},24370792,"perceptronCobol","Single neuron neural network written in COBOL",94,30,0.14,23,[101,532,102,533],"cobol","single neuron","000300310503000053000000000000","https:\u002F\u002Fgithub.com\u002Fvictorqribeiro\u002FperceptronCobol",[50,66,24,28],"Readable code; COBOL is easy to follow","Perceptron uses a step activation, not a sigmoid",{"id":540,"name":541,"line":542,"ai":8,"cat":75,"year":385,"points":132,"comments":59,"rec":171,"s":369,"top":543,"kw":544,"maker":21,"domain":158,"tier":23,"attempts":24,"strip":547,"url":548,"mix":549,"praise":550,"objection":551,"sub":155},24879895,"Scramble","A puzzle game I wrote in JavaScript",93,[545,372,546,83],"sliding puzzle","15 puzzle","050510350","https:\u002F\u002Fvictorribeiro.com\u002Fscramble",[49,24,28,28],"Fun and good for short breaks","4x4 boards could be generated unsolvable; maker fixed the bug",{"id":553,"name":554,"line":555,"ai":8,"cat":113,"year":385,"points":556,"comments":335,"rec":171,"s":369,"top":249,"kw":557,"maker":21,"domain":158,"tier":121,"attempts":24,"strip":561,"url":562,"mix":563,"praise":564,"objection":565,"sub":458},24892956,"Tile Map Editor","Build your own isometric city",127,[458,558,380,559,560],"isometric","pixel art","map maker","0503030105050100050330305530153000530055","https:\u002F\u002Fvictorribeiro.com\u002FtileEditor\u002F?example=01",[219,37,28,49],"Intuitive and fun, nostalgic for SimCity","Does not work in Safari unless cross-site tracking prevention is disabled",{"id":567,"name":568,"line":569,"ai":8,"cat":75,"year":385,"points":219,"comments":49,"rec":13,"s":14,"top":220,"kw":570,"maker":21,"domain":158,"tier":23,"attempts":24,"strip":573,"url":574,"mix":575,"praise":-1,"objection":-1,"sub":83},24963979,"Kingdom Clone","Developing a game using the tool I made",[571,501,380,572],"tile editor","tile map","030","https:\u002F\u002Fvictorribeiro.com\u002FkingdomClone\u002F",[24,28,24,24],{"id":577,"name":578,"line":578,"ai":8,"cat":113,"year":579,"points":412,"comments":149,"rec":368,"s":580,"top":581,"kw":582,"maker":21,"domain":194,"tier":23,"attempts":24,"strip":586,"url":-1,"mix":587,"praise":588,"objection":589,"sub":416},25818384,"Print chr$(205.5+rnd(1)) goto 10",2021,0.21,38,[583,416,20,584,585],"10 print","maze pattern","basic one-liner","0500353055313035",[132,66,28,28],"Neat idea and cool visual effect","Runs slowly or tab closes in regular Chrome with multiple tabs",{"id":591,"name":410,"line":592,"ai":8,"cat":113,"year":579,"points":207,"comments":49,"rec":13,"s":14,"top":593,"kw":594,"maker":21,"domain":158,"tier":23,"attempts":24,"strip":597,"url":598,"mix":599,"praise":-1,"objection":-1,"sub":422},26460374,"Using Genetic Algorithm to Create Fractals",53,[80,595,416,596],"fractals","evolutionary art","300","https:\u002F\u002Fvictorribeiro.com\u002FrandomFractal\u002F",[24,28,24,24],{"id":601,"name":602,"line":603,"ai":8,"cat":75,"year":579,"points":66,"comments":37,"rec":13,"s":14,"top":527,"kw":604,"maker":21,"domain":22,"tier":23,"attempts":132,"strip":608,"url":609,"mix":610,"praise":-1,"objection":611,"sub":612},26516872,"Finger Pool","Finger Pool, play pool with your finger",[605,606,372,607],"pool game","canvas game","billiards","0301000","https:\u002F\u002Fgithub.com\u002Fvictorqribeiro\u002FfingerPool",[24,28,24,28],"Ball colors do not follow standard pool coloring; 8 ball should be black.","browser pool game",{"id":614,"name":615,"line":616,"ai":8,"cat":75,"year":579,"points":617,"comments":618,"rec":150,"s":619,"top":620,"kw":621,"maker":21,"domain":158,"tier":23,"attempts":66,"strip":626,"url":627,"mix":628,"praise":629,"objection":630,"sub":631},26849194,"Pixel Physics","Yeah, the rules are not great right now.",20,12,-0.2,55,[622,623,624,625],"pixel physics","cellular automata","falling sand","physics simulation","101005301050","https:\u002F\u002Fvictorribeiro.com\u002FpixelPhysics\u002F",[50,28,24,49],"Fun simulation, interesting to see working","Connected water bodies behave incorrectly","physics sandbox",{"id":633,"name":634,"line":635,"ai":8,"cat":168,"year":579,"points":148,"comments":149,"rec":39,"s":636,"top":77,"kw":637,"maker":21,"domain":22,"tier":23,"attempts":24,"strip":642,"url":643,"mix":644,"praise":645,"objection":646,"sub":647},27656497,"imageCounter","Insert a page view counter in your README",-0.14,[638,639,640,641],"page view counter","github readme","hit counter","badge","3005033000001010","https:\u002F\u002Fgithub.com\u002Fvictorqribeiro\u002FimageCounter",[28,49,24,50],"Cool, nostalgic hit counter idea","Counts hits, not unique visitors; no IP or cookie filtering","readme badge generator",{"id":649,"name":650,"line":651,"ai":8,"cat":113,"year":579,"points":652,"comments":471,"rec":368,"s":653,"top":148,"kw":654,"maker":21,"domain":158,"tier":121,"attempts":24,"strip":658,"url":659,"mix":660,"praise":661,"objection":662,"sub":663},29369941,"retroSynthwave","Giving a 2D grid a 3D look – part 4",155,0.47,[655,656,118,657],"synthwave canvas","retro grid animation","outrun visuals","0505010505000005000330030355350053505","https:\u002F\u002Fvictorribeiro.com\u002Frandom4\u002F",[98,132,28,28],"Beautiful, retro 80s outrun look","Canvas frame rate drops with glow and sun gradient","generative visuals",{"id":665,"name":666,"line":667,"ai":8,"cat":75,"year":668,"points":669,"comments":235,"rec":387,"s":78,"top":249,"kw":670,"maker":21,"domain":22,"tier":121,"attempts":66,"strip":672,"url":673,"mix":674,"praise":675,"objection":676,"sub":671},30051902,"bangBang","Shoot the neural network before it shoots you",2022,146,[671,102,372,83],"artillery game","5013150513153500050053335115100355010133","https:\u002F\u002Fgithub.com\u002Fvictorqribeiro\u002FbangBang",[618,337,49,337],"Fun, simple game with an interesting learning opponent","Broken or unplayable on mobile Safari and in some window sizes",{"id":678,"name":158,"line":679,"ai":8,"cat":680,"year":668,"points":50,"comments":12,"rec":13,"s":14,"top":681,"kw":682,"maker":21,"domain":158,"tier":23,"attempts":24,"strip":687,"url":688,"mix":689,"praise":690,"objection":691,"sub":684},30561667,"Remember to eat every two hours","consumer_social",98,[683,684,685,686],"eating reminder","meal timer","eat every two hours","intermittent eating","005010","https:\u002F\u002Fvictorribeiro.com\u002FeatingTime\u002F",[28,24,24,28],"Nice idea worth trying","Just a simple timer with little substance",{"id":693,"name":694,"line":695,"ai":8,"cat":168,"year":668,"points":299,"comments":696,"rec":39,"s":317,"top":412,"kw":697,"maker":21,"domain":22,"tier":23,"attempts":132,"strip":700,"url":701,"mix":702,"praise":703,"objection":704,"sub":500},31384676,"simpleWFC","Simple Wave Function Collapse",27,[698,500,572,699],"wave function collapse","terrain generation","030303000110033010010033003","https:\u002F\u002Fgithub.com\u002Fvictorqribeiro\u002FsimpleWFC",[24,291,24,66],"Good explanatory video on the algorithm","Name 'wave function collapse' is confusing and suggests quantum physics",{"id":706,"name":707,"line":707,"ai":8,"cat":113,"year":668,"points":28,"comments":59,"rec":13,"s":14,"top":512,"kw":708,"maker":21,"domain":158,"tier":23,"attempts":50,"strip":713,"url":714,"mix":715,"praise":716,"objection":717,"sub":718},32182774,"Image to CRT",[709,710,711,559,712],"crt filter","image converter","rgb subpixel","crt simulation","003005010","https:\u002F\u002Fvictorribeiro.com\u002FCRT\u002F",[28,28,24,28],"Cool way to render Amiga and DOS captures with correct pixel aspect.","Aspect ratio changes after conversion.","image filter",{"id":720,"name":158,"line":721,"ai":8,"cat":113,"year":668,"points":98,"comments":219,"rec":13,"s":14,"top":722,"kw":723,"maker":21,"domain":158,"tier":23,"attempts":49,"strip":727,"url":728,"mix":729,"praise":730,"objection":731,"sub":732},32260398,"My website now has a CRT filter",78,[709,724,725,726],"retro css","scanline effect","windows 95 theme","1003030050","https:\u002F\u002Fvictorribeiro.com\u002F",[28,28,28,28],"Cool idea and nice to see personal websites like this","CRT effect is overdone; real mid-90s displays looked less pronounced","website visual effect",{"id":734,"name":158,"line":735,"ai":8,"cat":113,"year":668,"points":618,"comments":66,"rec":13,"s":14,"top":736,"kw":737,"maker":21,"domain":158,"tier":23,"attempts":66,"strip":742,"url":743,"mix":744,"praise":-1,"objection":-1,"sub":117},33556392,"Full Fledged Image Editor in Browser",75,[117,738,739,740,741],"browser","photo filters","blend modes","canvas","0030","https:\u002F\u002Fvictorribeiro.com\u002FcustomFilter\u002F",[24,28,24,24],{"id":746,"name":747,"line":748,"ai":8,"cat":75,"year":749,"points":750,"comments":170,"rec":39,"s":151,"top":751,"kw":752,"maker":21,"domain":158,"tier":121,"attempts":50,"strip":756,"url":757,"mix":758,"praise":759,"objection":760,"sub":761},40950712,"Raycast2","I accidentally crated a infinite level for a wolf 3D clone",2024,66,32,[753,754,755,83],"wolf 3d","raycasting","infinite maze","000500303301033001305100","https:\u002F\u002Fvictorribeiro.com\u002Fraycast2\u002F",[50,12,24,49],"Reminiscent of Marathon and Duke Nukem non-Euclidean maps","Level does not seem infinite; it repeats or loops","browser raycaster game",{"id":763,"name":764,"line":765,"ai":8,"cat":168,"year":749,"points":37,"comments":59,"rec":387,"s":766,"top":767,"kw":768,"maker":21,"domain":194,"tier":23,"attempts":24,"strip":773,"url":-1,"mix":774,"praise":775,"objection":776,"sub":777},41451559,"TinyJS","A better way of writing HTML via JavaScript?",0.02,85,[769,770,771,772],"html in javascript","createelement","jsx alternative","dom helper","503100513",[50,28,28,50],"Elegant and simple approach","Reinvents existing JSX and hyperscript approaches","html helper library",{"id":779,"name":780,"line":781,"ai":8,"cat":75,"year":749,"points":412,"comments":59,"rec":13,"s":14,"top":782,"kw":783,"maker":21,"domain":22,"tier":23,"attempts":24,"strip":786,"url":787,"mix":788,"praise":789,"objection":790,"sub":380},41815945,"IsoCity","I've added undo and redo to IsoCity",40,[380,784,785,83],"isometric game","undo redo","300300050","https:\u002F\u002Fgithub.com\u002Fvictorqribeiro\u002Fisocity\u002Fpull\u002F26",[28,28,28,24],"Map URL encodes the full map state, which is neat.","Whitespace changes mixed into the PR make the diff harder to review.",{"id":792,"name":764,"line":793,"ai":8,"cat":234,"year":794,"points":299,"comments":782,"rec":150,"s":636,"top":298,"kw":795,"maker":21,"domain":194,"tier":23,"attempts":24,"strip":801,"url":-1,"mix":802,"praise":803,"objection":804,"sub":805},42834325,"TinyJs React like framework in 35 lines of code",2025,[796,797,798,799,800],"javascript framework","react alternative","jsx","state management","tiny framework","1000000501510100000000000000000000310530",[49,50,24,132],"Cool project, encouraging tinkering","Not really React-like; it is syntax sugar over a global state object","javascript ui framework",{"id":807,"name":808,"line":809,"ai":8,"cat":234,"year":794,"points":115,"comments":219,"rec":39,"s":172,"top":810,"kw":811,"maker":21,"domain":22,"tier":23,"attempts":50,"strip":816,"url":817,"mix":818,"praise":819,"objection":-1,"sub":820},43526957,"Chip-8","Chip-8 emulator written in JavaScript",41,[812,813,814,815],"chip-8 emulator","javascript emulator","retro computing","crt effect","0033030550","https:\u002F\u002Fgithub.com\u002Fvictorqribeiro\u002FChip8js",[50,49,24,24],"Nice work","emulator",{"id":822,"name":823,"line":824,"ai":8,"cat":75,"year":825,"points":826,"comments":528,"rec":387,"s":827,"top":528,"kw":828,"maker":21,"domain":158,"tier":23,"attempts":24,"strip":833,"url":834,"mix":835,"praise":836,"objection":837,"sub":829},48649697,"Wordit","Change One Letter, Keep the Chain Going",2026,45,0.03,[829,830,831,832],"word game","word chain","vocabulary game","wordle alternative","303513005003050110551001501000","https:\u002F\u002Fvictorribeiro.com\u002Fwordit\u002F",[12,50,50,12],"Fun, addictive concept; reminds commenters of Wordle","Gets repetitive; easy once a word allows many first-letter changes",1793991236734]