Shared links
Things I read and found worth passing on, shared via NewsBlur.
December 2023
- How Random is xkcd?
- 2024 Icon Design Trends: Unleash Creativity
- The Best Movie Posters of 2023
- Minimum viable no-image image src
- The Rust I used to know
- Open Source Game Clones
- Apollo 11 vs USB-C Chargers
- Things Software Developers Should Learn about Learning
- SSH over HTTPS
- What We Need Instead of “Web Components”
- An over-analytical analysis of style
- Getting started with Web Performance
- Things to argue about over the holidays instead of politics II
- Maybe We Don’t Need UUIDv7 After All
- The Illustrated GPT-2 (Visualizing Transformer Language Models)
- X Value
- Space Typography
- WebP is so great… except it's not
- DateTime
- CSS Wrapped 2023
- Bash One-Liners for LLMs
- User Interface Typography [book]
- Beginner's Guide to Arguing Constructively
- Stop nesting ternaries in JavaScript
- How design works at Supabase
- Refactor Ego
- Free Surge XT 1.3 adds OSC, command line, new effects, more features
- Put it in the backlog
- Deck the Malls
- Easy HTTP status codes in Python
- Cost Optimisation Techniques
- Corporate Hacks
- POV Candle - mitxela.com
- Behold The Hyundai Uni Wheel.
November 2023
- 10 Weird HTML Hacks That Shaped The Internet
- Modern frontend testing with Vitest, Storybook, and Playwright
- Architecture Antipatterns
- Color: From Hexcodes to Eyeballs
- Why I don't use Prettier
- How to (and how not to) design REST APIs
- An Interactive Guide to CSS Grid
- Announcing TypeScript 5.3
- Not A Designer
- Elephants give each other names — the 1st non-human animals to do so, study claims
- b-trees in factorio
- The Gulf Between Design and Engineering
- The collapse of insects
- My favorite coding question to give candidates
-
Why You Want React Query
not React Query, but a fetching library in general (f.e. SWR) since just doing it inside a `useEffect` could introduce bugs
- Effective Rust
- Surprising Facts About New CSS Selectors
- Bubble Sort...in PURE CSS? [No JS] 😱
- A Guide to the James Webb Telescope's View of the Universe
- What is a Query Optimizer for?
- Biohacking Lite
- Headless Component: a pattern for composing React UIs
October 2023
- Why are you so slow?
- Next.js 14
- A Journey Into Shaders
- Earth Layers
- Why I Won't Use Next.js
- Anonymized dump of your Postgres data
- Wait, is cloud bad?
- How we optimized package imports in Next.js
- Hexagonal Grids
- Do your best work
- How Custom CSS Property Values are Computed
- Get All That Network Activity Under Control with Priority Hints
- Free for Developers Index
- How to legally pirate every font on Earth in an afternoon
- Urban Planning Opinion Progression
- CSS Is, In Fact, Awesome
- Mini Tokyo 3D
- Fair coins tend to land on the same side they started: Evidence from 350,757 Flips
- We embrace change
- A student asked how I keep us innovative. I don't.
- Impacts Of Lack Of Sleep
- The Hidden Performance Cost of NodeJS and GraphQL
- Speeding up the JavaScript ecosystem - The barrel file debacle
- Goodbye to sequential integers, hello UUIDv7
- The Absolute Minimum Every Software Developer Must Know About Unicode in 2023 (Still No Excuses!)
- Photoshop is now on the web! - Addy Osmani - Medium
- Grug on diet soda and autism
- Profiling Python and Ruby using eBPF
- Generative AI exists because of the transformer
- We care about you
September 2023
- LeoLM: Igniting German-Language LLM Research | LAION
- The CSS Mindset
-
CSS Subgrid
great modern solution for some CSS table hacks finally coming to Chrome
- The point of a game is not to win
- All your mainstream UI frameworks are lying to you
- Patterns for Reactivity with Modern Vanilla JavaScript
- SQL join flavors
- Highlights from Git 2.42
- A (more) Modern CSS Reset
- Keeping up with the times
- Death by a thousand microservices
- Cool Tools
- How to pass the interview for software engineering roles in Big Tech
- Port forwarding local services with VS Code
- WOFF Has Left the Building
- The IKEA-powered homelab on a wall
- Making Sense of React Server Components
- User Needs
- Linting Rules To Help You Write Asynchronous Code in JavaScript
- Fantastic closures and how to find them in React
- Announcing TypeScript 5.2
- My Experience Modernizing Packages to ESM
- Dihydrogen monoxide parody
August 2023
- Managing difficult software engineers
- You don't hate JIRA, you hate your manager
- Things you forgot (or never knew) because of React
- How They Bypass YouTube Video Download Throttling
- Designing Accessible Text Over Images: Best Practices, Techniques, And Resources (Part 2)
- Thoughts on Elixir, Phoenix and LiveView after 18 months of commercial use
- Tailwind, and the death of web craftsmanship
- Announcing TypeScript 5.2 RC
- Toggles suck!
- Llama from scratch (or how to implement a paper without crying)
- the last 1%
- Firefox Money: Investigating the bizarre finances of Mozilla
- Type vs Interface: Which Should You Use
- EurKEY - The European Keyboard Layout
- Windows Repair Toolbox
- Designing Accessible Text Over Images: Best Practices, Techniques, And Resources (Part 1)
- Everyone Is Beautiful and No One Is Horny
- Common Distance Metrics Implemented in Ruby
- Running tips
- Run every day
July 2023
- YOU KNOW I COULDN'T LAST
- Conspiracy theory: Electric cars make more air pollution than gas cars
- Effective Code Reviews
- Image previews with the FileReader API
- Invisible Details of Interaction Design
- Can We Query the Root Container?
- Using XPath in 2023
- WHO aspartame brouhaha
- Numbers without which it's impossible to talk about weight loss
- Software engineering: problem-solving and critical-thinking
- Writing CSS In 2023: Is It Any Different Than A Few Years Ago?
- Unhealthy conflict vs. healthy conflict
- keyboards and web apps, my post/rant for the year
- A change of typeface: Microsoft’s new default font has arrived
- 3 common types of test automation
- Regex Isn't Hard
- Online ESP32, STM32, Arduino Simulator
- The Anti-Ownership Ebook Economy
- Feature Flags: Theory vs Reality
- firefox address bar tips
- Good UI design isn't all magic, but a design system sure is
- Demoscene accepted as UNESCO cultural heritage in The Netherlands
- Passwords are fine
- Available uBlock filter templates
- Names should be as short as possible while still being clear
- Gestalt Principles of Design – Continuity
- Winning By a Hair
- Breaking Up with SVG-in-JS
June 2023
- How to run a shadow library: operations at Anna’s Archive
- Anna’s Archive
- JavaScript Gom Jabbar
- How the Great Firewall of China Detects and Blocks Fully Encrypted Traffic
- The complete guide for open sourcing video games
- MacOS Developer Setup
- Is ORM still an 'anti pattern'?
- Seeing the World through Your Eyes
- Plane crash rates by model
- Kablammo - Google Fonts
- How to tell if a coworker is lying to you
- A Senior Engineer’s Guide to FAANG Interviews
- Real-time Messaging (Slack)
- Text Rendering Hates You
- Rails design patterns
- Kill Siri
-
Unexpected downsides of UUID keys in PostgreSQL
nice to know. Still UUIDs have some upsides, so it's better to know all sides to determine what's the better solution for each case
- Custom giraffe caret
- Defensive CSS - Introduction to Defensive CSS
- 101 design rules
- Skeleton Screens 101
- TypeScript 5.2's New Keyword: 'using'
-
HDR QR Code
seems not to work on Firefox, but works on Chrome with Macbook screen
- DIY-Audio-Heaven
- Fluent 2 Design System
- Cyclic Dependency Space Toggles
- StackOverflow 2023 Developer Survey Results
- Video-Based Cryptanalysis
- Modularizing React Applications: adding a new feature
- Some things I learnt from working on big frontend codebases
- Modern CSS in Real Life
- LLMs are good at playing you
- Is React Having An Angular.js Moment?
-
useHooks – The React Hooks Library
I always forget about that source
- Announcing TypeScript 5.1
- Introducing the popover API
- PostgreSQL: Don't Do This
May 2023
- Halftone QR Codes
- I'm not a passionate developer
- 300ms Faster: Reducing Wikipedia's Total Blocking Time
- Deploying AVIF for more responsive websites
- The Engineer/Manager Pendulum
- The Ultimate Guide to Robocopy
- Development notes from xkcd's "Gravity" and "Escape Speed"
- Don't Review PRs Like a Space Wizard
- Meet Basic Pitch: Spotify’s Open Source Audio-to-MIDI Converter
- My 20 Year Career is Technical Debt or Deprecated
- What's new in CSS and UI: I/O 2023 Edition
- The problem with sticky menus and what to do instead
- Introducing Baseline
- Timeline of digital paint and draw software
- The Magic of Rails
- Humble Chronicles: State Management
- Unlighthouse - Site-wide Google Lighthouse
- How To Design Software Architecture For Startups
- Hardening macOS
- React Server Components, Next.js App Router and examples
- Angular v16 is here!
- How to Blur Faces in a Video from Command Line
- Combining Code Coverage Data From Multiple Testing Tools
- Towards better 1-on-1s: an awkward manifesto
April 2023
- Documenting Architecture Decisions
- Just Simply | Stop saying how simple things are in our docs
- Beautiful Branchless Binary Search
- CLI tricks every developer should know
- Why is OAuth still hard in 2023?
- A Gentle Introduction to Islands
- The real lesson about the end of nuclear in Germany
-
PostgreSQL Indexes Can Hurt You: Negative Effects and the Costs Involved
Always good to be remembered indexing everything is not the solution for bad DB performance
- JavaScript Array Group
- Memoirs from the old web: server-side image maps
- LSD: Not even once. Really.
- Alt-right pipeline
- Don’t wait, let’s use the browser Contact Picker API now
- Boomer Developers: 10 Lessons I Learned From Them
- Introduction to Code Golf and Golflangs
- Passkeys: What the Heck and Why?
- Web Weekly #98 (#blogPost)
- Fighting inter-component HTML bloat
- React visualized
- Neurodiversity Design System
- Observing CSS
- A glimpse of the future
- 2023 State of Design Systems and Where We Take Them Next
- The End of Front-End Development
- Announcing TypeScript 5.0
March 2023
- All JavaScript and TypeScript features of the last 3 years
- Why I Will Never Use Alpine Linux Ever Again (for Containers)
-
Clever Code Considered Harmful
basically code readability should be always favored. That also involves naming things.
- The making of Ice Cubes, an open source, SwiftUI Mastodon client.
- Flying toasters (and other old screensavers) in CSS
- The World's Smallest Hash Table
- You Don't Need a Build Step
- Announcing TypeScript 5.0 RC
- Let It Fail
February 2023
- Spaghettify🍝
- React.js: The Documentary
-
I Hate Hackathons
Maybe not 'hate' - but often it's just a cheap exchange for "You get a slice of pizza to work longer in your free time on a feature we don't get into our normal schedule"
- Next.js 13.2
- Owncast v0.1.0 Retrospective - Frontend Web Rewrite
- How to Favicon in 2024: Six files that fit most needs—Martian Chronicles, Evil Martians’ team blog
- React Is Holding Me Hostage
- The Standard Ruby VS Code extension
- Safari 16.4 Is An Admission
-
Well-known Javascript Symbols
That `Symbol.toPrimitive` with the switch statement seems useful
- useGlobalState()
- Resizing with CSS
- Effort
- The Performance Inequality Gap, 2023
- The case for frameworks (React)
- An example of modularizing a React application
- Modularizing React Applications with Established UI Patterns
- Flying Planes with Python and JavaScript
- How Attackers Bypass Two-factor Authentication (2FA)
- Lessons of Design
- Testing Components in Storybook
- core-js: So, what's next?
- How to narrow and secure types with const assertions (#tilPost)
-
The Future Of Thunderbird: Why We're Rebuilding From The Ground Up
still my favorite mailclient. But yes - the UI feels very outdated
- Why does 0.1 + 0.2 = 0.30000000000000004?
- nohello(dot)com
- My 2022 self (I don't know them) was very wrong about meditation, huge monitors, and... sleep.
- MotherDuck: Big Data is Dead
- How I added C-style for-loops to Python
- Comprehensive Ruby 3.2 changelog
- The technology behind GitHub’s new code search | The GitHub Blog
- My favourite 3 lines of CSS
- OpenTTD 13.0 released
- The future (and the past) of the web is server-side rendering
- Code Lifespan
- Virtual DOM is pure overhead
- Password strength explained
January 2023
- Japanese explained to programmers
-
I want to lose every debate.
Most of debating is not about "losing" and should not feel like. Debates should make you think, widen your horizon, get other people views about a topic. And It's fine to stick to your opinion afterward. But it's also fine to change your opinion - and it doesn't need to be a 180 degree turnaround
-
Forking Chrome to render in a terminal
I guess there are plenty of answers for the question "Why?"
- 7 Reasons why I don't write
- Announcing TypeScript 5.0 Beta
- Recommender Systems: Content-based, Social recommendations and Collaborative filtering
- A very basic aggregator site in Next.js with Go cloud functions and Supabase
- Packaging Rust Applications for the NPM Registry
- Making sense of TypeScript using set theory
- Development containers
- I don't know what to write on my blog
- Full Responsibility
- Ruby on Jets | The Ruby Serverless Framework
- A Framework for Prioritizing Tech Debt
- Git Commands You Probably Do Not Need
- Postgres Tutorial Playground
- How to Create Luck
- The libraries we use to build Rails apps
- PHP in 2023
- Photo
- Line heights in CSS work better with ratios | Andy Bell
- How Nvidia’s CUDA Monopoly In Machine Learning Is Breaking - OpenAI Triton And PyTorch 2.0
- Principles of Data-Oriented Programming
- Basecamp details 'obscene' $3.2 million bill that caused it to quit the cloud
- The Shit Show
- The State of JS 2022
- Agile isn't about speed, it's about direction
- Where are my Git UI features from the future?
- Someone recreated the Star Wars theme entirely in Logic Pro and sample libraries
- Tree views in CSS
- Laws of UX
- Docker on macOS is slow and how to fix it
- Genders.WTF
- Rust for professionals