I'm available for challenging remote roles. Let's get in touch.

Beyond Goals: Doerr's OKRs For High-Performance Teams

In this article, I distill the key concepts from Doerr's book, focusing on how OKRs and CFRs empower teams to deliver exceptional results.

Beyond Goals: Doerr's OKRs For High-Performance Teams

Building OpenTask with Next.js App Router and RSCs

Learn how I built OpenTask, an open-source MVP task management web app, using the new Next.js App Router, React Server Components, Server Actions, Suspense, Tailwind CSS, Radix, Supabase, and Prisma.

Building OpenTask with Next.js App Router and RSCs

Nexar: application architecture for Next.js App Router apps

Tired of starting new Next.js apps with a spaghetti codebase? Nexar is here to help! It's a modular and layered architecture to build scalable, maintainable, and well-organized Nextjs App Router codebases. Say goodbye to spaghetti code!

Nexar: application architecture for Next.js App Router apps

What is software architecture?

Learn what software architecture is, why it's important, and how components, modules, and layers help you modularize your applications.

What is software architecture?
Image by Freepik

React Server Components and a new hybrid web app model

Learn why React Server Components and the new Next.js App Router unlock a new hybrid web application model, why it makes sense, and how to use it.

React Server Components and a new hybrid web app model
Image by rawpixel.com on Freepik

Wildcard HTTPS on Linux + Let's Encrypt + Nginx

Learn how to set up HTTPS on a Linux server using a wildcard certificate from Let's Encrypt and set up the Nginx website configuration files accordingly.

Wildcard HTTPS on Linux + Let's Encrypt + Nginx
Image by Freepik

What are HTTPS, TLS certificates, and Let's Encrypt?

Learn what HTTPS and TLS are, what certification authorities (CAs) are, what Let's Encrypt is, and the difference between regular and wildcard certificates.

What are HTTPS, TLS certificates, and Let's Encrypt?
Image by Freepik

How to set up your Mac for software development

Learn how to install Homebrew, Git, Node.js, Oh My Zsh, generate SSH keys, and more.

How to set up your Mac for software development
Image by Freepik

How to install and run Node.js with nvm on macOS

Learn how to install and run multiple Node.js versions effortlessly using nvm.

How to install and run Node.js with nvm on macOS
Image by jcomp on Freepik

How to sign Git commits with SSH keys on macOS

Learn how to sign Git commits using SSH keys, how to set up Git to remember your passphrase, and how to verify your commits locally and on GitHub.

How to sign Git commits with SSH keys on macOS
Image by Freepik

How to generate and use SSH keys on macOS

Learn how to generate SSH keys, why you should use passphrases, how to use your SSH keys on GitHub, and more.

How to generate and use SSH keys on macOS
Image by Freepik

How to install and use Antigen and Oh My Zsh on macOS

Antigen and Oh My Zsh are a great combination that allows you to customize Zsh to your liking easily. Learn how to install both in six easy steps.

How to install and use Antigen and Oh My Zsh on macOS

How to install Git with Homebrew on macOS

Learn how to install Git with Homebrew in six easy steps.

How to install Git with Homebrew on macOS
Image by Freepik

How to install and use Homebrew on macOS

Learn how to install Homebrew in four easy steps.

How to install and use Homebrew on macOS
Image by wavebreakmedia_micro on Freepik

How to install Command Line Developer Tools on macOS

Learn how to install the Command Line Developer Tools in four easy steps.

How to install Command Line Developer Tools on macOS
Image by Freepik

Remote and tracking branches with Git

Do you know what are remote and tracking branches? Tracking ones can make our lives easier, get to know why and how.

Remote and tracking branches with Git
Image by Freepik

How to password-protect content on Linux + Nginx

Learn how to password-protect files and directories on Linux + Nginx in 4 steps using HTTP Authentication.

How to password-protect content on Linux + Nginx
Image by Freepik

Software testing in the real world

In this short entry I'll talk about something you may not know: it's not possible to release bug-free software! Get to know why, and how to proceed with your testing activities in the real world.

Software testing in the real world
Image by Freepik

Tagging with Git

Learn what Git tagging is and how to use it to tag your software releases.

Tagging with Git
Image by Freepik

How to set up a website on Linux + Nginx

Learn how to set up a website or web app using the ultra-fast Nginx HTTP Server on Linux in 6 steps.

How to set up a website on Linux + Nginx
Image by storyset on Freepik

How to install Nginx on Linux

Learn how to install Nginx on Debian or Ubuntu in 5 steps.

How to install Nginx on Linux
Image by fullvector on Freepik

Testing is not Quality Assurance (QA)

Learn the difference between Software Testing and Quality Assurance (QA).

Testing is not Quality Assurance (QA)
Image by Freepik

Branching and merging with Git

Learn what Git branching is, why use it, and how to create and merge branches, including conflict resolution.

Branching and merging with Git
Image by Freepik

How to set up a Linux VPS

Learn how to securely set up a Debian or Ubuntu VPS (Virtual Private Server) from scratch in 11 steps.

How to set up a Linux VPS
Image by DCStudio on Freepik

Introduction to NoSQL

Learn what NoSQL is, why it is different, its four main data models (key-value, document, column-family, and graph), when we should use it, and more.

Introduction to NoSQL
Image by kjpargeter on Freepik

How to report bugs effectively?

Learn how to report bugs effectively proving a clear description, reproducible steps, sorting by severity and priority, and more.

How to report bugs effectively?
Image by rawpixel.com on Freepik

Basic Git commands explained

Learn some basic Gits commands: clone, init, status, commit, push, pull, remote, and more.

Basic Git commands explained
Image by kjpargeter on Freepik

Introduction to Node.js

Get a comprehensive introduction to what Node.js is, why it's different, when we should use it, what evented I/O means, and more.

Introduction to Node.js
Image by wirestock on Freepik

Introduction to UML

Get an introduction to what UML is, what are models, requirements, use cases, and more.

Introduction to UML
Image by rawpixel.com on Freepik

What is software testing?

What is software testing? What are black-box and white-box testing? What are unit, integration, and end-to-end testing? Get these and more questions answered.

What is software testing?
Image by pressfoto on Freepik

Git workflow

Learn about Git's three file states (modified, staged and committed), and its three corresponding sections (working directory, staging area and Git directory).

Git workflow
Image by Freepik

What is a software bug?

Sometimes tricky issues arise in software development, but not all are bugs. In this article you'll learn solid parameters to make sure something really is a bug.

What is a software bug?
Image by kuritafsheen77 on Freepik

What is a product specification?

Learn what a product specification (spec) is, why it's so important, and know some types of documents that may compose it.

What is a product specification?
Image by pch.vector on Freepik

Introduction to Git

This article explains what Git is, a little about how it works internally, what a DVCS (Distributed Version Control System) is, its advantages, and more.

Introduction to Git
Image by Freepik

Welcome

Welcome to my blog. I'll be writing mostly about Ruby, Rails, HTML5, JavaScript, iOS, Android, Web Server, etc. Feel free to cooperate, share ideias and checkout the public repository.

Welcome
Image by dashu83 on Freepik

© 2024 Flavio Silva