~

1 about me

1.1 basic information

Welcome strange, my name is Augusto Castelo, I'm a 22 years old guy from Uruguay.

1.2 programming

I love programming and computers in general, started programming when I was 16 following the outstanding Unity & C# tutorials from Academia de Videojuegos (formerly known as Hagamos Videojuegos) later got interested on making desktop GUI applications, the OS that I used back then was Windows 7 and Windows Forms seemed like a really good option to start with, it was fairly easy and intuitive, just dragging & droping widgets and setting the event handlers. I devoted 3 or 4 years to learn really cool stuff about C#, then about 2019/2020 I started learning web developement using nodejs.

1.3 linux

On 2020 I was using WSL (Windows Subsystem for Linux) and some things didn't work the way they should, so I created an Ubuntu virtual machine, it wasn't my first experience with Linux since I used it with my XO (thanks to the OLPC project) back from 2015/2016, a short period of time after and I was installing Ubuntu alongside Windows 10 (and then deleting Windows 10 for good). I was curious enough to learn a lot of things about linux, and many of it's distributions, the one that caught my eye was Arch Linux, so I installed it at the end of 2021 and I fell in love with it, it's minimalism, it's customizability and community. I spent 1 week setting everyting up, the window manager that I wanted, the status bar that I wanted, the application launcher that I wanted, the screen locker that I wanted, and more.

1.4 the c programming language

The C Programming Language is a book from Brian Kernighan and Dennis Ritchie and it gave me the base knowledge to dig deep into this marvelous language. This language is used for operating systems, web servers, web browsers, audio/video libraries, drivers, literally it is on everything that you could ever imagine, the fact that a lot of the tools that I used were written in C motivated me to learn the language and help the deveolpement of those incredible tools.

1.5 suckless

I am always aiming to become a better software developer, and one great inspiration for it is the unix and suckless philosophy, never measure the quality of your program by how many lines of code it takes, instead you should focus on quality, simplicity, avoiding unuseful features, doing one thing and doing it well.

The following is an extract from https://suckless.org/philosophy/:

"Many (open source) hackers are proud if they achieve large amounts of code, because they believe the more lines of code they've written, the more progress they have made. The more progress they have made, the more skilled they are. This is simply a delusion.

Most hackers actually don't care much about code quality. Thus, if they get something working which seems to solve a problem, they stick with it. If this kind of software development is applied to the same source code throughout its entire life-cycle, we're left with large amounts of code, a totally screwed code structure, and a flawed system design. This is because of a lack of conceptual clarity and integrity in the development process.

Code complexity is the mother of bloated, hard to use, and totally inconsistent software. With complex code, problems are solved in suboptimal ways, valuable resources are endlessly tied up, performance slows to a halt, and vulnerabilities become a commonplace. The only solution is to scrap the entire project and rewrite it from scratch.

The bad news: quality rewrites rarely happen, because hackers are proud of large amounts of code. They think they understand the complexity in the code, thus there's no need to rewrite it. They think of themselves as masterminds, understanding what others can never hope to grasp. To these types, complex software is the ideal.

Ingenious ideas are simple. Ingenious software is simple. Simplicity is the heart of the Unix philosophy. The more code lines you have removed, the more progress you have made. As the number of lines of code in your software shrinks, the more skilled you have become and the less your software sucks."

2 projects

2.1 X11 stuff

2.2 haxball stuff

  • haxmaps - haxball map downloader
  • haxjs - haxball headless host api for nodejs
  • haxip - haxball room ip

2.3 misc

3 contact

alpheratz99 <AT> protonmail.com