RSS.Social

mjswensen.com

follow: @[email protected]

Posts

Clean + Format: a UX pattern for high-quality user input fields

The single most important factor that differentiates front-end frameworks

How to set up a WireGuard VPN for personal use

Cascade layers, , and container queries: What's new in CSS

Extending object-like types with interfaces in TypeScript

How to develop over HTTPS on localhost

Mastering mapped types in TypeScript

How to set up a simple web server development container for VS Code

Using tsm as a shebang interpreter in TypeScript

Using SVG vs. Canvas: A short guide

What's new in TypeScript 4.2?

The case for using frameworks

How polymorphic JavaScript functions affect performance

Creating compound components in React and Angular

Should you drop support for IE 11?

How to Make an .ico File Using the macOS Terminal

You Might Not Need Sass: Modern CSS Techniques

The Book of Mormon: An Ancient Guide to Modern Times

Building Stripe.com's Tabbed Preview Widget From Scratch in 30 Minutes

Playing the Numbers: A Millennial Engineer's Probabilistic Approach to Believing in God

From Electron to Progressive Web App

Zen and the Art of Software Engineering

GitHub Pages vs. GitLab Pages

Keeping Our Testimonies Up-to-date

How to Learn From Mistakes

Static Sites Are Awesome

Blissful Static Site Development with Jekyll, BrowserSync, and tmux

Key Takeaways to Common CSS Questions

Practical Use Cases For The :empty Pseudo-class

The Power of Education: Truly Thinking

How Personal Revelation Helps Us Prepare For Eternal Life

Why Code Snobs Are Invaluable

How Well Do You Know Your Programming Language?

Configurations for a Friendlier tmux Status Bar

Options For Git Status in Shell Prompt

How the Gospel of Christ Relates to Those Who Passed On Without It

What Really Matters

Lucidpress: Publishing for Web and Print

Basic Beliefs of the Church of Jesus Christ

CSS-only Text Gradients

The Psychology Behind Open Source

Git