[2018-08-18] [Weekly Drip 073.1] Design for Developers, {:elixir, :cars}, Code Review Review, Top 20 Languages

Redmonk updated their regular programming language popularity study, and with no changes in the top performers: no one was surprised. Javascript, Java, Python, PHP, and C# were the top performers. Check out the sweet graph and the full write up.


Patrik Krupar talked through how he built up his design chops. Patrik advises, “Design is a skill, and like any other skill, it can be learned.” Checkout the guide, where he covers software, tools inside of that software, mentality differences, and some basic design tenets. Also on the design front, Jason Rodriguez preaches that the easiest way to keep your web apps accessible is to just use text. He’s right, and that post is a great read.


Ever thought about using Elixir + Nerves to control your car? Neither did we, but follow along with Konstantin Zolotarev as he explores the CAN interface, and IBus messaging on his 2003 BMW.


Some Clojure projects are giving out “liveness advisories”. Jeremy Pinnix pointed out one instance where no changes have been made in over 3 years. The project’s author assures that there just happen to be no changes needed, and the project is indeed alive and well. Some software projects don’t want to go on the cart.


John Barton’s talks about how Code Review Review is the Manager's Job, reviving a topic we are deeply passionate about: Code Review. John argues that Code Review establishes culture at work, and it’s not just quality control. Code review is also important for knowledge transfer inside of a team, so don’t skip it!


If you want to dive into a new (old) language, check out Nim: First Impressions by Siddhant Goel. He outlines things he found interesting when diving into Nim for the first time. Nim is a statically typed and compiled language, with a strong garbage collection, multiple compilation targets, and it produces dependency-free binaries for modern OSes.


Helm, a package manager for Kubernetes, is now a project in the Cloud-Native Computing Foundation. They have announced a first look at Helm 3, which includes the ability to specify Kubernetes resources with Lua. Checkout the post where they discuss more changes.


CSS in JS is a popular pattern, especially in the React and React Native communities. In CSS in JS in real-life, Artur Siery explores pros and cons of CSS Modules, SASS/LESS, Style Components, Glamorous, Styletron, Styled JSX, and JSS. If you want to deep-dive into how styled-components works, Eugene Gluhotorenko goes into great detail on that as well. This is a bad pattern and a return to inline styles. Mixing presentation and logic never works out well, and generating a bunch of unique utility classes doesn't make for sustainable design implementation, and leads developers to violate all kinds of DRY principals.


Electron Fiddle brings Electron a playground experience like JSFiddle for desktop apps. The article by Felix Rieseberg goes into details on its features, including a fantastic IDE-like experience powered by Monaco and the ability to easily build, export, and share your projects. The orange site discussion of accessibility patterns around the release of Electron Fiddle is just as interesting as the project itself.


Mark de Jong explains Scala Sagas from first principles. In general, Sagas are useful for quasi-transactionally composing actions that can potentially fail (in this example, talking to disparate API endpoints) into a single unit, and providing compensating actions in the event of failure.