Building a Static Website - Part 1: Introduction

A couple of months ago, I help a friend set up a website for a business. Today, I had another talk with a friend about building a portfolio website and he asked me for a few resources. I couldn’t find a comprehensive one that outlines all the required steps so I’ll try my best. What is a static website? From ChatGPT: Basically: Static - no server-side logic, cheaper Dynamic - with server-side logic, more expensive What makes a (static) website Setting up a static website is basically free these days, maybe a few dollars a year if you want a custom domain.

TIL: Parallel make

I’ve always kind of known about the -j flag for make, but I didn’t know that it just works.

I Deleted My NPM Packages

I deleted all 4 of my NPM packages today. It has been over a year since I’ve last updated them, and I didn’t want to add any more clutter to the system. I’ve always thought that having published open source code meant something, but then I realized that it doesn’t matter if it’s not useful. Learning how to package libraries and applications was a good experience, though, and I would probably publish stuff IF/WHEN I have actually solved a need.

Happy New Year!

You might have to zoom in a little bit to see these bad boys. They sing a just-intonated major pentatonic scale from a low fifth to a high sixth. Just enough notes to play Auld Lang Syne. Click/tap on a Pou to play a note1. Keyboard controls: z,x,a,s,d,q,w for the notes, space for confetti. Pou won't show up without JavaScript :( Toggle Confetti It’s not as responsive on mobile sadly :( ↩︎

Replicating My Linux Workflow on Windows

A new co-op position meant new hardware1, and a new technology stack to learn. Unfortunately, that includes having to use Windows. Coming back to Windows after almost 2 full years on Linux, it felt like I forgot how to use a computer. All the keyboard shortcuts that my hands were used to would do funny things like lock my laptop. I just wanted my shell, my terminal, and my tiling window manager back.

Why I Migrated to Hugo

Aside from the fact that Hugo is Blazingly Fast™, I had a few problems with Docusaurus/the whole JS ecosystem that made it hard for me to keep updating my website.

Go Interfaces give me a reason to live again

A few months ago I made a meme about Go being my new favourite language (replacing TypeScript) and I just want to share a satisfying moment I had recently. The Task In the previous iteration of my website1, I have a few lines in my config that fetches information about my published NPM packages to be rendered on the Projects page. I wanted to do the same for my new website, outputted as a Markdown table, which can be easily imported into the page with readFile.

Dev Log: Boboman - Day 4

I feel like the hardest part of writing this game would be the enemy logic. That’s why I’m putting it off for as long as possible! Today I implemented map generation, randomly placing boxes sufficiently far enough from players. I also added controls for other players, which reminded me of my local multiplayer experience with Boxhead. I miss having multiple people on play a single keyboard. These days it would be awkward to play that way.

Dev Log: Boboman - Day 3

Feeling good today. I got to fix the collision bug that was happening yesterday. It actually had to do with the collision lifecycle, so to make the player detectable, I decoupled the check from the lifecycle of the bomb. Because of this, I could revert the player’s bomb timer to normal. Moving away from a project and letting your brain sit on a problem for a while really does wonders.

Dev Log: Boboman - Day 2

MAJOR BUG ALERT!! Apparently my collision logic for the bombs weren’t going to hold up. Every time a bomb explodes, there is a small time window where you can place a bomb and the bomb would not recognize the player, making it a “not new” bomb. Because of that, the player gets pushed off right away and could end up in the weirdest of places. After hours of debugging I couldn’t really solve it because of how the collision library orders the entity updates.

Dev Log: Boboman - Day 1

Recently, I’ve been heavily configuring my text editor, Neovim, which means that I’ve been writing a lot of Lua. I do find it enjoyable, even without having any tooling initially, so I wanted to give game development and Love2D a try. I just finished Sheepolution’s How to LÖVE book on Love2D, and felt prepared to make my first game from scratch. As per Jherzey’s request, I’m creating a Bomberman clone.

Bye bye Netlify

It was short trial, but GitHub Pages just works better for me.

TIL: My actual height

Today I learned what my actual height was (at least at the time of writing). For a few years now I’ve always kind of just stuck with 170 cm because that’s what was in my driver’s license when I got it 5 years ago (I really need to pass the road test this year). I’m not even sure if that was right at the time.


Welcome to my website! I am Charles, a Computer Engineering Student working as a Full Stack Web Developer.

Charles Ancheta

Software Engineer

Future post ideas

  • Shiny Object Syndrome
  • Recommended Tools for Software Development
  • T3 Stack (and how it made me love TypeScript again)
  • New Year, New Setup
  • HackED 2023