Should you commit the node_modules folder to Git?

That's a good question to have. There are pros and cons. I discuss the topic so you can make your own opinion. | Continue reading


@flaviocopes.com | 1 year ago

Debugging JavaScript

Every day we wake up, have a nice breakfast, head to the computer and there we sit, to write perfect code that does exactly what we want.Then we wake up.That would be ideal, right? But it was a dream.As good as you can become, there’s no way you can write bug-free code. Code has … | Continue reading


@flaviocopes.com | 2 years ago

Why a blog and not videos or podcasts?

This is an abstract from my book How to Start a Blog In the last few years, videos and podcasts have grown tremendously.Videos, in particular, are very popular. Kids want to become YouTubers when they grow up.Both videos and podcasts are awesome. I watch YouTube every day and I a … | Continue reading


@flaviocopes.com | 2 years ago

Ups and Downs of Having a Blog

This is an abstract from my book How to Start a Blog Having a blog is not all fun and games. There are many things that might give you a hard time on your journey.Realizing this is a first step in the right direction.Writer’s block Writer’s block is a thing. I have no general adv … | Continue reading


@flaviocopes.com | 2 years ago

How do you manage to learn several languages?

When I sent the first email newsletter where I announced the new SwiftUI series, I got this question: “How do you manage to learn several languages?”Good question!In the past I learned Pascal, C, Java, PHP, JavaScript, Objective-C, Go, Python, Swift. I think I listed all the lang … | Continue reading


@flaviocopes.com | 2 years ago

SwiftUI: Exploring Views and Modifiers

In the introduction to SwiftUI post I mentioned views.SwiftUI is all about views.Remember the Hello World app?import SwiftUI struct ContentView: View { var body: some View { Text("Hello World") } } ContentView is the main view. Its job is to define which views compose our app.In … | Continue reading


@flaviocopes.com | 2 years ago

Solopreneurship

I am a solopreneur.What’s a solopreneur? An entrepreneur that works solo. Alone. In total control of the direction and the operations of his/her own company. With no hires, and no boss.In my case no contractors, too.This has always been my dream, and I’m living it. I’m living my … | Continue reading


@flaviocopes.com | 2 years ago

Phaser: Physics and Screen Boundaries

JavaScript and Web Development Tutorials | Continue reading


@flaviocopes.com | 3 years ago

Living the “Van Life” as a Developer

I want to start a little series of posts on living the van life as a developer!What is the van life, and what does it have to do with this blog?Van life essentially means living in a vehicle. The reason I talk about this here is that it’s part of what I like doing. I can work fro … | Continue reading


@flaviocopes.com | 3 years ago

Python Control Statements

What’s interesting to do with booleans, and expressions that return a boolean in particular, is that we can make decisions and take different roads depending on their True or False value.In Python we do so using the if statement:condition = True if condition == True: # do somethi … | Continue reading


@flaviocopes.com | 3 years ago

JavaScript Strict Mode

Strict Mode is an ES5 feature, and it's a way to make JavaScript behave in a better way. And in a different way, as enabling Strict Mode changes the semantics of the JavaScript language. It's really important to know the main differences between JavaScript code in strict mode, an … | Continue reading


@flaviocopes.com | 3 years ago

Software Is a Superpower

We tend to belittle everything we already know. Since we know it, everyone should also know about this.But there’s one thing I’d never give for granted, and it’s the power that software gives us.Not just the ability to write software.Also having software we can use.No-code tools … | Continue reading


@flaviocopes.com | 3 years ago

The Deno Handbook, Node.js Reinvented with Rust and TypeScript

Get up and running quickly with Deno, a modern Node.js alternative | Continue reading


@flaviocopes.com | 3 years ago

What are peer dependencies in a Node module?

A simple explanation of the peerDependencies field in the package.json file | Continue reading


@flaviocopes.com | 4 years ago

On Being a Generalist

You have a choice. You can be a specialist, or a generalist. Which route should you choose? | Continue reading


@flaviocopes.com | 4 years ago

Show HN: The Developer's Guide to Creating a Successful Blog

Continue reading


@flaviocopes.com | 4 years ago

I wrote 1 blog post every day for 2 years. Here's 5 things I learned about SEO

5 SEO lessons learned by writing 1 blog post every day for 2 years | Continue reading


@flaviocopes.com | 4 years ago

Coding Is an Art

Coding is an art, a creative craft, a joyful thing | Continue reading


@flaviocopes.com | 4 years ago

Write what you don't know

Some thoughts on writing about things you don't know (yet) | Continue reading


@flaviocopes.com | 4 years ago

How to start a blog using Hugo

A detailed tutorial to start a new blog using Hugo from zero to deployment | Continue reading


@flaviocopes.com | 4 years ago

How to make a page editable in the browser

There is a special and pretty secret mode in browsers, called design mode. | Continue reading


@flaviocopes.com | 4 years ago

I Prototype a Web Page

A quick look at a simple workflow I use to prototype a web page | Continue reading


@flaviocopes.com | 4 years ago

I posted my API key on GitHub

Or GitLab, or any other public source control management platform. Now what? | Continue reading


@flaviocopes.com | 4 years ago

I stopped worrying and learned to love the JavaScript ecosystem

A journey to solve JavaScript Fatigue | Continue reading


@flaviocopes.com | 4 years ago

How to work from home without going crazy

Some advice from a 10+ years remote working experience | Continue reading


@flaviocopes.com | 4 years ago

How to Write Unmaintainable Code

25 actionable tips to write code as unmaintainable as possible | Continue reading


@flaviocopes.com | 4 years ago

Is JavaScript still worth learning?

Is there still demand for JS developers? Or is JavaScript becoming obsolete? | Continue reading


@flaviocopes.com | 4 years ago

Having a Business Mindset for Developers

Most developers I know don't care about business. At all. They have zero business knowledge, not even common sense about what business is all about. | Continue reading


@flaviocopes.com | 4 years ago

A List of Sample Web App Ideas

Every time I start a tutorial I find myself in a limbo wondering which app should I build. A to-do app? Not again! | Continue reading


@flaviocopes.com | 4 years ago

How to check types in JavaScript without using TypeScript

Find out how to add types to JavaScript without using TypeScript | Continue reading


@flaviocopes.com | 4 years ago

Why Go is a powerful language to learn as a PHP developer (Aug 2017)

I’ve been programming using PHP professionally since 10 years now. After my Computer Engineering degree, all I knew was that Java was not my piece of cake any more (after 6+ years using it for personal and academic projects), I wanted a much simpler stack and I figured out that a … | Continue reading


@flaviocopes.com | 4 years ago

How to get the real number of pageviews of a static site

Given a static site, how do you get the real count of visitors? | Continue reading


@flaviocopes.com | 4 years ago

How to use the Pug templating engine

How to use the Pug templating engine | Continue reading


@flaviocopes.com | 5 years ago

Efficiently load JavaScript with defer and async

When loading a script on an HTML page, you need to be careful not to harm the loading performance of the page. Depending on where and how you add your scripts to an HTML page will influence the loading time | Continue reading


@flaviocopes.com | 5 years ago

Why programming interview questions are so difficult?

I have to say I hate programming interview questions. Why they are so difficult? | Continue reading


@flaviocopes.com | 5 years ago

The node_modules folder size is not a problem. It's a privilege

My thoughts on the node_modules folder size debate | Continue reading


@flaviocopes.com | 5 years ago

Should I write comments?

Thoughts on commenting code, and on commenting the right way | Continue reading


@flaviocopes.com | 5 years ago

How to learn how to learn

Notes and observations on how to learn things quicker and in a more effective way | Continue reading


@flaviocopes.com | 5 years ago

How to estimate programming time

The fine art of estimating how long it takes to create software | Continue reading


@flaviocopes.com | 5 years ago

How to discover a bug using Git bisect

How I debug almost all problems that involve a long history of changes, tracked using Git, and discover when you introduced a bug in your code | Continue reading


@flaviocopes.com | 5 years ago

INTERACT WITH THE GOOGLE ANALYTICS API USING NODE.JS

Learn how to interface a Node.js application with the Google Analytics API, using the official `googleapis` package. We'll use a JSON Web Token and see some examples | Continue reading


@flaviocopes.com | 5 years ago

Using Netlify lambda functions

How to use Netlify Lambda Functions and add dynamic processing to JAMstack sites | Continue reading


@flaviocopes.com | 5 years ago

Server Side Rendering with React

What is Server Side Rendering? How to do it with React? | Continue reading


@flaviocopes.com | 5 years ago

How I added dark mode to my website

The step by step instructions to make 2 versions of your website, to make it perfect for both day and night use | Continue reading


@flaviocopes.com | 5 years ago

Introduction to React Hooks

Learn how Hooks can help you build a React application | Continue reading


@flaviocopes.com | 5 years ago

The scarcity principle applied to software products

What is scarcity? How can it help you grow your software-based business? | Continue reading


@flaviocopes.com | 5 years ago

WebRTC, the Real Time Web API

How to use WebRTC to create a direct webcam communication application with this simple tutorial | Continue reading


@flaviocopes.com | 5 years ago

The HTML Canvas Guide

A guide to the Canvas API, one way offered by browsers to draw to the screen | Continue reading


@flaviocopes.com | 5 years ago