Search
Lessons Learned from Sixty Days of Re-Animating Zombies with Hand-Coded CSS
16.9.2020
I’ll be linking to individual Pens as I discuss the lessons I learned, but if you’d like to get a sense of the entire project, check out 60 days of Animation on Undead Institute. I started this project to end on August 1st, 2020, coinciding with the publication of a book I wrote featuring...
5 Awesome JavaScript Promise Tricks
14.9.2020
The Promise API changed the game in JavaScript. We went from abusing setTimeouts and settling for synchronous operations to doing everything possible to leverage this new async API. Let’s check out a handful of awesome Promise API tricks! Cancel a fetch Request One problem we instantly...
How to Get Handwriting Animation With Irregular SVG Strokes
11.9.2020
I wanted to do a handwriting animation for calligraphy fonts — the kind where the words animate like they are being written by an invisible pen. Because calligraphy fonts have uneven stroke widths (they actually aren’t even strokes in terms of SVG), it was near impossible to do this sort of thing...
Logical Assignment Operators
10.9.2020
I love JavaScript, it’s my favorite programming language, but I love dipping into other languages because they offer a new perspective on coding paradigms. There’ve been syntax additions to JavaScript that I’ve seen I found interesting (think ?? in optional chaining) and now...
Stroke Text CSS: The Definitive Guide
4.9.2020
Whenever I think of stroked text on the web I think: nope.
There is -webkit-text-stroke in CSS for it, but it places that stroke in the middle of the vector outline of the characters, absolutely ensuring that the character doesn’t look right. Just look at this in Chrome or Safari. Gross....
How to Simplify SVG Code Using Basic Shapes
3.9.2020
There are different ways to work with icons, but the best solution always includes SVG, whether it’s implemented inline or linked up as an image file. That’s because they’re “drawn” in code, making them flexible, adaptable, and scalable in any context.
But when working with SVG, there’s always...
Morphing SVG With react-spring
26.8.2020
I’ve been intrigued by the morphing effect ever since I was a little kid. There’s something about a shape-shifting animation that always captures my attention. The first time I saw morphing left me wondering “ Wow, how did they do that?” Since then, I’ve created demos and written an article about...
Let’s Make Generative Art We Can Export to SVG and PNG
19.8.2020
Let’s say you’re a designer. Cool. You’ve been hired to do some design work for a conference. All kinds of stuff. Website. Printed schedules. Big posters for the rooms. Preroll slides. You name it.
So you come up with an aesthetic for it all — a design vibe that ties it...
Match Emojis with Regular Expressions
19.8.2020
When experimenting with unicode property escapes, to identify accented letters in strings, it reminded me of a question I had a few years ago: what is the best way to identify and then replace emojis in a string? I first noticed this practice when using emojis in Facebook — sometimes Facebook...
Simple Node.js Proxy
18.8.2020
When I wanted to refresh my React.js skills, I quickly moved to create a dashboard of cryptocurrencies, their prices, and and other aspects of digital value. Getting rolling with React.js is a breeze — create-react-app {name} and you’re off and running. Getting the API working...
Match Accented Letters with Regular Expressions
6.8.2020
Regular expressions are used for a variety of tasks but the one I see most often is input validation. Names, dates, numbers…we tend to use regular expressions for everything, even when we probably shouldn’t. The most common syntax for checking alphabetic characters is A-z but what...
Warp SVG Online
6.8.2020
The warping is certainly the cool part here. Some fancy math literally transforms the path data to do the warping. But the UX detail work here is just as nice. Scrolling the page zooms in and out via a transform: scale() on the SVG wrapper (clever!). Likewise, holding the spacebar lets you...
Expanding the Future (of Dev Tooling) with AI
5.8.2020
Codota wants their tools to (at least!) double developer productivity. My vision is that we can do that not only by getting more developers using these tools, but in expanding where and how these tools learn themselves. The better the tools can *learn from us* what we're doing, the better *we...
How to Earn Interest with Bitcoin
5.8.2020
When I was young I remember looking at my bank book and seeing nice interest payments for cash I had in the bank. Fast forward to today and banks are giving essentially nothing for interest — your money just sits there collecting dust. In an ideal world you could put it into the stock market...
The Making of: Netlify’s Million Devs SVG Animation Site
3.8.2020
The following article captures the process of building the Million Developers microsite for Netlify. This project was built by a few folks and we’ve captured some parts of the process of building it here- focusing mainly on the animation aspects, in case any are helpful to others building...
Promise.allSettled
3.8.2020
The Promise object has many useful functions like all, resolve, reject, and race — stuff we use all the time. One function that many don’t know about is Promise.allSettled, a function that fires when all promises in an array are settled, regardless of whether any of the promises...
SVG Title vs. HTML Title Attribute
30.7.2020
You know the title attribute? I can do this:
<div title="The Title"I'm a div with a `title`
</div
And now if I’m on a device with a mouse pointer and hover the cursor over that element, I get…
Which, uh, I guess is something. I sometimes use it for things like putting...
A Font-Like SVG Icon System for Vue
24.7.2020
Managing a custom collection of icons in a Vue app can be challenging at times. An icon font is easy to use, but for customization, you have to rely on third-party font generators, and merge conflicts can be painful to resolve since fonts are binary files.
Using SVG files instead can eliminate...
Tips for Starting with Bitcoin and Cryptocurrencies
21.7.2020
One of the most rewarding experiences of my life, both financially and logically, has been buying and managing cryptocurrencies like Bitcoin, Litecoin, Ethereum. Like learning any other new tech, I made rookie mistakes along the way, but learned some best practices along the way. Check out these...
Binding Arguments with Bind
20.7.2020
One of my favorite and most essential Function method is bind, a function we added to MooTools when it wasn’t featured in the JavaScript language itself. We often think of using bind to simply bind a method’s call to its host object, but did you know you can also bind arguments with...