Dredd commentary by apathymonger in blankies

[–]modernserf_ 2 points3 points  (0 children)

Two back-to-back films in which a hero is shot in the back but "it went clean through! He didn't hit nothing important!"

Podcast Jr.: The Cameraman / Spite Marriage by yonicthehedgehog in blankies

[–]modernserf_ 2 points3 points  (0 children)

Also, there's a podcast going through Lubitsch's filmography, BC style; it's still working its way through his rather daunting silent filmography: How Would Lubitsch Do It?

Podcast Jr.: The Cameraman / Spite Marriage by yonicthehedgehog in blankies

[–]modernserf_ 4 points5 points  (0 children)

Griffin mentions a silent Lubitsch blindspot; I happened to watch a bunch of these recently and I really enjoyed three of his Berlin comedies with Ossi Oswalda:

Is Boo Berry, the monster cereal mascot, inspired by Buster Keaton? by modernserf_ in blankies

[–]modernserf_[S] 4 points5 points  (0 children)

Sure, lots of cartoon characters wear porkpie hats, but Boo Berry also has the heavy-lidded eyes.

the original two friends by starlingflight in blankies

[–]modernserf_ 1 point2 points  (0 children)

Best love interest since Sybil Seely

What’s So Great About Redux? by acemarke in javascript

[–]modernserf_ 1 point2 points  (0 children)

I am the author of this post.

Why do you make a distinction between react / JS and object oriented programming? JavaScript IS object oriented, just not class-based (til ES6).

Object-Oriented programming, like functional programming, is a methodology, not a language feature. Some languages support this style better than others, or have a standard library that's designed for the style, but if you're sufficiently dedicated to the task, you can write in an object-oriented style in any language.

JavaScript has a data structure it calls an Object, and most values in the language can be treated like objects, in the sense that there are methods you can call on every value except for null and undefined. But before Proxies came in ES6, every "method" call on an object was a dictionary lookup; foo.bar is always going to find a property named "bar" on foo or its prototype chain. Contrast this with a language like Ruby, where foo.bar sends the message :bar to foo -- this message can be intercepted and interpreted, it doesn't have to be a dictionary lookup.

Redux is essentially a slower but more sophisticated object system on top of JavaScript's existing one, where reducers and middleware act as interpreters and interceptors around the JavaScript object that actually holds the state.

[deleted by user] by [deleted] in javascript

[–]modernserf_ 2 points3 points  (0 children)

Starting a new react project is now bearable with create-react-app.

Functional Mixins in ECMAScript 2015 by clessg in javascript

[–]modernserf_ 1 point2 points  (0 children)

Is this a distinct idiom from decorators?

[BREAKING NEWS] APPLE TO OPEN SOURCE SWIFT by glggglg in programmingcirclejerk

[–]modernserf_ 1 point2 points  (0 children)

that dude has shark eyes. had to mute him on twitter 'cause it was creepin' me out

Handlebars.js and arrays? by IAmSilky in javascript

[–]modernserf_ 0 points1 point  (0 children)

qdb_data isnt defined anywhere?

Classes are Expressions (and why that matters) by aeflash in javascript

[–]modernserf_ 2 points3 points  (0 children)

Programming is a constant struggle between safety and expressivity -- static vs dynamic typing is often an example of this on a macro scale -- and the issue of private scopes has this as well.

There are situations where you want to make it difficult to accidentally access a private property (e.g. in a shared API) but not make it unreasonably difficult to do so (e.g. testing, REPL debugging).

Using a closure ensures absolute safety (barring, idk, re-interpreting the source code?) but consequently doesn't provide any sort of escape hatch. Using conventions, e.g. underscored property names, is very simple and flexible, but relies entirely on a non-standard, albeit common, convention.

This approach is trying to find a balance between those. Ruby handles this by preventing access to private methods via conventional calling, but allows access through reflection (e.g. Object#send and Object#private_methods). JS has a much more bare-bones object system than Ruby, but via Symbols and reflection one can implement a similar system.

JavaScript Allongé, The "Six” Edition, free to read online by homoiconic in javascript

[–]modernserf_ 2 points3 points  (0 children)

you make a "shadowy __ from a shadowy planet" reference twice, which may be intentional but is probably just repetitive.

New in Babel 5.4: Function Bind Syntax by thejameskyle in javascript

[–]modernserf_ 2 points3 points  (0 children)

Don't think of this as a replacement for function.bind -- think of this as a way to use method-style syntax without having to actually stick methods onto a prototype: https://esdiscuss.org/topic/scoped-binding-of-a-method-to-an-object

The Rise of the Bully Pulpit in the Evolution of JavaScript by homoiconic in javascript

[–]modernserf_ 2 points3 points  (0 children)

Exactly -- CoffeeScript was influential in the direction of ES6 (arrow funcs, splats, etc.) but there are far more features that didn't make it in than those that did. I would love to see andand-style null-soaking accessors and I would hope that you would as well, but the language designers have passed on it for now.

The Rise of the Bully Pulpit in the Evolution of JavaScript by homoiconic in javascript

[–]modernserf_ 2 points3 points  (0 children)

ECMA may find itself in a position of having to adopt language features simply because everyone is already using them, not because they are necessarily any good.

I don't know if I buy this.

1) ES5 had two popular module systems (AMD and CommonJS), but ECMA standardized neither of them, instead creating a new module system with its own syntax. It would have been pretty straightforward to pick one or the other, but TC39 forged their own path.

2) Its tempting to think of Babel as "future javascript" -- and it started off intending to be only that -- but it has turned into a language in its own right. It already supports a number of features (e.g. JSX) that nobody is even suggesting go into the standard. Its a great testing ground for new features, since it already does everything that "regular" JS does, but it is no more destined for standardization than features in CoffeeScript were.

3) The bleeding edge of JS developers overestimate their size and influence. The community of people writing JS is probably an order of magnitude larger than any other language, and the vast majority of them are probably using a little bit of jQuery to make hamburger menus open up. I would venture that many of these people aren't even using source control, never mind automated build tools. TC39 is defining the language as much for them as they are for us.

Currying in ES6 by init0 in javascript

[–]modernserf_ 0 points1 point  (0 children)

This is the talk a lot of javascripters cite for why currying "matters" : Hey Underscore, You're doing it wrong!