Shared links
Things I read and found worth passing on, shared via NewsBlur.
December 2020
- MagicaVoxel
-
How I Mastered Sleep after 20 years of Struggle
healthy sleep is important. Some good tips here
- Resize-Resilient `content-visiblity` Fixes
- Node.example.com Is an IP Address
-
Historical yearly trends in the usage statistics of content management systems, December 2020
Wordpress market share is still growing
- “Yes or No?” — One Checkbox vs Two Radio Buttons
-
Reverse Engineering the source code of the BioNTech/Pfizer SARS-CoV-2 Vaccine
not the usual reverse engineering thing
- How to Favicon in 2021
- Thinking on ways to solve Centering in CSS
- Linux Hardening Guide
- Get up to speed with partial clone and shallow clone
-
Double Blind Passwords (aka Horcruxing)
new password advice: add a secret password to your password stored in the password manager to increase security in case your password managers password if being compromised
- Why can’t you buy a good webcam?
- Cameras and Lenses – Bartosz Ciechanowski
- Conditional JavaScript - JavaScript - Dev Tips
- Data Fetching with React Server Components
- `content-visiblity` vs. jumpy scrollbars, a solution
- Commits are snapshots, not diffs
- How to useRef to Fix React Performance Issues
- Deep Dive into Page Lifecycle API
- A Complete Guide to useRef
- Facebook Takes Out Full-Page Newspaper Ads to Attack Apple’s Changes Strengthening iOS Privacy
- It’s not legacy code — it’s PHP
- Flim - a tool to search for images from movies
- Deno 1.6 lets you compile TypeScript to a single executable
- Estimator.dev – the modern JavaScript savings calculator
- How to make your code reviewer fall in love with you
- css-houdini-circles — A Houdini Paint Worklet that draws Colorful Background Circles
-
Chrome is Bad
Not Chrome in particular, but Google doing something shady
- Nihilistic Password Security Questions
-
Finding Critical Open Source Projects
Google creates criticality score for OSS
- What values can you put in CSS Custom Property?
- Flappy Bird in 205 bytes
- The best bet for 2030
- What's changed in Bootstrap 5?
-
Time to Say Goodbye to Google Fonts
self hosted vs. Google Fonts (prob also other font services)
- OpenStreetMap is having a moment
- Demonstate and observe slow-loading resources with slowfil.es
- ibis — A PHP tool that helps you write eBooks in markdown and convert to PDF
-
Dockershim Deprecation FAQ | Kubernetes
Docker support in Kubernetes is now deprecated. Time to move on
- Taking PHP Seriously
- iPhone zero-click Wi-Fi exploit is one of the most breathtaking hacks ever
November 2020
- Rendering Spectrum | CSS-Tricks
- Native Aspect Ratio Boxes in CSS thanks to aspect-ratio
- Anti-Mask League of San Francisco
- Making PlayStation 1 Modchips
- Why Older People Struggle In Programming Jobs
- PHP 8.0.0 Release Announcement
- FrontPage: The Good, The Bad, and The Ugly
- How to Organize a Large React Application and Make It Scale
- The Vintage Beauty of Soviet Control Rooms
- An ex-Googler's guide to dev tools
- You Can’t Out-Train Your Diet
- Tips for performant TypeScript
- Apple Silicon M1: Black. Magic. Fuckery.
- Reasons why SELECT * is bad for SQL performance
- Tailwind versus BEM
- A powerful screen recorder & annotation tool for Chrome 🎥
- 8 Tips to Make Your Website Feel Like an iOS App
- WPGraphQL – GraphQL Server for WordPress
- Reusable development containers with Docker Compose and Dip
-
GitHub Reinstates ‘youtube-dl’ Project After Concluding DMCA Takedown Request From RIAA Was Bullshit
🥳
- 10 React security best practices
- 40ms Bug
- The most accurate way to schedule a function in a web browser
- Good / Bad Product Manager
- White space design: 20 striking examples and best practices
- Angular 11 Now Available
- Why Gatsby chose headless WordPress for their blog
- Speed up build times with this little Git trick
-
Building a standalone DDJ-400 with a Raspberry Pi and Mixxx
maybe an interesting project?
- Read this before upgrading to Big Sur
- 10 Insights from Adopting TypeScript at Scale
- This is how I git
- The Denialist Playbook - Scientific American
- Rust vs Go — Bitfield Consulting
-
Deprecating scp [LWN.net]
looks like I should get used to another tool when transferring things
- Map of Every European City
- Vim Tips for the Intermediate Vim User
- SmallData | Blog | Clean Code
- WordPerfect for DOS Updated
- The Importance of Color Accessibility in UX Design
- How Hacker News Crushed David Walsh Blog
October 2020
-
Sound Of Colleagues
In case you miss the noise of your colleagues
- RuboCop 1.0 | Meta Redux
- How I manage impostor syndrome, fear of failure, and other common programmer problems
-
UI Guideline - Component Standardization
overview about various components used in todays design systems
- Automatically labeling GitHub notification emails with Gmail filters
- Weird bots
- Stasi
- How to answer questions in a helpful way
- You Don’t Have to Use Docker Anymore | by Martin Heinz | Oct, 2020
- Webpack 5 release (2020-10-10) | webpack
- ★ The 2020 iPad Air
- Developer resume tweaks to land more interviews
- NsLookup.io – an online tool for exploring DNS records
- Modern-Day Architecture Design Patterns for Software Professionals | by Tanmay Deshpande | Better Programming | Oct, 2020
- The Grand Unified Theory of Product Ideation – Jakob Greenfeld – Experiments in Entrepreneurship and Learning
- Feature watch: ECMAScript 2021
- AWS and their Billions in IPv4 addresses
- Testing SQL for BigQuery
- Choose your browser carefully
- Less status updates, more coaching
- MONOSPACE by @p01
- Chrome exempts Google sites from user site data settings
- Cursed Elixir
- The Making of Monkey Island (30th Anniversary Documentary)
- PCG, A Family of Better Random Number Generators
- Dockerfile security best practices
- Spotify, Ever the Fans of Openness
- Why Signups & Logins Should Open in a Right Form Drawer
- Overmind - OVERMIND
- Mirgating away from momentjs - Part 1 - Deciding the successor - Terodox.tech
- The Widening Responsibility for Front-End Developers
- We Hacked Apple for 3 Months: Here’s What We Found
- How to make video calls almost as good as face-to-face
- The New Training Log
- The ‘no-code’ dream…
- the fast, featureful, GPU based terminal emulator — kitty 0.19.0 documentation
- Masks
- DAILY MEETING
September 2020
- Ruby one-liners cookbook
- When fonts fall
- urlcat – a tiny JS library for building URLs
- Hidden features of Chrome DevTools
- Not the same
- Rails Concerns: To Concern Or Not To Concern
- 6 red flags I saw while doing 60+ technical interviews in 30 days
- Play Battleship directly on Postgres
- 5 Awesome JavaScript Promise Tricks
- Mathematics for programmers
- Enforcing Modularity in Rails Apps with Packwerk
- The most important feature of Sublime Text
- Discover your most productive music for coding
- Ruby Antipatterns | Alchemists
- CSS { In Real Life }
- How to Incrementally Migrate 100k Lines of Code to Typescript
- Hello from Ruby Jard | Ruby Jard
- Write once. Deploy everywhere.— BeeWare
- Is this evil? Analytics via CSS
- Evidence of Alien Life
- instant.page
- Red handed
- A 10-minute redesign of navalmanack.com
- Modern Ruby Serializers
- Poolside FM for Cellular
- Why I Actively Discourage Online Tooling like `jwt.io` and Online JSON Validators · Jamie Tanna
- CSS Vocabulary
- How to embed AV1 Image File Format (AVIF) images
- Programmer Has Made 1993's Doom Playable on a Pregnancy Test
- What's new in htop 3
- Not that simple
- Designing a Material Theme: Color
August 2020
- Style Stage from Modern CSS Solutions
- Airbnb's tool for helping migrate code to TypeScript
-
Taking my home work setup seriously
some inspirations for the home office setup
- Shopify rewrites away from their Rails monolith
- An Update on MDN Web Docs
-
An update on MDN Web Docs
would be a shame if MDN would be canceled. But moving it to a community based resource sounds promising
- CSS leading-trim – The Future of Digital Typesetting
- Remote Control OBS Studio with obs-websocket
- A Five-Minute Guide to Better Typography
- Flipping Pages with CSS
- If it works for them, it should work for us too
- Dependency
- React v17.0: A “Stepping Stone” Release
- The Just in Case Mindset in CSS
-
Refactoring optional chaining into a large codebase: lessons learned
most important: use it just when it's needed - do not add it everywhere
-
Epic and the Terms of Apple’s Developer Program License Agreement
"the most shocking thing about the Apple Developer Program License Agreement is that the PDF is entirely typeset in Arial"
- SQL to AREL converter
- What's new in PHP 8
- Fixing MacBook Pro Thermal Performance Issues
- Never use a dependency you could replace in an afternoon of programming
- httpstat – curl statistics made simple
- Modern CSS grid solutions to common layout problems
- Five Steps to Reduce webpack 4 Bundle Size
- React Refresh Webpack Plugin
- content-visibility: the new CSS property that boosts your rendering performance
- redaxios – The Axios API, as an 800 byte Fetch wrapper.
- A journey building a fast JSON parser and full JSONPath (Oj for Go)
- Why you shouldn't trust Discord
- My GPT-3 Blog Got 26 Thousand Visitors in 2 Weeks
- How Records & Tuples will improve React
- Bayes Theorem: A Framework for Critical Thinking
- the new CSS property that boosts your rendering performance
- GPU.js - GPU accelerated JavaScript
July 2020
- Beware of Async/Await | Brandon's Website
- Speculation in JavaScriptCore
- Swinging on an AST branch
- Go on a 4K video tour of Mars with images captured by NASA's Mars rovers
- COVID-19 and the Science of Soap
- All Your Passwords Are Belong To FPGA
- Painless Rails upgrades
- Code review – from good to great
- Proper browser testing in Ruby on Rails — Martian Chronicles, Evil Martians’ team blog
- The Greatest Sales Deck I’ve Ever Seen | by Andy Raskin | Mission.org
-
How to self host your email server
I gave up to host my own mail server since proper spam filtering is annoying when you have little data to train. Also keeping it up2date is time consuming and you have to deal with problems communicating properly with some other mail providers. So I switched to payed services - but it's worth the money and not really expensive. If you're still interested hosting your own thing this article could be a thing for you
- How to run a live coding stream (on Twitch using OBS)
- ESNext: Proposals to look forward to (ESNEXT Conf)
- But you only added two lines of code...
- Backing up for mortals
- The 50 best ambient albums of all time
- Beginner’s Guide To Abstraction – Pursuit of Laziness
- Ten modern layouts in one line of CSS
- JavaScript for impatient programmers (ES2020 edition)
- Hacking GitHub with Unicode's dotless 'i'.
- Video: How to build a custom Raspberry Pi 'Becca Cam' with zero coding experience
- Streamlabs & Stream Hatchet Q2 2020 Live Streaming Industry Report
- Rust for JavaScript developers (functions and control flow)
- JavaScript in SVGs
- Use Speedlify to continuously measure site performance
- Worrying about the npm ecosystem
June 2020
- Textures.js
-
Wheel of Fortune for videocalls
written for Linux. There may be ways for Windows or Mac, too
- ARM Mac: Why I'm worried about virtualization
- SCP - Familiar, Simple, Insecure, and Slow
- Technical Interview Reform, Part 1: Rethinking the Backend Engineering Interview Take-Home Challenge
- Dungeon Scrawl - Old school maps in minutes
- Announcing Perl 7
- Time to upgrade your monitor @ tonsky.me
- Storytelling tips for technical interviews
- Is WebP really better than JPEG?
-
Why Discord Still Maintains a Browser-Only Experience
I really enjoy using Discord from my browser from time to time. No need for another Chromium instance, just another tab in [insert your browser here] which consumes less resources
- A pocket-sized guide to working from home
- How the most popular Chrome extensions affect browser performance
- Wireless is a trap - LessWrong 2.0
- Building a hexagonal grid using CSS grid
- A completely open source ngrok alternative
- UX design is more than visual design
- Bicycle Geometry Terms – 99 Spokes
- I’m watching you…
- How to write good Git commit messages
- Text fields & Forms design — UI components series
- The beauty of Unix pipelines
- The science of front-end
- Mental Wealth – James Beshara
- Mac in Docker! Run near native OSX-KVM in Docker! X11 Forwarding
- A visual guide to React Mental models, part 2: useState, useEffect and lifecycles | Obed Parlapiano
- COVID Go
- Sublime Merge 2 - Features and Flexibility - News
- RuboCop Defaults Survey Results | Meta Redux
- A lightweight, high-speed immutable database for systems and applications
- Introducing the Web Vitals Chrome Extension
- TwilioQuest - A programming RPG
- CSS tips for new devs
- The simplest of status pages built with Hugo and Netlify CMS
May 2020
-
spacex - What computer and software is used by the Falcon 9?
Quote: "They use Chromium and JavaScript for the Dragon 2 flight interface. The actual flight computers still run on C++."
- Die Corona Warn App – ein Code Review – Winkenschürfel
- Error Handling in GraphQL-Ruby - Blog by Abhay Nikam
- Nobody told me UX would be like this
- Making Vue 3
- Experts
- Towards an efficient photographic workflow on Linux
- Today’s JavaScript, from an outsider’s perspective
- A Promise of a Bright Future With Async Iterators, Generators, and Pipes, Part 1
- Nulls in GraphQL: Cheatsheet
- Thinkpad DIY: Wie ich meinen alten Laptop fit für die Zukunft mache
- A modified browser to aid your responsive web development
- ‘What Time Is It in London?’
- The World's Longest Alphabetical Email Address
- Docker on Mac for Development with Fast Disk Access and Webpack Dev Server - naildrivin5.com
- Quickref — a search engine for developers
- swyx Writing | The Third Age of JavaScript
- Vitamin D: the New COVID-19 Chloroquine?
- Modern Touch-Friendly Design
- A note on commit messages
-
It's time to get back into RSS
please provide RSS!
- Hypermodern Python · Claudio Jolowicz
- 5 stages of working from home
- XP.css (inspired by 98.css and old school UIs)
- How Signal Integrates With Giphy While Preserving Privacy
- Learn Go with this huge repository of examples, exercises, and quizzes
- A loader that lets you use esbuild with webpack
- 101 cognitive biases & principles that affect your UX
- This Word Does Not Exist
- Remix – React Framework for Web Apps
- SPACEX – ISS Docking Simulator
- This is What Peak Hello World Looks Like
- PHP 8 in 8 code blocks
- Announcing Hyperdrive v10
- An Interactive CSRF Demo
- The FLOPKEY, a keyboard which you type on by inserting specially labeled floppy disks
- React Performance Optimization with React.memo()
- Minimal Underline Animation
- A Chrome extension to measure essential metrics for a healthy site
- Tackling TypeScript: Upgrading from JavaScript
- Visualize your keystrokes with KeyCastr
- Alternative text for CSS generated content
- Build Your Own ‘Google Translate’-Quality Machine Translation System
- 100vh in Safari on iOS
- Double Shot #2591
- Generate 8-bit avatars using Conway's Game of Life
- Typing functions in TypeScript
- essential metrics for a healthy site
- Automatically open Chrome DevTools in each new tab
- Strategies for migrating to TypeScript
- Creating web apps via TypeScript and webpack
- Everyone's an Epidemiologist
- 1loc – Single Line JavaScript Snippets
- A ridiculously small responsive CSS framework
- Spotify’s Failed #SquadGoals
- Rules of thumb for a 1x developer
- Designing Emotional UI - UX Planet
April 2020
- Jukebox - a AI that generates music, including singing
- A story of duplicate code
- Web Performance Recipes With Puppeteer
- A syntax-highlighter for git and diff output
- The cost of JavaScript frameworks
- macos - How to find cause of high kernel_task cpu usage?
- De-Googling: My Progress
- How to buy a monitor in 2020 | Engadget
- The Cost of Javascript Frameworks
- Responsive Images the Simple Way
- Using CSS to Control Text Selection
- Using React’s Key Attribute to remount a Component
- Colors in CSS: Hello Space-Separated Functional Color Notations
- Tejas Bubane's Blog
- A pure-bash Linux resource monitor
- Shell productivity tips and tricks
- Best Practices for Bash Scripts - Better Programming
-
Double Shot #2583
Recomment to read the "The Communicative Value of Using Git Well" and "Things I Wished More Developers Knew About Databases" articles
- ‘The Real Reason to Wear a Mask’
- A Peek at the Future of GraphQL
- The CSS place-items shorthand
- useInView – A React Hook to work with IntersectionObserver
- Building dark mode on Stack Overflow
- A design system for building faithful recreations of Windows 98 UIs
- Photo
- Front-End Challenges
- Garbage Math
- RIP John Conway
- "Imagine `tmux` with a smaller learning curve and more sane defaults"
- CSS findings from the new Facebook design
- Your statement is 100% correct but misses the entire point
- COVID-19 and the Loss of Smell
- Five UI Design tips for enterprise software
- How to enable HTTP3 in Chrome / Firefox / Safari
- Bring the magic of Snapchat Lenses to your live streams and video chats with Snap Camera
- Double Shot #2573
- Profiling React.js Performance
- A zero-config Elasticsearch alternative in Rust
- SoundSource
- How to SSH properly
- How SNES emulators got a few pixels from complete perfection
- Glimpse image editor aims to make open-source GNU Image Manipulation Program more accessible
- Vim³ – vim rendered on a cube (for no reason)
- DPReview TV: How to look good and sound great on videos (and video conferences) from home
- Pass Data from CSS to JavaScript with CSS Variables
- Run your GitHub Actions locally with act
- Repeat Text as a Background Image in CSS Using element()
March 2020
- Scenes From New York
- Combine CSS Grid and clip-path
- Embracing Modern Image Formats
- Token Authentication with Rails, Vue, GraphQL and Devise
- Easily install local NPM packages by simply referring to their local path
-
Double Shot #2556
bye bye Timecop
- Chameleonic Header
- Setting up a global .gitignore file
- React Redux with hooks
-
Pi-hole is network-wide ad blocking via your own Linux hardware
I use it since a while, works fine esp for mobile devices where one can often not use an adblocker
- Coronavirus Research
- GitHub is acquiring npm
- Refactoring legacy code with the Strangler Fig pattern
- Free fonts | Butterick’s Practical Typography
- How I Start: Rust
- Setting Up Your Webcam, Lights, and Audio for Remote Work, Podcasting, Videos, and Streaming
- To work with forms in React two approaches are to either use Controlled Compone...
- Photo
- My Coding Interview Style
- Scientific Briefing
- Google Interviewing Process for Software Developer Role in 2020
- Do you like containers?
-
30 minutes to learn Rust
having a look into Rust is still on my todo list
- React: Hooks vs. Render Props vs. Higher-Order Components
- How and when browsers load and execute JavaScript from script tags
- Photo
- Self-Isolate
- The Windows Interface Guidelines — A Guide for Designing Software (1995)
- “Let’s use Kubernetes!” Now you have 8 problems
- Please stop recommending Git Flow
- iPhone 11 Pro vs. Galaxy S20 Ultra Camera Comparison
- ESNext: Get localized language, currency, and region names with Intl.DisplayNames
- Puppeteer 2.1.0, with native Firefox support
- New media queries you need to know
- React useDeepCompareEffect Hook: A useEffect using deep comparison
- Find the Commit that Broke the Tests with `git rebase –exec`
- Programming trick questions
- Understanding Generators in JavaScript
- How many users block google analytics?
- Learn awk by example 📗
- Page builders might not be a good idea
February 2020
- Mapping coronavirus, responsibly
- Run Windows, Android, and more on your iPhone and iPad
- Instagram CEO’s Bullshit Excuse for Not Having an iPad App
- Enjoy an infinite stream of AI generated art
- How to Enable the Mac Startup Chime on New Macs
- spotify-backup download your spotify albums and playlists in json format
- Effective Profiling in Google Chrome
- Automatically buy a Twilio phone number and forward calls/SMS to another number with `create-phone-number-forwarding`
- You shall not open links in a new window or tab
- Double Shot #2539
- An extremely fast JavaScript bundler and minifier
- War over being nice
- Essential Suite — Artwork Producer Assistant
- Why do so many developers get DRY wrong?
- The CSS Cascade – Or, How browsers resolve competing CSS styles
-
How to fight back against Google AMP
from the comments on lobste.rs: > dont implement AMP. dont link AMP. dont provide AMP integrations and libs.
- Coding maturity
- Control Room – a macOS app to control the Xcode simulator
- Leap Smearing
- Copyrighting all the melodies to avoid accidental infringement
- Let’s Get Real About How Important Our Phones Are
- Today, the Trident Era Ends
- 12 Signs You’re Working in a Feature Factory
- useEffect(fn, []) is not the new componentDidMount()
- Our Long National Nightmare Is Over: Netflix Makes Preview Autoplay Optional
- Switching to Firefox
- Wacom Drawing Tablets Track the Name of Every Application That You Open
-
Apollo 11 Guidance Computer vs USB-C Chargers
let's fly to the moon with an USB charger
- How to over-engineer a static page
- Why Discord is switching from Go to Rust
- Powerlevel10k: A Zsh theme
-
Restoring a thrashed Plextor PX-40TSi SCSI CD-ROM Drive
this drive was the only reason for me to get a SCSI controller
-
Old CSS, new CSS
a nice history lesson
- Star - Go but in Python?
- Monoliths are the future
-
Dresdner Interregnum 1991 – Ein Poem
Brings back old memories about my home town
- Google Maps Hacks
-
shlide—a slide deck presentation tool written in pure bash
If you want to do a nerdy presentation, this may be a tool for you
January 2020
-
Matthew Butterick on Ligatures in Programming Fonts
I've tried ligatures with the new Jetbrains Mono font and I disabled them again after some time for these reasons.
- A guide to NPM version constraints for Rubyists
- Every Sample from Beastie Boys‘ „Paul’s Boutique“
-
Blocking Your Adblocker. How to be an asshole, programmatically
> Don’t do this.
-
Apple Reports Record First Quarter Results
Currently I see no reason to buy a new iPad. Also the new Macbooks with the old keyboard are just about to be released. So no wonder
- Caching clash: useSWR() vs. react-query
- Why Lobste.rs Is Better Than Hacker News
- Introducing Yarn 2 ! 🧶🌟
- A list of awesome web animation libraries, books, apps, etc
- Not so simple
- A guide to the CSS Cascade
-
PHP in 2020
even when I'm not into the PHP ecosystem anymore (or at least right now) a nice overview about the current state of PHP
- Drawing with Ants: Generative Art with Ant Colony Optimization Algorithms
- N26 and lack of JavaScript
- Which Emoji Scissors Close
- SKYWATCH: A Sci-Fi Short
- Someone At Amazon Accidentally Sent Out Their E-Mail Template, And It’s Hilarious
- Debunking the Myth: Accessibility and React
- Writing a Lightroom Classic plug-in
- On let vs const
- Goodbye, Clean Code
- P2P Peer Discovery
- Should you self-host Google Fonts?
- Tiny Helpers – A collection of useful online web development tools
- Game Off 2019 Winners. More than 200 games with source code
-
Curl lands its biggest single-shot donation following accidental license breach
wow. I'd wish every company would act like this in this situation
- Let’s talk about your resume
- Feature watch: ECMAScript 2020
- Herbert Wolverson's Roguelike Tutorial in Rust
-
Fundamentals of Hierarchy in Interface Design
some good to know basics
- Live Streaming Server Setup
- Front-End Performance Checklist 2020 [PDF, Apple Pages, MS Word]
- Ensure your pull requests follow the Conventional Commits spec
- Unintentional framework
- Scaring People Into Supporting Backdoors
- Monitoring Performance with the PageSpeed Insights API
- Accept Push Notifications to verify that you’re not a robot
-
Building a Physics-based 3D Menu with Cannon.js and Three.js
maybe useless, but nice to play with it
- I Love the 20s
- OK/okay/ok
- Text Effect Generator
- Why we say OK
- Encoding your WiFi access point password into a QR code
- Early wave table and FM synthesis
- Adaptive Loading - Improving web performance on low-end devices
- Drawing Tip: A thicker pen hides mediocrity
- More performant YouTube embeds with
- Smoother & sharper shadows with layered box-shadows
- Everyone has JavaScript, right?
- Easy ways to add design flair, user delight, and whimsy to your product