The BlogArticles I've Written
Rust Error for mach-o section specifier requires a segment and section separated by comma
How to fix a Rust embed error "LLVM ERROR: Global variable '__INTERRUPTS' has an invalid section specifier '.vector_table.interrupts': mach-o section specifier requires a segment and section separated by a comma.error: could not compile `rp2040-pac` (lib)
Obsidian Properties (Markdown Frontmatter Enhanced)
Learn how to use Obsidian properties, an enhanced version of Markdown frontmatter.
Navigating JSON Schema: An Easy and Friendly Exploration
A guide for curious coders and seasoned developers on the meaning, significance and importance of JSON Schema.
What is a SheBang (HashBang) In A Script File
Learn the power and versatility of shebangs, and learn how they dictate the interpreter to execute your code.
Understanding Structured, Non-Structured, and Semi-Structured Data
Learn about structured data and why it's useful
How to Secure a GitHub Action with GitHub Environment Secrets
How to secure a GitHub Action with environment secrets.
Starting Your NodeJS Development Server on a Different Port
Learn how (and why) to start a NodeJS development server on a different port.
The Power and Simplicity of Webhooks
The power and flexibility of programming for the web with webhooks.
Resolving the ESLint Error: "File ignored because of a matching ignore pattern"
Learn how to resolve the ESLint error for lint-staged for "File ignored because of a matching ignore pattern"
Getting Started with Dotfiles
Discover the power of dotfiles in your developer toolkit with our comprehensive guide. Learn how to customize, backup, and install dotfiles to make any workstation feel like home.
How I Schedule Blog Posts with GitHub Actions and Netlify
How to Fix Git Submodule Add, "a git directory is found locally" issue
Why the error for git directory found locally happens for git submodules and how to fix it.
AGI vs. AI: Unraveling the Secrets of Artificial Minds
Learn about the intracicies and differences of AI (artificial intelligence) and AGI (artificial general intelligence)
My Obsidian Setup
A round up of all the plugins, hotkey overrides, tips, tricks and settings I use for Obsidian.
Previous Solutions for Publishing Obsidian Files to the Web
All of the ways I've published my Obsidian notes to the web in the past.
10 Notion Covers of Colorful Textured Swirls from MidJourney Prompts
10 Notion Cover images of colorful textured swirls made in MidJourney
15 Notion Covers of Pastel Colorful Textured Explosions from MidJourney Prompts
15 Notion Cover images of pastel textured paint explosions made in MidJourney
26 Notion Covers of Miniature Nebula Astronauts from MidJourney Prompts
26 Notion Cover images of astronauts in nebulas
20 Notion Cover Miniature Space Diorama Images from Midjourney Prompts (May 2023)
20 space diorama inspired Notion cover images generated by Midjourney
Ultimate Guide To Learning About AI (GPT)
My ultimate, ongoing guide to what I'm learning about AI and GPT.
3 Ways to Find a Notion Database Template
Discover three simple ways to find and edit database templates in Notion, enhancing your productivity and organization. Learn how to use global search, the "New" button, and the page body to access templates.
Power, Performance, Politics, and Play - What Makes Culture
Culture has four key elements: power, performance, politics and play.
Should my team hold remote design sprints?
How to determine if a remote design sprint is right for your team.
100 Best Ice Breakers for Remote Team Meetings
100 ice breaker questions to ask in the check-in round of your next remote team meeting.
5 Reasons Your Meetings Need A Check-in & Check-out Round
Every meeting can benefit from a check-in and check-out round. Here is what they are and why they'll supercharge your meetings.
What Is a Remote Design Sprint?
Discover how remote design sprints clarify work for teams. Learn how they work and what's involved.
3 Best Collaboration Apps for Facilitating Highly Effective Remote Meetings in 2023
The right collaboration apps can give focus and direction to a remote meeting. Here are the best 3 collaboration apps for facilitating highly effective remote meetings.
My Heuristic For Notes and Tags In Obsidian
My simple heuristic for deciding if something is a note or a tag.
Code Review Process
A robust guide to creating great code reviews for you and the person you're reviewing for.
Swipies - Reusable Paper
I use Swipies, a reusable dry erase board that's as thin as paper, for all kinds of tasks I'd use paper for. This is an overview of how I use them.
Apple Screentime Settings
I use Apple Screentime to help me be conscious of how much time I spend on certain sites and apps on my devices. Here is how I have mine setup.
No Code Tools for Building MVPs
When you're building an MVP to find product market fit, it's important to know what you want to learn, what category of tool to use and which tool to build with.
Daily Free Writing
Daily free writing is a practice where every morning, right after waking up and writing in my dream journal, I write whatever comes to mind.
My Settings in Apple Downtime
I use Apple Downtime to help me be conscious of how I spend the end and beginning of my day. Here is how I have mine setup.
What Is Autonomy At Work?
People talk about autonomy at work, but don't often talk about what it actually is or how to have it.
2023 W02 Weekly Review
Updates on my newsletter, my personal experiences and my contribution to my work.
Start with user accounts, workspaces and teams
The entity types to always start with when building a Software as a Service.
Using PostHog Toolbar (Heatmap)
Learn the basics of the PostHog toolbar, how to enable it and how to access it.
Maybe Don't Just Cancel 75,000 Hours of Meetings
Canceling all your meetings sounds great but what fills the communication void it creates?
PostHog is a suite of product and data tools built for the modern stack. Here's how I use it.
Disable the built-in keyboard on my Mac so I can set my external keyboard ontop of it
How to disable the built-in Mac keyboard so you can set your external keyboard on top of it.
Working From Home
I've been working from home since 2015. I believe it's the best way for me to be effective and keep my home life flourishing.
Anker 577 Thunderbolt Docking Station
How I use an Anker 577 Thunderbolt Docking Station for my using my laptop at my desk.
KeyboardIO Atreus (Mechanical Keyboard)
The KeyboardIO Atreus is my sole keyboard for work and typing.
Tooling for a Personal Operating System
I believe this is the future of tooling for the personal Operating System
How to Restore a MongoDB Database from Compass
How to restore a MongoDB Database from Compass (the MongoDB database UI tool).
Reset specific file to its state on a commit or branch with git
How to restore a file to a specific state with git.
Interstitial Journaling: Capturing the Ebb and Flow of Thoughts
Discover the power of interstitial journaling, the modern strategy for capturing thoughts and tasks. Learn its history and understand why it's essential for a productive mind.
Checking if two dates match with MomentJS
If I could have any super powers...
In which I answer what super powers I would want if I could choose some (and how some super powers are attainable).
Top 10 Strengths from StrengthsFinder
A list of the strengths I have based on the StrengthsFinder exercise.
Put headphones on in terminal before boarding
Airport Protip: Put headphones on in terminal before boarding.
Database deleted by request of the user (indexeddb)
What to do when you see a database deleted by request of the user in your errors.
How I Copy my Obsidian Files into my git Repository
How I copy Obsidian notes into git so that I can author my notes in Obsidians and publish them to the web.
A brief overview of literate programming: the combination of a programming language where the code is embedded in the documentation.
One File to Generate Them All
The file that I use to generate configuration files from Markdown files (literate programming).
Speed, Quality and Cost
Understanding the 'speed, quality and cost' paradox. Why you can only pick two and the value of having to pick.
Tangling Markdown (Literate Programming)
How to tangle markdown in literate programming with a Python executable.
Get list items containing a tag with Obsidian and Dataview
How to get a list of items containing a specific tag with Obsidian and Dataview.
UTM - Urchin Tracking Module
An overview of UTM (user tracking in the web) from my perspective and experience.
Cleanup Unused Imports with "Organize Imports" in VS Code
How to use Organize Imports in VS Code to cleanup unused imports.
Hide "Powered by Obsidian Publish" in Obsidian Published Site
How to hide the "Powered by Obsidian Publish" label from you Obsidian Published site.
An overview of Obsidian Publish (Obsidian's platform for publishing to the web) from my perspective and experience.
How I Publish Obsidian Files to the Web
How I publish my Obsidian Markdown Notes to the Web with NextJS and a simple script.
An overview of Docker (the operating system containerization platform) from my perspective and experience.
Go (programming language)
An overview of Go (the programming language) from my perspective and experience.
Software and Programming Languages I Use
The software and programming languages I've used over the years.
Bus Factor (term)
Bus factor is a tech industry term describing a system's resilience when a person is no longer available to work on it.
An overview of Regular Expressions (a way to search for patterns in text in a programming language) from my perspective and experience.
My Digital Tool Stack
A list of the apps and tools I that make up my tool stack and improve the way I work.
JS solution for hiding an Obsidian Publish Sidebar
update or add a property to subdocuments of all found documents (MongoDB)
How to update or add a property to subdocuments in MongoDB.
Is violence an essential attribute of existence?
My internal struggle with if violence is essential for existence.
Using Fly.io and NGINX for Proxying Obsidian Publish
How to use Fly.io and NGINX to proxy your Obsidian Publish site.
A guide to what it's like working with me. Things I need, things I love, where I find energy, what I struggle with.
How "We were wrong" is never the worst thing that could happen
How to change your perspective about what you're making or building.
Obsidian: A Powerhouse for Knowledge Management
Step into the world of Obsidian, a remarkable knowledge management tool. Explore its impressive features, understand its unique capabilities, and learn why it is an unparalleled tool in the realm of information management today.
Get all links to the current file with Obsidian and Dataview
How to get all links to the current file with Obsidian and Dataview.
Find messages in Slack based on a date or date range
Two quick ways to find a conversation in Slack based on a known date or date range.
Publishing my website from Obsidian files with Dropbox
How I use Obsidian, Dropbox and Vercel to write and publish my website
Fix CSS variable keys in style attributes in React and Typescript
How to define CSS variables in style attributes in react and Typescript
I'm embarking on a new chapter of life: joining Murmur, a platform that will change the future of work.
Autofix Backticks with ESLint and Prettier in VS Code
Learn how to autofix backticks in JavasScript with ESLint and Prettier in VS Code.
My grandma passed away today. She always reminded me: Remember WHO you are and WHOSE you are. This is a tribute to her life through my eyes.
Tips For Being Successful at Working From Home Long-Term
Tips that I've found to help me be successful in my transition into remote work, working from home.
Install dig and nslookup dependencies on Docker Containers
How to install dig on Ubuntu, ArchLinux, OpenSuse and Alpine.
How to Give Awesome Peer Feedback
Many companies are incorporating peer feedback into performance reviews. Here's how I prepare to give awesome peer feedback.
Create an ad hoc interactive Docker container
Learn how to create an ad hoc interactive Docker container.
Use lsof and ps to Find Running Services
Learn how to use the lsof and ps utilities to find running services when debugging EADDRINUSE in NodeJS logs.
SRE Escape Rooms and Reinforced Learning
How we used SRE escape rooms to reinforce learning in the engineering organization at Webflow.
Install NPM Dependency From GitHub URL
How to set up an NPM dependency from a GitHub URL in a package.json for SSH and HTTPS.
Back to Writing Content in Dropbox
The reason I've decided to write content in Dropbox instead of keeping it in version control.
Setup iTerm2 - Better Movements with Emacs Bindings
Learn how to setup a control key for more natural Emacs movements in iTerm2
Setup iTerm2 - Infinite Scrollback
Learn how to setup iTerm2 to allow infinite (unlimited) scrollback
Friction - A Secret Tool for Successful Habits
How I think about friction as a property of my habits.
On Team Productivity, Tools & Flexible Data
I believe tools should be built to be flexible to empower their users.
Fix Docker Error: GitHub Actions Entrypoint Executable Error
How to fix a Docker error for a Github Actions entrypoint executable error.
GitHub CODEOWNERS Directory Pattern Match Cheatsheet
A cheatsheet for GitHub CODEOWNERS pattern for matching a directory and all of its contents
Fix Docker Error: exec user process caused "no such file or directory"
How to fix the Docker error for exec user process caused "no such file or directory"
Share Specific Lines in a Markdown file with GitHub
Learn the trick I use to share a Markdown file with GitHub
A Pragmatic Approach To Choosing A Format For Reading
How I choose the format for a book when I've decided to read it.
Start Week on Monday in Google Calendar and Apple Calendar
Learn how to setup Google Calendar, Apple Calendar, Spark email and Cron Calendar (on a Mac) so that the week starts on Monday.
Production Only Google Analytics in GatsbyJS with Netlify
Learn how to use Netlify's Deploy Context to only include Google Analytics in production in your GatsbyJS site.
Using Flow's type refinement for powerful, flexible, safer code
Learn how to use disjoint unions in Flow for more powerful type refinement.
Apply Language Modes to Files With Non-Standard Filenames in VS Code
Learn how to setup syntax highlighting and other language modes with file associations
VS Code Settings for Sharing Better Screencasts & Demos
Settings that I have found are best for optimizing VS Code for sharing code through screencasts and demos
Learn how to setup conditional highlighting for Emacs by writing emacs-lisp to highlight $FlowFixMe
Most Common Programming Case Types
A list of common case types, along with some language specific protips
Full Page Webpage Screenshots with Chrome DevTools
Learn how to take full page screenshots of a webpage using Chrome DevTools
Using Current Date and Time In VS Code Snippets
Learn how to use current date and time in VS Code Snippets.
Enable tab completion for Markdown Snippets in VS Code
A quick guide to enabling tab completion for Markdown Snippets in VS Code.
Why Git May Be Ignoring You When You Downcase Filenames
Learn why and how to use git mv instead of mv on MacOS when changes case on filenames.
Golang - What is Truth?
Systems - Preparing Yourself For The Hard Times and The Easy Times
How creating resilient systems help us prepare for when things don't go our way.
Guest on GoTime - Go at Walmart (at scale)
I joined GoTime to talk about working on distributed systems with distributed teams, giving people opportunities to learn and grow, and interesting Go projects and news.
MacOS Protip - Show your User's Home Folder in Finder Sidebar
Learn how to show your User's Home Folder in the Finder Sidebar.
MacOS Protip - Show your Mac's Hard Drive On Your Desktop
Learn how to show your Mac's Hard Drive on it's Desktop.
Remote is Dead, Long Live Distributed
The term 'distributed' naturally lends itself to thinking about what needs to be done and how we go about doing it together. I am not a remote worker, I am a part of a distributed team.
A Systematic Approach to Managing Oneself
This is a systematic approach at applying 'Managing Oneself' to my life. Many of the high-level concepts in this document are heavily borrowed from Peter F. Drucker's Managing Oneself.
Essential Books That Changed How I Live & Work
The canonical writings that I revisit multiple times a year because they have (and continue to) impacted my life deeply.
Five Technologies Every Frontend Engineer Should Know
Frontend Engineers should have five technologies under their belt
Files Every NodeJS Developer Should Add to Their .gitignore
A .gitignore file is an important part of any project that is being version controlled. Adding things like node_modules to your git ignored files is essential.
Celebrate Your Employees
Celebrating your employees can easily one of the best morale boosters for your organization. Here are 5 of the ways Zappos has done that for me.
Rustic Industrial Minimalist Task Desk
A minimalist task desk for under $300 and built in under 30 minutes.
Separation of Work & Life
If you haven't burnt out already but you're working non-stop, I imagine burn out is close. These are the steps I took to get my life back.
Frontend Engineering Tools of The Trade
Every craftsman or tradesman has a collection of tools that help to make them better at executing their work. This is a list of my toolset.
Joining Walmart Labs as Senior Software Engineer
As of July 29, I'll be a Senior Software Engineer at Walmart Labs
Joining The Iron Yard as Part-Time Frontend Instructor
As of tomorrow (June 30, 2015), I officially join The Iron Yard as a part-time frontend engineering instructor.
Choosing Fonts For Web Projects
Whenever I start a new project, I try to make sure I decide on a good font stack for web safe fonts. This is my process.
Remap Caps Lock to A Useful Modifier Key
Learn why and how to remap the Caps Lock key to a more useful modifier key.
Learn how to inspect an array or object of objects with console.table in the browser.
Building A Rustic Industrial Standing Desk
Notes on the process I used to build an rustic industrial standing desk
The Best Advice I Can Give To People Learning To Code
Don't copy/paste code examples. One of the mistakes I see burn developers, both new and veteran, is that they copy/paste code examples, strings, basically anything copy/pastable.
I don't write so good - a call to be a better writer
A call to others to join me in becoming a better writer.
You May Never Become A Developer
I pursued learning programming and software development with every fiber of my being, trying to learn anything I could about programming, solving problems and shipping products.
Deploy Code with Git Push and a Post Receive Hook
Learn how to deploy code to a server by using git with post-receive hooks.
MacOS Protip - Show your Hard Drive in Finder Sidebar
Learn how to show your Mac's Hard Drive in the Finder Sidebar.
Set An Anchor Link On An Image In Markdown
Learn how to create an anchor link on an image in Markdown.
5 Grunt Plugins for a Better Workflow
Learn about 5 Grunt build tool plugins to optimize your workflow.
How I Use Grunt And Bower for Frontend Packages
Learn how to use grunt and bower for a frontend workflow
Dear Developer - Use tools, don't be one
How I try to approach answering people's questions in technical conversations (and generally).
3 Resources For Sharing Code Snippets
3 online resources for sharing code snippets (Codepen, JSFiddle, JSBin).