#153 - jan 10th 2016


Examples of UI/UX, graphic performance, web design and flashy things.
SFCD design
One-page website of a design agency.


Web applications, resources and tools, available for making our life easier or funnier.
Jstips js
This is about one JS tip every day.
Unique gradient generator css3
This tool helps you to generate beautiful blurry background images. It uses extremely light images instead off CSS3 gradients.
CSS3 Animation Cheat Sheet css3
The CSS3 Animation Cheat Sheet is a set of preset, plug-and-play animations for your web projects.
How to C (as of 2016) tool
If you must write in C, you should follow modern rules.


A selection of gems or applications updated during past week.
Rounding rb
Round by any arbitrary step in Ruby.
Pstore_pp rb
Pretty-prints the contents of PStore files as JSON.
OS.js js
JavaScript Cloud/Web Desktop Platform
Nodal js
Framework that adds a lot of tools to node.js.
Elixirscript el
Converts Elixir to JavaScript
Milligram css3
A minimalist CSS framework


From the blogosphere or news feeds ...
Test runner in Rails 5 jan 3 rb
New command for running tests
Lessons Learned from Building a Ruby Gem API jan 4 rb
Using the adapter pattern can help create a layer between your code and the dependency API.
Refactoring in Ruby: Smelly Parameters Lists jan 4 rb
Why and ho to avoid long parameters lists in your method signatures.
Building a Phoenix API jan 4 el
How to build a JSON API using Elixir + Phoenix from scratch
Writing command-line apps in Ruby jan 5 rb
Ruby provides all the building blocks to command-line applications fairly easily.
How swappable storage and fakes lead to cleaner, more reliable tests jan 5 rb
Bringing fakeredis to resque_unit
Statefulness in a Stateless Language: Elixir jan 5 el
When it's necessary to keep track of state, Elixir (functional, stateless) has got your back by using recursion and processes.
Neat new features in Git 2.7 jan 5 tool
Some of the new stuff in last Git version.
Jedi Principles of UI Animation jan 5 design
Why, when, and how to use animation in your UI.
Hidden Complexity in Ruby Land jan 6 rb
Concise code can have a dark side.
ActiveRecord stole my data and now I want it back jan 7 rb
Case study from Yammer, in which they gradually moved from a monolith to microservices.
Running a Rails Application on Deis jan 7 rb
This tutorial is about running a Rails application on Deis.
unless X is processed differently then if !X jan 7 rb
Actual instructions generated behind the scenes are not the same.
Authenticate All the Things with oPRO, the Basics jan 7 rb
Rails engine to build custom authentication provider quickly and easily.
Rendering views outside of controllers in Rails 5 jan 8 rb
Render HTML or JSON response outside of the request-response cycle.
What’s your favorite blogging platform? jan 8 web
A poll for different blogging platforms.
Analysis of Software Architectures jan 9 tool
Review of all different software architectures.


Screencasts and conferences videos, or other video feeds ...
Atom (23m) jan 10 tool
Various settings, packages, themes and also create a super simple package for Atom.
Links curated by mose (publisher), tysliu (editors), Nauman Tariq, xenor (contributors) .


The random rant of the week by mose.

That micro-service thing

For a while now, and more even since the rise of docker, it becomes a trend to split applications in parts and approach them as a collection of micro-services. This is not exactly new, I remember in 2002 having seen various applications based on this concept. But they had shortcomings. Development was harder and it imported a whole bunch of increased complexity because there was a lot of moving parts.

In a project that I have the occasion of following, I can watch the migration from monolith to micro-service and I can tell you, the architecture change is not simple technical decision. By splitting application there is a whole lot of application aspects that move out of the area of the developers team and are now the responsibility of the infrastructure team. The shift cannot be taken lightly.

From what I observed, the switch to micro-services can only be efficient if there was already a shift to a real devops organization. It means that the development and the infrastructure are more tightly coupled. Otherwise, it's just a mess. The QA also can get crazy, and the networking layer gets increased complexity (or even dramatic latencies). Errors and services resilience also need an extra layer of attention.

Don't move to micro-services if you are not ready for it, seriously, it can end up by shooting yourself in the foot.

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.