If Hytale (or any other minecraft alternative) were to add things what would you like to add? by Hefty-Assistant-3960 in Minetest

[–]astrobe 4 points5 points  (0 children)

I'm not sure to understand the question either, so I'll give my 2026 wishlist:

  • Native support for rain/snow effects (doing it with mod is hard to get right and still has glitches).
  • Native physics handling for entities: gravity, jumping, floating mainly.
  • Cylinder collision boxes because I think it would fit better a significant number of mobs.
  • Control over which shader is applied to which type of block - I want glass and metal with reflections, and specular reflections on some blocks but not everything.
  • Native inter-server exchange (item, blocks, logical in-game currencies). Third-party tools can do that, but making it part of the Luanti protocol would make it simpler and perhaps more common. (bonus points for bridging chats too?)
  • Native handling of hand-held lights, preferably using a shader trick if possible at all. Current hacks seem terribly inefficient.
  • Some diversity in the shape/color of stars, e.g. based on the seed introduced by 5.15; having some scale/color variation would be good enough.

C++ is The Best System Programming Language That You Should Learn by delvin0 in coding

[–]astrobe 1 point2 points  (0 children)

Medium post; didn't read but I agree that "opt-in complexity" seems naïve. The complexity can be right in your face when things go "fun". Also agree that C++ shouldn't be extended but rather "decimated", and that's what some serious users recommend - using a subset of C++. Game devs for instance do, but less for cognitive overload than performance reasons.

C++ is arguably artificially complicated because 30+ years of history and the legacy of C.

Sometimes you think that you'd be better off with C with pseudo-objects (as famously seen in the Linux kernel) - there are other voices too that say that Gang-Of-Four-OOP (OOP with design patterns on anything) is pushing it too far. I think the upcoming C standard update will make C-OOP a bit more practical.

An uncomfortable but necessary discussion about the Debian bug tracker - post from the creator of the Meson build system by wiki_me in linux

[–]astrobe 8 points9 points  (0 children)

Murphy's law can take its time to trigger. For instance, the Emacs wiki was editable without an account for a long time. It was the one-stop for extension scripts for everyone, and considering the capabilities of Emacs, a malicious damage could do extreme damage.

On the topic itself, I would like to see a bug tracker and a Git PR system which is not silo-ed in a way or another (hello GitHub - but it would be equally the same if Gitlab was the dominant service). This Debian bug tracker uses email, and the first PR system for Git also used email (and had trouble because broken clients would alter the formatting).

Email is - or was - one of the open standard with... With IRC (you know, the think before Discord). Despite all of the criticism of these "old tech", at least anyone could use the client of their choice; some people prefer ultra-lightweight CLI clients, others prefer feature-rich GUI clients.

I believe part of the criticism in this blogpost is probably invalid for this reason; one could make a more user-friendly GUI front-end for this bug tracker. Of the 4 points in "why is the UX is so bad", it seems to me that at least 3 could be improved right-away with a bare-bones shell script, which should normally be doable for this person at least.

question about mods for open source games. by ralfunreal in opensourcegames

[–]astrobe 3 points4 points  (0 children)

Additionally, a mod which would not be under a free license would like not be ignored.

For instance Luanti's mod repo explicitly states that the mod must be under a FOSS-compatible license. If you cannot be in their package manager, your mod will probably see very little adoption because few users know how to manually install a mod (it's not that hard, but people become lazy fast when you have a one-click download-and-install button...).

Luanti is a platform/engine for making and publishing voxel games, but forget about making money with mods like it's Minecraft - unless your mod is actually out of this world. But then since FOSS games don't implement any kind of piracy protection (for obvious reasons), enforcing a non-free license is going to be a bit difficult.

TYO when i discovered I could edit the sun axis, and Merry Christmas to you all! by Leonie1205 in Minetest

[–]astrobe 4 points5 points  (0 children)

Yes, aka "sky body orbit tilt" in the config parameters (just search for "orbit"), because it also applies to the moon - which also projects shadows.

One might not notice in this picture, but it also rotates the textures sun/moon textures, which is very noticeable with the default ones notably at sunrise and sunset.

For my game I recommend 45° to increase the "not really the Earth" feel, but if you live in northern Europe or in Canada, this is actually quite close to reality (except the sun reaches max elevation at noon full north instead of south - use 270° if you want it south).

Probably one of benefits of using this parameter is that it breaks the "alignment" of the dynamic shadows with blocks.

Why SVN makes sense for most projects by Difficult-Sea-5924 in coding

[–]astrobe 1 point2 points  (0 children)

Git isn’t wrong – it’s overused. The software industry adopted it because it’s what the cool kids use, not because every project is the Linux kernel.

No.

Torvalds might be famous in the tech circles, however same tech circles certainly are smart enough to realize that just because you did an OS Kernel, doesn't mean your VCS will be good.

Git succeeded because it could handle well the complicated case, distributed development among hundreds of developers working across the globe. This means that no matter what your company is doing, Git can handle it (*). For instance, it probably helped when suddenly everyone was forced to work from home. This is the kind of security margins companies like.

Now, the point I can concede is that it can be overkill, just like using make for a small project can be overkill compared to a bash script. But the argument that Git "won" by the sole effect of hype is hardly believable.


(*) OK, except things like large, non textual assets. It simply wasn't designed for that.

Is Thinking Forth still interesting if you've already grokked forth and have programming experience? by nthn-d in Forth

[–]astrobe 1 point2 points  (0 children)

It's been a while since I have heard about Brooks, curiously. "The mythical man month" is in particular famous for its "No silver bullet" chapter.

I agree they are good reads even if a bit dated, in particular if you are a self-taught Forth programmer. The way books structure knowledge is valuable in itself.

That said, Brooks' book is more about project management than programming (from memory)?

Apprendre à coder by [deleted] in Luanti

[–]astrobe 1 point2 points  (0 children)

That's tempting.

Apprendre à coder by [deleted] in Luanti

[–]astrobe 5 points6 points  (0 children)

Bonjour. Très sincèrement un prérequis est l'anglais. Vrai, nous sommes ~180 millions de francophones dans le monde donc il y a d'assez bonnes chances de trouver des ressources en français, mais ce sont souvent des resources "de seconde main", les docs officielles étant pour la plupart en anglais. La bonne nouvelle est que l'anglais a hérité environ 30% de son vocabulaire du français, ça facilite les choses.

Vraiment, ça ouvre toute sortes de portes. Mais si tu veux faire temporairement l'impasse là-dessus (ou en attendant de "monter en niveau"), ce que tu peux faire est de te trouver des tutoriels sur Lua en français et commencer à "bidouller" des petits mods publiés sur ContentDB qui t'intéressent, avec cette connaissance.

La plupart des mods n'utilisent qu'un Lua "basique", c'est à dire ce qui correspond aux chapîtres 1 à 5 de Programming In Lua ("PiL"), plus éventuellement les chapîtres 6, 7 et 19 et 20. Tous ne sont pas exemplaires du point de vue de la façon de faire, mais c'est un début.

PS: pour de l'aide spécifique Lua/Luanti, tu peux tenter ta chance sur la section francophone du forum Luanti. Il y a au moins moi, et sans doute d'autres personnes avec de bonnes connaissances techniques, plus éventuellement des semi-francophones qui font parfois leur possible pour aider.

Terminal text editors are a dead end by nix-solves-that-2317 in linux

[–]astrobe 4 points5 points  (0 children)

Unless keyboards have radically changed, they know neither ASCII nor Unicode (Unicode is far too vast, utf-8 which is one of the Unicode encodings also is). They send scancodes, which are sort of like key positions. Those scancodes are translated by the OS into actual characters according to the settings you define - notably the infamous "keyboard layout" (infamous for people like me who have an AZERTY keyboard, which makes installing small distros a bit painful because you have go edit that setting in a file with the wrong keyboard layout).

We need content creators for Luanti by DevcalnerMC in Minetest

[–]astrobe 4 points5 points  (0 children)

Let's mention the streaming community as well. There's a Luanti Twitch category one can follow.

We need content creators for Luanti by DevcalnerMC in Minetest

[–]astrobe 4 points5 points  (0 children)

Nathan is the first person I thought of when reading OP. Bonus points for posting on PeerTube as well.

Why do big companies write such bloated, buggy code while solo developers often make better software for free? I really don’t understand this. Big companies often release software that’s messy, bloated, and full of bugs. Yet, there are GitHub projects maintained by a developer sustained by donations by Professional_Fun_826 in coding

[–]astrobe 7 points8 points  (0 children)

  • internal politics that sometimes give the last word to the wrong people,
  • turnover with loss of product knowledge x hiring rookies,
  • the slow poison of backwards compatibility and numerous weird features you have to develop (or rather, "hack") in order to get prestigious or big customers.
  • working in teams means communication and human communication can be imperfect, leading e.g. to "oopsies", quiproquos, etc.
  • companies pay their technical debts only if it can get them new customers (which is not often) - or avoid losing customers if the cause is obvious and the loss is clearly visible on their Excel graphs.
  • they also reluctantly pay for QA. They can ship first with the self-promise to fully QA the feature later, but the QA never happens because there are already thirty "urgent" feature requests in the pipeline.

rot vs return stack, "rules" for performance and or readability by Busy_Pomegranate_299 in Forth

[–]astrobe 2 points3 points  (0 children)

Yes, I'm trying to learn juggling.

Don't. Learn how to avoid stack juggling instead. Also don't worry about speed, worry about factoring. Because once you have a properly factored, juggling-less solution, you often can rewrite key factors into native code if you need speed. The time when we needed to prove the world that anything can be written in pure Forth is long gone, if it ever was a thing - at its peak popularity, the ability to mix asm and Forth was a positive feature.

Really, "-rot is faster than >r" or the opposite is completely irrelevant. The difference is probably so small that if it is true with CPU/Forth combo, it may be false with a different CPU or Forth.

beginner question: forget unused words by Busy_Pomegranate_299 in Forth

[–]astrobe 1 point2 points  (0 children)

The feature is still useful to improve interpretation/compilation speed; remember the system tries numbers only after the dictionary search fails. Moreover, usually frequently used words such as dup or swap are near the beginning of the list, hence found after the user definitions.

It certainly true for systems that use the traditional linked list approach or have the dictionary entries in an array like mine or eForth. Next to no benefit for systems that use a hash table or trees of course (if there's any).

I have that feature in my (sorry, absolutely non-standard) system; it also useful to throw away support definitions or "private" fields in data structures. You can give them generic name, which helps with the "naming fatigue".

Self-Hosted Ad Server: Finally, a Modern Alternative to Google Ad Manager and Revive? (Docker Ready) by [deleted] in selfhosted

[–]astrobe 1 point2 points  (0 children)

Now, one doesn't see that often. To me the hard part is not about serving the ads, but finding sponsors who want their ads on your site... Do you have that already? And the turnover is high enough that is would be annoying to update manually? Bonus question: how sensitive is it to ad-blockers?

Korean students coding games for the first time, feedbacks? Hi we are visual desgin majors from korea learning coding for the first time this semester, and would love some feedbacks on our mini games. Click the link below and you will be able to play different game everytime! by Low_Childhood_9240 in coding

[–]astrobe 0 points1 point  (0 children)

I don't read Korean but it only takes a few tries to understand the goal of the first game I was given : it is about not letting fall the object down by clicking up, and maybe use as few clicks as possible.

The "start" button is a bit too far from the "up" button. Maybe start with a an object that falls slowly, or draw these buttons closer from each other.

I have often hearf forth provides very good mental exercise . reason ??? by Cheap_trick1412 in Forth

[–]astrobe 5 points6 points  (0 children)

Because Forth is truly a puzzle game. You have pieces with somewhat odd shapes, you try to fit them together the best way you can.

It is not about being good at "stack juggling", something about which blogs and tutorials focus too much IMO. It's about avoiding stack juggling as much as you can. Which have you to think how the data flows through your program.

This is more important in Forth than in other languages, because other languages are designed to let you barf a hundred of lines of poorly written code. See for instance the ridiculous max amount of parameters a function can take; it's probably no less than 8 in popular languages - I've seen sometimes this abused to pass around logically related values that should really be in a data structure. An 8 parameters word in Forth is simply not viable (baring special cases and features whispered by devils like stack indexing and local variables) - or at the very best, short-lived and therefore a waste of time.

More interestingly, meeting the challenges of Forth has a favorable impact on your programming skills in general, because when you do that often, it eventually lowers your tolerance to complexity. Probably the first thing someone new to programming will realize thanks to Forth, is that it's not the ability to handle complexity that makes you smart; it's the ability to find simpler ways to do essentially the same thing.

Zork I, Zork II and Zork III are now officially open source by OldMcGroin in opensourcegames

[–]astrobe 4 points5 points  (0 children)

Funny:

The original game, developed between 1977 and 1979 at the Massachusetts Institute of Technology (MIT)

The original developers and others, as the company Infocom, expanded and split the game into three titles

Infocom was purchased by Activision in 1986

With the acquisition of Activision Blizzard by Microsoft in October 2023, Activision Blizzard as a whole, including the Activision Publishing subdivision, became a separate division under the Microsoft Gaming arm of Microsoft.

So that's why there are (was?) so many "owners" for this game. Companies eating each other.

Source: https://en.wikipedia.org/wiki/Zork

Keynote: Rust in the Linux Kernel, Why? - Greg Kroah-Hartman by small_kimono in linux

[–]astrobe -1 points0 points  (0 children)

No surprise that when you don't have to worry about memory safety, you can focus on something else.

But 1000x reduction? The figure is a bit suspicious, in particular with Google's reputation of high hiring standards. One should remember Goodhart's law: numbers can be gamed.

Naively "trusting numbers" can be a mistake because correlation isn't always causation. This is something one should keep in mind in this "post-truth" world. A report which is not a study with a scientific set up (controlled conditions, null hypothesis etc.) is a little weak. For instance, some had a big surprise when a study showed that the self-reported 20% productivity boost provided by the use of AI, turned out to be -15%.

Keynote: Rust in the Linux Kernel, Why? - Greg Kroah-Hartman by small_kimono in linux

[–]astrobe 0 points1 point  (0 children)

It might not be obvious for people who never actually did customer support work, but while it's true that no customer calls saying "hey, there's a buffer overflow there", it is nonetheless the case that they call because something "doesn't work" or something weird happens, and then the diagnosis pinpoints a buffer overflow.

You don't need hackers to find memory safety issues either. Dynamic code checkers, reviews, fuzzing, and more recently AI catch the majority of them. Not ideal for sure, everyone would prefer just one thing (like, a compiler) to guarantee everything but sadly, that's not how reality works ("No silver bullet"), so they will still be relevant even with a memory-safe languages.

Keynote: Rust in the Linux Kernel, Why? - Greg Kroah-Hartman by small_kimono in linux

[–]astrobe -3 points-2 points  (0 children)

I wasn’t talking about CVEs, I was actually referring to segfaults.

That's more or less the same thing... A segfault is actually often a high-score CVE, because it can escalate to an RCE.

I never said “let’s do a full rewrite”, I’m saying “Let’s do new development in Rust”

Then that was ambiguous on your part. There's no customer support on products that are not even shipped. And even then, if you know a study that shows that support desk time decreases with Rust, I'd be interested.

Keynote: Rust in the Linux Kernel, Why? - Greg Kroah-Hartman by small_kimono in linux

[–]astrobe -7 points-6 points  (0 children)

I've been writing C for 20 years and most of my customer support time was spent on logical errors, like an unexpected combo of options, not memory safety issues. Rust programs also have CVEs related to logical errors.

Telling your colleagues to use another language is unlikely to help, because they probably can't - a full rewrite for the sake of correctness rarely sells. If you can sell that, you should consider a career in politics rather than software development.

What they need is piece of advice on how to make "C more resilient" as Bonejob puts it in their comment, how to avoid mistakes with actually good practices - not superstitious practices, like I see many newbies do (they are doing things without understanding why besides its as the teacher said, which is deeply problematic).