Require-from-Twitter
gist.github.com
gist.github.com
This is also probably a snarky shot at npm [1], for those who lack context.
[1] ES6 features (arg defaults, destructuring, modules, template literals, String.prototype.repeat), babel configuration and runtime compilation, async / await
It's a funny PDF, though.
Amazing.
Twitter allows deletions and explicitly requires you to process and honor deletion events in their TOS. They have even blocked API access to programs that don't honor deletions.
So, just as bad (or, maybe worse, in that you can't even keep around committed code that comes through this process, if the originating tweet was deleted) as npm.
Reclaiming a module name requires a breaking version for any new code, so it shouldn't be an issue there.
Search warrants are incident to criminal activity in the United States of America. Twitter is a private company, not a law enforcement agency.
Writing a monitor for all of Github would even be possible.
> "dependencies": {
> "babel-preset-stage-0": "6.5.0",
> "babel-preset-es2015": "6.6.0",
> "babel-runtime": "6.6.1",
> "babel-plugin-transform-runtime": "6.6.0",
> "babel-cli": "6.6.5",
> "babel-core": "6.7.4",
> "twit": "2.2.3",
> "entities": "1.1.1"
> },
The problem right here. Just to run a script you now need to import a whole third party language runtime ? what other language does pull this kind of stunt ? Javascript is madness.I'm waiting for wide support of ECMAScript 6 before I start using it widely. Though I feel I'm a bit in the minority here I just don't want to deal with all of the transpiling complexities if I don't need to.
(I think your decision is completely reasonable; only pointing out that since just this month, with Chrome 49 out, you can develop without any build step.)
(ES6 is so, so much nicer than ES5. It's almost like a real language now!)
https://github.com/davidgiven/gruntle/blob/gruntle/build.nin...
https://github.com/davidgiven/gruntle/blob/gruntle/build
build is a tiny Lua preprocessor which expands templates in build.ninja.
It needs a cleanup but it works, it's way faster than gulp, and is much easier to debug. Haven't touched grunt so I don't know how it compares there.
I think Guillermo simply didn't care. Because it's not important for a joke.
---
Uninformed presumptions are madness.
Are there any other languages relevant for non-server usage?
In production you'd only have a bundled/minified version transpiled JS so there's no need for a runtime.
Ultimately with web assembly this gets even better.
(I'm guessing it is, but this actually seems useful. Poe is tough.)
Joke... So I shouldn't have replaced production with this?
require('how do I prepend spaces to a string')
The JavaScript community thinks a hilarious, tongue-in-cheek solution is utilizing Twitter as part of the build process.
FTFY
Yep, just like NPM modules.
The only difference is someone can't take over a tweet should the original tweet author delete their account.
and he even had space for a comment in there....
There was also a clever trick to compress/uncompress ascii text by using base[huge number] or something like that (full unicode) so it could be uploaded to twitter, but I don't remember the exact number
> I wanted people to be able to share HATETRIS replays via Twitter.
> Twitter supports tweets of up to 140 characters. "Tweet length is measured by the number of codepoints in the NFC normalized version of the text."
If a repo meets certain criteria in licensing, create the ability to "Static Publish" a release. This feature communicates that the version repo is the public's and cannot be removed by the individual or team. Github also enters the agreement that if there is ever a need to "move" the version due to copyright infringement, it provides either aliasing or sooner sort of notification and time bomb before it goes offline.
If this were done, folks could be in the know about which packages and dependencies are at risk, so they enter into the install with their eyes wide open.
On the plus side: if you saw this dependency in a module you were looking at you would know to think twice.
> require-from-twitter is the core code for the tweet package manager. Our beta version has only one dependency: npm. But we're working hard on adding more dependencies as quick as possible.
More info here: https://meetabit.com/talks/37
This is the lesson I see noone talking about.
Of course, using a tweet as a source for a library is silly.
http://softwaretechnique.jp/DownLoad/twfs_en.html
This is probably more generic than the project discussed here.
Unique IDs, no way to change or delete (since the gists are anonymous), served right out-of-the-box with a proper content type from cdn.rawgit.com.
On every fetch, submit the tweet to archive.org and archive.is if not already there. If tweet is deleted, fetch from there instead.
[1] - https://twitter.com/rauchg/status/712799807073419264
[2] - http://www.theregister.co.uk/2016/03/23/npm_left_pad_chaos/?...