Knowledge Roundup – Week of 12/21

This is just a dumping ground for articles/books/tools that stuck out to me over the last week.

Most of the articles I read come from some excellent newsletter sources: Javascript Weekly, HTML5 Weekly, Ruby Weekly, Node Weekly, Database Weekly, and the Code Project Newsletter. Books are from a variety of sources, including Achieve Your Goals podcast, Entrepreneur on Fire and the Ameer Rosic Show (among many others and random internet discoveries).

Articles

Nasa Wants to Colonize Venus

I feel like i’ve read and listened to this topic a few times recently – but this is the first i’ve heard of NASA talking about it. Not just talking about it – but having a pretty established plan for how they will do it, and what it means. It’s exciting that these endeavors could bear fruit in our lifetime.

https://www.linkedin.com/pulse/scariest-part-sony-hack-jay-yarow

Maybe this is the way our emails and interactions become historical record like the letters and documents of people in the past. I hope people understand what memes are in the future.

https://medium.com/elissa-shevinsky/in-plain-english-five-reasons-why-security-experts-are-skeptical-that-north-korea-masterminded-the-24509b4b8331

Interesting view from the perspective that the Sony hack wasn’t even a North Korean exploit at all. I started following the Sony news a bit later (by later that means a few days) and by then North Korea was all anyone talked about. There are some compelling points in here that it had nothing to do with North Korea at all.

https://www.ruby-lang.org/en/news/2014/12/25/ruby-2-2-0-released/

New Ruby release! I’m interested to see the impact of the new incremental garbage collector.

Something about seeing so much mention of Rails in a Ruby release post is sort of discouraging, but I understand catering interest to what is probably your biggest user base.

Sites

http://microjs.com/

Handy search engine for finding narrowly focused js libs with minimal dependencies to solve specific problems.

http://youmightnotneedjquery.com/

You might not need jquery isn’t brand new, but I hadn’t seen it before. It gives a great overview of alternatives to common jquery approaches when dealing with the DOM. Their writeup is sensible as well – if you have jQuery, you can keep using it. But if you don’t have jQuery in your project, or you’re authoring a Javascript plugin – see if you can go without by taking some of these approaches.

Browsers are definitely getting closer to feature parity in many areas, so this kind of site is useful, especially for someone that’s been used to inconsistency for so long and has used jQuery for so many projects (see: me). There is a word of warning for this approach though – the consistency and browser bug smoothing jQuery provides is not just about Internet Explorer or feature parity. With the pre-release post about jQuery 1.12 they included a small section in there with an important point – browser inconsistencies aren’t just about IE anymore.

Tools

https://github.com/abeisgreat/FiltrES.js

A tool for parsing javascript snippets and producing ElasticSearch JSON queries as the output. If you’ve dealt with ElasticSearch before, it’s powerful and fast, but the query language really takes some getting used to. Being able to write it as more conventional javascript expressions could be a big help.

http://robertleeplummerjr.github.io/thaw.js/

“Synthetic asynchronous processing in javascript”. Seems to take advantage of setTimeout(fn, 0) behavior (interestingly not using setImmediate) to defer actions happening until the next tick of the event loop. The result is faster DOM interaction. Seems like early days but it will be interesting to watch. However, since the point of the library seems to deal with DOM interaction, fastdom might be the superior and more mature approach.

https://github.com/RubaXa/Sortable

Super sweet, touch tuned sorting lib. The interaction and animation of it is really slick.

https://github.com/taye/interact.js

Interact.js took me by surprise in its depth of features and browser compatibility. I used it to implement a custom timeline which needed dragging, axis-locking and good touch support – their API is pretty intuitive and I only encountered a couple confusing scenarios for my use case. Part of the confusion wasn’t on them, but just my expectation that they’d handle more of the actual dragging interaction for me (like draggabilly does)