• 0 Posts
  • 71 Comments
Joined 5 months ago
cake
Cake day: August 31st, 2025

help-circle
  • You can’t, obviously. I know how to read code, but I still rarely do it since it’s very time consuming. Usually, if I’m nervous about something, I’ll first look at the author and see if they’re well-known, or at least tied to a real identity. In the rare cases that I have reviewed a code base (I’m not a security expert or anything) to check for malware, the things I looked for were:

    • obvious red flags, like urls to fishy sites, or calls to filesystem APIs where it doesn’t make sense, paths that it shouldn’t be trying access, etc

    • anything that looks obfuscated, poorly written, or delibrately designed to be difficult to read

    But if it’s anything related to Node/NPM, I always use a throwaway rootless podman container without filesystem access. Even if the author is trustworthy, their dependency graph is likely a bag of used needles that they picked up on the side of the road.



  • https://scratchapixel.com/ for valuable background

    After that, I recommend you learn webGL and write your first project in javascript. It’s not as cool as a native executable in C++, but you will gain a lot of crucial 3D graphics knowledge without getting sidetracked by typical native development woes (which should not be underestimated)

    Once you feel you have a good grasp on the 3D math, working with a graphics API, writing shaders, and the general architecture of a 3D application, THEN you should start looking into native development. Maybe start learning Vulkan as a next step, although that’s a tough one if you don’t already have C or C++ experience (mostly because of memory management concepts). Instead of Vulkan, you could instead go with OpenGL or a high level library like Sokol.

    It should go without saying that this isn’t an easy topic. It’s a deep, deep (but rewarding) rabbit hole. There’s a lot of stuff to learn, and it will take a while. A sense of overwhelming dread, hopelessness, and inadequacy is part of the process.





  • func get_album_by_id(album_id: int16): Album -> (
      get_albums()
      | find(func (this) -> this.id == album_id)
    )
    

    I’ll admit I’m not a database guy, but isn’t this inefficient? It looks like it’s first querying the DB for all albums, then filtering the results in the interpreter. I assume the db engine has a more optimal implementation for when you do SELECT WHERE query, designed for whatever data structures it’s using internally.

    Also, minor nitpick but why does it have so many different ways to define a function body?

    func something() -> { ... }
    func something() -> ( ... )
    func something() -> ...
    





  • I’m a full time senior dev using the shit out of LLM’s, to get things done at a neck breaking speed

    I’m not saying you’re full of crap, but I smell a lot of crap. Who talks like this unironically? This is like hearing someone call somebody else a “rockstar” or “ninja”.

    If you really are breaking necks with how fast you’re coding, surely you must have used this newfound ability to finally work on those side projects everyone has been meaning to work. Those wouldn’t be covered under NDA.

    Edit: just to be clear, I’m not anti-LLMs. I’ve used them myself in a few different forms, and although I didn’t find them useful for my work, I can see how they could be helpful for certain types of work. I definitely don’t see them replacing human engineers.


  • I don’t know you, but I’ll give you an example of someone I do know

    • Didn’t give a crap about computers throughout highschool. Didn’t really know what he wanted to do in general

    • Picks computer science last minute because it supposedly makes a lot of money

    • Cruised through shitty community college doing the bare minimum, no side projects or any sign he’s even interested

    • At graduation time, he barely knows how to code. Has a github profile with some homework assignments he was forced to do

    • Is part of the job market now, competing against you and me.

    I don’t know if he’s employed as a software engineer right now, but I’ve worked with people who obviously fit the same profile. People who expect real work to be as simple as submitting a homework assignment last minute using shit you copy pasted from SO (or I guess ChatGPT now), and then fucking off to enjoy life while your coworkers are burdened by your incompetence.

    This is a field where actually giving a shit is a requirement.




  • I don’t agree with OSI either, and think their licenses are exploitative. But their definition is useful to call out orgs like FUTO.

    The solution to devs being exploited by big tech is the GPL or AGPL, not whatever FUTO is doing. They’re trying to have their cake and eat it too: earn the goodwill that comes from claiming you’re open source, while keeping the same restrictions in place you’d see in a commercial software package, which keep users locked down to one vendor (aka “free beer” rather than “freedom”)

    This isn’t a new idea invented by FUTO, it’s called “source available”. Gitlab is another example of this, as is Unreal Engine, and many others.


  • Not being the language for programming beginners and data scientists, probably aides that impression, though…

    I think it was that back when it was relevant (but replace data scientists with web devs)

    I never got interested in the ecosystem myself, but I’ve run into it every now and then. I feel like it’s in the same place as PHP today: still used a lot for legacy reasons, but you’ll get weird looks if you start a new project with it and you’re under the age of 40



  • Mint us absolutely perfect for folks like me. I want to use my computer, not work on it.

    I know you’re not going to believe me, because you sound like the type of person who is “set in their ways”, but the only thing that makes Mint better for you than some other distro is that it happens to already be installed on your computer. That’s it. Mint is not the perfect choice for anyone, because it’s not particularly good at anything.

    Keep using it. If it works for you, great. I don’t care what you use. But we shouldn’t be misleading people new to Linux into installing a distro that might not work for them.