While converting this website to Next.js from Gatsby, I had to translate my approaches from the latter to the former. Specifically, how to render individual components on the server. As Gatsby sites are static by default, this was not something I thought much about. Working with Next.js and TypeScript had me scratching my head on this issue. I couldn't figure out how to render async components in TypeScript without being met with errors.
Increasingly more websites provide both dark and light modes for their users. Dark mode websites and user interfaces emit less light from the screen, which reduces eye strain, and as a result, increases productivity. Despite the benefits of dark mode, there are enough people that prefer light mode that it would be unreasonable to restrict all user interfaces to dark mode only. Let's build some components that will enable switching between light and dark modes.
There are far too many people in the world who would prefer to work a second job instead of pursuing a side gig. On the surface, a second job seems like an obvious way to supplement income. It is also the most culturally acceptable way to do so. However, this is a flawed strategy for a number of reasons.
How to authenticate users and manage passwords is one of the biggest tech problems we face today. We want to prevent adversaries from accessing our apps and services, without locking ourselves out of them. There already exist strategies to protect our passwords or reduce the need for them. But each strategy carries its own set of caveats and security holes.
Many Linux users have long depended on rsync as a versatile copy and backup tool. I've used it myself the few times I've had Linux as my daily driver OS. Since switching back to Windows, I couldn't find a good enough tool that worked the same way as rsync, so I stopped observing International Backup Awareness Day for a while.