HN user

jedschmidt

1,253 karma
Posts30
Comments94
View on HN
www.cnbc.com 6y ago

Apple didn’t let this developer download spending data, so he built a fix

jedschmidt
3pts0
csv.wtf 6y ago

Show HN: csv.wtf – Export Your Card Statements to CSV

jedschmidt
2pts3
console.watch 6y ago

Console.watch: a remote console polyfill for Cloudflare Workers

jedschmidt
3pts0
medium.com 9y ago

A New Chapter for Electric Objects

jedschmidt
2pts0
www.twilio.com 9y ago

Twilio and AWS and Electric Objects = MMS-Powered Family Photo Frame

jedschmidt
2pts0
github.com 10y ago

Lave: stringifying all the stuff that JSON.stringify won't

jedschmidt
7pts0
brooklynjs.com 10y ago

Building BrooklynJS

jedschmidt
2pts0
www.npmjs.org 11y ago

npm Enterprise Beta

jedschmidt
3pts0
gist.github.com 12y ago

Use U+200B to evade Twitter's DM malware flagging

jedschmidt
1pts1
twitter.com 12y ago

Friends don't send friends links to HN threads

jedschmidt
10pts1
blog.livefyre.com 12y ago

Livefyre Acquires Storify

jedschmidt
53pts8
gist.github.com 12y ago

How to set up stress-free SSL on an OS X development machine

jedschmidt
3pts0
roysvork.wordpress.com 13y ago

Why I'm giving REST a rest

jedschmidt
2pts0
coffeescript.org 13y ago

Literate CoffeeScript

jedschmidt
234pts108
domo-js.com 13y ago

dōmo: Markup, style, and code in one language

jedschmidt
83pts75
gist.github.com 13y ago

Rendering templates obsolete

jedschmidt
23pts7
nytimes.github.com 13y ago

Backbone.stickit: Yet another model-view binding plugin for Backbone.js

jedschmidt
1pts0
rvl.io 13y ago

Online editor for reveal.js HTML presentations

jedschmidt
2pts0
browserver.org 13y ago

Browserver: a node.js HTTP server, in your browser

jedschmidt
308pts63
github.com 14y ago

Sajak - Simple Authenticated JSON API Kit for Node.js

jedschmidt
7pts1
github.com 14y ago

Kibi.js: a client-side web framework in 1,024 bytes

jedschmidt
45pts7
www1.openredis.com 14y ago

Openredis - A Redis Hosting Service

jedschmidt
2pts1
140byt.es 15y ago

140byt.es - Tweet-sized, fork-to-play, community-curated JavaScript

jedschmidt
17pts1
warpspire.com 15y ago

Responsive web design from the future

jedschmidt
2pts0
www.flickr.com 15y ago

The 140bytes Challenge: An Exploration in JavaScript

jedschmidt
9pts0
github.com 15y ago

Byte-saving techniques in JavaScript

jedschmidt
112pts22
jsconf.eu 15y ago

Getting functional with (fab) - an FP approach to node.js web apps

jedschmidt
4pts0
github.com 15y ago

Vapor.js - A new JavaScript framework from the author of script.aculo.us

jedschmidt
20pts10
www.fastcodesign.com 15y ago

Inception explained in one infographic

jedschmidt
109pts29
jsconf.blip.tv 16y ago

A (fab) approach to node.js web apps

jedschmidt
4pts0

i went super deep on 140-byte code golfing[1] back when twitter was taking off, and it changed the way i think about code. for a brief while we had a small community collaborating on byte-squeezing techniques[2], and i was constantly amazed at the creativity that this constraint brought about, from mandelbrot renderings to sudoku solvers. possibly the best part was more than a decade later when i found my golfed UUID implementation[3] deep in my employer's codebase.

[1] https://youtu.be/JsAetmgJRss?si=AxIFySX7ktzu5GL5&t=193

[2] https://github.com/jed/140bytes/wiki/Byte-saving-techniques

[3] https://gist.github.com/jed/982883

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.

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)

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."))._

This is an awesome solution for folks using Backbone and who don't mind a tight framework coupling.

But if you're not on Backbone, or don't want to add another constraint to how your app is built, it's pretty easy to set up your own PhantomJS server; I presented on this very topic at TXJS this week[1], and created a library[2] that makes it a snap to set up.

[1] http://www.flickr.com/photos/tr4nslator/sets/721576332659462...

[2] https://github.com/jed/rndr.me

As a fairly regular user of Punchfork, I definitely wish it were still around, but this feels self-entitled.

Let's not forget that the data Punchfork is letting users take out is the exact information they put in: a list of liked recipes. The original recipe data is just one click away.

I'm not sure how this is any different than a personal Twitter archive; it contains only your tweets, not those of the folks you interacted with.

I (and all Punchfork users, I assume) received a notification on January 3rd, including the following:

    Initially, support for Punchfork will continue, but
    we will soon be retiring the Punchfork site, API and
    mobile apps. We believe that a unified destination
    benefits our users in the long run, and the Punchfork
    team (me) will focus on contributing to Pinterest as
    the premier platform for discovering and sharing new
    recipes and other interests on the web.
EDIT: Gmail binned this email in "Promotions"... I wonder if that explains why some didn't see it?

Put your domo code into a function that takes data and returns a DOM object. BAM, there's your template.

Your JavaScript code can only have one global object, I don't see a reason to pass it in instead of finding it for you.

Thanks for the reference to crate, I'd never heard of it. I'd imagine the pushback on ideas like this is much less in homoiconic lanugages like clojure, since when all is said and done everything is an AST.

I don't know much about Mason, but this isn't a templating engine; it's just a wrapper library on top of the DOM API. Since it doesn't need any compilation or coordination outside of the JavaScript process, it's much less complex, and composes well without passing partials and other cruft into the template data.

This is great feedback.

- The caps are there to prevent global namespace collisions, since the chances of UPPERCASE global variables existing is smaller. I don't want to add lowercase names to the global, but they would be fine on the domo object itself, so maybe I should put both UPPER and lower there anyway.

- The CSS may be more verbose that LESS in JavaScript, but it compiles much faster and there's only 228 of code needed to get it. If you want sugar, just use CoffeeScript and it's probably even cleaner than LESS.

https://github.com/jed/domo/blob/master/docs/index.coffee#L1...

- The STYLE keyword is just there because that's where the "on" function lives. You could assign it to a local variable make the reference shorter.

- Yes, with bare JavaScript this is probably true, but the idea is to make sugar optional. Add your own and it looks like HAML:

https://github.com/jed/domo/blob/master/docs/index.coffee#L3...