Zangoose

joined 1 year ago
[–] Zangoose 1 points 1 hour ago* (last edited 1 hour ago)

You know neovim can use the exact same LSPs (Language Server Protocol) for intellisense as VS Code right? There's intellisense, git integration, code-aware navigation, etc. Neovim can be everything VS code is (they're both just text editors with plugins), except Neovim can be configured down to each navigation key so it's possible to be way more efficient in Neovim. It's also faster and more memory ~~edficient~~ efficient because it isn't a text editor built on top of a whole browser engine like VS Code is.

I use a Neovim setup at home (I haven't figured out how to use debugger plugins with Neovim and the backend I work on is big enough that print debugging endpoints would drive me insane) and I can assure you I have never given variable names one letter unless I'm dealing with coordinates (x, y, z) or loops (i, j) and usually in the latter scenario I'll rename the variable to something that makes more sense. Also, we don't do it to seem hardcore, it's because there are actual developer efficiency benefits to it like the ones I listed above.

By your own logic you "can't be bothered" to learn how to edit a single config file on a text editor that has existed in some form for almost 50 years (vi). Stop making strawman arguments.

[–] Zangoose 10 points 2 days ago (1 children)

I was trying to look more into game dev crunch at Nintendo and the most recent articles I could find were about Mario 64, Ocarina of Time, Majora's Mask (all for the Nintendo 64) and Metroid Prime (for the GameCube). From what I can tell all of their recent games have been delayed instead of forcing crunch.

That being said the difference in work culture means they probably still have longer hours but they aren't giving their developers actual PTSD like EA and Activision. It is really sad that the bar for AAA game devs is not having devs hospitalized from overworking. Hopefully more game dev and software dev companies can meaningfully unionize to combat that.

[–] Zangoose 1 points 4 days ago (1 children)

My bad, that's on me, it looks like the C++ libraries I found use either templates or boost's reflection. There might be a way to do it with macros/metaprogramming but I'm not good enough at C/C++ to know.

I'm learning rust and C at the same time and was mixing up rust's features with C's. Rust's answer to reflection is largely compile-time macros/attributes and I mistakenly assumed C's attributes worked similarly since they have the same name.

[–] Zangoose 3 points 5 days ago* (last edited 4 days ago) (4 children)

See my other comment for more detials but it kind of destroys the type safety of the language. In Java for example, it lets you modify private/protected fields and call private/protected methods.

It's also slower than accessing a field normally since you need to do a string lookup (but slightly faster than a hashmap/dictionary) so if you use it over a large enough list it'll cause slowdowns.

Most use cases for it in Java/C# revolve around testing, serialization, and dynamic filtering/sorting. And most of those cases can be handled more safely using macros/attributes (EDIT: and templates as well, though those are also pretty painful to deal with) because that gets handled at compile-time in C/C++.

[–] Zangoose 8 points 5 days ago (1 children)

It's pretty cool when you use it right but it's also really easy to shoot yourself in the foot with, even by C++ standards. For example, in other languages (I'm coming from Java/C# which both have it) it lets you access private/protected fields and methods when you normally wouldn't be able to.

There's also a noticeable performance penalty over large lists because you're searching for the field with a string instead of directly accessing it.

For the times it is necessary (usually serialization-adjacent or dynamic filtering/sorting in a table) to use reflection, it's faster at runtime than converting an object to a dictionary/hashmap. However, 99% of time it's a bad call.

[–] Zangoose 6 points 5 days ago* (last edited 5 days ago) (3 children)

There's a pretty big difference though. To my understanding enable_if happens at compile time, while reflection typically happens at runtime. Using the latter would cause a pretty big performance impact over a (large) list of data.

 

Source

Alt text:A screenshot from the linked article titled "Reflection in C++26", showing reflection as one of the bullet points listed in the "Core Language" section

[–] Zangoose 6 points 1 week ago

The dev who owned the branding for forge (LexManos) is infamously abrasive and rude to others to the point where the forge community was slowly falling apart because new people didn't want to be involved with him. The rest of the team decided to rebrand to NeoForge and continue without him.

[–] Zangoose 3 points 1 week ago

Given that it was running until 2019 when it closed because it wasn't profitable enough, I think it's probably fine

[–] Zangoose 4 points 1 week ago

That's definitely true but at the same time why do people have to cause fights in the first place, they're all part of a community for a game they enjoy playing :(

I also agree with you on the sodium license change, it's definitely the most reasonable of the ones I listed since the dev seemed to be getting maintainer burn-out and had some bad experiences with other people in the MC modding community. I don't really like the idea of it not being OSS though because the key strength of that is not being tied to a single maintainer or group.

[–] Zangoose 3 points 1 week ago (1 children)

Modpacks still have attribution but they likely have attribution to the fork. The fork will have attribution in the source code somewhere but most MC players aren't likely to actually look at the GitHub repo, so they'll only see the fork's name.

[–] Zangoose 14 points 1 week ago (4 children)

The lead developer changed the license to a much less permissive one because of drama surrounding being credited in modpacks. The dev thinks there are forks that exist solely to sidestep crediting the original mod, I'm not up to date enough on Minecraft modding lore to know if this is true or not.

I'm pretty sure there's also a fork that branches off of the last GPL commit but I forget what it's called.

[–] Zangoose 2 points 1 week ago

I mean assuming you have nothing else except the OS on it fair enough I guess

 

Not really sure if there is a better place to put this, but is bytes.programming.dev having issues for anyone else? I can log in but my timeline doesn't load at all.

402
Yes, yes we can (lemmy.world)
submitted 1 month ago by Zangoose to c/linuxmemes
 

Credit to https://lemmy.world/post/18689927 for the original post

Alt text:

Me: mom can we have (Linux penguin)?

The rest of the meme is scribbled out and over it is one word, "Yes"

 

I'm trying out NixOS on my laptop right now and I'm loving it so far, but I was thinking of setting up distro box for ubuntu (mostly for a few developer environments dependent on it) and arch (for packages that aren't on nixpkgs yet). I was wondering about the battery life hit on a laptop and I couldn't find anything definitive on google/ddg. Has anyone here noticed a difference?

1474
Good luck web devs (lemmy.world)
submitted 9 months ago* (last edited 9 months ago) by Zangoose to c/[email protected]
 

Alt text:Twitter post by Daniel Feldman (@d_feldman): Linux is the only major operating system to support diagonal mode (credit [Twitter] @xssfox). Image shows an untrawide monitor rotated about 45 degrees, with a horizontal IDE window taking up a bottom triangle. A web browser and settings menu above it are organized creating a window shape almost like a stepped pyramid.

Edit: alt text

428
submitted 10 months ago* (last edited 10 months ago) by Zangoose to c/[email protected]
 

Alt TextA screenshot of a file manager preview window for my ~/.cache folder, which takes up 164.3 GiB and has 246,049 files and 15,126 folders. The folder was first created about 1.75 years ago with my system

 
view more: next ›