Swizec's articles in the "technical" category
I aim to write mindblowing emails with real insight into the career and skills of a modern software engineer. "Raw and honest from the heart!" as one reader described them.
Below are 294 articles filed under technical
. Enjoy ❤️
Software Engineering Lessons from Production
Join Swizec's Newsletter and get insightful emails 💌 on mindsets, tactics, and technical skills for your career. Real lessons from building production software. No bullshit.
"Man, love your simple writing! Yours is the only newsletter I open and only blog that I give a fuck to read & scroll till the end. And wow always take away lessons with me. Inspiring! And very relatable. 👌"
Async React with NextJS 13
We look at React's native async support and how to use it in a NextJS 13 app. Learn how to use async components, parallel loading states, and caching with React.js and NextJS 13.
January 14th, 2023
Reader question: useReducer or XState?
Following up from my article about XState and Stately.ai, fellow reader S. asked if `useReducer` could ever be relevant when using state machines in React code. Yes! Here's how
November 11th, 2022
When your brain is breaking, try Stately.ai
Two years ago I wrote about using XState after building a UI interaction so twisted my brain leaked out my ears. It helped. Now the creators have made something even better – Stately.ai 😍
November 8th, 2022
Over-engineering tweet embeds with web components for fun and privacy
A way to embed tweets in static sites with full pre-renders and live updates using just 9kB of client-side JavaScript, 2 HTTP requests, and full reader privacy ✌️
October 26th, 2022
useCallback is a code smell
One of my favorite ways to simplify and de-gotcha React code is to rip out all the useCallback and useMemo drama. 90% of the time you don't need it.
September 16th, 2022
Your code doesn't matter
"Your code doesn't matter" is something experienced programmers say, between the lines, when they sound like complete lunatics. But what do they mean? Why does everyone say it?
August 16th, 2022
Promise.allSettled, a wonderful tool for resilient code
The pros and cons of different approaches to writing resilient code that handles partial failures
April 4th, 2022
Saving time in UTC doesn't work and offsets aren't enough
Lessons from a painful outage with timezones, UTC offsets, and database clients that took a whole week to resolve.
March 25th, 2022
A quick lesson in writing resilient code
On the backend anything can and will fail. How do you deal with that?
March 21st, 2022
A new VSCode extension makes state machines shine on a team
When you grok state machines, a new world of computational beauty and software design opens in front of your eyes. Things that used to be hard become easy. The impossible becomes possible. And you turn into that annoying team member.
February 25th, 2022
How defensive coding leads to bloat
Defensive coding is an important lesson and over time and engineers it leads to massive bloat, if you're not careful.
November 15th, 2021
How to configure Jest with TypeScript
Using plain Jest on a TypeScript codebase is kinda rough. No types in tests no thanks. Making Jest and TypeScript work together smoothly is something you do just rarely enough to forget the details. Hope this helps you and future me too ✌️
October 19th, 2021
Anything's a sorting problem if you squint hard enough
What's the most algorithmically fun code you've written recently? 🤔 Here's mine: A dataviz using a grid of triangles that fits into the client's logo.
September 7th, 2021
You don't need a big team to automate your work
The opposite of folks who follow every FAANG trend and over-engineer their companies to death, are the folks who *never* take advice from the big boys.
July 27th, 2021
React 18 and the future of async data
Friend, I have glimpsed the future and it is amazing. React 18 is shipping with <Suspense> and startTransition for deferred component rendering, but not data loading. That's coming in a future 18.x version.
July 22nd, 2021
A surprising feature of JavaScript optional chaining
This blew my mind, thought you'd like it too. You can do more with ?. than you thought.
June 24th, 2021
Use Netlify's _redirects on Gatsby Cloud
Something always goes wrong when you change hosting providers. 😅 For me it was redirects. A vital feature of any site migration.
June 23rd, 2021
Trying out React 18 Alpha
I read everything about React 18 Alpha, trawled through the work group, and ran some experiments. Here's what you'll wanna know.
June 11th, 2021
A fun security bug with static rendering – CodeWithSwiz #31
The flash of unlocked content is great fun for any paywall
June 1st, 2021
Build privacy-focused blazing fast tweet embeds – CodeWithSwiz 30
Twitter embeds every tweet on your page as an iframe. Loads 1.2MB of JavaScript, makes 20+ HTTP requests and uses 100+ DOM nodes. 💩
May 12th, 2021
Twitter embeds without JavaScript, pt1 – #CodeWithSwiz 29
Continuing our quest for better Lighthouse scores, more reader privacy, and less JavaScript we attacked the next biggest culprit 👉 Twitter.
May 4th, 2021
Your serverless questions, answered
When talk comes to serverless, engineers have lots of questions. Here are some answers 😊
March 29th, 2021
Go full-stack in 5min with your first cloud function
How *do* you build a JavaScript function that runs in the cloud serverlessly? Here's how to get started with Vercel, Netlify, or AWS Lambda
March 18th, 2021
Can you automate love?
What's the laziest thing you've ever built? For me it's a bot that sends cute pictures every day
March 17th, 2021
If you can JavaScript, you can backend
When you think of a backend or server developer, who comes to mind? A wizard of arcane magics. The future belongs to full-stack frontend engineers.
March 16th, 2021
That time serverless melted my credit card
Serverless is pretty cheap. But you *can* get it wrong.
March 12th, 2021
Why serverless fits side-projects perfectly
How do you provision servers for no load most days THEN ALL THE LOAD THIS MINUTE? That's how side-projects work and it's hard
March 10th, 2021
How a $12 AWS bill powers a $50k business
my point is that running server code on the web has become ridiculously cheap *and* easy
March 9th, 2021
Variants – a quick tip for better React components
Reusable components like to grow boolean props for different situations and complexity soon blows up. Variant props are the perfect solution.
March 2nd, 2021
Reverse engineer a GraphQL API to automate love notes – CodeWithSwiz 24
We used a man-in-the-middle attack to snoop an app's API traffic, replayed it in a GraphQL client, and successfully put it inside an AWS Lambda 🤘
February 23rd, 2021
A TypeScript trick for reusable hooks
Reusable hooks are all fun and games until TypeScript starts yelling at you about incompatible types.
February 19th, 2021
React Bricks - visual blocks editor for NextJS #CodeWithSwiz 22
Tried a new visual editor for NextJS and CreateReactApp. Got a site up in 20min 🤘
February 9th, 2021
The Magic Function principle
Write functions, mostly magic.
February 5th, 2021
[CodeWithSwiz 21] useAuth beta support for Firebase 🎉
It works! useAuth has beta-level support for Firebase Auth 🥳 I did not expect that to take 3 sessions.
January 26th, 2021
Tech interview best practice that fails in life
Tech interviews have a magic answer: The hashmap. And it's not always best on the job.
January 22nd, 2021
[CodeWithSwiz 20] Adding Firebase support to useAuth, pt2
Firebase continues to be 💩. No wonder people keep asking for support in useAuth. Almost there ✌️
January 19th, 2021
[CodeWithSwiz 19] Firebase Auth support in useAuth, pt1
Support for Firebase Auth is one of the most requested features for useAuth and I figured what the heck, how hard can it be?
January 12th, 2021
SSR, SSRwR, SSG, CSR, WTFBBQ???
These abbreviations are getting out of hand. It's like a bad interviewer's wet dream.
November 24th, 2020
Gatsby to NextJS pt1, server-side-render or server-side-generate?
Gatsby and NextJS do similar things differently. One is better for websites, the other for webapps. In episode 17 of CodeWithSwiz we explore the biggest difference.
November 19th, 2020
Use private libraries to cleanup your codebase
You're using the many-small-repositories approach to work faster as a team. But where do you put shared code? How do you make it nice to use? How to publish and install private packages?
November 16th, 2020
React context without context, using XState – CodeWithSwiz 14, 15
useAuth works without React Context! 🎉 here's how
November 10th, 2020
Swap useReducer with XState – CodeWithSwiz 13
In Refactoring a useReducer to XState we talked about a 5 step process to turn a reducer into an XState state machine. Today answers "Ok now what?"
October 22nd, 2020
How to write tests for XState – CodeWithSwiz 12
Once you know how to refactor a useReducer to XState, you gotta prove you did it right.
October 13th, 2020
Refactoring a useReducer to XState, pt1 – CodeWithSwiz 11
XState promises to be like useReducer+Context combined and the simplest way to handle complex state in React apps. But can it deliver? On this episode of #CodeWithSwiz, we gave it a shot.
October 8th, 2020
Prefetch data with React Query and NextJS – CodeWithSwiz 8, 9
Prefetching lets you start React apps without loading spinners. Gatsby introduced this concept with `staticQuery`, react-query and NextJS make the pattern easier 😍
September 30th, 2020
Modern backend is a JavaScript function
Many engineers think server-side code is the scary domain of True Engineers. Something newbies, juniors, and frontend engineers shouldn't touch. They're wrong. Modern backend is a joy. ❤️
September 22nd, 2020
Using JavaScript to commit to Github – CodeWithSwiz 7
Update code with a JavaScript function? Easier than you think 😍
September 17th, 2020
Why NextJS /api routes are fab – CodeWithSwiz 6
In this episode of CodeWithSwiz, we tried NextJS's support for /api routes – code running on the backend. In a word – Wow
September 13th, 2020
Exploring NextJS with a headless CMS, pt4 – CodeWithSwiz
NextJS getStaticProps, environment vars, and why you shouldn't use yarn link – all in this episode of #CodeWithSwiz
September 10th, 2020
Exploring NextJS with a custom CMS, pt3 – CodeWithSwiz
Friend, this episode of #CodeWithSwiz was a great example of why you want to start using TypeScript and how thermal load *destroys* computers.
September 8th, 2020
Building a small CMS with NextJS, pt2 – CodeWithSwiz
You're the computer, the CMS is your script. Starting small, trying NextJS, comparing microbundle vs. parcel for extracting libraries out of projects.
September 3rd, 2020
Your first NextJS app – CodeWithSwiz
On CodeWithSwiz ep2, we tried NextJS and built our first tiny app. Complete with a design system, static rendering, React Query to talk to AWS Lambda, and deployed to live 🤘
September 1st, 2020
CodeWithSwiz: Privacy-focused embeds for YouTube, Twitter, et al
A new old experiment 👉 regular livecoding. It's like a podcast with video, show notes, regular cadence, and we both learn something new.
August 27th, 2020
When your brain is breaking, try XState
August 10th, 2020
In 2020's, what is "frontend"? 🤨
"He's a frontend guy, is this even a fair question to ask?" The head of engineering was worried about our systems design question …
August 7th, 2020
Why react-hook-form is my new favorite form library
August 3rd, 2020
Path dependence or why existing code always looks bad
July 6th, 2020
Build a new design system in a couple afternoons
July 3rd, 2020
Wormhole state management
June 29th, 2020
Using scopes for elegant JAMStack permissions
June 15th, 2020
Screw web performance, just wait a little 😈
May 22nd, 2020
Add granular role-based access to your JAMStack app
May 18th, 2020
Don't be weird
May 8th, 2020
The 3 types of scalability
May 1st, 2020
Why you should build a form generator
Lemme guess, every project involves 1 or 2 forms and they're all the friggen same. You got forms coming out the wazoo. Render fields. Connect to state. Add field validation. Detect submit. Add form validation. Send fetch request. Repeat.
April 27th, 2020
How tests uncover hidden complexity in simple code
April 14th, 2020
The surprising performance boost from changing gif embeds
April 6th, 2020
How you can start using GraphQL today without changing the backend
GraphQL for new projects looks great ... buuuut how do you use it with that old backend cobbled together in Rails over the last bazillion years?
March 12th, 2020
Mocking and testing fetch requests with Jest
February 28th, 2020
How serverless beats servers
January 28th, 2020
How GraphQL blows REST out of the water
Let's have a look at hyow GraphQL makes queries so much easier and more pleasant than REST
January 23rd, 2020
Famous last words: Pfft, that's easy
January 10th, 2020
A promises gotcha that will catch you out
December 16th, 2019
How I answer the door with AWS Lambda and Twilio
December 8th, 2019
Towards a Gatsby+Suspense proof-of-concept
November 11th, 2019
Sometimes your worst code is your best code
November 8th, 2019
Experimenting with the new React Concurrent mode
November 6th, 2019
Is hot dog taco?
What if I told you modern tools let you build and launch a small webapp in 30 minutes? Complete with SSL, a .com domain, a database, a documented API, CDN hosting, fast static initial loads, and a hydrated SPA? That's the challenge I posed at Silicon Valley Code Camp this weekend. The audience didn't believe me, so it was time to perform some magic. 🧙
October 21st, 2019
That time monkey patching took 2 days off my life
October 14th, 2019
REST API best practice in a GraphQL world
GraphQL is taking the world by storm and it is wonderful. But in the real world, you're still dealing with REST APIs aren't you?
September 30th, 2019
Moving 13 years of Wordpress blog to Gatsby Markdown
September 23rd, 2019
What happens when you push AWS credentials to GitHub
September 13th, 2019
useReducer + useContext for easy global state without libraries
August 12th, 2019
Better engineer or More Effective engineer?
July 29th, 2019
A short lesson in debugging complex systems
July 26th, 2019
The day I crashed production 4 times
July 19th, 2019
A whole new level of technical decision
July 8th, 2019
A Drilldown Piechart with React and D3
June 28th, 2019
Is JavaScript really getting too complex?
June 10th, 2019
Getting the CSS out of rendered React components
June 3rd, 2019
TypeScript for serverless lambda backends 👌
A few months ago I inherited a Kotlin project. It was an unfinished prototype and all I had to do was wrap it up and deploy. Every time I touched the project, it broke. Nothing worked. Wouldn't run on my machine, wouldn't read API requests, couldn't get tests working, if I changed some code I broke it all. That's when I realized learning a new field is super hard
May 27th, 2019
Just for fun 👉 React vs. jQuery vs. Svelte, same 🐱 app
I was bored Monday night and decided to see if I still know how to build with jQuery. Nothing better to do, no pressing ideas, a bit of fun. Also a favor for a friend who's preparing to talk about React to a bunch of people who've never seen it before 😛
May 24th, 2019
The Phoenix Project recap
May 19th, 2019
LOLCODE-to-JavaScript compiler babel macro
A fully functioning LOLCODE-to-JavaScript compiler implemented as a Babel macro. You never thought you wanted this and now here it is. You're welcome. 🐱
May 16th, 2019
The web moves fast, how do you keep up?
May 7th, 2019
comp sci ain't useless
May 1st, 2019
Build better software with The Theory of Constraints
April 29th, 2019
Finally, a practical use case for JavaScript generators!
JavaScript generators are amazing. They let you write infinite loops that terminate. Yield values from functions before they finish … and I bet you've never used a JavaScript generator even once did you? I FOUND A USE! A real world practical use-case where generators make your code better. 😱
April 17th, 2019
Custom markdown extensions with Remark and HAST handlers
April 8th, 2019
Trying the new ResizeObserver and IntersectionObserver APIs
April 3rd, 2019
BrowserStack – a less painful way to test weird browsers
March 20th, 2019
Fixing laggy UI with React.memo
March 18th, 2019
useDimensions – a React Hook to measure DOM nodes
March 13th, 2019
Learning a new field is super hard, I get it now 😅
March 11th, 2019
Why dataviz does better for your career than TODOapps
March 6th, 2019
Behind the curve ... of my bar donut chart 🤨
March 5th, 2019
JavaScript’s most popular dataviz library
February 26th, 2019
Dinosaurs, software engineers, and cholera. What do they have in common?
February 25th, 2019
An experiment to merge React and Vue
February 20th, 2019
Custom react hooks ❤️
February 11th, 2019
Async, await, catch – error handling that won't drive you crazy
February 8th, 2019
React, D3, and hooks 👉special livecode tonight 9:30pm
February 6th, 2019
Why CSS-in-JS is winning, an example
January 30th, 2019
Tooltips and state across various d3 charts in a React dashboard!
January 28th, 2019
Delightful state management with hooks and Constate
January 16th, 2019
How to build a Remark plugin to supercharge your static site
January 9th, 2019
DRY is a footgun, remember to YAGNI
January 7th, 2019
How to use React Context effectively
January 2nd, 2019
Tooltips ... tooltips are not so easy 🧐
December 10th, 2018
Building a React dataviz with React hooks
December 6th, 2018
Oh the things you can learn with a fun weekend hack project 🏗
November 19th, 2018
Waiting for Godot with callbacks, promises, and async
November 16th, 2018
Some life advice I learned from computer science
November 12th, 2018
Announcing D3blackbox and useD3
November 6th, 2018
Easy D3 blackbox components with React hooks
November 1st, 2018
React hooks in a nut shell 🥐
October 29th, 2018
Making a Node CLI both global and local
October 15th, 2018
The most frustrating debugging experience I've had all year
August 28th, 2018
How virtual memory saves lives, workshops, and your sanity
August 21st, 2018
Build responsive SVG layouts with react-svg-flexbox
August 17th, 2018
ReactVR/react-360 is great, but maybe not quite there yet
August 3rd, 2018
Answering some common questions about React + D3 2018
August 2nd, 2018
Creating the perfect rounded edge with D3 curves
July 31st, 2018
Hire these interns
July 10th, 2018
Upgrading to Gatsby v2 with the help of the hivemind 👌
June 26th, 2018
Use ref callbacks to measure React component size
June 7th, 2018
Tiny React & D3 flamegraph tutorial
June 6th, 2018
Towards a WebRTC mesh network with RTCDataChannel
May 30th, 2018
Learning WebRTC peer-to-peer communication, part 2 – connecting 2 browsers on different devices
May 16th, 2018
Learning WebRTC peer-to-peer communication, part 1
May 7th, 2018
Declarative D3 charts with React 16.3
April 27th, 2018
Using YouTube as a data source in Gatsbyjs
April 24th, 2018
Blockchain-redux becomes useful, part 1
April 3rd, 2018
How our engineering team got 12x faster using these 5 lessons about integrating 3rd-party services
March 15th, 2018
Build a Chrome extension from idea to launch in an afternoon
March 13th, 2018
Benchmarking Vue
March 5th, 2018
Make your things pretty with chroma-js
March 2nd, 2018
Seamlessly render a Preact component in a React project
February 28th, 2018
Building an interactive DOM benchmark, preliminary results
February 27th, 2018
Loops are the hardest
February 15th, 2018
3 key insights that make D3.js easy to learn
February 8th, 2018
Fade in lazy loaded images with React and CSS – a quick guide
January 31st, 2018
How to populate react-redux-form with dynamic default values
January 25th, 2018
How to setup Gocommerce on a new Digital Ocean droplet
January 23rd, 2018
Always put side effects last
January 10th, 2018
Blockchain Redux experiment, part 2
January 4th, 2018
Advent of Code Day 24 – The A* Algorithm, I think
December 25th, 2017
Advent of Code Day 22 – Sporifica Virus
December 22nd, 2017
Advent of Code Day 20 – Particle Swarm
December 20th, 2017
Advent of Code Day 19 – A Series of Tubes
December 19th, 2017
A blockchain-backed Redux clone in 105 lines of code
December 18th, 2017
Advent of Code Days 17 & 18 – Spinlocks and Interpreters
December 18th, 2017
Advent of Code Day 15 – Dueling JavaScript Generators
December 15th, 2017
Advent of Code Day 14 – Disk Fragmentation
December 14th, 2017
Advent of Code Day 13, Packet Scanners
December 13th, 2017
How to DDoS yourself with analytics –– a war story
November 29th, 2017
Livecoding 52: First impressions of Vue
November 20th, 2017
Arcane JavaScript knowledge still useful
November 17th, 2017
How to add real web push notifications to your webapp
You've probably seen web notifications before. YouTube shows them when it goes to a new song, Facebook pings them when a new message comes in, scammy websites ask for permissions and you say no. The usual. You can fire those notifications from anywhere inside your JavaScript.
November 16th, 2017
After a week I must begrudgingly admit VSCode is a better editor than Emacs
November 10th, 2017
Livecoding 51: I did it! My first PR to a big OSS project \o/
November 9th, 2017
My love letter to Prettier
November 8th, 2017
Livecoding Recap 50: How newbie mistakes kill the flow
November 6th, 2017
Why I won't be switching to VSCode any time soon
November 3rd, 2017
That one time a simple for-loop increased conversions by 19%
October 20th, 2017
Livecoding Recap 48: JavaScript async/await and Morty's Mindblowers
October 2nd, 2017
Server-side rendering a D3 chart with React 16
September 28th, 2017
Livecoding Recap 47: Webpack build progress indicator for Mac Touchbar
September 18th, 2017
How JavaScript linters cause bugs
I was doing code review for a coworker, and it soon became obvious that he used a linter and that the linter gave him a bright idea: _use strict comparisons_.
September 14th, 2017
Livecoding Recap #46: 3D is hard, WebAR defeats me
September 11th, 2017
How you can translate any random D3 example to React
August 31st, 2017
Livecoding Recap #44: Dipping my toes in AR.js
August 28th, 2017
How to think of your business logic as data
August 11th, 2017
Livecoding recap #43: A landing page for React + D3v4
August 8th, 2017
How I reverse-engineered Hacker News
August 3rd, 2017
Livecoding recap #42: HackerNews app where people are nice
July 10th, 2017
Livecoding recap #40: react-navigation with React Native
June 12th, 2017
Exploring the AST with Babylon and Prettier
June 8th, 2017
Livecoding #39: Towards an AI that writes JavaScript
June 5th, 2017
Do you really need immutable data?
May 24th, 2017
Livecoding #38 - A faux AI that writes JavaScript
May 22nd, 2017
Here's why you should never implement your own caching
April 13th, 2017
Livecoding #37- Building a real life color picker
April 11th, 2017
A Fast Mutex Lamport Lock with JavaScript Promises
March 30th, 2017
Time is funny in Ruby
March 29th, 2017
N-body Collision Simulation with React, D3, and MobX
March 16th, 2017
Livecoding #35 - A New Site for reactd3js.com
March 13th, 2017
Livecoding #34: A Map of Global Migrations, Part 3
February 20th, 2017
Declarative `canvas` Animation with React and Konva
February 16th, 2017
Livecoding #33: A Map of Global Migrations, Part 2
February 13th, 2017
Livecoding #32: A Map of Global Migrations, Part 1
February 7th, 2017
It ain't stupid if it works
February 1st, 2017
Yet another hard lesson about time
January 19th, 2017
Livecoding #30: Dipping my toes in React Native
January 17th, 2017
Animating 2048 SVG nodes in React, Preact, Inferno, Vue, Angular 2, and CycleJS – a side-by-side comparison
December 21st, 2016
Livecoding #29: Optimizing React choropleth map rendering
December 19th, 2016
Using HOCs to DRY up your code
December 16th, 2016
If the first page of The Martian was written in different type systems
December 15th, 2016
Dancing tree fractal with React
December 13th, 2016
Fun surprise: UglifyJS can't ES6
December 7th, 2016
Livecoding #28: Productizing the door-answering Slack bot, Part 1
December 5th, 2016
One awkward thing about MobX: Complex models
December 2nd, 2016
Do you even need that bind?
November 29th, 2016
Livecoding #27: New React Indie Bundle page almost done
November 21st, 2016
Fractals in React
November 18th, 2016
Fast, searchable dropdown inputs with React
November 16th, 2016
I made a python script that converts SVG to React ?
November 15th, 2016
Livecoding #26: A new page for a new React Indie Bundle
November 14th, 2016
Modeling time in React
November 9th, 2016
How to structure your MobX app for the real world
November 4th, 2016
A tiny ES6 fetch() wrapper that makes your life easier
November 2nd, 2016
How to waste hours of life with fetch() and a bit of brainfart
Both superagent and fetch() enable you to talk to a server. The first produces clean code that gets nesty if you need many things. The second produces clean code that is Promis-y and sometimes cumbersome. The difference between superagent and fetch() isn't that one sends your headers as-given and the other lowercases their names. The difference is that superagent sends a cookie and fetch() doesn't!
November 1st, 2016
Livecoding #25: Adding MobX to a vanilla React project
October 31st, 2016
Simple MobX-driven modals
October 28th, 2016
How to use MobX with create-react-app
October 27th, 2016
Histogram in D3v3 vs D3v4
October 25th, 2016
CSS classes don't work the way you think they work
October 21st, 2016
How to make Slack and Twilio talk to each other
October 18th, 2016
A trick to make your big dataviz load super fast
October 17th, 2016
Tying place names to county names with geonames.org
October 4th, 2016
Livecoding #24: A choropleth in React.js
October 3rd, 2016
Chrome's console.log is the slowest
September 28th, 2016
Livecoding #23: Slackbots and OAuth
September 26th, 2016
Backbone → React: Handling state with MobX
September 22nd, 2016
Backbone → React: it's a people problem after all ?
September 21st, 2016
Backbone → React – Step 1
September 20th, 2016
Livecoding #22: A door-answering Slackbot
September 19th, 2016
Firefox is slow, Lodash is fast
September 16th, 2016
Object clone performance: preliminary results
September 15th, 2016
A puzzle in JavaScript objects
This is a puzzle you can run into if you’re not careful, and sometimes, despite your best efforts, even if you are careful. It happened to me when I had a settings object that I passed into a view. The view then did things. When I made a new view from the settings object, it looked like the view I had just cleared.
September 9th, 2016
Work on React+D3js ES6 v2 begins in earnest
September 8th, 2016
The one thing flexbox can't do
September 7th, 2016
Backbone with ES6
September 1st, 2016
How to add ESLint to your project
August 31st, 2016
Livecoding #21: Use Babel for libraries, not Webpack
August 29th, 2016
Slack lied to me
August 25th, 2016
MacOS filesystem's annoying little quirk
August 23rd, 2016
Animated string diffing with React and D3
August 22nd, 2016
Livecoding #20: You can’t extend an object
August 21st, 2016
Conway’s game of life in Google Docs
August 16th, 2016
Livecoding #19: It’s hard to package a library
August 15th, 2016
JavaScript can fetch() now and it's not THAT great
August 12th, 2016
I broke AJAX in Chrome 52 ?
August 11th, 2016
JS object optimization bug in Chrome 52
August 10th, 2016
Livecoding #18: An abstract React transition component
August 7th, 2016
Livecoding #17: Particle physics is hard
August 4th, 2016
Livecoding #15: Reaching the limits of canvas redraw speed
July 20th, 2016
Livecoding #13: rendering React components with canvas
June 28th, 2016
Livecoding #12: towards animating 10k+ elements with React
June 16th, 2016
Using d3js transitions in React
April 28th, 2016
How to Make a Piechart using React and d3
April 15th, 2016
Animating with React, Redux, and d3
March 11th, 2016
Don't Worry; It's a Compiler Bug
December 29th, 2015
There's a "bug" in ES6 modules
November 2nd, 2015
React+Flux can do in just 137 lines what jQuery can do in 10
October 16th, 2015
Lesson learned, test your migrations on the big dataset
September 2nd, 2015
React components as jQuery plugins
August 7th, 2015
Webpack lazy loading on Rails with CDN support
June 4th, 2015
How to wait for DOM elements to show up in modern browsers
March 26th, 2015
How to run JavaScript tests in Chrome on Travis
January 27th, 2015
My new favourite Javascript trick
Using returns and callbacks in the same function. Sounds like crazy talk I know, but hear me out, I have good reason. I think.
June 26th, 2014
Checking for primes? Dumber algorithm is faster algorithm
March 21st, 2011
Project euler is a fun way to become a better geek
March 8th, 2011
Software Engineering Lessons from Production
Join Swizec's Newsletter and get insightful emails 💌 on mindsets, tactics, and technical skills for your career. Real lessons from building production software. No bullshit.
"Man, love your simple writing! Yours is the only newsletter I open and only blog that I give a fuck to read & scroll till the end. And wow always take away lessons with me. Inspiring! And very relatable. 👌"