Search
The Three Types of Code
3.2.2020
Every time I start a new project, I organize the code I’m looking at into three types, or categories if you like. And I think these types can be applied to any codebase, any language, any technology or open source project. Whether I’m writing HTML or CSS or building a React component, thinking...
Gavin Andresen Speaks About Ethereum’s Tornado and Wallet Privacy
15.1.2020
Over the last couple of years. the former lead maintainer of the Bitcoin Core (BTC) repository Gavin Andresen has been quiet in regards to the crypto ecosystem. Andresen hasn’t been developing any projects and once in a while makes a comment or two about the digital currency industry....
JavaScript ~~
9.12.2019
JavaScript is loaded with tiny syntax tricks to accomplish useful effects. For example, explore any codebase to see !! being used to convert a value to a boolean value. Have you seen ~~ before? Let’s have a look at what it does! We can employ ~~ to trigger a Math.floor operation with those...
A Codebase and a Community
27.9.2019
I woke up one morning and realized that I had it all wrong. I discovered that code and design are unable to solve every problem on a design systems team, even if many problems can be solved by coding and designing in a dark room all day. Wait, huh? How on earth does that make any sense? Well...
In Search of a Stack That Monitors the Quality and Complexity of CSS
12.8.2019
Many developers write about how to maintain a CSS codebase, yet not a lot of them write about how they measure the quality of that codebase. Sure, we have excellent linters like StyleLint and CSSLint, but they only help at preventing mistakes at a micro level. Using a wrong color notation, adding...
Developing a robust font loading strategy for CSS-Tricks
10.7.2019
Zach Leatherman worked closely with Chris to figure out the font loading strategy for this very website you're reading. Zach walks us through the design in this write-up and shares techniques that can be applied to other projects.
Spoiler alert: Font loading is a complex and important part of...
Front-End Documentation, Style Guides and the Rise of MDX
23.5.2019
You can have the best open source project in the world but, if it doesn’t have good documentation, chances are it’ll never take off. In the office, good documentation could save you having to repeatedly answer the same questions. Documentation ensures that people can figure out how things work...
Weekly news: PWA Issue on iOS, Performance Culture, Anti-Tracking in Browsers
17.5.2019
In this week's news: resolving an issue when restarting progressive web apps in iOS, why The Telegraph now vets all scripts before they make it to their codebase, and Microsoft plans to add tracking prevention to the Edge browser.
The post Weekly news: PWA Issue on iOS, Performance Culture...
Creating Reusable Base Classes in TypeScript with a Real-Life Example
18.4.2019
Hey CSS-Tricksters! Bryan Hughes was kind enough to take a concept from an existing post he published on converting to TypeScript and take it a few couple steps further in this post to elaborate on creating reusable base classes. While this post doesn’t require reading the other one, it’s certainly...
Revisiting the Rendering Tier
5.4.2019
Have you ever created a well-intentioned, thoughtful design system only to watch it grow into an ever-increasing and scary codebase? I've been working in sort of the opposite direction, inheriting the scary codebase and trying to create a thoughtful system from it.
Here's Alex Sanders on the topic...
Understanding Event Emitters
26.3.2019
Consider, a DOM Event:
const button = document.querySelector("button");
button.addEventListener("click", (event) => /* do something with the event */)
We added a listener to a button click. We’ve subscribed to an event being emitted and we fire a callback when it does. Every time we click that...
Using React Loadable for Code Splitting by Components and Routes
7.3.2019
In a bid to have web applications serve needs for different types of users, it’s likely that more code is required than it would be for one type of user so the app can handle and adapt to different scenarios and use cases, which lead to new features and functionalities. When this happens, it’s...
Refactoring Tunnels
6.3.2019
We’ve been writing a lot about refactoring CSS lately, from how to take a slow and methodical approach to getting some quick wins. As a result, I’ve been reading a ton about this topic and somehow stumbled upon this post by Harry Roberts about refactoring and how to mitigate the potential risks...
The Slow and Steady Refactor
28.1.2019
Over the past week or so, I’ve been reading Refactoring by Martin Fowler and it’s all about how to make sweeping changes to a large codebase in a way that doesn’t cause everything to break. I bring this up because there’s a lot of really good notes in this book that have challenged my recent...
Mercurial: Mass Add and Remove All Files
29.10.2018
While I much prefer git and the GitHub workflow, Firefox’s codebase (mozilla-central) is store in a mercurial repository. There are tools that wrap mercurial so you can use a git-like interface, like git-cinnabar, but my philosophy is to learn the root tool so that I know what’s going...
VS Code Can Do That?
7.5.2018
Clever microsite from Burke Holland and Sarah Drasner that highlights some of VS Code's coolest features. All fifteen of them are pretty darn cool. Here's a few other compelling features I've seen people use/love:
There is a terminal right in there, so you don't need a separate app.
The GitLens...