#160 - feb 28th 2016


Examples of UI/UX, graphic performance, web design and flashy things.
Animal design
Funny little website for a design company.


Web applications, resources and tools, available for making our life easier or funnier.
hack.guides() tool
Promising community-maintained collection of guides.
Kestrels, Quirky Birds, and Hopeless Egocentricity rb
(free book) applications of Combinatory Logic to my Ruby programming. tool
An alternative to trello, coupled to github.
Resin tool
Modern development and deployment workflow for the Internet of Things.
Docker Datacenter ops
Docker launches its hosting service.


A selection of gems or applications updated during past week.
Lazy_static rb
Lazy static type checking for ruby.
Benchmark-ips rb
Provides iteration per second benchmarking for Ruby.
dentaku rb
Math and logic formula parser and evaluator.
Draft-js js
A React framework for building text editors.
Mojs js
Motion graphics library for the web.
QuickMockup design
HTML based interface mockups
How2 tool
stackoverflow from the terminal
Swifton tool
A Ruby on Rails inspired Web Framework for Swift that runs on Linux and OS X.


From the blogosphere or news feeds ...
Server-side APIs for Client-Side Rendering and XSS feb 22 rb
Rails is pretty safe, but here is an example of why you still need to pay some attention.
Speeding up Sprockets feb 22 rb
How to get a 12x performance improvement on some apps with Sprockets version 3.3+.
Quickly create a self Referential Versioning System for Rails feb 22 rb
The Need: Less Tables, More Functionality.
The New Web Typography feb 22 design
How should we go about making typographic laws, rules and guidelines for the web?
How and why should you use JSON API in your Rails API feb 23 rb
JSON API is a great solution to not waste hours on reinventing the wheel.
Prepare for Frozen String Literals and not lose performance feb 23 rb
It's easy to lose performance when making your code work with frozen string literals feature.
Brace Yourselves, Rails Upgrade is Coming feb 23 rb
it’s a good time to start preparing your Rails applications for an upgrade.
Good Ruby Idiom: and/or operators feb 23 rb
Give a second chance to the and/or operators by knowing precisely what they can be useful for.
Support plans for Ruby 2.0.0 and Ruby 2.1 feb 24 rb
Better start planning to upgrade to Ruby 2.3 or 2.2.
How to Create and Manipulate Arrays in JavaScript feb 24 js
The length property of Array objects is one that many who are relatively new to JavaScript do not understand.
Highest Query per Second Service Using Go feb 24 go
How the Go programming language helped Uber Engineering build and scale our highest queries per second microservice, for geofence lookups.
How Elixir’s Ecto differs from Ruby’s ActiveRecord feb 24 el
Ecto from a rails point of view.
How to Use Code Snippets in Atom feb 24 tool
Atom packages and language grammars are often supplied with pre-defined snippets.
Easily Allow File Uploads with Rails and Refile feb 25 rb
Refile is a modern file upload library for Ruby applications.
Making GitLab Faster feb 25 rb
In GitLab 8.5 is shipped with numerous performance improvements. Here was the process.
Introduction to Functional Reactive Programming with RxJS feb 25 js
Working through several examples using the RxJS library.
Should you have defaults styles for table? feb 25 css3
Default style vs. requiring a class.
API Building and Testing Made Easier with Postman feb 26 tool
Postman, a Chrome app, is an API development suite with powerful features that make the process of API development quick and painless.


Screencasts and conferences videos, or other video feeds ...
David Heinemeier Hansson on hack.summit() (1h) feb 24 rb
Among plenty of other videos-presentations recorded during the hack.summit last week.
Links curated by mose (publisher), tysliu (editors), Nauman Tariq, hsatac (contributors) .


The random rant of the week by mose.

About tests and documentation

This aspect of development, called Documentation, is the source of various frustrations. It's hard to get do it, but why? My feeling is that it's like testing. When you begin your craft as a coder, all what matters is the code. It's only after some iterations that some non-code aspects come back bite you in the neck. Like, huho, now that I need to refactor, I really should use something that tells me if all still works. Tests become an early necessity to anyone who knows that kind of truth. If you wait until the end of a coding cycle to write those, the task is huge and it cuts you from your productivity cycle. Write them early, along the flow, is way easier.

So I think documentation follows the same pattern. So many software projects are badly documented because this aspect is postponed until it's needed. Means at release stage. In early stages, you work on a prototype and you don't need to explain how things work or are supposed to work. And when it's released, there is usually some other task waiting and it's hard to stop everything to get back and document things properly. It may be a flaw in the agile process, but it may also be a feature: if you don't document along the way, you won't document much.

Personally I try to consider the documentation of any of the source code I write as one of the first tasks. There are various tricks that can help in that perspective, like readme-driven development, or including the doc inside the code with yarddoc or apipie, or coupling documentation with tests with rspec or RSpec API Doc Generator. But honestly I prefer edited documentation that can follow a structure that is thought as documentation rather than merely an automated output of some code.

There are various tools to organize edited documentation, like ReadTheDoc which is in python. Another project appeared last week from the guys at Pluralsight named That's a community project but actually being totally open sourced, I was thinking the documentation building CMS they made could pretty much fill the gap of a light-weight RTD, with the benefits of having a UI for editors. Too bad we don't have anything like this in ruby (or do we?).

Green Ruby News was a feed of fresh links of the week about ruby, javascript, webdev, devops, collected by mose, xenor and tysliu every sunday.