Giovanni's Diary > Ephemeris >

2025-03-23

I just wanted to share a thing that made me laugh for some time. I am currently developing a kubernetes application for my ""internship"", most of the code is in go, and some is in c. I am not an expert in go, however the application is INCREDIBLY slow to compile and it weights A LOT for being just a simple client that makes some api calls to kubernetes. So, I was reporting this to one of my "supervisors":

Me:
The only complaint I have at the moment is that building the operator
inside the docker container before pushing It to the local repository
takes 105 seconds on average on my laptop (i3-1110G4 CPU) and it
weights 92M which is outrageous (by comparison, my linux kernel 6.11.4
image is 16M), and I am using the default makefile from operator-sdk...
I guess this is because operator-sdk downloaded a big number of
dependencies but I wonder if the application actually needs all of them
or if they can be compiled once and dynamically linked later to speed
up compile times.

I felt this was a reasonable thing to complain. I got this in response:

Well, I see your point, but it's considered a "feature" of Go to
produce a single binary, which includes all dependencies, but this
also makes the binaries huge :'D

A FEATURE? I really don't know if I should take this language seriously or just laught at It, beacuse many things are just laughable. Being able to dynamically link executable has always been one of the most basic things, It is incredible to me that people consider go as a language for system programming. Maybe I am just too used to C, but com' on I cannot have the most simple client of 92MB! I still have the best intentions of keep learning and write ideomatic code in go, maybe I just have to understand that modern software has to suck to become a real go programmer.

Also I call this ""intenship"" with many quotes because I am basically developing this application completely on my own, my teacher is not even answering my mails. Many of my fellow colleagues are in the same situation. Still, I was not surpriced since I always think realistically and honestly I didn't expect much from university, but It surely is sad. The funny thing is that the internship was supposed to happen with a company, but then they said It could not continue with them for various legal reasons (I had to move to the USA) so I am proceeding to develop what I was suppoed to on my own.

Emacs lisp is very cool, I am writing tiny-rss and I am having a lot of fun. Firther, today I have redesigned by blog and It looks awesome, exactly what I wanted! It's really really simple, which I find aesthetically pleasing.


Travel: Ephemeris, Index