

Please don’t implement the text version of OpenTTD


Please don’t implement the text version of OpenTTD


Most web browsers will have a hard limit on WASM apps that will be around 200-300 MB of binary size, and your RAM will be limited too.
Try opening a full-featured WASM game on iPad and weep.
Source: I’ve ported an open-source game to WASM. Worked fine on my PC, not so well anywhere else.


SDL provides you a framebuffer with 640x480 pixels and 24-bit color, with a delicious pixel-perfect 8x12 monospace font, on every OS and every device, and this is everything you will ever need. Titlebar? Close button? Your app is perfect, it needs no close button. It will be running 24/7 in a fullscreen mode, and the user will be happy! Other apps? Pah! Let them run on a second, smaller monitor!


Ok, so, someone used an LLM do create changes. This new code is no longer under the project license it is, as you say, public domain.
Except it is, depending on code similarity. The court uses the same rules as with book plagiarism. If LLM uses exactly same code structure and only renames some variables or adds pieces of code that do nothing useful, high chances the court will declare it a derived work and enforce the license.


One additinal trick is to compress your files before writing them to disk, using some kind of fast lightweight compression like parallel gzip (pigz command) or lzop. When parsing them, you will have smaller disk reads but higher CPU usage, which will give speed advantage if you have server-class CPU with lots of cache.


They still make an acceptable FTP server for backing up your huge tarballs.
Github is more involved, you need to create a release and then attach files to it. With sf.net you jist do a FTP upload.
DNS is pronounced ‘hosts’ because it was originally one big text file.
The PC case with Turbo button was originally 486-DX, but there was no place on the new K6 motherboard to plug it into.
People are boasting about Arch, but my first open-source OS was FreeBSD 4.2, fitting on a single CD-ROM.
It included a tiny base system and C compiler, and practically every other package had to be compiled from source, using the ports system, which was just a collection of makefiles, one for each package.
And you had to be careful to use gmake instead of make, because the default Make was BSD-specific tool incompatible with most of open-source software, which targeted Linux. And you had to make sure to use GNU versions of grep, sed, and awk, and remove all bashisms from shell scripts, because /bin/sh was of course incompatible with bash.
You had only about 50% chance that a given package would compile. Package manager? What package manager? Just run suand then make install.
And my PC was AMD K6, and it had Turbo button, which did absolutely nothing. And I was very proud of my TEAC CD drive.


I remember the time when Linux jokes were about audio drivers and X11 config files, but audio has long been working out of the box, and X11 is already dead and cremated.
Even recompiling kernel now takes around five minutes instead of two hours, so that joke is irrelevant too.
So all we are left with is timeless discussion of which text editor is the best, and dumping on Windows.


Install Wallhaven plugin, then you can have two different wallpapers that are changed each ten minutes.


Well, my Raspberry Pi 5 works perfectly.
As for languages that are acceptable for business logic, C++ is lolno, Java is kinda surprisingly okay because so much business logic is already written in it and debugging is trivial, Python is not worse than Java for the same reason when you are using proper linter to catch typos, C# / Go / Ruby are probably the best because they are most modern with the lowest footgun ratio.
JSON-in-a-string is a commonplace method of having a generic or any type when you are too lazy to write a proper structure for it, or want to save an object into a database without creating an additional table. In all fairness it has nothing to do with the language itself, and more with lazy coders. Postgresql even have additional SQL operators to access individual JSON fields inside a record, so yeah, you can dump a whole new unstructured database into a row of your existing database, it’s totally an acceped practice.
I’ve successfully used pyenv in the past, although uv claims that it includes all pyenv functions and more.
It’s Javascript with types. You are still using one hundred NPM packages to do the simplest thing. Any string can be JSON. And Node is single-threaded, so if you plan to create some kind of parallel computation, you’d need to run 16 Docker containers of your Node server, one per CPU core, with NGINX or some other load balancer at the business end, and hope that your database engine won’t reorder transactions. And yeah, Docker is mandatory, because Node version in your latest Ubuntu release is already outdated.
TypeScript and safety-critical paths should not be in one sentence.
So, like, regular Debian?
Sounds like they invented a window manager.