Fair Source
![Engineering](https://rdl.ink/render/https%3A%2F%2Fup.raindrop.io%2Fcollection%2Fthumbs%2F278%2F918%2F68%2Fc695476ef6ac32e4e3709e446148f8da.png?mode=crop&width=32&height=32&dpr=2)
Engineering
Practices of Reliable Software Design
The side effect of being open to new way of writing software
It is ok to experiment. Usually good codebases need standards and rules to speed up collaboration and more in general to facilitate expansion. Some of those are enforced at the language or community level via formatter, linters. Others got introduced step by step from previous contributors.
Mike McQuaid on 15 years of Homebrew
This week we’re talking to Mike McQuaid, project leader and longest tenured maintainer of Homebrew, a...
The Wrong Abstraction — Sandi Metz
I've been thinking about the consequences of the "wrong abstraction." My RailsConf 2014 "all the little things" talk included a section where I asserted: duplication is far cheaper than the wrong abstraction And in the summary, I went on to advise:
Exploring different ways to pass a function into a method in Ruby — doryfish — Bloggie
Hello~ today I will to share a post about different ways of passing functions in Ruby. There are many ways to pass code around in Ruby, so today I’m going to make a comparison between the 4 different ways. In this post, I will show the syntax of ...
Provably Correct, Secure, and Leakage-Free Systems: From Application Specification to Circuit-Level Implementation — Thesis Defense
K2 is a new verification approach and framework that enables developers to build hardware security modules (HSMs) with high assurance through formal verification.
Your Camera is A Snitch
Hackers Incorporated | Building the HEY Calendar with Jason Fried
37signals have talked a lot about how they build new features for existing products using Shape Up, where they carefully hammer the scope to avoid letting anything ever drag on for more than six we...
Why Aren't We Refactoring Yet?
Few salient reasons why I think some programmers aren't keen to refactor code.
Modular: What Ownership is Really About: A Mental Model Approach
We are building a next-generation AI developer platform for the world. Check out our latest post: What Ownership is Really About: A Mental Model Approach
CSS in React Server Components
You can’t make an omelette without cracking a few eggs, and when the core React team unveiled their vision for the future of React, some of my favourite libraries got scrambled 😅. In this blog post, we’re going to explore the compatibility issues between React Server Components and CSS-in-JS libraries like styled-components. You’ll understand what the issue is, what the options are, and what’s on the horizon.
AHA Programming 💡
The dangers of DRY, the web of WET, the awesomeness of AHA.
WebP: The WebPage compression format
I want to provide a smooth experience to my site visitors, so I work on accessibility and ensure it works without JavaScript enabled. I care about page load time because some pages contain large illustrations, so I minify my HTML. But one thing makes turning my blog light as a feather a pain in the ass.
How I Test a Million UI States with Every Merge — Visual Testing with Storybook by Michael Chan - GitNation
Error state, loading state, awkward breakpoint, bad data, poor formatting, browser support. Every component can result represent hundreds or thousands of discrete visual states. How do you test it? Manually disable the network — temporarily. Insert bad code — just for a minute. Paw at the edge of your screen. Hack local database fixtures to bits. Frontend development has so many dimensions. Time and variation result in an infinite number of UI possibilities. In this talk, we'll use Storybook to progressively develop, test, and document our work — automating the grunt work of UI development.
WebSockets vs Server-Sent-Events vs Long-Polling vs WebRTC vs WebTransport | RxDB - JavaScript Database
Explore the pivotal roles of WebSockets, Server-Sent Events, Long-Polling, WebRTC, and WebTransport in shaping real-time web apps. Dive into their unique advantages, limitations, and optimal use cases for informed development choices.
Is Programming Actually Hard? - DEV Community 👩💻👨💻
Revisiting the Chain of Responsibility Design Pattern
Variations on a Classic Design Pattern for Modern Applications
Async Ruby on Rails
Ruby and Rails have several features to make your code more performant using async programming. Here’s a list of these tools and how to use them.
How to Use Engineering Metrics 📊
Let’s analyze the various types of metrics and how to design a minimum viable process to use them for good.
Don’t Refactor Like Uncle Bob. Please
“Clean Code” has garnered a bit of notoriety despite coining an endearing term we use in coding conversations. This book from 2008 is a compilation of principles and studies that “…
What makes a good REST API? - Apitally Blog
Opinionated best practices for building user-friendly and robust REST APIs.
Going from 0 to 1: How to write better unit tests when there are none
When I joined Graphite, there were almost no tests in the entire codebase. Out of the team of five engineers, three had previously worked at Meta — and had internalized the poor testing culture practiced there.
The web's clipboard, and how it stores data of different types
Exploring the web's clipboard APIs, their limitations, and their history.
Ruby on Rails Guides
Design Patterns
Design Patterns are typical solutions to commonly occurring problems in software design. They are blueprints that you can customize to solve a particular design problem in your code.
Graph Theory and its Applications: What Can Graphs Do for Your Software?
Essential concepts and practical applications
Plain Vanilla
An explainer for doing web development using only vanilla techniques.
How Airbnb Smoothly Upgrades React
Incrementally modernizing our frontend infrastructure to roll out the latest React features without downgrades
Systems Thinking
Thinking in systems is a trait of the greatest minds. Now, you can gain a new perspective, noticing and understanding the systems around you.