• 0 Posts
  • 10 Comments
Joined 1 year ago
cake
Cake day: June 19th, 2023

help-circle


  • RPGMaker sounds like something you would like (not open-source, though). You can do most things without coding, to just enjoy creating and telling stories. And when you want to do more, you can add code on top, learning at your pace and adding more and more useful stuff, if you find out you like that and stick with it.

    With Godot, you would need to learn more about coding, but the advantage is when you know Godot, you’re ready to make “real things”. You could get a job just by knowing Godot, either to use it directly or to move to Unity, which is very close.


  • I’ve started learning C four years ago, after a career spent coding ruby/javascript/Go, so I guess I was in the same position than you. I started by reading the GNU C manual, then the Glibc documentation, and the man pages for headers and functions I was using (all glibc functions have a man page ; depending on your distros, it may already be installed or you may need to install a specific package to install them all at once). And of course, reading header files in /usr/include/ is always useful for using this or that library. Later, I discovered the book Modern C and it completed my education to feel at home with C. I can’t say if it’s the best path, but it worked for me.




  • Obligatory mention for those who don’t know yet : you can find what files a program use by using strace <command> (provided strace is installed). It actually logs all syscalls made by the program, so there will be a lot of noise, but in there you will find the access() and open() calls.

    Additionally, if you want to strace programs that already are running in a convenient interface, htop has strace support (this is less useful to find configuration files, as those are usually read at the start of the program, but if you can trigger a save to the file, it will appear here).


  • I use it regularly in projects from other people, almost never in mines. It’s a good tool when I’m completely in the dark, not knowing much about the architecture of the codebase. When I do know the architecture, I usually have a good intuition where the problem is coming from and I go poke the git log of the file or files related to that, it’s always faster than bisecting. But in Terra Incognita, this is an incredibly powerful tool. You know this version worked, you know this one is broken, and you can just follow the process of git bisect to find the exact commit that introduced it. In FOSS projects, it’s usually a commit that changes two or three lines and you can pinpoint immediately what the problems is. If it’s a 1000 LOC change commit, you’re in for more analysis, but at least you know it’s somewhere there. :) So yeah, I would call that mostly a tool to contribute bugfixes in FOSS projects, at least in my usage.


  • One other thing to consider is that if you goal is to keep the image up for 5, 10, 20 years, there’s actually way more chances it happens on imgur than on your self hosted webserver : one day you’ll be bored of maintaining it, and that’ll be that. A good part of the web from the 2000’ was deleted because we were hosting our blogs on our own servers, until we didn’t. In an ideal world, we would have a p2p web, where content is distributed by users of the site and it stays up for as long as one person seeds it, like the Beaker Browser tried to do with dat, but this is far from what most people use today. For now, the power of self-hosting is more suitably directed at providing apps you will use for yourself than to publish things meant to stay out in the world. Unless of course you’re ready to commit to that, knowing from the get go it will be a challenge.


  • It’s even worse than that. :) I’ve read the 4 standards (which, to be fair, are very pleasant to read, we’re lightyears away from xhtml docs), and I still don’t understand how the search feature works in Lemmy and Mastodon. Because the standards are very minimalists : they describe what messages look like (the various activities a user can do), ActivityPub itself describe the http structure of the inbox and outbox (the requests to do to use them), and… that’s about it. There is nothing about discovery, so I suppose now applications implement it as they see fit, which means on top of understanding the standards, you need to understand actual implementations (that’s what I’m going to read next, at least).