Lessons Learned Working With Sass and CSS Variables
Here’s how I’m currently thinking about CSS, Sass and CSS variables, and what I’d recommend.
Read on →Examined software development
Thinking in public about strange and interesting software development ideas and processes.
Here’s how I’m currently thinking about CSS, Sass and CSS variables, and what I’d recommend.
Read on →
CSS requires properties to be expressed in low-level units that are readily available for the machines evaluating them: integers (positive and negative) and decimals (floating point numbers). These are not, however, the optimal units to express many measurements. It’s up to developers to have the awareness and discipline to select and encode them in a way that expresses the semantics of the underlying properties.
Read on →
There are two ways version control systems model changes over time: delta-based and snapshot-based. By exploring the distinction - and when to apply each - it’s possible to explain many common problems with planning, tracking and communicating software development.
Read on →
A common mistake made when developing digital products is to express their designs in terms of the underlying markup or primitives of the technology being used. This is like decorating a room by painting each raw material, instead of by wall, floor or fixture.
Read on →
Cross Site Request Forgery (CSRF) and Cross Site Scripting (XSS) are two of the most common (but certain not only) exploits the developers of web applications need to be familiar with.
Read on →
There are two ways to consume open source libraries. The first is for situations where you want to specify a fixed, specific version, and move that version forwards (to gain access to new features or bugfixes) or perhaps backwards (to side-step regressions or incompatible changes). This situation is common when developing end-user applications and is optimised for predictability.
The second situation is when you want to specify a range of compatible versions, and let a package management solution decide which of those versions is the most optimal (by perhaps sharing a version already available). This situation is common when developing libraries that depend on others, which sit between an end-user application and the open source libraries and is optimised for maximum support.
Read on →
This article gives a quick overview of how gem versions are managed in Ruby applications and then explains how to correctly version your own gems and their dependencies.
Read on →
Recursion is difficult to think about, but if you know two things, it becomes simple.
Read on →
A XPath selectors cheatsheet using the concepts laid out in Thinking in Dimensions: A Unified Approach to Filter grammars.
Read on →
A CSS selectors cheatsheet using the concepts laid out in Thinking in Dimensions: A Unified Approach to Filter grammars.
Read on →