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’, …
Continue reading “Scrollama – Scrollytelling with IntersectionObserver“
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 …
Continue reading “How far ahead of Apple Maps is Google Maps?”
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 …
Continue reading “Experimental (and exciting) React Feature: Call Return ”
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 …
Continue reading “Feeding the Audio Graph – Using Web Audio’s AnalyserNode“
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 …
Continue reading “Launch a React Native app with “Debug JS Remotely” enabled by default”
Getting started with Mapbox GL JS
Good intro by Arden de Raaij on setting up a basic Mapbox GL JS map with clickable markers that zoom upon getting clicked. Mapbox GL JS is a JavaScript library that uses WebGL to render interactive maps from vector tiles and Mapbox styles. It’s my favorite alternative to Google’s service and in this article I’ll …
Share terminal sessions as animated SVG with svg-term-cli
svg-term-cli is a tool that render asciicast (terminal recordings) to animated SVG. Pass the asciicast id into svg-term in order to convert it: svg-term –cast=113643 –out examples/parrot.svg –frame This asciicast for example: Using the command above, it will render to this SVG: svg-term-cli – Share terminal sessions as razor-sharp animated SVG everywhere →
Wes Bos – Async + Await
Evolution of <img>: Gif without the GIF
In the latest Safari Tech Preview it’s now possible to use MP4 files in <img> tags. Intended use case is short, muted, looping video. Colin Bendell digs deeper into this. By enabling true video formats (like MP4) to be included in <img> tags, Safari Technology Preview has fixed performance and UX problems. With it, our …