• 1 Post
  • 829 Comments
Joined 2 years ago
cake
Cake day: June 12th, 2023

help-circle




  • A fairly common setup is something like this:

    Internet -> nginx -> backend services.

    nginx is the https endpoint and has all the certs. You can manage the certs with letsencrypt on that system. This box now handles all HTTPS traffic to and within your network.

    The more paranoid will have parts of this setup all over the world, connected through VPNs so that “your IP is safe”. But it’s not necessary and costs more. Limit your exposure, ensure your services are up-to-date, and monitor logs.

    fail2ban can give some peace-of-mind for SSH scanning and the like. If you’re using certs to authenticate rather than passwords though you’ll be okay either way.

    Update your servers daily. Automate it so you don’t need to remember. Even a simple “doupdates” script that just does “apt-get update && apt-get upgrade && reboot” will be fine (though you can make it more smart about when it needs to reboot). Have its output mailed to you so that you see if there are failures.

    You can register a cheap domain pretty easily, and then you can sub-domain the different services. nginx can point “x.example.com” to backend service X and “y.example.com” to backend service Y based on the hostname requested.





  • 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.



  • 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.