hello.js

var please = require('share');
console.log('thank you');

Thursday, 4 October, 2018 UTC

The joy of being a beginner

The joy of being a beginner

A month ago, I published I’m tired and realized it’s time to make some changes. Too much hustle, too much work, too much everything. So I’m trying a new hobby: motorcycles. Here’s me sitting on a real bike for the first time. At the shop, just trying ... more


Friday, 21 September, 2018 UTC

How I sponsored my own genius visa

How I sponsored my own genius visa

It’s the greatest hack in immigration history: I have an O-1, and I’m CEO of the company that sponsors it. OMFG IT WORKED!!! O-1 Visa now sponsored by my own Swizec LLC — Swizec Teller (@Swizec) September 7, 2018 That means I can live and work in the ... more


Friday, 17 August, 2018 UTC

Build responsive SVG layouts with react-svg-flexbox

Build responsive SVG layouts with react-svg-flexbox

SVG is great. Best way to build scalable graphics on the web. SVG can do everything from simple logos to data visualization and even animation. The best part is, you can manipulate SVG with both CSS and JavaScript. It’s an image that’s part of your DOM. ... more


Friday, 3 August, 2018 UTC

ReactVR/react-360 is great, but maybe not quite there yet

ReactVR/react-360 is great, but maybe not quite there yet

This exploration will feed into a new VR/3D chapter in my React dataviz book. Preorder it now My goal was to build a 3D scatterplot that you can explore. Stand inside your data and look around. Wouldn’t that be cool? Instead, I got a squished Baymax ... more


Thursday, 2 August, 2018 UTC

Creating the perfect rounded edge with D3 curves

Creating the perfect rounded edge with D3 curves

A coaching client showed me this design and asked: Ok, how do I build this? Tree structure with rounded edges Well hmm… it’s a tree of some sort. Each icon is a node, and each line is an edge. Nodes can have multiple children. I think You can build this ... more


Friday, 20 July, 2018 UTC

The surprising benefit of hiring interns to write your code

The surprising benefit of hiring interns to write your code

As you may know, I recently hired some interns. Two interns because I couldn’t decide which one I like more. Said I’d decide in two weeks. It’s been two weeks. My mental state before hiring looked like this Aaaaaaaa I have so many ideas aaaaaa I have ... more


Tuesday, 26 June, 2018 UTC

Upgrading to Gatsby v2 with the help of the hivemind ��

Upgrading to Gatsby v2 with the help of the hivemind ��

This is a Livecoding Recap – an almost-weekly post about interesting things discovered while livecoding. Usually shorter than 500 words. Often with pictures. Livecoding happens almost every Sunday at 2pm PDT on multiple channels. You should subscribe ... more


Friday, 15 June, 2018 UTC

Intern process part 2 – (my first) webinar, about React context

Intern process part 2 – (my first) webinar, about React context

My first webinar! How I hate the word, but that’s what it was. The plan was to get a bunch of prospective tech interns together on a stream, teach them a React concept, and give them something to build. Sunday night, I’m seeing what they build and figuring ... more


Sunday, 10 June, 2018 UTC

Tech intern job

Tech intern job

Here’s the deal, I’m a solopreneur working nights and weekends on this Turn programmers into engineers business and I have more ideas than time. So I’m looking for an intern to help me out. Why an intern? Three reasons: I don’t think there’s enough work ... more


Thursday, 7 June, 2018 UTC

Tiny React & D3 flamegraph tutorial

Tiny React & D3 flamegraph tutorial

This is a Livecoding Recap – an almost-weekly post about interesting things discovered while livecoding. Usually shorter than 500 words. Often with pictures. Livecoding happens almost every Sunday at 2pm PDT on multiple channels. You should subscribe ... more


Saturday, 2 June, 2018 UTC

Build an animated pure SVG dynamic height accordion with React and D3

Build an animated pure SVG dynamic height accordion with React and D3

This is a proof of concept I built for a client. They were building an event flow data visualization and weren’t happy with how finicky and hard to use their components turned out. So they asked me for help Goal The goal was to have an event flow visualization ... more


Wednesday, 30 May, 2018 UTC

Towards a WebRTC mesh network with RTCDataChannel

Towards a WebRTC mesh network with RTCDataChannel

This is a Livecoding Recap – an almost-weekly post about interesting things discovered while livecoding. Usually shorter than 500 words. Often with pictures. Livecoding happens almost every Sunday at 2pm PDT on multiple channels. You should subscribe ... more


Monday, 21 May, 2018 UTC

How I prepare for a talk at an 8,000 people conference

How I prepare for a talk at an 8,000 people conference

“It worked last night, I promise.” Last week, I presented my crazy blockchain-redux idea at WeAreDevs world congress, a conference of 8,000 people. One person called it refreshing; another said it’s the first time they’d seen an idea, not a product, ... more


Friday, 18 May, 2018 UTC

Learning WebRTC peer-to-peer communication, part 2 – connecting 2 browsers on different devices

Learning WebRTC peer-to-peer communication, part 2 – connecting 2 browsers on different devices

This is a Livecoding Recap – an almost-weekly post about interesting things discovered while livecoding. Usually shorter than 500 words. Often with pictures. Livecoding happens almost every Sunday at 2pm PDT on multiple channels. You should subscribe ... more


Monday, 7 May, 2018 UTC

Learning WebRTC peer-to-peer communication, part 1

Learning WebRTC peer-to-peer communication, part 1

Remember blockchain-redux? Yeah, I’m still working on it. Last time, we got it to share blocks between clients in real-time. But that still used Firebase as the communication channel. Our blockchain isn’t really distributed. I have to fix that before ... more


Friday, 27 April, 2018 UTC

Declarative D3 charts with React 16.3

Declarative D3 charts with React 16.3

The new React 16.3 brings some changes to the ecosystem that change how we go about integrating React and D3 to build data visualizations. I previously wrote about this in Declarative D3 transitions with React 16.3 componentWillReceiveProps , componentWillUpdate ... more


Tuesday, 24 April, 2018 UTC

Using YouTube as a data source in Gatsbyjs

Using YouTube as a data source in Gatsbyjs

This is a Livecoding Recap – an almost-weekly post about interesting things discovered while livecoding. Usually shorter than 500 words. Often with pictures. Livecoding happens almost every Sunday at 2pm PDT on multiple channels. You should subscribe ... more


Wednesday, 18 April, 2018 UTC

Does blogging really drive sales?

Does blogging really drive sales?

Wanna see a scary graph? Here’s a scary graph. Gumroad book sales for React+D3 Jan to Apr 2018 Those are book sales on Gumroad. Grey bars are views, and the green line is sales volume in dollars. Can you spot the problem? Here’s the same graph for 4 ... more


Tuesday, 10 April, 2018 UTC

Livecoding recap: Blockchain-redux now shares blocks between clients in real-time

Livecoding recap: Blockchain-redux now shares blocks between clients in real-time

Sunday was fun. We built a thing! Well… we added a thing to the You Can Use Blockchain To Store And Share UI State proof of concept I’ve been livecoding on. I’d share a live link with you, but… err… the app broke. This is a Livecoding Recap – an almost-weekly ... more


Tuesday, 3 April, 2018 UTC

Blockchain-redux becomes useful, part 1

Blockchain-redux becomes useful, part 1

Remember my blockchain-redux project from December? Probably not. I’m building a library that lets anyone who can build a webapp build a blockchain. No, not an Etherium-distributed app or a crypto currency. Altho you could… No, I’m exploring the idea ... more


Friday, 23 March, 2018 UTC

Reactathon 2018 was a hoot ❤️

Reactathon 2018 was a hoot ❤️

Reactathon 2018 was a hoot. Met a bunch of great people, saw some great talks, gave a 7 hour workshop, and a 20 minute talk. Both on React + D3. I’m missing Day 2 of the advanced conf and 2 days of the hackathon because gotta get back to work. Don’t ... more


Thursday, 15 March, 2018 UTC

Build a Chrome extension from idea to launch in an afternoon

Build a Chrome extension from idea to launch in an afternoon

This is a Livecoding Recap – an almost-weekly post about interesting things discovered while livecoding. Usually shorter than 500 words. Often with pictures. Livecoding happens almost every Sunday at 2pm PDT on multiple channels. You should subscribe ... more


Friday, 9 March, 2018 UTC

Silky smooth Piechart transitions with React and D3.js

Silky smooth Piechart transitions with React and D3.js

A pie streaming in some data Today, I finally figured out how to build smooth D3 arc transitions. Got some help from Bostock’s commented arc tween block and Andy Shora’s guide on tweening custom shapes and paths in D3.js. The single most important requirement ... more


Monday, 5 March, 2018 UTC

Benchmarking Vue

Benchmarking Vue

This is a Livecoding Recap – an almost-weekly post about interesting things discovered while livecoding. Usually shorter than 500 words. Often with pictures. Livecoding happens almost every Sunday at 2pm PDT on multiple channels. You should subscribe ... more


Friday, 2 March, 2018 UTC

Make your things pretty with chroma-js

Make your things pretty with chroma-js

I once asked Shirley Wu how she makes all her dataviz so pretty: Baskerville font and chroma-js. Wow @sxywu was right, chroma.js really makes things pretty. pic.twitter.com/FWPhvmnGCR — Swizec (@Swizec) March 1, 2018 Chroma is a JavaScript library for ... more


Wednesday, 28 February, 2018 UTC

Seamlessly render a Preact component in a React project

Seamlessly render a Preact component in a React project

Have you ever wanted to render a Preact component inside a React project? It’s hard, right? First of all, why? Because. Second of all, how do you reconcile the two different implementations of JSX? Preact and React are pretty similar, you see. Both are ... more


Tuesday, 27 February, 2018 UTC

Building an interactive DOM benchmark, preliminary results

Building an interactive DOM benchmark, preliminary results

This is a Livecoding Recap – an almost-weekly post about interesting things discovered while livecoding. Usually shorter than 500 words. Often with pictures. Livecoding happens almost every Sunday at 2pm PDT on multiple channels. You should subscribe ... more


Friday, 23 February, 2018 UTC

Why everything must change every five years

Why everything must change every five years

You complain about JavaScript fatigue, and that’s valid. The ecosystem moves fast, and it’s hard to keep up. Dare I say impossible? But won’t you think of the authors and the conferences and the speakers and the trainers and video course makers and everyone ... more


Wednesday, 21 February, 2018 UTC

What I learned making my first open source React component

What I learned making my first open source React component

Dude, open source is hard. People really do this every day!? I open sourced my react-lazyload-fadein component this weekend. 75 stars already. I guess people like it It builds on top of react-lazyload to give you a nice fade-in effect when your component ... more


Thursday, 15 February, 2018 UTC

Loops are the hardest

Loops are the hardest

There is an old truism in software engineering that 199 out of 200 job applicants can’t code. Like, forget fizz buzz, can’t even write a loop. I don’t know if that’s true. Guess I got lucky. And I don’t interview that much anyway. But I do work with ... more