[{"data":1,"prerenderedAt":345},["ShallowReactive",2],{"project-2909556":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":28,"sentiment":29,"stance_mix":30,"scored_comments":35,"aspects":36,"strip":45,"post_text":47,"what":48,"said":104,"maker_in_thread":202,"shape":214,"grid":216,"attempts":304,"same_week":309,"maker_shows":33,"maker_hidden":337,"reader_version":338,"card":339},"2909556","Rasta.js","Rasta.js, anonymous domainless key-value store for frontend JavaScript","title","Show HN: Rasta.js, anonymous domainless key-value store for frontend JavaScript","http:\u002F\u002Frastajs.errorjs.com","rastajs.errorjs.com","pitra",1313945374,2011,73,39,165,1097,16,"notable","dev_tools","javascript key-value store","library",[24,25,26,27],"key-value store","javascript","jsonp","frontend storage","curious",-0.031,{"positive":31,"neutral":32,"mixed":33,"critical":34},4,15,1,6,26,{"docs":37,"idea":39,"privacy":41,"design":43,"execution":44},{"positive":38,"critical":38},0,{"positive":31,"critical":40},3,{"positive":38,"critical":42},2,{"positive":38,"critical":33},{"positive":38,"critical":38},[40,38,33,33,38,46,33,33,33,38,40,40,40,38,38,38,46,40,38,40,46,40,38,40,38,40,40,40,38,33,46,38,40,38,40,40,38,40,40],5,null,{"problem":49,"audience":56,"pricing":47,"motivation":68,"time_to_build":47,"stack":75,"openness":101,"stage":102,"team_size":103},{"value":50,"source":51,"evidence":52},"Storing simple data from frontend JavaScript without a backend","maker",[53],{"id":54,"by":11,"text":55},"2909745","nothing yet, I just wrote it. But basically, the idea is, you no longer need a backend to store some simple data.",{"value":57,"source":58,"evidence":59},"Web developers prototyping frontend apps","commenter",[60,64],{"id":61,"by":62,"text":63},"2910009","guptaneil","I guess I could see some usefulness in a quick weekend prototyping to get a persistent app up and running.",{"id":65,"by":66,"text":67},"2910028","catshirt","awesome! like someone else said, this is a great tool for prototyping, and likely other projects. tinydb is pretty cool as well. http:\u002F\u002Ftinydb.org\u002F",{"value":69,"source":51,"evidence":70},"Maker wanted a way to store simple data without a backend",[71,74],{"id":72,"by":11,"text":73},"2909686","me too, that's why I made it",{"id":54,"by":11,"text":55},[76,84,95],{"value":77,"source":78,"evidence":79},"JavaScript","inferred",[80],{"id":81,"by":82,"text":83},"2909800","lars","I looked at the code, and what this does is to make calls to a web api on the errorjs.com domain. It sets a key using: http:\u002F\u002Frastajs.errorjs.com\u002Fset\u002Fyourkey\u002Fyourvalue And…",{"value":85,"source":58,"evidence":86},"Redis",[87,91],{"id":88,"by":89,"text":90},"2910232","Raphael","Ah, redis. Good man.",{"id":92,"by":93,"text":94},"2911790","nikcub","He has his own backend, written in js and also backed by redis within the package: https:\u002F\u002Fgithub.com\u002Ferrorjs\u002FRasta.js\u002Fblob\u002Fmaster\u002Fweb.js",{"value":96,"source":51,"evidence":97},"Heroku hosting",[98],{"id":99,"by":11,"text":100},"2909817","I provide the backend. Well, actually Heroku does","open_source","launched","unknown",{"praise":105,"objections":111,"requests":141,"questions":161,"alternatives":179},[106],{"value":107,"source":58,"evidence":108},"Useful for quick prototyping",[109,110],{"id":61,"by":62,"text":63},{"id":65,"by":66,"text":67},[112,123,130,134],{"value":113,"source":58,"evidence":114},"Anyone can read or overwrite any key",[115,119],{"id":116,"by":117,"text":118},"2909889","HoLyVieR","Unless there is something I don't understand, how can this even be slightly reliable or useful, when everyone can read any key and write or replace any key at any moment ?",{"id":120,"by":121,"text":122},"2910130","NHQ","And also replace a value with normal, arbitrary javascript... Still, neat idea.",{"value":124,"source":58,"evidence":125},"localStorage already covers this use case",[126],{"id":127,"by":128,"text":129},"2910215","Groxx","but then why would this be better than, say, localStorage, which is local? The only purpose to this is semi-persistent cross-domain information storage. It's crazy to use an…",{"value":131,"source":58,"evidence":132},"Relies on a remote server the maker runs",[133],{"id":81,"by":82,"text":83},{"value":135,"source":58,"evidence":136},"Keys share a single global namespace",[137],{"id":138,"by":139,"text":140},"2910039","moonlighter","It would be a heck of a lot more useful if it were namespaced, like S3's buckets. Let folks put into those buckets whatever they want, but make the buckets in your datastore…",[142,146,154],{"value":143,"source":58,"evidence":144},"Namespacing keys into buckets",[145],{"id":138,"by":139,"text":140},{"value":147,"source":58,"evidence":148},"Clearer documentation of what it does",[149,153],{"id":150,"by":151,"text":152},"2910561","marcamillion","I guess I am not geek enough, but the description for this is SOOO opaque. I have no idea what this does - and I am a web developer! Can someone explain, in simple English, what…",{"id":81,"by":82,"text":83},{"value":155,"source":58,"evidence":156},"Use POST for set",[157],{"id":158,"by":159,"text":160},"2910206","pbreit","Would it make sense for \"set\" to be a POST? Or does that compromise \"easy\"?",[162,172],{"value":163,"source":58,"evidence":164},"Why it was built and what it is for",[165,169],{"id":166,"by":167,"text":168},"2909726","netlemurde","what are you using it for? still don't really get it...",{"id":170,"by":62,"text":171},"2910402","If you want to demonstrate some cross-browser communication app? I agree, this has a very limited application scope. I am more confused as to why the author made it when he…",{"value":173,"source":58,"evidence":174},"Where data is stored",[175],{"id":176,"by":177,"text":178},"2909763","josscrowcroft","I think he meant - physically, HOW does this work. As in, where is the data stored and how?",[180,187,191,195],{"value":181,"source":58,"evidence":182},"openkeyval",[183],{"id":184,"by":185,"text":186},"2910019","bouncingsoul","You might want to look at http:\u002F\u002Fopenkeyval.org if you weren't aware of it. Exact same idea. (HN discussion: http:\u002F\u002Fnews.ycombinator.com\u002Fitem?id=1846088)",{"value":188,"source":58,"evidence":189},"localStorage and cookies",[190],{"id":127,"by":128,"text":129},{"value":192,"source":58,"evidence":193},"TinyDB",[194],{"id":65,"by":66,"text":67},{"value":196,"source":58,"evidence":197},"CouchDB",[198],{"id":199,"by":200,"text":201},"2911237","jchrisa","you might be able to replace the server with just CouchDB configured to allow JSONP... Then users can just sign up at something like http:\u002F\u002Firiscouch.com to install a copy of…",{"comments":203,"answered":34,"key":204},9,[205,208,211],{"id":206,"text":207},"2909824","Thanks. I should be more clear about that. The api is defined under WHY? tab, btw.",{"id":209,"text":210},"2909961","It's not meant to be reliable. Nor is it meant to be secure. It's a direct connection to a data store.",{"id":212,"text":213},"2909762","Unminified JS: http:\u002F\u002Frastajs.errorjs.com\u002Frasta.js I am putting it on GitHub right now.",{"commenters":35,"max_depth":46,"maker_replies":203,"first_comment_mins":215,"lifespan_hours":32},48,[217,219,221,223,225,227,229,230,231,232,236,239,241,243,247,249,251,252,256,257,259,262,265,267,268,271,273,274,278,281,283,287,289,291,292,295,297,298,303],[81,38,40,218,82,38],"project\u002Fneutral\u002Fdocs",[206,38,38,220,11,33],"maker\u002Fneutral\u002Fdocs",[184,33,33,222,185,38],"project\u002Fcritical\u002Fidea",[116,42,33,224,117,38],"project\u002Fcritical\u002Fprivacy",[209,42,38,226,11,33],"maker\u002Fneutral\u002Fprivacy",[61,42,46,228,62,38],"project\u002Fpositive\u002Fidea",[127,42,33,222,128,38],[170,42,33,222,62,38],[120,42,33,224,121,38],[233,40,38,234,235,38],"2910121","other\u002Fneutral\u002Fdesign","hamrickdavid",[237,31,40,220,238,38],"2910707","amasad",[158,46,40,240,159,38],"project\u002Fneutral\u002Fdesign",[242,46,40,240,117,38],"2910260",[244,46,38,245,246,38],"2910415","commenter\u002Fneutral\u002Fdesign","tchvil",[248,46,38,245,117,38],"2910464",[250,46,38,245,246,38],"2911744",[65,34,46,228,66,38],[253,254,40,218,255,38],"2909752",7,"lyime",[212,254,38,220,11,33],[150,258,40,218,151,38],8,[260,258,46,228,261,38],"2910596","Udo",[263,203,40,218,264,38],"2909705","maroufle",[266,203,38,220,11,33],"2909709",[176,203,40,218,177,38],[269,203,38,270,11,33],"2909810","maker\u002Fneutral\u002Fexecution",[88,203,40,272,89,38],"project\u002Fneutral\u002Fexecution",[199,203,40,272,200,38],[275,276,40,240,277,38],"2909855",10,"pkulak",[279,276,38,280,11,33],"2909864","maker\u002Fneutral\u002Fdesign",[138,276,33,282,139,38],"project\u002Fcritical\u002Fdesign",[284,285,46,228,286,38],"2909681",11,"david927",[72,285,38,288,11,33],"maker\u002Fneutral\u002Fnone",[166,285,40,290,167,38],"maker\u002Fneutral\u002Fidea",[54,285,38,290,11,33],[293,285,40,272,294,38],"2909806","strags",[296,285,40,272,294,38],"2909815",[99,285,38,270,11,33],[299,300,40,301,302,38],"2911108",12,"project\u002Fmixed\u002Fidea","iamtherockstar",[92,300,40,272,93,38],[305,308],{"id":306,"t":307,"points":42,"comments":38},"2908023",1313882535,{"id":4,"t":12,"points":14,"comments":15},[310,315,320,324,328,332],{"id":311,"name":312,"points":313,"category":314},"2901156","Codecademy.com",787,"learning_science",{"id":316,"name":317,"points":318,"category":319},"2898343","Sketchub",215,"productivity",{"id":321,"name":322,"points":323,"category":20},"2903224","CodeMatch",102,{"id":325,"name":326,"points":327,"category":20},"2906632","nyan-mode.el",71,{"id":329,"name":330,"points":331,"category":20},"2905697","Browsr",68,{"id":333,"name":334,"points":335,"category":336},"2900973","DocCompare",51,"web_saas",false,"v2",{"id":340,"name":5,"line":6,"ai":337,"cat":20,"year":13,"points":14,"comments":15,"rec":28,"s":341,"top":18,"kw":342,"maker":11,"domain":10,"tier":19,"attempts":42,"strip":343,"url":9,"mix":344,"praise":107,"objection":113,"sub":21},2909556,-0.03,[24,25,26,27],"301105111033300053035303033301503033033",[31,32,33,34],1794036489672]