Multiplayer Tic Tac Toe with GraphQL
23.8.2019
GraphQL is a query language for APIs that is very empowering for front-end developers. As the GraphQL site explains it, you describe your data, ask for what you want, and get predictable results.
If you haven’t worked with it before, GraphQL might be a little confusing to grok at first glance....
Promises and Static Values
23.8.2019
Async can throw a real wrench into the cogs of our programming workflows, all despite the fact that async is the modern JavaScript pattern. While async/await helps, there’s sometimes confusion about the way to have a single function that returns a value whether it exists or needs a Promise...
Weekly Platform News: Improving UX on Slow Connections, a Tip for Writing Alt Text and a Polyfill for the HTML loading attribute
23.8.2019
In this week's roundup, how to determine a slow connection, what we should put into alt text for images, and a new polyfill for the HTML loading attribute, plus more.
Detecting users on slow connections
Algolia is using the Network Information API (see the API’s Chrome status page) to detect users...
Advice for Technical Writing
22.8.2019
In advance of a recent podcast with the incredible technical writer and Smashing Magazine editor-in-chief Rachel Andrew, I gathered up a bunch of thoughts and references on the subject of technical writing. So many smart people have said a lot of smart things over the years that I thought I'd round...
Collective #542
22.8.2019
GoPablo * useAuth * WebAssembly Interface Types * NuxtPress * The Native File System API
Collective #542 was written by Pedro Botelho and published on Codrops
Navbar Nudging on @keyframers
22.8.2019
I got to be the featured guest over on The Keyframers the other day. We looked at a Dribbble shot by Björgvin Pétur Sigurjónsson and then slowly built it, taking some purposeful detours along the way to discuss various tech.
We start by considering doing it entirely in CSS, then go for some light...
Using requestAnimationFrame with React Hooks
21.8.2019
Animating with requestAnimationFrame should be easy, but if you haven’t read React’s documentation thoroughly then you will probably run into a few things that might cause you a headache. Here are three gotcha moments I learned the hard way.
TLDR: Pass an empty array as a second parameter...
Other Ways to SPAs
21.8.2019
That rhymed lolz.
I mentioned on a podcast the other day that I sorta think WordPress should ship with Turbolinks. It's a rather simple premise:
Build a server-rendered site.
Turbolinks intercepts clicks on same-origin links.
It uses AJAX for the HTML of the new page and replaces the current page...
Getting Netlify Large Media Going
20.8.2019
I just did this the other day so I figured I'd blog it up. There is a thing called Git Large File Storage (Git LFS). Here's the entire point of it: it keeps large files out of your repo directly. Say you have 500MB of images on your site and they kinda need to be in the repo so you can work with...
Let’s Build a JAMstack E-Commerce Store with Netlify Functions
20.8.2019
A lot of people are confused about what JAMstack is. The acronym stands for JavaScript, APIs, and Markup, but truly, JAMstack doesn’t have to include all three. What defines JAMstack is that it’s served without web servers. If you consider the history of computing, this type of abstraction isn’t...
Lazy load embedded YouTube videos
20.8.2019
This is a very clever idea via Arthur Corenzan. Rather than use the default YouTube embed, which adds a crapload of resources to a page whether the user plays the video or not, use the little tiny placeholder webpage that is just an image you can click that is linked to the YouTube embed.
It still...
Electric Geek Transportation Systems
20.8.2019
I've never thought of myself as a "car person". The last new car I bought (and in fact, now that I think about it, the first new car I ever bought) was the quirky 1998 Ford Contour SVT. Since then we bought a VW station wagon in 2011