[{"data":1,"prerenderedAt":462},["ShallowReactive",2],{"project-26056052":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":34,"aspects":35,"strip":41,"post_text":45,"what":46,"said":95,"maker_in_thread":216,"shape":223,"grid":228,"attempts":425,"same_week":426,"maker_shows":397,"maker_hidden":454,"reader_version":455,"card":456},"26056052","Stamp","Stamp turns a folder into a plain text file and a file into a folder","title","Show HN: Stamp turns a folder into a plain text file and a file into a folder","https:\u002F\u002Fgithub.com\u002Ftreenotation\u002Fjtree\u002Ftree\u002Fmaster\u002Flangs\u002Fstamp","github.com","breck",1612715498,2021,195,87,242,2533,10,"notable","dev_tools","project templates","library",[21,24,25,26],"plain text archive","scaffolding","file format","mixed",-0.151,{"positive":30,"neutral":31,"mixed":32,"critical":33},7,13,0,14,34,{"idea":36,"execution":39},{"positive":37,"critical":38},6,12,{"positive":32,"critical":40},2,[32,32,42,43,42,32,32,44,43,43,43,42,44,42,43,42,43,43,32,32,42,42,32,32,44,44,32,44,32,42,43,32,44,43,32,32,43,43,32,43],3,1,5,null,{"problem":47,"audience":63,"pricing":45,"motivation":74,"time_to_build":45,"stack":84,"openness":93,"stage":94,"team_size":94},{"value":48,"source":49,"evidence":50},"Packaging a folder of files as a single readable text file for templates and sharing","inferred",[51,55,59],{"id":52,"by":53,"text":54},"26057009","fwip","The main benefit, in my mind, over zip\u002Ftar is the built-in parameter substitution. You could imagine using this as a development dependency, to standardize the creation of new…",{"id":56,"by":57,"text":58},"26057667","anomaloustho","I see this as a declarative vs imperative approach. The interface is a bit barebones and heavy right now by needing to fire up node and run the functions. But like declarative vs…",{"id":60,"by":61,"text":62},"26058693","iudqnolq","The difference is you can directly edit the file in a text editor (possibly even in the github ui) instead of needing to unzip, edit, and rezip. It makes find and replace across…",{"value":64,"source":49,"evidence":65},"Developers who create or share project templates",[66,70],{"id":67,"by":68,"text":69},"26056356","sdfhbdf","Cool seems like unix `cat` command with addition of storing the filepath (so maybe like `find`?) While this of course sound like a cool project and my comment might be the most…",{"id":71,"by":72,"text":73},"26057692","Kwpolska","Regarding the project templates, did you look at Cookiecutter [0]? There are over 5k projects that GitHub finds that use it [1]. It solves the “custom utility” problem, since it…",{"value":75,"source":76,"evidence":77},"Simple declarative plain text format for templates, implementable in any language","maker",[78,81],{"id":79,"by":11,"text":80},"26065721","> Secondly I am kind of amused about this format when `touch`, `mkdir -p` and `echo I actually think I added the ability to \"compile\" a Stamp file to bash. I at least remember…",{"id":82,"by":11,"text":83},"26065361","> Why should I use your tool I don't think you should use my tool. I do think you should use the Stamp pattern, however. It's solid. Not too much code to write a Stamp…",[85,89],{"value":86,"source":76,"evidence":87},"JavaScript",[88],{"id":79,"by":11,"text":80},{"value":90,"source":76,"evidence":91},"Node.js",[92],{"id":79,"by":11,"text":80},"open_source","unknown",{"praise":96,"objections":110,"requests":146,"questions":168,"alternatives":185},[97,103],{"value":98,"source":99,"evidence":100},"Readable plain text format that can be edited in a text editor","commenter",[101,102],{"id":60,"by":61,"text":62},{"id":56,"by":57,"text":58},{"value":104,"source":99,"evidence":105},"Declarative format could be reimplemented in various languages",[106],{"id":107,"by":108,"text":109},"26059312","LeonB","Interesting approach, I like it. I’m bemused to observe that even though you include a section describing alternatives, there are still the usual number of comments saying “why…",[111,121,135],{"value":112,"source":99,"evidence":113},"Overlaps with tar, zip, shar, and shell scripts",[114,115,118],{"id":67,"by":68,"text":69},{"id":116,"by":68,"text":117},"26057492","It's not bashing a tool per se, sorry if you read it as such. I was pointing out that with the abundance of tools we have at our disposal this project sounds to me like a…",{"id":119,"by":68,"text":120},"26057716","Yes I read it and I don't agree with the posted downsides for most of them, since the tool itself seems to share the downsides with the posted pro-cons of other solutions and…",{"value":122,"source":99,"evidence":123},"Does not handle binary data, encodings, or filename edge cases clearly",[124,127,131],{"id":125,"by":68,"text":126},"26056385","What about files with different encodings? Which of them is used? UTF-8? Same question about line endings And how does it deal with files that have strict whitespace requirements…",{"id":128,"by":129,"text":130},"26057035","masklinn","shar is specifically mentioned in the footer, with the drawback that it's really an arbitrary shell scipt. ptar is also mentioned, and seems rather nice. It's also way better…",{"id":132,"by":133,"text":134},"26056180","grenoire","Maybe I missed it: What happens to binary data?",{"value":136,"source":99,"evidence":137},"Solves a problem that is already solved",[138,142],{"id":139,"by":140,"text":141},"26058132","teknopaul","This is very much a solved problem. Wierd people can think this is something that the grey beards didn't ever think of between 1970-01-01T00:00:00 and today.",{"id":143,"by":144,"text":145},"26057618","imhoguy","I think diff & patch already serve us well for a few decades.",[147,162],{"value":148,"source":99,"evidence":149},"Add links to alternatives like Cookiecutter, patch and motllo in the README",[150,153,156,159],{"id":151,"by":11,"text":152},"26065730","Would love to accept a PR adding a link to that. There really should be one. Thanks!",{"id":154,"by":11,"text":155},"26065675","I don't think I've seen that! Thanks! Happy to accept a PR with a link to it. The \"template package manager\" sounds very cool. Perhaps Stamp as a format for the CookieCutter…",{"id":157,"by":11,"text":158},"26065279","I would be open to a PR adding a link to a good diff\u002Fpatch way of doing this.",{"id":160,"by":11,"text":161},"26065381","Nice! I love the animated demo you have there. I'd be happy to accept a PR adding a link to this.",{"value":163,"source":99,"evidence":164},"Base64 or binary support",[165],{"id":166,"by":11,"text":167},"26056244","Good question. Base64? I forget if I added support for that.",[169,174],{"value":170,"source":99,"evidence":171},"What happens to binary data and non-UTF8 file names",[172,173],{"id":132,"by":133,"text":134},{"id":128,"by":129,"text":130},{"value":175,"source":99,"evidence":176},"Why use this instead of a shell script or git",[177,181],{"id":178,"by":179,"text":180},"26057529","macqm","I have a couple questions: Why should I use your tool vs. a one line bash script for creating a directory tree? Why would I keep any file content in the stamp file, in the…",{"id":182,"by":183,"text":184},"26057465","lsmurray","Why don’t you write it with posix only tools then? It’s a great idea that didn’t exist yet. Who cares how the developer made it? I’m sure if it takes off people will rewrite it…",[186,191,198,202,209],{"value":187,"source":99,"evidence":188},"tar and zip",[189,190],{"id":67,"by":68,"text":69},{"id":116,"by":68,"text":117},{"value":192,"source":99,"evidence":193},"shar shell archives",[194],{"id":195,"by":196,"text":197},"26057003","tyingq","It seems very comparable to \"shar\"...shell archives. https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FShar",{"value":199,"source":99,"evidence":200},"Cookiecutter",[201],{"id":71,"by":72,"text":73},{"value":203,"source":99,"evidence":204},"MIME multipart",[205],{"id":206,"by":207,"text":208},"26057713","adrianmonk","Another alternative for something like this would be MIME multipart\u002Fmixed (https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FMIME#Multipart_messages). That allows a text file to contain several…",{"value":210,"source":99,"evidence":211},"Go txtar",[212],{"id":213,"by":214,"text":215},"26061120","earthboundkid","https:\u002F\u002Fpkg.go.dev\u002Fgolang.org\u002Fx\u002Ftools@v0.1.0\u002Ftxtar could be used for this…",{"comments":33,"answered":44,"key":217},[218,221,222],{"id":219,"text":220},"26065737","Interesting! Do you have a link to any paper or page about patchy?",{"id":151,"text":152},{"id":79,"text":80},{"commenters":224,"max_depth":225,"maker_replies":33,"first_comment_mins":226,"lifespan_hours":227},50,8,17,206,[229,233,236,238,240,242,244,246,247,248,252,255,257,260,262,264,266,268,271,272,273,277,278,279,282,284,285,288,291,294,297,301,303,304,308,310,313,315,320,323,326,328,331,334,337,340,343,345,348,351,354,357,359,362,364,367,370,374,377,379,380,381,385,388,390,392,393,394,395,400,404,406,408,410,413,415,417,419,421,423],[230,32,32,231,232,32],"26057932","other\u002Fneutral\u002Fnone","captainmuon",[234,32,32,231,235,32],"26060308","watersb",[219,32,32,237,11,43],"maker\u002Fneutral\u002Fdocs",[239,32,32,231,232,32],"26106059",[206,43,42,241,207,32],"project\u002Fneutral\u002Fidea",[151,43,32,243,11,43],"maker\u002Fpositive\u002Fdocs",[67,40,43,245,68,32],"project\u002Fcritical\u002Fidea",[195,40,42,241,196,32],[128,40,42,241,129,32],[249,40,32,250,251,32],"26058798","commenter\u002Fneutral\u002Fnone","hamburglar",[253,40,32,250,254,32],"26059036","brianush1",[256,40,32,250,251,32],"26059181",[258,40,32,231,259,32],"26059357","benibela",[261,40,32,231,196,32],"26060319",[263,40,32,231,129,32],"26061931",[52,40,44,265,53,32],"project\u002Fpositive\u002Fidea",[267,40,43,245,68,32],"26057525",[269,40,43,245,270,32],"26057337","supermatt",[182,40,32,250,183,32],[116,40,43,245,68,32],[274,40,32,275,276,32],"26057639","commenter\u002Fneutral\u002Fdocs","BoorishBears",[119,40,43,245,68,32],[60,40,44,265,61,32],[280,40,43,245,281,32],"26057499","Sharlin",[283,40,42,241,68,32],"26057513",[56,40,44,265,57,32],[286,40,42,241,287,32],"26057677","theamk",[289,40,42,241,290,32],"26057949","thaumaturgy",[292,40,32,231,293,32],"26058899","waheoo",[295,40,43,245,296,32],"26057879","layer8",[298,40,42,299,300,32],"26061777","project\u002Fneutral\u002Fnone","wruza",[79,40,32,302,11,43],"maker\u002Fneutral\u002Fexecution",[71,42,42,241,72,32],[305,42,43,306,307,32],"26057903","project\u002Fcritical\u002Fexecution","qbasic_forever",[309,42,32,250,72,32],"26059178",[311,42,43,306,312,32],"26059287","hnlmorg",[154,42,32,314,11,43],"maker\u002Fneutral\u002Fidea",[316,317,32,318,319,32],"26057118",4,"other\u002Fneutral\u002Fdesign","noobermin",[321,317,32,231,322,32],"26057740","yourapostasy",[324,317,32,325,11,43],"26065629","maker\u002Fneutral\u002Fdesign",[125,44,42,327,68,32],"project\u002Fneutral\u002Fexecution",[329,37,42,241,330,32],"26056504","h_anna_h",[332,37,42,241,333,32],"26057025","nabla9",[335,37,32,231,336,32],"26057431","chrissnell",[338,37,32,231,339,32],"26058968","icedchai",[341,37,32,231,342,32],"26058161","mappu",[344,37,32,231,330,32],"26060055",[346,37,32,231,347,32],"26060484","mbreese",[349,30,44,265,350,32],"26056310","benjaminjackman",[352,30,32,231,353,32],"26056342","xixixao",[355,30,44,356,350,32],"26056753","project\u002Fpositive\u002Fnone",[358,30,32,237,11,43],"26065582",[360,30,32,231,361,32],"26060963","johntash",[363,30,32,314,11,43],"26065569",[365,225,44,265,366,32],"26057861","hawski",[368,225,32,369,11,43],"26065390","maker\u002Fpositive\u002Fidea",[371,372,32,231,373,32],"26057330",9,"Zababa",[375,372,32,231,376,32],"26057480","icegreentea2",[378,372,32,314,11,43],"26065436",[132,18,42,327,133,32],[166,18,32,302,11,43],[382,383,43,245,384,32],"26057578",11,"danielovichdk",[386,38,32,250,387,32],"26057729","RBerenguel",[160,38,32,389,11,43],"commenter\u002Fpositive\u002Fnone",[391,38,32,250,387,32],"26065555",[107,31,44,265,108,32],[178,33,43,245,179,32],[82,33,32,314,11,43],[396,397,32,398,399,32],"26057373",15,"other\u002Fcritical\u002Fidea","JoeAltmaier",[401,397,32,402,403,32],"26058897","commenter\u002Fcritical\u002Fnone","LordDragonfang",[405,397,32,231,399,32],"26059500",[407,397,32,231,11,43],"26065338",[213,409,43,245,214,32],16,[411,226,42,327,412,32],"26066195","sethammons",[143,414,43,245,144,32],18,[416,414,32,231,361,32],"26061039",[418,414,32,231,144,32],"26062147",[420,414,32,250,361,32],"26151478",[157,414,32,422,11,43],"maker\u002Fneutral\u002Fnone",[139,424,43,245,140,32],19,[],[427,432,437,441,445,449],{"id":428,"name":429,"points":430,"category":431},"26069621","Clerk",582,"web_saas",{"id":433,"name":434,"points":435,"category":436},"26087892","Building Your Mouseless Development Environment",353,"learning_science",{"id":438,"name":439,"points":440,"category":20},"26042463","Ht",251,{"id":442,"name":443,"points":444,"category":20},"26048993","Epub.to",246,{"id":446,"name":447,"points":448,"category":431},"26038501","Remarkbox",233,{"id":450,"name":451,"points":452,"category":453},"26048800","LibreTranslate",216,"languages",false,"v2",{"id":457,"name":5,"line":6,"ai":454,"cat":20,"year":13,"points":14,"comments":15,"rec":27,"s":458,"top":18,"kw":459,"maker":11,"domain":10,"tier":19,"attempts":32,"strip":460,"url":9,"mix":461,"praise":98,"objection":112,"sub":21},26056052,-0.15,[21,24,25,26],"0031300511135313110033005505031051001101",[30,31,32,33],1793991023341]