mjswensen.com
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