jedschmidt
jedschmidt on Hacker News
i do the same for Content Security Policy: `default-src 'none'` by default, then add what i need when i need it.
agreed. i think the economics of ramen make less sense outside of japan, where it’s more expensive and turnaround is slower because folks linger longer (often to amortize the cost of waiting to get seated in the first place).
this reminds me of a naive and happier time in tech, when i built a game called ramendan with twitter’s open API. you had to eat ramen every day for dinner, and tweet proof with the hashtag #ramendan, link to a photo (this was before twitter supported images), and geotag it so that we could make sure it was after sundown in your timezone.
https://www.pechakucha.com/presentations/the-savory-month-of...
In my experience, as long as a controlled window is communicating with the SW, the connection will remain alive.
A service worker would work fine; the connection would be instantiated from the SW and each window/worker could communicate with it via navigator.serviceWorker.
Instead of adding a non-standard API to opt-out of existing networking functionality, it would be great to see a lower-level networking primitive to unlock these kinds of use cases. I wrote more (with a proof-of-concept) here:
https://readable.writable.stream
Posted by
jedschmidt on Saturday January 11, 2020 @12:44PM
from the cnbc.com dept.
If there's demand for it, would love to look into that.
Posted by
jedschmidt on Thursday November 07, 2019 @01:14PM
from the show-hn dept.
Posted by
jedschmidt on Monday September 23, 2019 @03:25PM
from the console.watch dept.
Posted by
jedschmidt on Tuesday June 27, 2017 @09:44PM
from the medium.com dept.
Posted by
jedschmidt on Thursday September 29, 2016 @02:45PM
from the twilio.com dept.
Sure, as it could with any part of your app, including wherever your JSON.parse code lives.
Not _quite_ arbitrary; the only code run is that generated by lave. Arbitrary code present in functions is parsed, but not run.
Absolutely. The downside of running a full-blown eval() exists in JSON too, it's just that the eval() there is taking place in the reviver function, which requires a lot more coordination than a self-contained file.
As far as efficiency, I'd think for most uses the issue would be on the JSON.parse end. In this case, lave might be more efficient, since JSON reviving often ends up creating temporary objects that need to GC'ed after reification.
Posted by
jedschmidt on Friday February 26, 2016 @07:22PM
from the github.com dept.
Posted by
jedschmidt on Wednesday December 23, 2015 @06:52PM
from the brooklynjs.com dept.
My situation is for an intranet environment, so I suppose I could just ask nicely that they don't change validations. But chances are most of my target users aren't familiar enough with Google Spreadsheets to even get that far.
I really like the idea of using Google Spreadsheets as a quick and familiar GUI for entry or querying on data sets, as long as you understand the tradeoffs (write latency isn't great and they max out at 400,000 cells).
But this is especially nice when you build a layer on top of Google reduces lock-in, instead of adding another proprietary API. This is what I did with sheet-down[1], which turns a Google Spreadsheet into a LevelDB-compatible data store that can be swapped out with a file system or other compatible backend[2] once you outgrow Google.
[1] https://github.com/jed/sheet-down
[2] https://github.com/rvagg/node-levelup/wiki/Modules#storage
I wish `void` would get more love for IIFEs instead of just sitting there in a dark corner of JS, unloved.
var foo = 'bar'
var baz = 'bletch'
void function (global) {
//module pattern code here ...
})(this)
Having gotten more accustomed to the VM approach over the past year since I wrote this post, I agree.
Posted by
jedschmidt on Monday July 28, 2014 @05:48PM
from the npmjs.org dept.
Are you sure he was saying "ore"? Given the fact that his grammar is otherwise pretty tight, I wouldn't be surprised if he were instead using "ware".
tl;dr: URLs with all periods prepended by a zero-width space evade Twitter DM malware detection, but are still recognized (and clickable) by Chrome, Firefox, Safari, and Twitter's own client.
javascript:prompt(0,location.href.replace(/\./g,"\u200b."))._
Posted by
jedschmidt on Wednesday November 06, 2013 @05:50PM
from the gist.github.com dept.
Posted by
jedschmidt on Tuesday October 22, 2013 @05:41PM
from the twitter.com dept.
Posted by
jedschmidt on Monday September 09, 2013 @01:33PM
from the blog.livefyre.com dept.