HackerTrans
TopNewTrendsCommentsPastAskShowJobs

dxuh

887 karmajoined قبل 6 سنوات
dxuh.at.hn meet.hn/city/de-Essen

website: https://theshoemaker.de

comments

dxuh
·قبل 16 ساعة·discuss
None of these will be used to attack the far-right parties on the right though. They barely investigate those parties in the individual countries, but they focus more on the moderate left already.
dxuh
·قبل 18 يومًا·discuss
"All it takes to run" might be fair if you paid $2400, but right now the total price is way closer to $10k (almost 5k for the RAM and 2k each for the GPUs). Today that is a lot of expensive hardware.
dxuh
·قبل 28 يومًا·discuss
I think it should be noted that the current government, which did this silly thing, belongs to a party that is pretty much advertising on wanting to be a smaller government that gets involved less. That is a large part of why people vote for them.
dxuh
·قبل شهرين·discuss
Location: Essen, Germany

Remote: yes

Willing to relocate: no

Technologies: C++, Linux, Python, Lua

Résumé/CV: https://joelschumacher.de/cv

Email: mail AT joelschumacher.de

I like systems programming work of all kinds. I have worked in telecommunications, interfacing with programmable logic controls and now work in shared web hosting infrastructure. In my free time I usually develop games and game technology. I would love to work on game technology professionally. Please have a look at my portfolio: https://joelschumacher.de/projects.
dxuh
·قبل 4 أشهر·discuss
I feel like this whole problem is just made up. Back in the day, when I played lots of Counter Strike, we had community servers. If a cheater joined, some admin was already online and kicked them right away. I'm sure we hit some people that were not actually cheaters, but they would just go to another server. And since there was no rank, no league, no rewards (like skins, drops, etc.), there was no external reward for cheating. It annoys me that cheating in competitive video games seems like a bigger problem than it has been in the past for no good reason.
dxuh
·قبل 4 أشهر·discuss
Counter-Strike has been doing this for years. It's called "Overwatch" (even before Blizzards Overwatch came out). And believe it or not it failed to reliably catch actual cheaters AND got non-cheaters in trouble (both repeatedly). A very good player is indistinguishable from a cheater with a good cheat. Sometimes people just get super lucky for a few rounds and you might get judged based on that.
dxuh
·قبل 4 أشهر·discuss
I agree that use of trigonometry is almost always a smell, but e.g. in games there are so many cases where angles are just more useful and intuitive. I just grep-ed for "angle" in a game of mine and I find it for orienting billboard particles (esp. for particles a single angle is much better than a quat for example). Also for an FPS camera controller. It's much simpler to just store a pitch and a yaw and change that with mouse movement, than storing a quat. You can't really look at a quat and know what kind of rotation it represents without opening a calculator. And I also use it for angle "fudging" so if you want to interact with something if you are roughly looking at it, you need to configure an angle range that should be allowed. It just makes sense to configure this as an angle, because we have some intuition for angles. So I guess for computations angles are probably usually wrong, but they are great for intuition (they are low-dimensional and linear in amount of rotation). That makes them a better human interface for rotations. And as soon as you computations start with angles, of course they find their way into the rest of the code.
dxuh
·قبل 4 أشهر·discuss
But CMake only reruns, when CMakeLists.txt has changed. That doesn't happen a lot after the core of the project has been set up for me. Especially not when I am tweaking a game mechanic or something.

Also if you want your project to compile with Ninja on Linux, but also with MSVC and you want cross-compilation (on Linux for Windows) and an Emscripten build (I do want all of those), then rebuilding CMake is quite a lot of work.
dxuh
·قبل 4 أشهر·discuss
I think the standard library is good, but if you pull in ANY of it's headers you add a couple hundred milliseconds to every translation unit. So when making games (and only then), I avoid the standard library.

What I do like and use is overloading, references, templates, concepts, lambdas, enum classes, user defined literals, constexpr, operator overloading for math (!), little syntax stuff like structured binding declarations, "auto" and range based for. I also made my own little fmt (like https://riki.house/fmt). C++ is a much nicer language than C imo, even without the standard library.
dxuh
·قبل 4 أشهر·discuss
I quite like modern C++, so I really tried to make it work for gamedev, but I think you can't really do it. You can use all the modern C++ features that are not in the standard library though! I am working on a little game the last few months and after a while I just decided to not use any of the C++ standard library (I just use a few C headers) and make my own Vector, Array, Span, String, FlatMap. And using those the game compiles really fast. If I touch a header that is included almost everywhere (the big game state struct), I can compile and link (mold) in ~300ms. If I touch player.cpp I compile in 250ms. That is mostly good enough for me, but I am thinking about the "game code as dynamic library" thing myself.

I always thought CMake was good enough. I use FetchContent for all external dependencies and git submodules + add_directory for all internal dependencies. It took me a while to figure out that this was the simplest thing that works reliably though. I have used vcpkg and conan extensively and have completely given up on them.

I don't use C++ modules, because afaik they are still mostly broken. Without modules clangd works wonderfully and has been working wonderfully for a few years. I really, really like it. I think it can be done! I am missing reflection though, but if I would really want to use it, I'd probably just use clang -ast-dump instead of the new reflection functionality.
dxuh
·قبل 5 أشهر·discuss
I loved the gym and it did help my psyche. That is very clear to me. But now I don't go to the gym anymore, because I have a very stubborn radial tunnel syndrome in my right arm and my knee osteoarthritis is worse than ever. Of course both of those things make me angry and anxious. While I am absolutely positive that exercise helps your psyche, I would not be surprised if the majority of this correlation is actually from a common cause (it might also be stress in general - i.e. no time for exercise), lack of financial resources or just a bad place of living, etc.
dxuh
·قبل 5 أشهر·discuss
I feel like this is ultimately uninteresting. This doesn't change anyone's image of these companies. We know they are evil. They have done worse and they will do worse. They never got a meaningful punishment and I have no reason to believe they will. All they get is outrage on the internet, which is effectively meaningless to them.

The files being examined right now shows me that there is nothing bad enough to actually make anything happen, no matter how absurdly evil it is. Are we too easily distracted? Or are we too used to inhumanity now? Or are the powerful simply more powerful than most of the rest of the planet?
dxuh
·قبل 6 أشهر·discuss
I am sort of questioning my use of LLMs again after, first reluctantly, starting to use them multiple times a day. This story seems like it was intended to be an allegory for LLM-use though I know it couldn't have been.
dxuh
·قبل 6 أشهر·discuss
I liked aider initially, but I keep running into problems, as the project seems largely unmaintained. I wanted to install OpenCode yesterday, but this somewhat turns me off. Are there any good model-agnostic alternatives? I am somewhat shocked there is not a lot of good open source CLI LLM code assistants going around.
dxuh
·قبل 6 أشهر·discuss
I've had serious trouble with my knee and elbow for years and ChatGPT helped me immensely after a good couple dozen of doctors just told me to take Ibuprofen and rest and never talked to me for longer than 3 minutes. I feel like as with most things LLM there are many opponents that say "if you do what an LLM says you will die", which is correct, while most people that look positively towards using LLMs for health advice report that they used ChatGPT to diagnose something. Having a conversation with ChatGPT based on reports and scans and figuring out what follow-up tests to recommend or questions to ask a doctor makes sense for many people. Just like asking an LLM to review your code is awesome and helpful and asking LLM to write your code is an invitation for trouble.
dxuh
·قبل 10 أشهر·discuss
I have recently started re-implementing parts of the standard library myself just to improve compile times (and I did - massively!), but I purposely kept {fmt} around, because I think it's a great library and I thought it would be as fast to compile as you could possibly make it (it likely still is considering what it can do). Also because the dev put a lot of effort into optimizing compile times [1] and seems to be much smarter than me. So I made benchmark to prove you wrong and show you it's not that easy. But it turns out formatting a couple of numbers and strings is much faster with your basic formatting library [2] [3].

Comparing using `hyperfine --warmup 3 "g++ FILE.cpp"` (and some flags for fmt) I get 72ms vs 198ms. So I changed my mind and might take a crack at replacing {fmt} as well. Cool stuff! Thank you.

[1] https://vitaut.net/posts/2024/faster-cpp-compile-times/

[2] https://godbolt.org/z/3YaovhrjP bench-fmt.cpp

[3] https://godbolt.org/z/qMfM39P3q bench-rikifmt.cpp
dxuh
·قبل 4 سنوات·discuss
You're right. I'm sorry. It got too heated below my initial comment and I got upset. I'm not in a good place currently and I should probably refrain from commenting at all. And yes, I am not fun at parties.
dxuh
·قبل 4 سنوات·discuss
I want to address some points for people that are reading and don't have enough C++ experience to judge that they are not as serious as they might seem.

* You can just have your constructors not initialize your member variables. If they don't have default constructors that do work, then no work is done.

* Yes, originally. Move-semantics are part of the language since C++11. Enough time has passed.

* I read and write C++ every day at work and in my free time and I rarely find this to be a problem. If I see a non-trivial type, I assume it's destructor is called at the end of scope. And whether I have to look up the destructor of some type or a corresponding free function (like in C code usually), makes no difference to me.

* Gamedev can live entirely without exceptions and many other software projects do as well. You just have to write your constructors so that they do little work (which is encouraged anyways) and use methods to initialize them. Having static methods that return an optional<T> is also pretty common.

Of course you can also have constructors that do a ton of work, so you never know what is being done, exception handling everywhere to error handle all that code and not use move semantics or very old C++ versions. There are always ways to use a language in a bad way and get bad results. I am sure you have seen bad C code.

Of course RAII is not simple. It's extremely complicated, which is why I consider it missing. Using a new language needs be justifyable by some significant added value.
dxuh
·قبل 4 سنوات·discuss
My point was that I don't see much of a point in yet another language that is C with an extra 10%. There is another one like that almost every week.

Plenty of applications that require manual memory management have been written in C++ or Rust, which do provide RAII. If you know that manual memory management is required for some applications, you also know it's not 100% of the code that needs it.
dxuh
·قبل 4 سنوات·discuss
RAII is often optional automatic memory management, like in C++ or Rust. Both of these languages are used for AAA games and rarely used for websites. My point was that if you don't go as far as those two, there is just not much of a point to not using C instead.