Axel — Command Line Download Accelerator

Via @benschwarz: Axel tries to accelerate the downloading process by using multiple connections for one file, similar to DownThemAll and other famous programs. It can also use multiple mirrors for one download. Axel → Getting sudden flashbacks to this old fart here: Think it was 1999 or 2000 when I first use FlashGet (then named …

Stealing Usernames, Passwords, and other (Personal) Data via Browsers and NPM Packages

👋 This post also got published on Medium. If you like it, please give it some love a clap over there. Late 2016, Stoyan Stefanov published “Oversharing with the browser’s autofill”. It’s an article on stealing personal data using the browsers their form autofill feature. The attack works by leveraging abusing the fact that autocompletion …

JavaScript Object and Array Explorers

If you’re starting out with object and array manipulations in JavaScript these handy tools by Sarah Drasner might come in handy. The reason they work so well is that it’s one page, and it’s driven by natural language. JavaScript Object Explorer →JavaScript Array Explorer → Do not however that the yielded code mutate the original …

On release cycles and deprecating stuff

From “What Really Happened with Vista: An Insider’s Retrospective” by Ben Fathi: The three year release cycle meant we rarely knew what the competitive landscape and external ecosystem would look like when we started a release […] What we thought we knew three or four years ago when we planned a given OS release was …

React Food Truck – A curated set of Visual Studio Code extensions for React Developers

Burke Holland: I spent a lot of time combing the depths of the VS Code Extension Marketplace to find the tastiest and most delicious extensions that are guaranteed to make your life as a React developer 129% more enjoyable. All you have to do is install the React Food Truck extension and it will automatically …

Scrollama – Scrollytelling with IntersectionObserver

Scrollama is a modern & lightweight JavaScript library for scrollytelling using IntersectionObserver in favor of scroll events. The code that accompanies the markup pictured above: // instantiate the scrollama const scroller = scrollama(); // setup the instance, pass callback functions scroller .setup({ container: ‘.scroll’, // wrapping container step: ‘.scroll__text .step’, // all steps graphic: ‘.scroll__graphic’, …

How far ahead of Apple Maps is Google Maps?

In succession to Google Maps’s Quiet Transformation, a new – and very extensive and highly interesting – comparison by the same author. He start off by taking a look at the level of detail when it comes to buildings. But these buildings are more than just a pretty detail—they appear to be the foundation for …

Experimental (and exciting) React Feature: Call Return 

Ryan Florence – co-author of React Router – on an experimental React feature: React has a new feature coming that I think is pretty cool. It allows us to compose with React in places we couldn’t compose before. I can immediately see how it’ll affect some of our components and some of our exercises in …

Feeding the Audio Graph – Using Web Audio’s AnalyserNode

Good article on 24ways (yes, that still is a thing) on using Web Audio’s AnalyserNode. const waveform = new Uint8Array(analyser.fftSize); const frequencies = new Uint8Array(analyser.frequencyBinCount); const ctx = canvas.getContext(‘2d’); const loop = () => { requestAnimationFrame(loop); analyser.getByteTimeDomainData(waveform); analyser.getByteFrequencyData(frequencies); ctx.beginPath(); waveform.forEach((f, i) => ctx.lineTo(i, f)); ctx.lineTo(0,255); frequencies.forEach((f, i) => ctx.lineTo(i, 255-f)); ctx.stroke(); } loop(); I especially …

Launch a React Native app with “Debug JS Remotely” enabled by default

I had a bug in a React Native app which only occurred on the very first launch of the app, right after install. The bug was situated in a complex Redux Saga which bootstraps the application and populates the Redux store with things like an (anonymous) API token, (remote) config settings, etc. The bug didn’t …