Thoughts ontech and business
Things I've learned building, growing, and maintaining a portfolio of websites and apps.
How to setup Fathom Analytics with Next.js 13 App Directory
How your browser loads, parses, and renders a webpage
React Forms Best Practices
The Secret Life of a React Component
When building with React, when should you useState? useEffect? useMemo? useRef? How do you make your components more performant? What causes them to re-render? What is a re-render? While it doesn't take much to build things in React, understanding how things work and adopting best practices is a bit more challenging. This post will explore many of these questions and walk through a functional component example from start to finish, highlighting it's entire lifecycle.
Vanilla React 18 + TypeScript + Webpack
File Upload Strategies with AWS S3, Node.js, Express, React, and Uppy
Scripts vs. CommonJS vs. UMD vs. AMD vs. ES6 Modules
How to set up an RSS feed with Next.js in a Nrwl NX monorepo
Setting up a Macbook for Software Development
How to build a Masonry Image Gallery + Lightbox with Next.js
How to use the Next.js Image Component Effectively
Must-know SVG Concepts for Web Developers
CSS Grid Course for Complete Beginners
Detailed Flexbox Tutorial for Beginners
Introduction to Responsive Web Design and Development
CSS Crash Course for Beginners
Beginners HTML + DOM Crash Course
Fullstack Developer Series - Learn to Code in 2021 and Beyond
Fullstack Developer Series - Table of Contents
Frontend vs. Backend vs. Fullstack Web Development
What Code Editor Should I Learn First? (for web development)
Is it too late to learn to code?
What the heck is an API? (with AI text bot example)
Do you have to be good at math to become a programmer?
How to Read an RxJS Marble Diagram
To an experienced RxJS user, marble diagrams are helpful. To someone just starting out with RxJS, they look like a little kid’s drawing in art class. I’m by no means an expert user of RxJS, but I’ve used it enough to make sense of these “marble diagrams”. I can finally use rx marbles with confidence, and I want you to get there too.
3 Things I Wish I Knew When I Started Using Angular 2+
It’s 2020, and Angular is on version 10 with over 1200 contributors and 18,500 commits. I think it’s safe to say that this project has picked up some momentum over the years. But when I started using Angular (it was on version 4 when I started), these things didn’t matter to me. Heck, I probably couldn’t have explained what open source software was and definitely couldn’t have explained what Typescript was...
Imperative vs. Declarative Programming
Maybe you heard it in an Object Oriented Programming book. Maybe you read it on Stack Overflow. Maybe you're reading a textbook for school. Eventually, you get annoyed reading the terms "declarative" and "imperative" because you know they are important but have no clue why. In my mind, knowing the difference between imperative and declarative programming is useful for a single reason, and that is to help you better understand the difference between procedural, functional, and object-oriented programming styles. By understanding these five terms, while reading code libraries, you will begin to see where the authors got their code designs.
Monolithic vs. Layered vs. Microservice Software Architecture
File (NAS) vs. Block (SAN) vs. Object Cloud Storage
Understanding IP Addresses and Subnet Masks
For most home users, trying to understand a home network is not of interest due to the perceived complexity of the issue. In this post, whether you are a seasoned engineer or simply a Dad trying to figure out why the router isn't working again, I will explain the basics of how your home network works.
Guide to Bash Scripts
How to set up your $PATH variable in Bash
6 Intermediate Bash Commands
Networking Bash Commands
Networking is a huge concept. There are textbooks written on the topic, and therefore, I have no chance of covering everything you need to know relating to networking. That said, this section will get into the most common Bash networking utilities that you can use to diagnose network issues on your computer. If you are completely new to network concepts, that is completely fine as I will be explaining the basics of the internet in this post.
Processes and System Management with Bash
Bash Regular Expressions
SSH and Bash
Users, Groups, and Permissions in Bash (UNIX based Operating Systems)
Many tutorials cover the topic of permissioning within a UNIX based operating system, but often overlooked is the topic of users and groups. For individual users, it is difficult to understand what the usefulness of this architecture is. In this short tutorial, I will be walking through the reason why we have permissions, how to set permissions, and how to manage your users and groups that these permissions apply to.
The Ultimate Guide to Passport JS
Making Sense of Public Key Cryptography