Shared links
Things I read and found worth passing on, shared via NewsBlur.
December 2019
- Synchronous Messaging at Mozilla: The Decision
- Photo
- This Page is Designed to Last
- Things end users care about but programmers don't
- The sad state of personal data and infrastructure
- How randomly skipping tests made them better
- A tiny macOS utility that helps hide menu bar icons
- A function to sleep a 1000 years: explained
- A thread about Internet Archive's "Silent Killer"
- Video: Watch someone play DOOM on a Kodak digital camera from 1998
- The Real Fake Cameras Of Toy Story 4
- Handling JavaScript events with Web Workers
- Terrible Christmas mashups with Mariah Carey are now practically their own genre
- Amazon Braket – Get Started with Quantum Computing
- ESNext: Relatively format time with Intl.RelativeTimeFormat
- JavaScript ~~
- Open source home automation that puts local control and privacy first
- Fighting back against Google AMP
- Ruby, Where do We Go Now?
- Run Lighthouse in a CI Pipeline using lighthouse-ci
- React Hook Form – Form Validation Hook based on Uncontrolled Components
November 2019
- The best unit testing frameworks for Node.js
- Cheap laptop for storage in case of life emergency?
-
A JS library for creating sketchy/hand-drawn style charts in the browser
When you're an engineer and to lazy to draw something by hand
-
“Hold to confirm” Button
I like this pattern. Better than these confirm boxes where no one really reads the text
- Impostor Syndrome vs the Dunning-Kruger effect
- CSS position explained
- A Practical Guide to State Machines
- Bringing A Healthy Code Review Mindset To Your Team
- The Firefox UI is now built with Web Components
- Machine Learning Captcha
- Code Health: Respectful Reviews == Useful Reviews
- 19 Takeaways From React Conf 2019
- My Favorite Talks From Strange Loop 2019
- The 16-inch MacBook Pro
- Shared Cache is Going Away
- Maintain multiple versions of Go in one single environment
- Explaining 4K 60Hz Video Through USB-C Hub
- How Discord achieves native iOS performance with React Native
- Kubernetes production best practices checklist
- The Front-End Tooling Survey 2019 - Results
- How Ruby REALLY uses Memory: On the Web and Beyond
- Kubernetes made my latency 10x higher
- This Marketing Blog Does Not Exist – An AI Generated Marketing Blog
- Go Time 106: Code editors and language servers
- Designing for iOS and Android
- The State of the Octoverse
- Algo – your personal VPN in the cloud
- Wikiview photo browser makes it easy to search through Wikimedia Commons images
- Adobe's #ProjectAboutFace can detect when portraits are altered and undo the edits
October 2019
- mutateful is a must-have, free live coding tool for Ableton Live
- Building code editor plugins — A comparison
- This is a fantastic credit card form 💳
- One Page Dungeon Generator
- Delta Chat: email as instant messaging
- Notes on persisting authentication state in a front end application
- Why can't we settle on a single application structure in Go?
- DuckDuckGo TTY Search
- Photo
- Speeding Up Our Build Pipelines (or "why we created an open source build server in Go")
- Talks: Authentication & authorization in GraphQL from Berlin Meetup
- Firefox 70 — a bountiful release for all
- David Shayer on the Spotty Quality of iOS 13 and MacOS 10.15
- IKEA Server / Comms Cabinet
- QA Best Practices
- How to Process Passwords as a Software Developer
- 36 world-changing pieces of code
- Lesser Known Coding Fonts
- "the most advanced MySQL raytracer on the market right now"
- Comparing React form builders: Formik v. Unform
- Cell Phone Functions
- Three Rules For Structuring (Redux) Applications
- macOS 10.15 Vista
- How to write fast code in Ruby on Rails
- How to Detect an Ad Blocker
- Pair Locking your iPhone with Configurator 2
- There Are No Stupid Questions
- Urql – A highly customizable and versatile GraphQL client for React
- A modern CSS reset
September 2019
- Photo
- When TDD Is Not a Good Fit
- New ES2019 JavaScript features every developer should be excited about
- Thinking in React Hooks
- Performance metrics for blazingly fast web apps
- git-blame-someone-else
- How does Base64 work
- The cost of parsing JSON in JavaScript
- CSRF is (really) dead
-
Photo
well known problem
-
Making Instagram.com faster
2nd part: <a href="https://instagram-engineering.com/making-instagram-com-faster-part-2-f350c8fba0d4">https://instagram-engineering.com/making-instagram-com-faster-part-2-f350c8fba0d4</a>
- Basecamp Didn’t Want to Run This Ad
- “Can I email…” – Support tables for HTML and CSS in emails
- How to Automatically Optimize Responsive Images in Gatsby
- Frustrations with React Hooks
- Turn off DoH, Firefox. Now
- react-use – Collection of essential React Hooks
- Running GitHub on Rails 6.0
- Play with fluids in your browser (via WebGL)
August 2019
- Rails 6.0: Action Mailbox, Action Text, Multiple DBs, Parallel Testing, Webpacker by default, and Zeitwerk
- Google's Software Is Malware
- Using TypeScript with React
- Awesome Static Analysis
- React DevTools 4.0
- 5 Tips to Help You Avoid React Hooks Pitfalls
- 4 rules for intuitive UX
- The history and legacy of jQuery
- HTTP/2 Denial of Service Advisory
- Good sleep, good learning, good life
- Ruby on Whales: Dockerizing Ruby and Rails development - The exhaustive Docker config for RoR apps
- Proposal to rename "Perl 6" to "Camelia"
- Developing WordPress sites with Docker
-
Regex for noobs (like me!)
Regex is still one of the most powerful things to learn when dealing with text
- Stack Overflow: How We Do App Caching - 2019 Edition
- Setting up Rails 6 app with multiple databases on Heroku
- Unpopular Opinions
- Disorder of Operations: 8 ÷ 2(2+2) = ?
- I Used The Web For A Day On A 50 MB Budget
July 2019
- Design tools are holding us back
- Building a Modern CI/CD Pipeline in the Serverless Era with GitOps
- Too unique to hide
- Why you only need to test with 5 users
- How the marketing team talks vs what really happens
-
AWS New York Summit 2019 – Summary of Launches & Announcements
the AWS Toolkit for VS Code looks promising
- Object-Oriented Programming – The Trillion Dollar Disaster
- Trained a Neural Net
- CommitStrip – The Summer of Code : our new book on Kickstarter!
- Running PHP in Javascript
- The cost of JavaScript in 2019
- Really typing Vue
- Why is my webpack build slow?
- User Inyerface - A worst-practice UI experiment
- Google PageSpeed Scores Your Pages and What Performance Means for SEO
- Coordinate Precision
- The lazier way to manage everything docker
- Roll your own lazy loading
- Double Shot #2376
June 2019
- Chernobyl
- The future of React, unfolding with suspense
- React: Forget about component lifecycles and start thinking in effects
-
Clock Experiments by Vasilis
Can we have the decimal time please?
- 5 Keys to Accessible Web Typography
- The community gave us low-latency live streaming. Then Apple took it away
- An Apple a Day
- Double Shot #2366
- Ungoogled Chromium is Google Chrome, but without Google
- The anatomy of accessible forms: the problem with placeholders
- There's only ONE way to validate an email address
- An Orbit Map of the Solar System
- Kubernetes failure/horror stories
- The CSS mindset
- Making tables responsive with minimal CSS
- Micro frontends
- Interviewing Red Flags
- SwiftUI by Example – Free Course on SwiftUI
- Optimize Rendering with CSS Containment
- The CSS background-image property as an anti-pattern
- Switch from Medium to your own blog in a few minutes
- An example to-do list app using SwiftUI (introduced at WWDC 2019)
- Smart EveryThing
-
Lucene ported to Rust
and now please also port Elasticsearch to Rust
- Functional JavaScript: how to use Array Reduce for more than just numbers
- Advice to Less Experienced Developers
May 2019
-
Announcing the Unity Editor for Linux
sounds like good news for the Linux gaming ecosystem
- What English sounds like if you don't understand it
- Falsehoods Programmers Believe About Search
- Interactively select the quality and format for youtube-dl
- Reducing motion with the picture element
- CSS rules that will make your life easier
- Font-display is incompatible with icon fonts
- Reverse engineering the Dropbox client
- PHP in 2019
- useDimensions – a React Hook to measure DOM nodes
- CSS Color Scheme Queries (“Dark Mode CSS”)
- Dependabot has been acquired by GitHub
- You procrastinate because of emotions, not laziness
- Go is Google's language, not ours
- The Dark Forest Theory of the Internet
- Monitoring everything…?
- This Microbiologist Can Spot Your Fake Photos
- Weird Ruby: Positive and Negative Strings
- HTTP headers for the responsible developer
- Learn You Some Erlang for Great Good
-
Go Time 84: Hardware hacking with TinyGo and Gopherbot
TinyGo looks good, I may give it a try
- Best resources to learn React & GraphQL
- RubyKaigi and the Path to Ruby 3
- How to cache API requests with a service worker
- VS Code wants to party like it's 1984 🌅🕶
- A roadmap to becoming a Rust web developer in 2019
- Rails 6: B-sides and rarities
April 2019
- It’s better with Javascript
- Front-End Traditions
- Windows 95 style UI components for your React app
- A macOS Finder app to open the current directory in Terminal, iTerm, or Hyper
- A tool to quickly mock out end points, setup delays, and more...
-
Why people use curl
for me: for debugging it's faster than a browser and does not load all the additional files (images, scripts, ..). Also it's easier to see the HTTP headers
- 5 must-read JavaScript tutorials
- CSS code golf? CSS code golf!
- Docker, Amazon ECS, and Spot Fleets: A Great Fit Together
- Native image lazy-loading for the web!
- Google AMP lowered our page speed, and there's no choice but to use it
- FastEntry - cache management for Rails apps
- Public Sans
- Citybound – a Rust-based, multi-player city simulation game
- Native image lazy-loading for the web with loading="lazy"
-
Deskgap — build cross-platform desktop apps with web technologies
maybe a promising alternative to Electron and less memory footprint?
- A complete guide to threads in Node.js
- Back to how it should be
March 2019
- You probably don’t need input type=“number”
-
The design of Apple's credit card
I'm always amazed how many details designer put into one thing someone like me didn't notices when looking at it.
- Spotify’s new web player is based on React + Redux
- Controlling Hyphenation in CSS
- Displaying the (Numeric) Value of CSS Custom Properties (CSS Variables) inside Generated Content
-
An alternative to Elasticsearch that runs on a few MBs of RAM
worth to try it. Hoping since ages for a alternative to Elasticsearch to get rid of this bulky Java thing
- Can Kubernetes keep a secret?
- In defense of YAML
- How to Reindex One Billion Documents in One Hour at SoundCloud
- A Homepage for the JavaScript Specification
- Facebook Stored Hundreds of Millions of User Passwords in Plain Text for Years
- I Used The Web For A Day On Internet Explorer 8
- Datasets for machine learning
- Rules for Autocomplete
- Migrating from Medium to Gatsby
- Double Shot #2302
- JS Paint – MS Paint recreated in JavaScript, with extra features
- A platform for playing generative music in the browser
- The ACME Protocol is an IETF Standard
- MySpace has lost all the music users uploaded between 2003 and 2015
- CSS Grid: Floor Plan
- The future of CSS: Nesting Selectors
- Dumbass Home 2.0
- Like a good wine
- 📬 Easily and securely share files and directories from the command line
- NGINX has been acquired by F5
- Making sense of React’s useEffect
- Rendering large lists with react-window
- Web Design 3.0: When Your Web Design Matters
- Best practices writing a Dockerfile
February 2019
- My Favorite Paradox - ForrestTheWoods
- Should I use Apollo for GraphQL?
-
10× faster database tests with Docker
interesting idea, worth to try TLDR; Docker DB instance can use in memory tmpfs to speed up tests
- We need Chrome no more
- GPU.js — GPU accelerated JavaScript
- Step: valid HTTPS certificates for dev & pre-prod (and more)
-
My Twitch Live Coding Setup
maybe some day I'll also start streaming live on Twitch. #dreambig
- A free, shared visual playground in the browser: Olivia Jack talks Hydra
- Parsing gigabytes of JSON per second
-
Elixir/Unix style pipe operations in Ruby
cool concept
- thank you, opportunity
- Intro to Redis Cluster Sharding – Advantages, Limitations, Deploying & Client Connections
- Password Managers: Under the Hood of Secrets Management
- JavaScript Loading Priorities in Chrome
- This or that? Component Names: index.js or Component.js
- Don’t Get Clever with Login Forms
- MIDI 2.0 Is Coming: Prototyping of New Generation Of MIDI Devices Underway
- Better Language Models and Their Implications
- Moving from Ruby to Rust
- GitHub introduces draft pull requests
- Audio AI: isolating vocals from stereo music using Convolutional Neural Networks
- swc – like Babel, but 16- 20 times faster (because Rust)
- 1991: web framework in forth
- Redmond Themes
- Dotfile madness
- An open source parser for GitHub Actions
- HTTP/3 explained
- tailflix – A drop-in replacement for tail -F that asks you if you are still watching
- Bohemian Rhapsody
January 2019
- GIT-LFS
- You should take StackOverflow's annual developer survey
- useHooks(🐠) – Easy to understand React Hook recipes
- I review, you review, we all review
- Guide to Web Authentication
- Test drive 42 programming fonts
- 7 CI/CD tools for sysadmins
- The nightmare videos of childrens’ YouTube
- Mozilla Hacks: Designing the Flexbox Inspector
- Using Google's speech recognition to beat Google's ReCaptcha
- Big ol’ Ball o’ JavaScript
- Announcing Bundler 2.0
-
★ ESNext Proposals to look forward to
some really good proposals. Looking forward to use some of these
- Double Shot #2247