Blog

The Art of Code Spelunking: A Software Engineer's Adventure

April 6, 2024

Ready for an adventure? Explore the world of code spelunking - debugging, exploration, and the thrill of discovery in unfamiliar codebases.


Boredom: A Software Engineer's Guide to Finding the Missing Challenge

April 4, 2024

Feeling uninspired as a software engineer? Boredom might be your brain asking for a bigger challenge.


Package Versions and Semantic Versioning in Node.js Projects

April 2, 2024

`npm install next@...` Which command is right for your Next.js project? Learn the differences and choose wisely!


The Art of Autocomplete

April 1, 2024

Autocomplete on or off? Control how browsers pre-fill your web forms with the HTML `autocomplete` attribute.


How Your Unfinished Projects Signal Creativity

March 31, 2024

Unfinished projects? Don't see failure, see your boundless creative potential. It's time for a mindset change.


Understanding Cache-Busting with Time-Based URL Suffixes

March 30, 2024

Frustrated by users seeing old images after updates? Browser caching is the culprit! Learn how to give it a nudge when content changes.


Lava Flow Development: The Anti-Pattern That Hardens Your Code

March 18, 2024

Explore the 'lava flow' anti-pattern in software engineering, its consequences, and strategies for refactoring and prevention.


The Perfectionist Trap: My Struggle to Hit "Publish"

March 16, 2024

Does perfectionism stifle your tech articles? Learn how I battled self-doubt, detail obsession, and fear of feedback to finally hit "publish."


Why Not Use Return Type and What to Use Instead

June 17, 2023

Discover when to skip specifying function return types and how to infer them instead. Benefit from type inference and type safety.


Understanding the Next.js Robots Metadata Function

June 15, 2023

Control search engine crawlers on your Next.js site using the robots metadata function. Gain granular control over crawler interactions.


Run Commands in the New Instance of the Bash Shell

June 12, 2023

Learn how to use the bash -c command to create a new instance of the Bash shell and run scripts or commands from a string.


VS Code - Push or Sync Code after a Successful Commit

June 6, 2023

Streamline your Git workflow in VS Code! Learn how to effortlessly push or sync your code with a single click after a successful commit.


The Paradox of Speed: Why Going Slower Is the Fastest Way to Develop Software

May 26, 2023

Slow down to speed up! Taking time to plan, test, and iterate can ultimately lead to faster and higher quality software development.


Managing Technical Debt: Importance, Types, and Strategies

May 24, 2023

Technical debt can lead to higher costs, lower productivity, and decreased customer satisfaction. Learn to manage it effectively in software development.


You Are Not Your Code: Separating Your Identity from Your Work

May 23, 2023

Developers, separate your identity from your code for better mental health. Focus on the process, embrace failure, and seek validation beyond work.


Creating Future-Proof Code: Strategies for Adapting to Changing Technologies

May 6, 2023

Future-proof your code! Stay current, leverage open-source, and prioritize scalability, modularity, docs, and testing for adaptable software.


How to Password Protect Zip Archives on macOS Using the Terminal

April 13, 2023

Safeguard your sensitive files on macOS with ease! Discover how to create password-protected zip archives using the Terminal and keep your data secure.


Using the Terminal to Compress Files on macOS

April 11, 2023

Learn how to use the Terminal on macOS to compress files and folders using the built-in zip command and automate the process with scripts.


Seamlessly Switch between Package Managers with a Shell Function

March 19, 2023

Switch between npm, yarn, and pnpm seamlessly with a single shell function! Simplify your package management and focus on your code.


How to Count the Number of Files Using ls Command

March 11, 2023

The CLI is a powerful tool. Learn basic commands like 'ls', '|', and 'wc' for efficient file and directory interactions.


Slow and Steady Wins the Race: Embracing the Marathon of Learning

February 27, 2023

Learning is a lifelong journey, and it's essential to approach it with a marathon mindset. Consistent effort over time is key to achieving success.


Balancing Speed, Functionality, and Reliability in Software Development

January 15, 2023

Software development requires balancing three core objectives: making it work, making it fast, and making it right. Prioritizing each is key to success.


Avoiding the Pitfalls of Sunken Cost Fallacy in Software Development

September 16, 2022

Avoid the sunk cost fallacy in software development! Assess progress, involve stakeholders, and explore new opportunities for better decision-making.


Toggle Boolean State Effectively in React

August 18, 2022

Often, we want to toggle a boolean state in our React application. The first choice is probably using an useState hook, but is it the best option?


Stack Data Structure

August 17, 2022

Master the Stack data structure in TypeScript! Implement a type-safe, test-driven stack and uncover its similarities to the Queue.


Priority Queue Data Structure

August 16, 2022

To create a Priority Queue, we can leverage a previously created Queue. Want to see more details? Check the article!


Queue Data Structure

August 15, 2022

Unleash the power of the queue data structure! Learn how to implement a type-safe and test-driven queue from scratch using TypeScript.


Data Structures and Algorithms in TypeScript - What to Expect

August 14, 2022

The new series about Data Structures and Algorithms is here! If you want to know more - check the article.


Create a Large File on macOS

August 8, 2022

Need a large file for testing purposes on macOS? Don't waste time searching – generate one instantly with the powerful mkfile command!


Fundamentals of Testing in TypeScript #4

November 27, 2021

Testing asynchronous code can be tricky sometimes. We will go through the process of making our testing framework ready for the asynchronous functions.


How to Verify Google Search Console Domain with Vercel

November 26, 2021

Updating DSN records can be scary, but worry not! In this tutorial, we will verify our domain for GSC on Vercel!


How to Insert a Snippet after Pressing a Keyboard Shortcut in VS Code

November 10, 2021

Supercharge your VS Code workflow! Learn how to combine keyboard shortcuts and snippets to boost your productivity and streamline your coding experience.


How to Set Notifications for macOS Consistently in an Automatic Way

November 5, 2021

Automate macOS notifications with AppleScript! Take control of your notification preferences and save time by streamlining the setup process.


How to Merge JSX Component Props in TypeScript

October 26, 2021

Master the art of merging JSX props in TypeScript! Discover advanced techniques and reusable utility types for seamless merging and cleaner code.


Use Ternaries Rather than Logical AND in JSX. Or Not?

October 24, 2021

Ternary operators or logical AND in JSX? Discover the pitfalls of conditional rendering and explore alternative approaches for flawless component rendering.


A Gentle Introduction to Nullish Coalescing Operator

October 11, 2021

Discover the power of the nullish coalescing operator in JavaScript and TypeScript! Say goodbye to pesky null and undefined values.


A Gentle Introduction to ESModules in Node.js

October 8, 2021

Every supported version of Node.js now supports ESModules. Here is a tutorial on how to start using them.


Using faker.js on Next.js API Route

May 4, 2021

Generate dynamic fake data effortlessly with faker.js and Next.js API routes! Elevate your app's testing and prototyping to the next level.


Fundamentals of Testing in TypeScript #3

April 21, 2021

Create a custom TypeScript testing framework from scratch! Learn how to isolate tests and generate helpful error messages for seamless debugging.


Fundamentals of Testing in TypeScript #2

April 12, 2021

Elevate your TypeScript testing skills! Learn how to create a layer of abstraction for your assertions, making your tests more readable and maintainable.


How to Host Express App on Vercel

April 3, 2021

Effortlessly deploy your Express app to the cloud with Vercel! Learn how to set up and host your Node.js application in just a few simple steps.


Fundamentals of Testing in TypeScript #1

March 31, 2021

We will build our own version of Jest, so you understand what Jest does and how it works from a fundamental level.


Why I Joined the Blogging for Devs Course

March 7, 2021

Blogging for Devs is a free email course from marvelous Monica Lent, which can help you with the growth of your blog.


JavaScript Currying 4 - Trace

September 17, 2020

Unlock the power of function composition with JavaScript currying! Learn how to create concise and readable code using the trace function and point-free style.


JavaScript Currying 3 - Compose

September 15, 2020

Unleash the power of JavaScript currying with compose! Create powerful function pipelines and elevate your code to new heights.


JavaScript Currying 2 - Tacit Programming Point-Free Style

September 11, 2020

Embrace tacit programming with JavaScript currying! Unleash the power of point-free style and create elegant, concise code that impresses.


JavaScript Currying 1

September 4, 2020

Unlock the secrets of JavaScript currying! Learn how to create powerful and flexible functions that can be partially applied and reused with ease.


JavaScript Scope

September 2, 2020

Conquer JavaScript scope and take control of your code! Learn to effectively manage variable accessibility and harness the power of closures.


JavaScript Closures

August 3, 2020

Unravel the mysteries of JavaScript closures! Harness the power of lexical scoping and create functions that remember their surroundings.


Compress Multiple Folders into Individual Zip Files - macOS

November 21, 2018

Discover how to effortlessly compress multiple folders into individual zip files with just a few clicks using the built-in Archive Utility app.


Copy a String Representation of the Specified Object to the Clipboard with Chrome Devtools

November 12, 2018

Quick tip how to copy a string representation of the specified object to the clipboard with Chrome DevTools


Custom Web Search with Alfred on Your Mac

October 20, 2018

Supercharge your Mac's search capabilities with Alfred's custom web searches! Create personalized shortcuts without the need for a Powerpack upgrade.