• 0 Posts
  • 69 Comments
Joined 2 years ago
cake
Cake day: June 12th, 2023

help-circle


  • Why do people chose a lonely job?

    There’s an implicit bias in society that “extroverts are healthy” and “introverts are lonely and just need to open up more”.

    There are so many movies and shows about that nerdy iintrovert who learns to overcome their shyness and meet that “special someone” to have a more fulfilling (i.e. extroverted) life.

    But it’s fine to not want those things. Some people prefer coding 'til the wee hours working on a program and chatting to people on IRC even if I do have an early class tomorrow mom!

    In all seriousness, you probably meant no offense. I simply wanted to call your attention to it.





  • As with all things GH Actions related - “it kinda works if you struggle with it for a while”. If I get some spare time I may tinker with it a bit then - knowing things are “possible” is a good start. ;-)

    It’s my biggest complaint with GH Actions - death by a thousand paper-cuts. It’s not that it does any one thing wrong (though the way “shared workflows” work is pretty abysmal) it’s that everything hurts a little to work with. At least if you’re not building an open source project freely shared on github.com and using all public actions.



  • I feel like it should be self evident - but I’ll outline a few of the specifics.

    “Hey kids - just run this rando internet script directly without inspecting it first”

    Firstly - you shouldn’t copy/paste directly into the terminal at all. What you copy and paste may not be what you see: example. So even “simple” things could turn bad. Paste to an editor first, then your terminal - especially if you’ve used “sudo” recently. It’s simply bad security hygiene to just run random code in a shell and to get people used to doing so.

    Secondly - you’re just running some rando un-structured shell script. They can, and do, do whatever they want and put things wherever the developer felt they should go. It can re-configure your system in ways you may not want. In fact in this specific case it will add repositories to your system without asking. Did you want EPEL setup on your system? Did you want to add an external NVidia repo to your system? Too bad, it’s done. Hope you saw the “Installing NVIDIA repository…” message as it flew past because that’s all the notice you’ll get - and you only get that because the developers told you about it.

    Thirdly - since these are completely unstructured there is no uninstall without sifting through the script (which you didn’t keep because it’s a “curl | sh”). Again lets use this one as an example:

    How many things do you think that shell script installs?

    • It puts a binary in one of /usr/local/bin, /usr/bin or /bin
    • It then downloads a bunch of stuff to one of /usr/local/lib/ollama, /usr/lib/ollama or /lib/ollama.
    • It sets up external repositories to fetch nvidia dependencies
    • It proceeds to install dependencies from those external repos
    • It creates a service file for ollama and starts it.
    • It configures /etc/modules.d to load nvidia drivers

    And that’s all I see on a cursory walk through the 300+ lines of script. All of that may be reasonable to get things working - but that’s a lot for you to find and undo if you wish to remove this later.

    There are better ways to distribute software and handle dependencies.


  • Yes, I know they have a CI and some other features

    Github actions are terrible - fight me.

    commit: actions
    commit: actions
    commit: actions
    commit: actions
    commit: actions
    commit: actions
    commit: actions
    commit: actions
    commit: actions
    commit: actions
    commit: Another actions fix
    commit: Fixing actions
    commit: Fixed issue with actions
    commit: Actions not logging in properly
    commit: typo in actions
    commit: Created GH actions!
    




  • Checkout CS50. It’s free and should help with the basics, even if it does use Python rather than C#. As I said before - the concepts are transferable. You need to learn more than just “syntax”.

    Programming can be hard at first. Don’t be discouraged if you find it confusing or if you need to start with very simple things. There is a lot to learn so keep your expectations low, and feel free to return and ask questions. And if you’re comfortable using AI you can use it to explain concepts and code rather than just having it spit out solutions. It’s usually pretty good for this since there is a lot of material on the internet for it to have learned from.


  • Like i don’t know how i was supposed to learn multiple languages at once and understand both

    Because the differences between languages isn’t often that big (in most cases).

    They have the same concepts with different syntax. Like with spoken languages - you know there are verbs, nouns, etc. but not what the other languages call a “library”.

    Nearly all computer languages have an entrypoint, conditionals (if … then), loops (for, while), datatypes (integers, floating points, strings), complex structures (class, objects, structs) and functions.

    You seem motivated to learn but struggling with your instructor. Copy/paste from course material in an annoying way to learn. What helps is to really “get in there”. To debug something. Only then will you truly hate programming 😁.

    Others have suggested a personal project and I’d recommend it too. Even simple things are fine - but try to modify them to do more and more. The more you’re iterating over the same codebase the more comfortable you’ll become with it.

    Harvard University makes CS50 (an intro to programming course) freely available and it’s excellent. It does use Python, which won’t help with the specifics of C#, but it would help with the other gaps in your knowledge.

    And remember - concepts translate between languages, so if you understand classes in Python then you just need to learn “how does C# do classes?”.



  • This is going to sound harsh but… You need to take an intro to programming course.

    I didn’t know what your doing in Python, but you’ve not learned to program in Python. Maybe just copy pasting or making small changes to existing stuff? Working in a specific framework? Are you writing code from scratch?

    You need to understand datatypes (a concept Python tries to hide from you and imo does a disservice to novices), structures, conditional is, loops, etc. These concepts aren’t language specific.