Posts

My Worst Semester so Far

Fall 2023 was my first semester coming back after being out of school for 16 months (I tried taking CHINA 101 in Fall 2022 but dropped it after a week). Because of that, I have forgotten how to study. Both midterms and finals went pretty horribly. It’s not even that I don’t care about grades anymore, and I definitely could have done better if I just did the practice exams thoughtfully.

My domain expired 😭

I hope my namesake1 pianist Charles Ancheta claims it back eventually. ‘charlesancheta.com’ used to redirect to his Facebook page before I registered the domain as mine.

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!

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

Charles Ancheta

Computer 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