[{"data":1,"prerenderedAt":447},["ShallowReactive",2],{"project-45731366":3},{"id":4,"name":5,"line":5,"line_source":6,"title":7,"url":8,"domain":9,"maker":10,"posted_at":11,"year":12,"points":13,"comments":14,"rank_in_year":15,"shown_in_year":16,"top":17,"tier":18,"category":19,"subcategory":20,"format":21,"keywords":22,"reception":27,"sentiment":28,"stance_mix":29,"scored_comments":33,"aspects":34,"strip":45,"post_text":47,"what":48,"said":64,"maker_in_thread":207,"shape":218,"grid":221,"attempts":409,"same_week":410,"maker_shows":37,"maker_hidden":439,"reader_version":440,"card":441},"45731366","Bash Screensavers","title","Show HN: Bash Screensavers","https:\u002F\u002Fgithub.com\u002Fattogram\u002Fbash-screensavers","github.com","attogram",1761649952,2025,246,77,243,3837,7,"notable","creative","terminal screensavers","cli",[23,24,25,26],"bash screensaver","terminal animation","ascii visualization","shell script","mixed",-0.032,{"positive":17,"neutral":30,"mixed":31,"critical":32},19,3,12,41,{"idea":35,"performance":38,"design":41,"execution":42,"docs":44},{"positive":36,"critical":37},6,1,{"positive":39,"critical":40},0,2,{"positive":37,"critical":39},{"positive":39,"critical":43},9,{"positive":39,"critical":39},[46,37,31,31,46,31,46,46,31,39,31,31,37,31,39,31,39,37,46,31,31,46,37,31,39,39,37,31,31,37,37,37,37,31,37,39,39,39,39,39],5,"A github project to collect a bunch of bash-based screensavers\u002Fvisualizations.",{"problem":49,"audience":49,"pricing":49,"motivation":49,"time_to_build":49,"stack":50,"openness":63,"stage":63,"team_size":63},null,[51],{"value":52,"source":53,"evidence":54},"Bash","commenter",[55,59],{"id":56,"by":57,"text":58},"45731748","alejoar","Doesn't work for me on MacOS: I get \"mapfile: command not found\"",{"id":60,"by":61,"text":62},"45731944","seba_dos1","Get a Bash that's not ancient. mapfile is there since version 4.0 from 2009.","unknown",{"praise":65,"objections":92,"requests":126,"questions":146,"alternatives":168},[66,81],{"value":67,"source":53,"evidence":68},"Fun, whimsical project that brings joy to the front page",[69,73,77],{"id":70,"by":71,"text":72},"45733242","throwaway2037","How can anyone have a bad day when great projects like this pop up on the front page of HN? Did you see the library of viz?…",{"id":74,"by":75,"text":76},"45734137","jsmailes","I like how all the tests seem to be contained within a \"jury\" folder which judges the merit of your code, made me smile - It's always nice for open-source\u002FFOSS projects to retain…",{"id":78,"by":79,"text":80},"45734099","skeptrune","I love seeing projects like this on the front page. They are so fun and can be little small tricks that improve your quality of life drastically.",{"value":82,"source":53,"evidence":83},"Nostalgia for DOS and 90s-style screensavers",[84,88],{"id":85,"by":86,"text":87},"45732300","hk1337","This reminds me of having a screensaver in DOS.",{"id":89,"by":90,"text":91},"45735691","culebron21","In the good ol' days, ~1990, Norton Commander had a screensaver with stars, similar to the one in the gallery readme, but with fewer stars, that grew from a dot to bigger dot, to…",[93,104,115],{"value":94,"source":53,"evidence":95},"Fails on macOS default bash because mapfile is missing",[96,97,101],{"id":56,"by":57,"text":58},{"id":98,"by":99,"text":100},"45731837","SeeManDo","Bash Screensavers v0.0.27 (Mystic Shine) .\u002Fscreensaver.sh: line 79: mapfile: command not found 1 . (Press ^C to exit) Choose your screensaver: 1 404 Screensaver Not Found: Oh no!…",{"id":102,"by":99,"text":103},"45732065","Seems to be a old version of bash installed and used by default on macos",{"value":105,"source":53,"evidence":106},"Inefficient CPU use, e.g. matrix uses high CPU",[107,111],{"id":108,"by":109,"text":110},"45739596","axiolite","With \"matrix\" causing bash to consume 46% of my CPU time, I think I'll pass. I think I can play the actual film in 4K with less CPU time than that.",{"id":112,"by":113,"text":114},"45733500","_def","unfortunately quite inefficient, I'm sure higher framerates must be possible (at least when running in docker, maybe that's the bottleneck, but I hesitated to run this on my…",{"value":116,"source":53,"evidence":117},"Cursor is visible and flickers, should be hidden",[118,122],{"id":119,"by":120,"text":121},"45732932","izabera","they're generally pretty but they should really hide the cursor, it looks offputting in basically all cases",{"id":123,"by":124,"text":125},"45732031","Evidlo","Why does the cursor flicker around the screen for most of these? Does it have something to do with not double buffering the display?",[127,132,139],{"value":128,"source":53,"evidence":129},"Hide the cursor and fix flicker",[130,131],{"id":119,"by":120,"text":121},{"id":123,"by":124,"text":125},{"value":133,"source":53,"evidence":134},"Option to disable tput setab background color calls",[135],{"id":136,"by":137,"text":138},"45736232","lucideer","Nice! First feature request: allow disabling all the `tput setab 0` calls throughout the codebase. This may make screensavers look weird on white terminals but should improve…",{"value":140,"source":53,"evidence":141},"Use alternate screen buffer to keep terminal clean",[142],{"id":143,"by":144,"text":145},"45732458","LocoPadre","Recommendation: Use the terminal control codes 1049h and 1049l [1][2] to keep the terminal 'clean'. [1]:…",[147,157],{"value":148,"source":53,"evidence":149},"Does it work as a Plasma wallpaper or standalone Qt app outside KDE",[150,154],{"id":151,"by":152,"text":153},"45733648","imiric","Ah, sweet! Do you know if this supports any DE (or no DE)? Or is it strictly for KDE Plasma?",{"id":155,"by":152,"text":156},"45734505","Right, but I hoped it would work as a standalone Qt app. Yeah, I've used xwinwrap before, but am lost on Wayland. I'll look into windowtolayer, thanks. I'd rather not have to…",{"value":158,"source":53,"evidence":159},"Does it burn in OLED screens or is a saver still needed",[160,164],{"id":161,"by":162,"text":163},"45739627","prmoustache","Do screens still need to be saved?",{"id":165,"by":166,"text":167},"45739661","blacksmith_tb","OLEDs are famous for burning in[1], so potentially \"yes\". 1: https:\u002F\u002Fwww.pcworld.com\u002Farticle\u002F2918628\u002Fyour-oled-displays-worst-enemy-burn-in-heres-how-to-fight-back.html",[169,180,186,197],{"value":170,"source":53,"evidence":171},"zone.el in Emacs",[172,176],{"id":173,"by":174,"text":175},"45732230","PessimalDecimal","I've used Emacs for years but just recently learned about zone.el. I wonder if this is based on it too. I see some of the same screensavers here.",{"id":177,"by":178,"text":179},"45732283","blenderob","Wow! The copyright of zone.el goes back to 2000. But this is the first time I hear about it! How did you find this gem?",{"value":181,"source":53,"evidence":182},"xscreensaver",[183],{"id":184,"by":152,"text":185},"45733566","Nice! I won't use this since screensavers are much more interesting when not limited to characters, but this is a neat project. Screensavers are a lost art. I still enjoy them,…",{"value":187,"source":53,"evidence":188},"TerminalTextEffects",[189,193],{"id":190,"by":191,"text":192},"45733884","nickstinemates","You can also experiment and make your own[1] using TerminalTextEffects[2]. I added this to my ~\u002F.zshrc ``` > \u002Fhome\u002Fkeeb\u002Fcode\u002Fprojects\u002Flogin\u002Fmotd.sh ``` Which has.. ```…",{"id":194,"by":195,"text":196},"45736407","rkapsoro","fwiw I've noticed that Omarchy[1] uses some terminal-based screensavers, using something called tte[2] to do so. 1: https:\u002F\u002Fomarchy.org\u002F 2:…",{"value":198,"source":53,"evidence":199},"cmatrix and hollywood",[200,204],{"id":201,"by":202,"text":203},"45733432","panki27","For tmux users: you can use the lock-command option with something like cmatrix for a quick and dirty screensaver.",{"id":205,"by":61,"text":206},"45733880","Check hollywood out then: https:\u002F\u002Fgithub.com\u002Fdustinkirkland\u002Fhollywood",{"comments":46,"answered":40,"key":208},[209,212,215],{"id":210,"text":211},"45731390","Gallery of current screensavers: https:\u002F\u002Fgithub.com\u002Fattogram\u002Fbash-screensavers\u002Fblob\u002Fmain\u002Fgallery\u002FREADME.md",{"id":213,"text":214},"45733731","Agreed! Known bug that will get squashed...",{"id":216,"text":217},"45739338","Good catch! For folks curious about the rm -rf see https:\u002F\u002Fgithub.com\u002Fattogram\u002Fbash-screensavers\u002Fblob\u002Fmain\u002Fgallery\u002Fspeaky\u002Fspeaky.sh line 339",{"commenters":219,"max_depth":17,"maker_replies":46,"first_comment_mins":31,"lifespan_hours":220},48,45,[222,224,226,230,232,236,238,240,242,244,246,248,250,253,257,259,262,263,265,268,270,272,276,279,284,285,288,290,292,293,295,297,301,303,305,309,311,313,315,317,319,322,323,328,332,334,337,340,342,344,347,350,353,355,359,361,364,366,368,370,371,373,374,376,378,382,385,388,390,393,396,398,400,402,404,406,407],[70,39,46,223,71,39],"project\u002Fpositive\u002Fidea",[108,39,37,225,109,39],"project\u002Fcritical\u002Fperformance",[227,39,31,228,229,39],"45742670","project\u002Fneutral\u002Fperformance","o11c",[231,39,31,228,109,39],"45753782",[233,39,39,234,235,39],"45741285","other\u002Fneutral\u002Fnone","AdieuToLogic",[210,37,39,237,10,37],"maker\u002Fneutral\u002Fnone",[119,37,31,239,120,39],"project\u002Fmixed\u002Fdesign",[213,37,39,241,10,37],"maker\u002Fneutral\u002Fexecution",[243,40,46,223,61,39],"45731542",[151,40,31,245,152,39],"project\u002Fneutral\u002Fnone",[247,40,31,245,61,39],"45733985",[155,40,31,249,152,39],"project\u002Fneutral\u002Fdesign",[251,40,46,223,252,39],"45736853","zahlman",[254,40,39,255,256,39],"45737320","commenter\u002Fneutral\u002Fnone","messe",[74,31,46,258,75,39],"project\u002Fpositive\u002Fdesign",[173,260,31,261,174,39],4,"project\u002Fneutral\u002Fidea",[177,260,39,255,178,39],[264,260,39,255,174,39],"45733400",[266,260,39,234,267,39],"45734144","LukeShu",[143,46,31,269,144,39],"project\u002Fneutral\u002Fexecution",[184,36,31,271,152,39],"project\u002Fmixed\u002Fidea",[273,17,31,274,275,39],"45740164","project\u002Fneutral\u002Fdocs","jedberg",[277,17,39,255,278,39],"45740375","chrysoprace",[280,281,37,282,283,39],"45738344",8,"project\u002Fcritical\u002Fexecution","dakinitribe",[216,281,39,241,10,37],[286,43,31,249,287,39],"45731762","huhtenberg",[190,289,39,234,191,39],10,[89,291,39,234,90,39],11,[136,32,31,249,137,39],[294,32,39,255,229,39],"45739883",[296,32,39,255,137,39],"45746343",[298,299,39,234,300,39],"45738518",13,"dorianmariecom",[302,299,37,282,109,39],"45739772",[304,299,39,234,300,39],"45757560",[306,307,46,223,308,39],"45737259",14,"ratelimitsteve",[78,310,46,223,79,39],15,[194,312,39,234,195,39],16,[123,314,31,269,124,39],17,[316,314,39,241,10,37],"45732059",[201,318,31,245,202,39],18,[320,30,46,223,321,39],"45733847","corranh",[205,30,39,234,61,39],[324,325,37,326,327,39],"45737523",20,"project\u002Fcritical\u002Fidea","LeoPanthera",[329,330,31,269,331,39],"45731571",21,"FergusArgyll",[333,330,31,241,61,39],"45731585",[335,330,31,241,336,39],"45731668","xxs",[338,330,39,339,61,39],"45731730","commenter\u002Fneutral\u002Fexecution",[341,330,39,255,336,39],"45731788",[343,330,39,255,61,39],"45731823",[345,330,39,255,346,39],"45731961","kevincox",[348,330,37,282,349,39],"45731642","madsohm",[351,330,31,245,352,39],"45731900","warp",[354,330,39,237,10,37],"45732020",[356,357,31,261,358,39],"45738710",22,"Agingcoder",[85,360,31,261,86,39],23,[362,360,39,234,363,39],"45733239","adzm",[112,365,37,225,113,39],24,[56,367,37,282,57,39],25,[369,367,37,282,99,39],"45731825",[98,367,37,282,99,39],[60,367,37,372,61,39],"maker\u002Fcritical\u002Fexecution",[102,367,39,339,99,39],[375,367,37,282,99,39],"45732161",[377,367,39,339,61,39],"45732400",[379,367,31,380,381,39],"45738395","project\u002Fmixed\u002Fperformance","kridsdale3",[383,367,31,241,384,39],"45733380","30minAdayHN",[386,367,37,282,387,39],"45733582","doodpants",[389,367,39,339,61,39],"45733851",[391,367,39,255,392,39],"45736773","hinkley",[394,367,39,234,395,39],"45738340","dylan604",[397,367,39,234,392,39],"45739348",[399,367,39,234,395,39],"45739501",[401,367,39,234,392,39],"45739758",[403,367,39,234,395,39],"45739934",[161,405,39,234,162,39],26,[165,405,39,234,166,39],[408,405,39,234,162,39],"45739966",[],[411,416,421,426,430,434],{"id":412,"name":413,"points":414,"category":415},"45706792","oxdraw",266,"dev_tools",{"id":417,"name":418,"points":419,"category":420},"45715055","MyraOS",247,"infrastructure",{"id":422,"name":423,"points":424,"category":425},"45684689","Deadstack",188,"productivity",{"id":427,"name":428,"points":429,"category":19},"45721352","ISS in Real Time",165,{"id":431,"name":432,"points":433,"category":415},"45717724","vite-plugin-use-golang",158,{"id":435,"name":436,"points":437,"category":438},"45722826","JSON Query",154,"data",false,"v2",{"id":442,"name":5,"line":5,"ai":439,"cat":19,"year":12,"points":13,"comments":14,"rec":27,"s":443,"top":17,"kw":444,"maker":10,"domain":9,"tier":18,"attempts":39,"strip":445,"url":8,"mix":446,"praise":67,"objection":94,"sub":20},45731366,-0.03,[23,24,25,26],"5133535530331303015335130013311113100000",[17,30,31,32],1793991133039]