Shared links
Things I read and found worth passing on, shared via NewsBlur.
December 2018
- Upgrading Strava to Rails 5.0
- Double Shot #2242
- WebAssembly vs. ES6 — benchmark battle!
- Speed up next-page navigations with prefetching
- Serverless Slack bot on Lambda with Ruby (and what’s the less pleasant part about it)
-
10 Design Rules for Programmers
not just for Programmers, actually for everyone not doing design everyday
-
Your Apps Know Where You Were Last Night, and They’re Not Keeping It Secret
we already have 1984
- RubyConf Rundown Pt. 1 – Brandon Weaver
- Crossplane – the open source multicloud control plane
- A strong (and sometimes conflicting) opinion on Edge switching to Chromium
- Are we advocating for Firefox in the wrong way?
- Netflix Information Security: Preventing Credential Compromise in AWS
- Our learnings from adopting GraphQL
- Double Shot #2232
- What counts as a bug?
- Double Shot #2229
- An awesome list of framework component libraries for UI styles
- A color palette generator for the design 'impaired'
November 2018
- Exploring RubyGems data with Honeycomb
- CSS and Network Performance
- Stack Overflow: How We Do Monitoring - 2018 Edition
- AWS DeepRacer – Go Hands-On with Reinforcement Learning at re:Invent
- purely js-less way to crash any modern browser
- How to Game the App Store
- An NES-style (8-bit) CSS framework
- A JSX alternative using standard tagged templates, with compiler support
- How to Deal with Difficult People on Software Projects
- GraphQL: A Retrospective
- If it’s not broken
- The 2018 State of JS results are in! 🔥
- Generate your Nginx config with this nifty website
- Graph databases 101
- Cross-language Performance Profile Exploration with speedscope
- Top programming languages of 2018 (according to GitHub)
- CSS and Network Performance
-
Migrating away from Google Maps and cutting costs by 99%
just moved from Google Maps to Mapbox. Don't regret it.
- Pretty iTerm2 with a modern titlebar
- Exploring Ruby 2.6 — Enumerator, Hash, and Enumerable Changes
- Over 6000+ DOS/Windows and Console games preserved for future generations
-
Ruby memory, ActiveRecord and Draper
even on Ruby a look on some performance issues might be worth good from time to time
- HTTP-over-QUIC will become HTTP/3
-
My Google-free Android life
In case I someday switch to Android this could be useful
- People, not resources
- Use AdBlocking in your Dev Environment
- 29 Docker security tools compared
- Getting the iPad to Pro
- Facebook has a tool that learns to fix bugs automatically?!
- A Netflix web performance case study
- A multi-platform Nintendo Game Boy Color emulator written in Go
- ★ The 2018 Retina MacBook Air
- A Guide to Mindful Communication in Code Reviews
- Domain hacks with unusual Unicode characters
- The open source password manager you deserve
- City Lights — a suite of beautiful matte-dark-themed goodies
- zeno scrolling
October 2018
- Concurrent Ruby with Tasks
- Bloody Vikings simplifies the use of temporary e-mail addresses in order to protect you
- The X hole
- Introducing Opus 1.3
- WebPerl
- (Image)
- How we paid the hidden costs of bootstrapping Tideways
- The next career step for Senior Software Engineers (that isn’t management)
- Microservices are something you grow into, not begin with
- Rhythm in Web Typography
- Make an open source maintainer's day with this one weird trick
-
elementary OS 5 Juno is Here
looks really good
- Vue’s Ecosystem Growth is Taking Off… Just Like React’s Did
- Cache Invalidation Complexity: Rails 5.2 and Dalli Cache Store
- Experimenting with GraphQL
- Simple and ready-to-use tutorials for TensorFlow
-
Smoke – Amazon's new, lightweight server-side framework for Swift
reminds me to make something in Swift
- (Image)
- Every byte of TLS, explained
- Evolution of Ruby String - from 1.8 to 2.5
- Bad Opinions
- 6/6 Time
- The Inter UI font family is "use me at all sizes" beautiful
- Don't Steal From Yourself (2016)
- CSS only floated labels with :placeholder-shown pseudo class
- Double Shot #2187
- How France created the metric system
- What's a senior engineer's job?
- An Ode to Sad Mac (Screen Saver)
- Why Are Enterprises So Slow?
- macOS Dynamic Desktop
- Introducing dav1d: a new AV1 decoder
- JavaScript Arrow Functions: How, Why, When (and WHEN NOT) to Use Them
- The modular JavaScript book series 📚
- An Innovative Phishing Style
- Upgrading GitHub from Rails 3.2 to 5.2
-
Double Shot #2179
I should try out coverband, looks promising
September 2018
- No More Google
- How to Become a Better Software Developer: A Handbook on Personal Performance
- Dropbike: Data Breaches and Free Bike Rides
- The Making of Underrun – A WebGL Shooter in 13kb of JavaScript
- Want a secure browser? Disable your extensions
- How You’re Being Manipulated By Software
- Finding a Continous Integration solution
-
JavaScript Equality Table Game
but it's not like minesweeper, you have to klick on 'show results' to see the score
- Software disenchantment
- Turn your smartphone into a 3D controller (think Wii remote) with ONLY a web app
- Evolving mobile architecture at Reddit
- Website Style Guide Resources
- A Brief History of Metaphysics
- THE FONT LOADING CHECKLIST
-
Performance - Stack Exchange
some impressive numbers, however I expected they have more servers running
-
MDN Browser Compatibility Data on the command line
I prefer Dash with the MDN docs, but this seems like a good alternative
- Apple 1 ROM disassembly (256 bytes) with explanation
- Work/life balance and challenging work: you can have both
- Variable Fonts Arrive in Firefox 62
- Sandboxing Cycle
- The macOS Mojave Patcher Tool for Unsupported Macs
- React Performance - Insights on Optimizing Major React Performance issues
- On Redis master-slave terminology
-
Fabulous Text Only Websites, 2018 Edition
it's 2018 and it's great to see some people still care about text only versions
- SQL Style Guide
- The Servers Are Burning
- Google AMP Can Go To Hell
- Overview of Popular Static Site Generators
-
The End of Firefox Windows XP Support
😢
-
Update to Privacy Zones functionality
I really liked this feature before, now it's even better.
- FCK DRM
- Rails Presenters
- How LLVM Optimizes a Function
- Array and Boolean
August 2018
- Can Beethoven send takedown requests?
- Announcing BitMidi
- Building the Google Photos Web UI
- Fast Full-Text Search in PostgreSQL
-
This is Windows 95, running in an Electron app
why not just use a emulator when you can use a overbloated chrome
- Babel 7 released
- Why use GraphQL, good and bad reasons
- Is Rails still relevant in 2018?
- An Introduction to Service Workers
- Stop! Don't blindly take that coding challenge
- Profiling
- HTTP Headers FTW
- Publii - Open source CMS for static websites
- Stop Hiring for Culture Fit
- Docker can't be downloaded without logging into Docker Store
- Evoke 2018 Demoparty results
- Double Shot #2159
- A native lazy load for the Web platform
- Health Checks and Graceful Degradation in Distributed Systems
- Repair or Replace
- Determinism
- ALL CAPS
- Voting Software
- TensorFlow 2.0 is coming
- Cost of a Join
-
Double Shot #2155
Advance Git Fu is great to read
- Ray Tracing - Part 1
July 2018
- The complete illustrated Flexbox tutorial
- Powering your Ruby & Rails development with Pry
- Software Development
- Ruby on Rails: send emails with style
- rutie: A bridge betweeh ruby and rust
- HTTP 'not secure'
- Common webpage design mistakes
- Rockstar is a dynamically-typed Turing-complete programming language
- JavaScript fundamentals before learning React
- Farewell, Google Maps
- CSS at Scale: LinkedIn’s New Open Source Projects Take on Stylesheet Performance
- Riot's Approach to Anti-Cheat
- How Tinder keeps your exact location (a bit) private
- How to build an npm worm
- Webamp now includes MilkDrop 🤘
- A minimal guide to ECMAScript Decorators (and Property Descriptors)
- Why incompetent people think they’re amazing – The Dunning-Kruger effect
- Delivering WordPress in 7KB
- Guido van Rossum retires as Python's BDFL 😱
- Brutalist Web Design
- The CSS Paint API
-
Vim ported to WebAssembly
so we can finally run vim inside of electron to waste more ram
- The div that look different in every browser
- MySQL High Availability at GitHub
-
One Talk to rule them all
#buzzwordbingo
- How to Analyze Circular Dependencies in ES6?
- termtosvg
- CodeSandbox launched their dashboard and teams feature
- AV1: next generation video – The Constrained Directional Enhancement Filter
- (Image)
- The Hidden Cost of Touchscreens
- BIO: Combining the powers of BEM, OOCSS and ITCSS for Improving CSS
June 2018
- dads be like
- YAML: probably not so great after all
- Inside Nintendo’s “perfect” method for detecting online Switch piracy
- keyboard gym: exercises you can do to stay healthy
-
Firefox is back. It's time to give it a try
I'm quit happy with Firefox these days. At least for surfing. For web development they still have some homeworks to do.
- Vue.js: the good, the meh, and the ugly
-
Make. It. Simple. Linux Desktop Usability — Part 1
not just desktop, it could also be applied for websites
- How CSS works: Parsing and painting CSS in the critical rendering path
- Applications of Lambda in Ruby
- The "Good Luck With That" Public License
- A cartoon intro to DNS over HTTPS
- Chatbots were the next big thing: what happened?
- Repairs
-
Web Framework Performance Comparison Round 16
#uselessBenchmarks
- How a 64k intro is made
- Hidden jewels of Ruby stdlib
- Spring clean your dev machine
- haute-couture: find outdated styles in HTML/CSS
- A pure Ruby implementation of a TensorFlow-like library with provisions for hardware acceleration
- What’s next for JavaScript? – A talk on ESNext by @bramus
- Securing macOS [in 2018]
- Awesome Talks
- DNS over HTTPS (DoH), a cartoon intro
-
Ten sentences with all the Scrum Master advice you’ll ever need
great basic things for every scrum process
-
Several tips how to bypass website anti-scraping protections
with lots of practical advices
May 2018
- Arel with Wharel
- Why is Front-End Development So Unstable?
- The Benefits of HTTPS for DNS
- The Secret of Monkey Island
- Pwned Passwords in Practice: Real World Examples of Blocking the Worst Passwords
- Hacking a cheap fitness tracker bracelet
- Stealth – a Ruby framework for creating conversational bots
- Weird operators in PHP
-
Today Mac OS X is as old as the Classic Mac OS
I'm getting also old
- Ruby is dead | A totally legit site based on science
- The Front-End Tooling Survey 2018 - Results
- Deprecating Paperclip
- Earth-Moon Fire Pole
- DevOps security checklist
- What’s wrong with CSS-in-JS?
- txt.fyi
- How to Take Criticism
- Die DSGVO-Todesliste
- I asked Apple for all my data. Here's what was sent back.
- Windows 95 style UI components for iOS 😱
- ★ The End of Third-Party Twitter Clients?
- What if JavaScript wins?
-
JavaScript is Good, Actually
like other languages, too
- That’s our job
- Security, security, security!
-
Double Shot #2089
"Ten Things I Learned from a Job Hunt for a Senior Engineering Role" gave some good insights
-
Looking at the Lispy side of Perl
good old perl
- A guide to getting started with Ruby on WebAssembly
-
Double Shot #2083
finally - GIS support
- Top 10 errors from 1000+ Ruby on Rails projects (and how to avoid them)
- FoundationDB – Apple's open source distributed database
- “last 2 versions” considered harmful
- Best Practices With CSS Grid Layout
-
Double Shot #2081
Anti patterns is a good read, and the infinite range syntax in ruby seems to be great
April 2018
- Why is the kernel community replacing iptables with BPF?
- Titus, the Netflix container management platform, is now open source
- Museum of Websites
- The Menu Bar
- When Sysadmin lends a hand
-
Regxr – test your regular expressions from your Mac's warm embrace
I like the online <a href="https://regexr.com/">https://regexr.com/</a> - but having this offline is also great
-
Hey hey `font-display`
nice reminder, so easy to forget
- An awesome list of open source macOS apps
- Humming along - Analyzing RubyGems stats for 2017
- Content Security Policy coming to Rails 5.2 - the full guide on how to introduce it
- The Missing Ruby Reference
- Separating Data and Code in Rails Architecture
- AV1 beats x264 and libvpx-vp9 in practical use case
- Wey - a fast, open source Slack desktop app
- Rails 5.2.0 FINAL: Active Storage, Redis Cache Store, HTTP/2 Early Hints, CSP, Credentials
- Is My Single-Page Application SEO Friendly?
- The Stack Overflow Age
- Nikon versus Canon: A Story Of Technology Change
- The dots do matter: how to scam a Gmail user
- reverse engineering WhatsApp
- Making the Touch Bar finally useful
- Storing data
- What comes after senior developer?
- A New Ruby Application Server: NGINX Unit
- Host your own DNS-Over-HTTPS server for Firefox
- Chrome Is Scanning Files on Your Computer
March 2018
- React v16.3.0: New Lifecycle Events and Context API
- ES modules: A cartoon deep-dive
- Elapsed time with Ruby, the right way
- Neither black nor white
- How CSS’s display: contents; works
- More yield_self awesomeness
- Dejavu – the missing web UI for Elasticsearch
- How to recognize burnout (and how to prevent it)
- Efficiently load JavaScript with defer and async
- Overview of Redis high availability
- 10 great examples of 404 error pages
- The Making of ”Welcome Home” by Spike Jonze
-
Show MDN browser compatibility data on the command line
I use Dash to look these things up, but cool to be able to to it in console as well
- A list of cool Chrome DevTools tips and tricks
- Common patterns for building resiliency in distributed systems at Scale
- An open source Spotify client running as a UNIX daemon
- Database modeling anti-patterns 🙅♀️
- Not Available
- Containers Patterns | There are thousands of ways to use containers
- Good to great UI animation tips
- Gaijin Engineer in Tokyo
- 10 cheat codes for designing User Interfaces
- Pixel Synth
- A hardware pedal for Vim? That's clutch!
- An XKCD excuse generator
- Nerd Fonts – iconic font aggregator, collection, and patcher
- goto – a shell utility allowing navigation to aliased directories
-
The problem with the Code of Conduct
some interesting thoughts.
- The exciting future of React
- ACME v2 and Wildcard Certificate Support is Live
- How to pronounce SQL properly? S-Q-L or Sequel?
- NSynth Super
-
CSS Houdini Experiments
not really usable for now, but looking forward
- Solving CAPTCHAs with TensorFlow and Ruby
- Stack Overflow Developer Survey 2018
- Ruby one liners
- Do neural nets dream of electric sheep?
- Making a Deep Copy of an Object in JavaScript
- Grid Time (or “Why are clocks in Europe lagging behind by 5 minutes?”)
- Double Shot #2048
- GDPR - A Practical Guide For Developers
- It’s good to have experience
- Firefox Configuration Guide for Privacy Freaks and Performance Buffs
- Collection of programming books under CC License
- Making a Clap-Sensing Web Thing
- 12 best practices for user account, authorization and password management
- Colorization Using Optimization
- Step by step guide to building a scalable application on AWS platform
-
GitHub Survived the Biggest DDoS Attack Ever Recorded
impressive
February 2018
- I don’t understand Graph Theory.
- CSS Keylogger (and why you shouldn’t worry about it)
-
Double Shot #2038
'Running a modern infrastructure on Kubernetes' sounds interesting
- Handling Phone Numbers: Best Practices for Developers (2015)
- Why OpenStreetMap is in Serious Trouble
- The method JIT compiler for Ruby 2.6
- 3D engine on MS Excel - without vba
- React Native relicensed under the MIT license to match React
- 3 simple tricks for smaller Docker images
-
Deldo is a sex toy control and teledildonics mode for Emacs
perfect argument to get an VIM user working with Emacs
-
Just a few ads
nobody cares about an ad blocker from one of the biggest ad sellers
- Let's Encrypt hits 50 million active certificates and counting!
-
Ember team releases version 3.0 of their ambitious web framework
it still lives. Impressive
- Impostor Syndrome
- Nginx HTTP2 Server Push
-
HEAD - A free guide to elements
overview about common used head elements
- Ruby’s New JIT
- CSS Grid Garden
-
Understanding the Limitations of HTTPS
'just use https' does not means security by default
- Phaser HTML5 game framework 3.0 released
- How to build your own private smart home with a Raspberry Pi and Mozilla’s Things Gateway
- Everything Easy is Hard Again
- Let's talk about usernames
- PRODUCTION or STAGING, you never know which…
- Renaming Cocaine to Terrapin
- Unlearning Toxic Behaviors in a Code Review Culture
- Modern CSS Explained For Dinosaurs
- In 2015 scientists started sharing their most embarrassing
- A Letter to a Junior Engineer
- Caviar’s Word2Vec Tagging For Menu Item Recommendations
- Fast JSON API serialization with Ruby on Rails – Netflix TechBlog
-
Chrome 64 – What’s New in DevTools
the new performance monitor looks great
- How to use variable fonts in the real world
January 2018
- JavaScript: What’s new in ECMAScript 2018 (ES2018)?
- Advanced Denanonymization through Strava
- Build your own VR headset for $100
- Why Japanese Web Design Is So… Different
- How To Run Your Own Mail Server
- A minimalist guide to tmux
- Ranking Programming Languages by GitHub Users
- The Evolution of : Gif without the GIF
- Job ad for designer proves its point with MS Paint shocker
- Keep webpack Fast: A Field Guide for Better Build Performance
- Burger King | Whopper Neutrality
- Safari 11.1 in iOS 11.3 to support Service Workers, PaymentRequest etc
- SurveyJS is out of Beta
- Variable Name Anti-Patterns
- The war on interruptions
- React Food Truck – A curated set of Visual Studio Code extensions for React Developers
- Stealing Usernames, Passwords, and other (Personal) Data via Browsers and NPM Packages
- HTML 5.2: The Element
- Get HTTPS working on localhost, with green padlock
- List.community - a wrapper on top of the various "awesome" lists on GitHub
-
Double Shot #2009
the mysql guide looks good
- Double Shot #2002
- [ES5 & ES6] Debounce React Events on Inputs
- A Tinder Progressive Web App Performance Case Study
- “Username or Password Incorrect” is Bullshit