351 karma · joined October 15, 2012
I've really like http://www.silkapp.com/ for this sort of thing. I think their API (http://developer.silkapp.com/) is great, and they have neat tools for editing structured data
I see a lot of impact in flexbox for progressively enhanced designs — designs that in their most basic form have simplified or single-column layouts — where most of the layout is handled by supported browsers. Do you imagine it's better to make a clean break and just depend on pollyfills/float-base `.no-flex` backup styles though?
There are great functional examples in Eloquent Javascript, that show you how to go from low-level loops to high-level abstractions. That's EJ's triumph: it guides you through the mental leap you have to make to go from for loops, to useful enumerations like maps and folds and the like.
A little superfluous, but I can dig it.
My vote for this sort of thing has always gone to Plates: https://github.com/flatiron/plates
There should be ZERO logic in your templates — Mustache doesn't count. Bind JSON to HTML through a mapping of data to IDs/class names/data attributes, and your templates will be more re-usable and render faster.
The people making games, applications, and lush webGL marketing demos are people who can throw lots of engineering resources at a problem until it does the thing they want it to do. Web dev has always been an insane mountain of hacks in order to get pages to render, but the attractive and democratic reasoning is that that extra effort is worth it if the maximum number of people can access the information. People on old computers, cheap smartphones, kindles, chumbys, whatever. The best computer is the one you have on you, that sort of thing. Access and ease-of-adoption are powerful things.
So that's why I see web components as something that enables people writing markup more than it empowers people writing giant javascript applications. This is so that people can add <twitter-tweet href="twitter.com/name">My Cool Tweet</twitter-tweet> tags to their wordpress blogs, and so that the people making that <twitter-tweet> tag can be confident that it will render and not look horrible on that person's blog. It's so that the complex, app-ish things can be abstracted away and added to documents with a declarative and logic-less syntax.
No amount of java applets would have ever made up for that.
It was linked here the other day, but Superhero JS is another great "what is the path to javascript mastery" lists:
I see this case as two people and two companies who acted like children and both lost their jobs and look bad in the community, respectively. Some unfunny man made a joke to his co-worker because he thought it might have eased the social tension that comes from traveling, lodging, and attending a conference with another person over so many hours. An overzealous woman took offense to an overhead comment and saw it more constructive to bring attention to the public conversation that happens on twitter rather than the public conversation happening in that room because it was a more comfortable way to make sense of how she felt.
We're humans and we naturally want to surround ourselves with people who think, act, joke, argue with, and support other people like we do. It's pretty easy to never have to deal with groups we don't agree with on the internet. It's the reason swarms of misogynists got together on the internet to hate Adria and say she represented all the other women that they hate, and to call her awful names and issue a DDOS attack against her parent company.
Both of these companies looked past the human error in all of this, and enforced their zero-tolerance policies, and just fired both of them. This whole thing is a big deal because the other people we align ourselves with and allow to represent us (be it as employees, or pythonistas, or dirtbag misogynists) are making it really hard to connect on personal levels, and really easy to generalize and dehumanize issues into meaningless black or white distinctions.
I'm pretty sick of the "I work with people without CS degrees" excuse. Good software design really comes down to experience, persistence, and taste.
Nice redesign though.
It breaks down large frameworks like jQuery, Underscore, Backbone, Twitter Bootstrap, etc into small, reusable, and composable micro libraries. There are UI elements like tool tips and modals, wonderful and tiny DOM manipulation tools, well documented AJAX libraries, and more low-level functional and control-flow related tools. It's really amazing.
It's by TJ Holowaychuk too, who is huge in the node community (Express, Jade, Mocha, Stylus, Connect, and many others).
Basically it makes it easy to convert projects without tearing down your infrastructure, ie, easy to convince your boss.