Engineering

Engineering

1020 bookmarks
Custom sorting
Snappy UI Optimization with useDeferredValue
Snappy UI Optimization with useDeferredValue
useDeferredValue is one of the most underrated React hooks. It allows us to dramatically improve the performance of our applications in certain contexts. I recently used it to solve a gnarly performance problem on this blog, and in this tutorial, I'll show you how! ⚡
·joshwcomeau.com·
Snappy UI Optimization with useDeferredValue
Big Ball of Mud
Big Ball of Mud
While much attention has been focused on high-level software architectural patterns, what is, in effect, the de-facto standard software architecture is seldom discussed. This paper examines the most frequently deployed architecture: the BIG BALL OF MUD
·laputan.org·
Big Ball of Mud
bliki: Humble Object
bliki: Humble Object
If a program element is hard to test, move as much logic as possible out into testable collaborators.
·martinfowler.com·
bliki: Humble Object
Write code that is easy to delete, not easy to extend.
Write code that is easy to delete, not easy to extend.
“Every line of code is written without reason, maintained out of weakness, and deleted by chance” Jean-Paul Sartre’s Programming in ANSI C.
·programmingisterrible.com·
Write code that is easy to delete, not easy to extend.
Our Journey with Caching
Our Journey with Caching
Learn about our journey with caching in Next.js App Router.
·nextjs.org·
Our Journey with Caching
Building GitHub with Ruby and Rails
Building GitHub with Ruby and Rails
Since the beginning, GitHub.com has been a Ruby on Rails monolith. Today, the application is nearly two million lines of code and more than 1,000 engineers collaborate on it daily.…
·github.blog·
Building GitHub with Ruby and Rails
The side effect of being open to new way of writing software
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.
·shippingbytes.com·
The side effect of being open to new way of writing software
Mike McQuaid on 15 years of Homebrew
Mike McQuaid on 15 years of Homebrew
This week we’re talking to Mike McQuaid, project leader and longest tenured maintainer of Homebrew, a...
·dev.to·
Mike McQuaid on 15 years of Homebrew
The Wrong Abstraction — Sandi Metz
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:
·sandimetz.com·
The Wrong Abstraction — Sandi Metz
Exploring different ways to pass a function into a method in Ruby — doryfish — Bloggie
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 ...
·bloggie.io·
Exploring different ways to pass a function into a method in Ruby — doryfish — Bloggie
Hackers Incorporated | Building the HEY Calendar with Jason Fried
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...
·hackersincorporated.com·
Hackers Incorporated | Building the HEY Calendar with Jason Fried
Why Aren't We Refactoring Yet?
Why Aren't We Refactoring Yet?
Few salient reasons why I think some programmers aren't keen to refactor code.
·amirulmenjeni.substack.com·
Why Aren't We Refactoring Yet?
CSS in React Server Components
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.
·joshwcomeau.com·
CSS in React Server Components
AHA Programming 💡
AHA Programming 💡
The dangers of DRY, the web of WET, the awesomeness of AHA.
·kentcdodds.com·
AHA Programming 💡
WebP: The WebPage compression format
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.
·purplesyringa.moe·
WebP: The WebPage compression format
How I Test a Million UI States with Every Merge — Visual Testing with Storybook by Michael Chan - GitNation
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.
·portal.gitnation.org·
How I Test a Million UI States with Every Merge — Visual Testing with Storybook by Michael Chan - GitNation
Async Ruby on Rails
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.
·thoughtbot.com·
Async Ruby on Rails