Stories

CSS in JS

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.


[[Clojure]] projects are giving out “liveness advisories”

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.


programming [[language]] popularity study

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.


[[Elixir]] + [[Nerves]] to control your car

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.


Patrik Krupar talked through how he built up his design chops

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.


Electron Fiddle brings [[Electron]] a playground experience

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.


Sagas from first principles

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.


Google announced the stable release of Dart 2.

image alt text

Google announced the stable release of Dart 2. Dart 2 features a sound type system, flexible tooling, a web framework, and an updated inference type system that minimizes boilerplate. The Dart team touts it’s much compile size and use for building consistent UXs, and includes over prebuilt UX components for use. Dart is aiming to be a real competitor in the web and mobile app building space (via Flutter), and this is an update worth looking into.


where did Vim come from?

image alt text

We all know it’s impossible to exit Vim, but where did Vim come from? Sinclair Target discusses Vim’s roots, and how Vim came to be in his piece ‘Where Vim Came From’. If you’re not familiar with Vim’s history, this will make for a fun read.


gain commit access to Homebrew in 30 minutes

image alt text

Eric Homes was able to gain commit access to Homebrew in 30 minutes. He details the process he went through for the exploit, now that it’s been mitigated. tl;dr - Homebrew intentionally exposes their Jenkins publicly, and Jenkins contained a GitHub API token that had commit privileges to a few homebrew repositories. We published a story recently on keeping your secrets hidden that covers (almost) this exact issue.


Alex Allen started a multi-part series for getting started with ReasonML.

image alt text

If you like OCaml and JavaScript you will probably love ReasonML. Alex Allen started a multi-part series for getting started with ReasonML. In the first piece you can see a breakdown of what ReasonML is, and shows how to get set up with it. Then, in the second piece of the series Alex covered the core fundamentals of ReasonML, including let, type, string, char, and more.


a fantastic detailed walkthrough of the process of test-driving an app by writing feature tests first, then driving down into unit tests from there

Yiming Chen details how to do outside-in TDD with Phoenix. Even if you aren’t a Phoenix developer, it’s a fantastic detailed walkthrough of the process of test-driving an app by writing feature tests first, then driving down into unit tests from there. The TDD strategy is: feature test; unit test controller action; unit test context functions; unit test view; a routing rule to pass the feature test.


Instrumenting Phoenix apps with Prometheus

image alt text

Megzari Raphael provides step-by-step instructions on Instrumenting Phoenix apps with Prometheus. The article provides instructions on integrating prometheus dependencies in the Elixir application and some sample dashboards.


Tired of typing in those long git commands?

image alt text

Tired of typing in those long git commands? Try lazygit, doesn’t git much simpler than this.


You can’t debug systems with dashboards

image alt text

So now you have monitoring on your servers? I’m sad to tell you that at scale that’s not enough. In "You can’t debug systems with dashboards", Charity Majors goes in-depth into how they increased observability at Parse through dynamic sampling.


Sales-Driven Development is described by Marcus Blankenship as a trap

You might be familiar with TDD or DDD, but have you heard of SDD? Well, this one doesn’t have as many pros as it does cons. Sales-Driven Development is described by Marcus Blankenship as a trap. Marcus has some tips on how to avoid SDD, and how to get back on the right track.


What is the most unethical thing you've done as a programmer?

There’s a fantastic thread on The Orange Site answering the question "What is the most unethical thing you've done as a programmer?" From building draconian employee-automation tools for call-centers to intentionally leaving bugs in to help QA meet their quotas, the whole thread is a fascinating read.


Sunil Sandhu built the same app in both FE Frameworks to find out the differences and see them side by side.

Vue App and React App Side by side image

What are the differences between Vue and React? Sunil Sandhu built the same app in both FE Frameworks to find out the differences and see them side by side. Each app passes data through a child component, has event listeners, and creates new items on a todo list. Read the article, and checkout the code for the Vue app and React app.


If you’re in the market to buy a Mechanical Keyboard, Brian Mock has written a comically detailed intro to get you started.

Small Mechanical Keyboard image

If you’re in the market to buy a Mechanical Keyboard, Brian Mock has written a comically detailed intro to get you started. Pros: Feels good, customizable, pretty. Cons: Expensive, loud, typically are not wireless.