The Importance of Image CDNs
Images are one of the biggest performance impacts on the modern web. Image CDNs can be the answer. With Frameworks recently adopting first party support for many CDNs, it is only making it more essential we consider them.
Tooling should Disappear
Developer tooling is expensive. I hate setting it up. Maybe in the future I won’t need too.
Trade-offs with Early Development
Thoughts about Online Conferences
Online conferences are not new. But the pandemic has seemed to increase the number. I don’t know if the trend will continue, but I love it.
Rehire and Retrain vs New Hire Search
Is it worth retraining a returning employee that does not have the skills, or hire new for the role? I think retraining is better when you can get the support needed. Here is why.
Is this a React Anti-pattern?
I am working on a permissions component that uses nested children, non reactive state, and global space. It feels like a anti-pattern. But it is so simple and clean and seems to work.
Fauna is Secure by Default
One of the shocking good things I have learned about Fauna DB is how it approaches security. It’s amazing how roles work to grant access and automatically filter user data.
Why I use FQL In Fauna DB
I chose FQL over the better known GraphQL format. It is more powerful and a better fit for Fauna DB if you want to do more advanced things.
Closing a menu when a user clicks outside of it with React Hooks
How do you improve the user experience of closing a menu? Don’t require the user to click a X just to get back to the content.
Creating Active Links with Next.js
How do you make a link display that it is the current page with Next.js? Make a custom component that handles the logic for you!
Absolute Imports for Next.js
Want to avoid really long import paths with your Next.js project? Setup a jsconfig.json. Here is how to tell babel to use imports from your root.
Complexity and Concerns Grow for Web Development
We make it both easier and harder to build or the web every year. It is a moving target. But at-least we are starting to focus on the right things.
Making queries ACID in FaunaDB
FaunaDB allows for complex transactions to reduce multiple network calls. FQL has a learning curve, but mastering it offers advantages.
How to do a UPSERT in FaunaDB FQL
FQL is different but just as powerful as SQL. An UPSERT is a great example to show the flexibility of FQL and how you can compose it easily.
FaunaDB seems so ergonomic with React Hooks
A presentation of FaunaDB really impressed me recently, showing me how easy it is to use the composable FQL on the client with React Hooks. It really is built for the JAM Stack.
Easy Sitemaps for Next.js
Next.js does not create a sitemap.xml file automatically. Here is a fast way to add support.
Web Development is Hard
Web development is hard. I have had to change my beliefs just to handle it.
The Rise of Privacy Focused Analytics
Privacy is becoming a larger focus on the web. New players in the Analytics space promise to bring better security around users data.
An Unexpected Benefit of Tailwind CSS
Utility CSS frameworks can make it easier to refactor a codebase, or even change to a new framework.
Creating Compelling and Useful 404 Pages
404 Pages are normally an after-thought. But they are a critical part of any website, and they are a good place to show off creative ideas. Here are some examples and tips.
Custom Decorators with Storybook & Vue
Using Storybook and Vue to build multiple components that are section aware. An easy way to support multiple themes.
HTML Elements with Flex-box Quirks
Flex-box is almost 10 years old, but some quirks still exist. Here are several elements to avoid using with flex-box.
Custom 404 Pages on Zeit Now v2 Platform
Zeit has finally updated the Now v2 platform to allow custom 404 pages. Find out what makes a good 404 page and how to set it up.