Can't you respond to a message without barely relevant comparisons? :-P
> If you are worried it's too much, "the wrong kind", whatever, you simply ask them.
If you have to ask them, then having terms of use is pointless. The entire point of ToU is to explain how one can use the service, if you have to "ask" then the terms are not doing their job properly.
Of course people aren't perfect and can write vague or misleading ToU - and considering i've seen the same questions about that "mostly" part here, on Reddit, on Mastodon, on Twitter, on Discord, on blogposts and even their bugtracker[0] where they claimed their blog post on the matter will clarify things, which it didn't, there is no question that the terms are inadequate here - but the response to that isn't to try and guess what they possibly could mean, the response is for the terms to be clarified.
If Codeberg wanted to tell people who use LLMs in their projects that those projects are not welcome there, then they should have put that in their terms of use in clear and unambiguous wording.
It is also the simplest and most widely available one[0], working from decades old PCs to whatever is latest one, not only from the official drivers but also 3rd party implementations[1] that target other lower level APIs for environments where there isn't an official implementation.
[0] on open platforms at least
[1] it most likely wont be a 100% compliant one (even SGI had trouble on that front :-P) but in practice it'd be usable
That is only your own interpretation. It is one that does conform to the rule but only because it takes one extreme side of the potential "amount" of allowed genAI use.
However this isn't what the terms update state. If that was the meaning then they would have explicitly written "zero" - or something along these lines. The fact they didn't do that (despite the update being there for weeks and people were able to vote on them for a long time - so it wasn't just some mistake) means they do allow "some" use of genAI - so at that point the question becomes "how much".
> Before Codeberg has to ask that, the person who would upload has to ask it themselves. People know what they did, or didn't.
This is going in circles. For someone to "ask it themselves", first they need to know what to ask. But the term is vague: what does "mostly" mean? You can't ask yourself if your code is "mostly consist of code written by" generative AI if you don't know what whoever is going to judge the rules means by it.
Is it to be taken literally? I.e. a 2000-line project where 1000-lines are written by AI is fine but if there are 1001-lines your project is out (in which case, if the human-written lines get refactored to become shorter and more efficient, does that suddenly mean the project is out?).
IMO that sounds either like a bug in Nvidia's drivers (IIRC OpenGL doesn't require that sort of alignment) or -more likely- your code having some other memory related-bug (e.g. accessing data out of bounds) that the extra bytes you got from alignment masked it.
You're mistaken, Codeberg isn't ran by some guy, it is a non-profit organization with ~1200 members (not to be confused with users - there are ~200k users), ~780 members of which have voting rights.
Codeberg isn't one person, it is a non-profit organization with ~1200 members (not to be confused with users - there are ~200k users), ~780 members of which have voting rights. The decisions aren't taken arbitrarily but they are proposed and voted for in an internal forum.
> the spirit behind this update is clear: to carve out a space for human-written projects.
It is not that clear though.
I use the Lazarus IDE for Free Pascal. Free Pascal is kinda verbose and the LCL framework Lazarus uses has a bunch of boilerplate and its design is biased towards tool-assisted development. As such, Lazarus itself writes a lot of code for you and you fill in the "blanks" that provide what you want to do. It also provides a lot of functionality for code completion where you provide something basic like a magic word or a very partial/incomplete declaration and it automatically fills in the rest, often adding functions and such.
To me, despite Lazarus writing a bunch of code itself, the projects i made using it are "human-written".
And to me many uses LLM also fall under the same category - e.g. i often use some small local LLM as "awk that can think" to transform text/code in ways that would be either cumbersome or sometimes impossible with actual awk (or similar). If i give an LLM a few C function prototypes and ask it to write the boilerplate C code for exposing them as a native module i do not see as any less "human-written" than if i used a script that parsed the C prototypes and generated the code or some similar tool: in both cases i had a few functions i wrote myself and had my computer generate code for exposing them as a native Python module.
So from my perspective, projects doing any of the above would still be a fit for "human-written" spaces.
Even at the time Java had some great tools and IDEs (NetBeans, Eclipse) and both computers and the JVM were fast enough for any performance issues compared to fine tuned C++ to not matter much, especially for a game like Minecraft that didn't (at the time anyway) push the CPU much.
Java allowed Minecraft to run pretty much everywhere, including as an applet (very important in its early time) and it relied (and still relies) on LWJGL which provides access to the most common stuff you'd need to make a game (OpenGL, windowing, input events, etc) - and at the time it also worked for applets too (you needed to download the LWJGL applet code but it was signed by the devs so you didn't get too many scary messages).
I used the same tech (Java+LWJGL) at the time to make a few simple demos/games and it was quite easy to make stuff - e.g. i made this[0] in a few hours using Java, LWJGL and Eclipse on the iMac i had at the time.
That name is a blast from the past! I remember Tribal Trouble's devs mentioning they chose Java because they wanted to use "weird/unusual" languages for gamedev :-P
The Microsoft API docs are a special case where i'd say you pretty much need LLMs nowadays because after a bunch of document format conversions over the years they degraded massively.
If you can find some MSDN CDs/DVDs from the early 2000s, the content is much better (and you can clearly see that the current docs are often missing descriptions and names for method arguments or even entire paragraphs).
Yeah i thought about it and you can sync the GPU and CPU (basically wait until the GPU stops doing anything) and even bruteforcing a sync before and after every register change it didn't solve things :-/.
It might still be something i'm doing wrong GPU-wise, but these flickers happen with static geometry (the memory for which is allocated at init) -seemingly- because of "damaged" transformation matrices (modelview and projection) passed to the vertex shader. The matrices are inlined in the push buffer (i.e. become part of it) that contains the commands to setup the render state before the command that draws primitives using them, so basically it is impossible for the GPU to "miss" them :-P.
FWIW Blender 5.1.2 (i.e. the latest one) can import and export DirectX .x files using an addon you can download from[0] (from inside Blender itself).
Though i'd stick with Blender 2.79b for such projects because Blender 2.8 (i think) switched to a PBR pipeline that looks "wrong" when targeting non-PBR renderers (in theory you can recreate the original shading using material nodes or whatever they're called, but setting up materials in modern Blender is already more involved than Blender 2.79b without taking nodes into account). Most of the tools you'd need for making game assets (mesh editing and UV editing primarily) haven't changed much anyway to the point where you can follow most Blender mesh editing tutorials with it :-P. I'm in a few retro gamedev Discord channels and apparently i'm not the only one using 2.79b because of the changes in 2.8+.
> Dive and read the official documentations for that hardware (pure RTFM kid), at this case the SDK/API docuements. And red through the samples that comes with the SDK, compile them, and learn even more tricks from them.
Unfortunately nxdk does not have (any) great docs and it is much lower level than what you'd (probably) get with the official SDK - you basically have to write your own GPU driver for example (though i think nowadays there is a partial implementation of OpenGL that has enough functionality to port a modern-ish Quake engine).
I made a simple engine[0] some time ago for OG xbox using nxdk and i basically had to figure out what registers do what using old versions of Nouveau from when it had GeForce3 support - and whenever that wasn't enough, i was just trying random stuff :-P. And unfortunately xemu (currently the most complete OG xbox emulator) is not very accurate when it comes to failures, so very often you get stuff that work on it not actually working on the real hardware.
On the other hand, in case anyone cares, nxdk is basically the only "legal" way to make stuff for OG xbox and various communities (like on Discord) do not allow posting binaries/ISOs made with the original XDK. And from a more practical perspective, at least personally i prefer to use a Unix/Linux-based development environment :-P.
(unfortunately i'm also having some weird issue with my engine in that i get weird flickering on the real hardware that i do not get on the emulator that seem to be based on wrong values ending up to the renderer - but only with optimizations enabled and only on the xbox hardware - if i compile the engine for Linux, be it 32bit or 64bit, it works fine and no matter which tool i tried - valgrind, sanitizers, etc - and good old "pouring through the code" i cannot find what the issue is -- which makes me think it a compiler bug as nxdk relies on Clang and i'm not sure the Clang devs test Pentium 3 much - and unfortunately, unlike GCC, you can't enable only individual optimizations, you can only use the -O<n> optimization levels, so i can't even figure out what exactly breaks things that could have been a hint in case it is something in my code)
Codeberg has some extra "anti-scraping" measures than just Anubis which, judging from the community issues[0] sometimes ends up with false positives that cause people to get garbage (example issue[1], potential page with the garbage i found from Google[2]).
Interestingly, someone mentioned that you may get the garbage when searching Codeberg using Google's `site:codeberg.org`
Same here, i've been on Codeberg since 2022 but if this passes, i'll most likely move my stuff elsewhere (my projects do not even have any AI code, i just dislike the idea of telling people what tools to use to make their own stuff).
I dislike GitHub and i'm using a shared host for my website which wouldn't let me install something like Forgejo (this is by choice as i don't want to bother with sysadmin stuff, my site is almost all static HTML with only a couple PHP scripts for some minor tasks). So i guess i'll be migrating to GitLab, even though i do not really like its UX. Or maybe i'll use some other Forgejo instance like CodeFloe. URLs aside, migrating between Forgejo instances should be easy.
Spinning up a docker image with GitLab is easy indeed, but the installation is huge and you can feel it doing weird stuff (and it keeps doing "stuff" all the time even if nobody does anything - before you even bother to create extra users or repositories or whatever). The whole setup seems to be designed to be opaque.
Forgejo is a single self-contained ~110MB binary (it contains all assets) you can drop anywhere and it'll just work - depending on your needs you most likely wont even need to bother with a DB server as it can use SQLite (my local install is doing that).
Also FWIW personally i find Forgejo's UX much better compared to GitLab.