[{"data":1,"prerenderedAt":360},["ShallowReactive",2],{"maker-susam":3},[4,34,62,84,101,116,134,156,175,192,210,225,243,265,281,301,315,335,345],{"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":31,"objection":32,"sub":33},9673912,"QuickQwerty","Touch typing tutor",false,"learning_science",2015,27,22,"mixed",-0.08,39,[17,18,19,20],"touch typing","typing tutor","qwerty","learn typing","susam","quickqwerty.com","shown",0,"5001130003031010305003","http:\u002F\u002Fquickqwerty.com\u002F",[28,29,30,29],2,4,1,"Useful typing practice; users report quick improvement","Noticeable input latency while typing","touch typing tutor",{"id":35,"name":36,"line":37,"ai":8,"cat":38,"year":39,"points":40,"comments":41,"rec":42,"s":43,"top":44,"kw":45,"maker":21,"domain":51,"tier":52,"attempts":53,"strip":54,"url":55,"mix":56,"praise":59,"objection":60,"sub":61},18307747,"TeXMe","Self-Rendering Markdown and LaTeX Documents","dev_tools",2018,209,90,"debated",-0.05,8,[46,47,48,49,50],"markdown","latex","mathjax","commonmark","browser rendering","github.com","notable",3,"3000000030500000355003115033111035333101","https:\u002F\u002Fgithub.com\u002Fsusam\u002Ftexme",[57,58,28,57],9,12,"Useful simple way to publish Markdown with math on static sites","Name TeXMe is confusing since it is not real TeX","markdown renderer",{"id":63,"name":64,"line":65,"ai":8,"cat":66,"year":67,"points":68,"comments":69,"rec":70,"s":71,"top":72,"kw":73,"maker":21,"domain":51,"tier":23,"attempts":53,"strip":78,"url":79,"mix":80,"praise":81,"objection":82,"sub":83},21231563,"Aes.vbs","AES-256-CBC Encrypt and Decrypt in VBScript for legacy apps","security_privacy",2019,13,7,"quiet",null,71,[74,75,76,77],"aes-256-cbc","vbscript","encryption","legacy apps","5100300","https:\u002F\u002Fgithub.com\u002Fsusam\u002Faes.vbs",[30,30,24,30],"Interesting to see a VBScript project on HN","AES-CBC used without an authentication tag; should use Encrypt-then-MAC","encryption library",{"id":85,"name":86,"line":87,"ai":8,"cat":66,"year":67,"points":88,"comments":89,"rec":70,"s":71,"top":90,"kw":91,"maker":21,"domain":51,"tier":23,"attempts":24,"strip":96,"url":97,"mix":98,"praise":99,"objection":-1,"sub":100},21297664,"mintotp","Minimal TOTP generator in 20 lines of Python",25,5,50,[92,93,94,95],"totp","two-factor authentication","one-time password","python","00053","https:\u002F\u002Fgithub.com\u002Fsusam\u002Fmintotp",[30,30,24,24],"Neat and useful; thanks for open sourcing it","one-time password generator",{"id":102,"name":103,"line":37,"ai":8,"cat":38,"year":67,"points":104,"comments":105,"rec":42,"s":106,"top":57,"kw":107,"maker":21,"domain":109,"tier":52,"attempts":24,"strip":110,"url":111,"mix":112,"praise":114,"objection":115,"sub":61},21602113,"TeXMe Demo",213,54,-0.03,[46,47,48,49,108],"html","opendocs.github.io","0000055000035100010115300303110303500000","https:\u002F\u002Fopendocs.github.io\u002Ftexme\u002Fexamples\u002Fdemo.html",[113,69,30,113],6,"Rendering quality looks like PDF and reflows well","Breaks with code blocks containing dollar signs",{"id":117,"name":118,"line":119,"ai":8,"cat":120,"year":121,"points":58,"comments":30,"rec":70,"s":71,"top":122,"kw":123,"maker":21,"domain":51,"tier":23,"attempts":24,"strip":129,"url":130,"mix":131,"praise":132,"objection":-1,"sub":133},22299169,"susam.in mta Makefile","A Makefile to set up personal SMTP server with Exim 4 on Debian","infrastructure",2020,73,[124,125,126,127,128],"smtp server","exim","debian","makefile","self-hosted email","5","https:\u002F\u002Fgithub.com\u002Fsusam\u002Fsusam.in\u002Fblob\u002Fmaster\u002Fmta\u002FMakefile",[30,24,24,24],"Using a Makefile as an installation script is neater than bash argument parsing","self-hosted mail server",{"id":135,"name":136,"line":137,"ai":8,"cat":38,"year":121,"points":138,"comments":139,"rec":140,"s":141,"top":142,"kw":143,"maker":21,"domain":51,"tier":52,"attempts":53,"strip":149,"url":150,"mix":151,"praise":153,"objection":154,"sub":155},25321222,"spcss","A simple, plain, minimal, classless CSS for simple, plain HTML pages",128,58,"curious",-0.04,17,[144,145,146,147,148],"classless css","minimal css","plain html","stylesheet","css framework","1003305300001050053010533005333031031003","https:\u002F\u002Fgithub.com\u002Fsusam\u002Fspcss",[113,152,24,89],15,"Demo looks nice and clean","Too trivial to be on the front page","classless css stylesheet",{"id":157,"name":158,"line":159,"ai":8,"cat":38,"year":121,"points":160,"comments":161,"rec":140,"s":162,"top":163,"kw":164,"maker":21,"domain":51,"tier":52,"attempts":29,"strip":169,"url":170,"mix":171,"praise":172,"objection":173,"sub":174},25440690,"Emacs4CL","35 line .emacs to turn Emacs into Common Lisp dev environment",80,16,0.18,26,[165,166,167,168],"emacs","common lisp","slime","paredit","5003030503303000","https:\u002F\u002Fgithub.com\u002Fsusam\u002Femacs4cl",[28,89,24,24],"Minimal config works well as a tutorial for learning Emacs","Minimal configs may still be too much for complete beginners","editor configuration",{"id":176,"name":177,"line":178,"ai":8,"cat":179,"year":180,"points":181,"comments":182,"rec":140,"s":106,"top":182,"kw":183,"maker":21,"domain":51,"tier":52,"attempts":29,"strip":186,"url":187,"mix":188,"praise":189,"objection":190,"sub":191},28033005,"muboard","Mathematics Chalkboard with LaTeX and Markdown Support","productivity",2021,89,23,[47,46,48,184,185],"chalkboard","math notes","33333010035510330003310","https:\u002F\u002Fgithub.com\u002Fsusam\u002Fmuboard",[28,44,28,53],"Output looks cool and it's a nice design for projector use","Mixing Markdown and LaTeX seems pointless compared to a LaTeX subset","math whiteboard",{"id":193,"name":194,"line":195,"ai":8,"cat":179,"year":196,"points":197,"comments":68,"rec":13,"s":198,"top":199,"kw":200,"maker":21,"domain":51,"tier":52,"attempts":24,"strip":204,"url":205,"mix":206,"praise":207,"objection":208,"sub":209},32950465,"MathB.in","Mathematics pastebin written in Common Lisp",2022,134,0.32,18,[201,202,203,48],"mathematics pastebin","latex sharing","common lisp web app","1003305030555","https:\u002F\u002Fgithub.com\u002Fsusam\u002Fmathb",[29,53,24,30],"Useful for sharing ideas; commenters plan to use it","Hunchentoot header interning allowed memory exhaustion denial of service","pastebin",{"id":211,"name":212,"line":213,"ai":8,"cat":179,"year":196,"points":161,"comments":29,"rec":70,"s":71,"top":214,"kw":215,"maker":21,"domain":218,"tier":23,"attempts":24,"strip":219,"url":220,"mix":221,"praise":222,"objection":223,"sub":224},33054878,"MathB.in Demo","Share Mathematics on the Web with Markdown and LaTeX",64,[47,46,216,217],"mathematics","math sharing","mathb.in","3050","https:\u002F\u002Fmathb.in\u002F1",[30,30,24,24],"Nicely executed and useful for a toolbox","Same link submitted multiple times","math note sharing",{"id":226,"name":227,"line":228,"ai":8,"cat":38,"year":229,"points":90,"comments":230,"rec":42,"s":231,"top":232,"kw":233,"maker":21,"domain":51,"tier":52,"attempts":24,"strip":237,"url":238,"mix":239,"praise":240,"objection":241,"sub":242},35849788,"Devil Mode","A twisted Emacs key translator for modifier-free editing",2023,56,-0.1,35,[165,234,235,236],"modifier-free editing","key translator","keybindings","1000000010000000000000000000000003315500","https:\u002F\u002Fgithub.com\u002Fsusam\u002Fdevil",[28,28,24,53],"Fun, novel idea for chording-style editing in Emacs","Terminology and default keybindings are hard for newcomers","emacs extension",{"id":244,"name":245,"line":246,"ai":8,"cat":247,"year":229,"points":248,"comments":249,"rec":140,"s":250,"top":251,"kw":252,"maker":21,"domain":258,"tier":52,"attempts":28,"strip":259,"url":260,"mix":261,"praise":263,"objection":264,"sub":253},37956065,"CFR[]","Very minimal drawing language with 5 commands: C, F, R, [, ]","creative",176,70,0.11,11,[253,254,255,256,257],"drawing language","turtle graphics","esoteric language","minimal programming","pixel art","susam.net","5535553335110533031333005503351313150113","https:\u002F\u002Fsusam.net\u002Fcfr.html",[262,88,24,57],14,"Fun and minimalist, with immediate visual feedback","Browser history gets flooded on every keystroke",{"id":266,"name":267,"line":268,"ai":8,"cat":120,"year":229,"points":142,"comments":28,"rec":70,"s":71,"top":269,"kw":270,"maker":21,"domain":51,"tier":23,"attempts":28,"strip":275,"url":276,"mix":277,"praise":278,"objection":279,"sub":280},38452518,"NIMB","NIMB IRC Matrix Bridge (NIMB) – A simple client that forwards messages",59,[271,272,273,274],"irc","matrix","bridge","chat","05","https:\u002F\u002Fgithub.com\u002Fsusam\u002Fnimb",[30,24,24,24],"Commenter thinks the software looks worth trying out.","Libera.Chat shut down its Matrix bridge after problems with Matrix.","chat bridge",{"id":282,"name":283,"line":284,"ai":8,"cat":285,"year":286,"points":287,"comments":288,"rec":13,"s":289,"top":290,"kw":291,"maker":21,"domain":51,"tier":52,"attempts":53,"strip":295,"url":296,"mix":297,"praise":298,"objection":299,"sub":300},39798542,"FXYT","Tiny, esoteric, stack-based, postfix, canvas colouring language","languages",2024,82,10,0.29,28,[255,292,293,294],"stack-based language","postfix language","canvas art","3033135555","https:\u002F\u002Fgithub.com\u002Fsusam\u002Ffxyt",[29,28,28,30],"Neat to fit it all into a small HTML page","Limited stack depth and only bounded loops make programs awkward","esoteric programming language",{"id":302,"name":303,"line":304,"ai":8,"cat":285,"year":286,"points":28,"comments":113,"rec":70,"s":71,"top":305,"kw":306,"maker":21,"domain":51,"tier":23,"attempts":28,"strip":310,"url":311,"mix":312,"praise":313,"objection":314,"sub":300},39873212,"CFRS","Turtle graphics with only 6 commands: C, F, R, S, [, ]",97,[254,307,308,309],"esolang","minimal programming language","drawing commands","310300","https:\u002F\u002Fgithub.com\u002Fsusam\u002Fcfrs",[24,30,30,30],"Brilliant concept","Poor mobile layout on Android Chrome; canvas cropped and text too small",{"id":316,"name":317,"line":318,"ai":8,"cat":319,"year":286,"points":320,"comments":113,"rec":321,"s":322,"top":323,"kw":324,"maker":21,"domain":258,"tier":52,"attempts":57,"strip":330,"url":331,"mix":332,"praise":333,"objection":-1,"sub":334},40365193,"Andromeda Invaders","Autopilot for my little HTML game called Andromeda Invaders","games",52,"loved",0.47,37,[325,326,327,328,329],"space invaders","html game","autopilot","javascript game","single page game","555335","https:\u002F\u002Fsusam.net\u002Finvaders.html#auto",[29,28,24,24],"Compact, portable, easy-to-read game code","browser arcade game",{"id":336,"name":337,"line":338,"ai":8,"cat":285,"year":339,"points":290,"comments":30,"rec":70,"s":71,"top":340,"kw":341,"maker":21,"domain":342,"tier":23,"attempts":24,"strip":129,"url":-1,"mix":343,"praise":344,"objection":-1,"sub":300},42773436,"CFRS[] Community Demos","Patterns with turtle graphics using 6 commands",2025,45,[254,255,253,308],"",[30,24,24,24],"Demos are creative and show ingenuity of contributors",{"id":346,"name":347,"line":348,"ai":8,"cat":349,"year":350,"points":58,"comments":24,"rec":70,"s":71,"top":351,"kw":352,"maker":21,"domain":51,"tier":23,"attempts":29,"strip":342,"url":357,"mix":358,"praise":-1,"objection":-1,"sub":359},47391040,"HN Skins","Available Skins: Cafe, Courier, London, Midnight, Terminal","consumer_social",2026,63,[353,354,355,356],"hacker news","browser skins","hn theme","custom css","https:\u002F\u002Fgithub.com\u002Fsusam\u002Fhnskins",[24,24,24,24],"hacker news client",1793991205867]