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

help-circle


  • I can share my experience with college, which it took me a while to appreciate but eventually I realized that while it wasn’t apparent at the time, it did make a difference. But of course, your mileage may wary, it’s just my personal experience.

    I felt like I’m forced to go through a lot of bloat I’ll probably never need - why do I have to learn stuff like Prolog, Lisp, Smalltalk and other obscure languages that I’ll realistically never need? Why force so much in-depth math, I’ll probably never need to be able to formally prove the Big O of a Hashtable…

    After spending few years working after/during college in offensive cybersecurity, where most of my colleagues did not have a degree, I’ve eventually realized what was the point of all these classes. I noticed that people kept reffering to programming as in “I’m a python programmer”, or “I’m a java programmer”, but I never really felt like that - when someone asked me if I can write something in any language, it didn’t matter what it is, I can just relatively quickly pick up the syntax and write anything I need in whatever you need, and I eventually realized that that’s exactly thanks to the college - the point was not to make me a Smalltalk or Prolog programmer, but to give me a PTSD from every different style of languages, from OOP through functional to whatever Prolog is, and while I do not remember almost anything, I still have the basic understanding of how does that style works, and when I look up any new language I need to use for the job, I’ve already seen and was forced to once learn and understand (well enough to pass exams) something with similar concepts.

    And that’s a really big advantage that people without degrees don’t usually have (at least from my experience with my colleagues). It will teach you how to relatively quickly pick up different technologies and use new things, and that is a really valuable thing. And it’s the same about data structures and other math - you will probably not remember it, but the feeling that “wait a minute, this problem sounds familiar, isn’t there like a obscure tree-thing structure that solves exactly this efficiently?” or “wasn’t there some magic with stacking trig coeficients for this?” will stay with you, and give you a headstart in looking up the concrete details that would be pretty hard to find otherwise.

    So I’m really glad I went to college. And in addition to that, it was amazing for networking - I had a masters in Gamedev and while that didn’t teach me almost anything new, it gave me a lot of friends and an amazing community of passionate people that I keep on making games with.




  • I don’t think you need any active sabotaging in this regard. I’m not really worried about the future of LLMs, because we are already at a point of feedback cascade where thanks to LLMs, more and more of content they steal from the internet has been AI generated by them anyway, which will eventually cause the models to collapse or stagnate. And besides, you wouldn’t be able to sabotage at a scale required for this. Thankfully, the spread of fake AI generated websites and content it has enabled is so massive, that it works as well.

    I’m looking forward to that.


  • This. The whole discussion about “tinkering with immutable distros” fells like it misses the point and literal meaning of atomic and immutable.

    Rebuilding the whole OS to layer another immutable read-only part into it isn’t tinkering. Of changing one OS file has you rebooting, then that’s not tinker-friendly.

    Atomic distributions are by definition something you don’t tinker with, and it stays the way you need it.

    And no, having bundled distrobox or rollbacks doesn’t make it tinker friendly, you can do both on normal distribution.

    But once you have done tinkering and want the system to stay the way it is - that’s what atomic means and is for.


  • Snapshots and rollbacks already exist in other distros, so the (only?) advantage you are mentioning is kind of a weak point.

    Everything is a bother, since you can’t just easily dnf install what you need, without actually rebooting or dealing with containers. I wasn’t able to get a Win11 VM and work VPN properly working for long enough that rebooting to windows and just doing the RDP there was easier for me. (Because getting TPM to work simply wasn’t feasible on atomic, and no - FOSS rdps didn’t work)

    If an app doesn’t have Snap or .App file, it will be a bother. Having to enter a container just so I can edit something in a properly set up nvim just sucks, adding bloat to something that could have been one easy command.

    There’s a learning curve that gets in your way a lot, and since there are no actually payoffs for going through it, why bother?

    I currently have Bazzite on my desktop as a daily driver, and it has been way worse experience than I had with Nobara, debugging any issues with I.e audio or drivers is awfull because the resources about it are a lot sparser, and so far I simply don’t see anything it does better. I did rollback my Nobara few times with brtfs and it never was an issue.

    One thing that may be worth it, if it’s the case - can you actually export your layers into a VCS that you can then simply clone, just like you can with NixOS? Because if not, then following your logic, there’s really no point in choosing atomic distro over NixOS. Sure, it has a slight learning curve, but you get a system you can not only rollback, but also easily clone anywhere you need it. What are your reasons for not using NixOS?

    That said - there is one use case where atomic distros are amazing - if you have a, well, atomic environment you don’t need to change often. Bazzite on SteamDeck or LegionGo being the best example, I’m using it there and it’s been amazing experience.





  • I did Software Engineering Bachelors and then gamedev masters, and while I didn’t really appreciate it at the start, since it felt like I’m learning a lot of stuff I’d never need, I’ve eventually come to be really glad that I did it.

    Throughout the classes it felt pretty meh, I didn’t understand why I have to do so much stuff that I’ll never really use, and always felt like I’m just forgetting 90% of what I was taught the moment I was done with finals for that class. Why do I need to learn Smalltalk? Why Lisp? What even is Prolog? Does anyone even do UML anymore? I want to be a C# programmer, I don’t need this.

    And it was true. From most of the languages I’ve had to go through, I don’t remember almost anything. But that’s not what it was about, and that’s something I only came to appreciate with time - it was not about learning Pharo or Prolog, it was about overcoming the initial learning curve and getting somewhat familiar with OOP or formal-logic style of languages. And while you forget the details, the familiarity will stay with you. The goal is not to make you a Prolog programmer, but to make you a programmer.

    I’ve eventually realized that I can pick up any language pretty quickly, no matter what it is - because I’ve already seen and learned all of the different styles or types of languages there are, and no matter what it is, it’s similar to something I vaguely remember seeing somewhere. And that’s an immense help. I picked that up naturally, I’ve kept hearing the question “what programmer are you? What language you can program in?”, and it felt weird - sure, I do know the most about C#, but I never had issues with picking up whatever was close at hand or needed, and writing anything I needed with a little bit of documentation and googling. And it was thanks to what I learned in school.

    And the same applies to the math and data structures that they hammer into you. Do I remember the difference between red and black tree, or a min-heap, and can I prove it? Not really, but I know they exist, and when I see a problem that sounds like it could use some obscure data-structure, it comes to my mind and I know what keywords to look up. And that’s a skill that I’ve notice is missing from most of the people who didn’t have formal CS background. Same goes for algorithms like FFT - you know it exists and what it’s used for, and seeing a problem that could use it will trigger your PTSD.

    So, I highly recommend giving college a try. You will learn a lot of cool algorithm, and some of the classes were fascinating, and it will give you a vague overview that will stay with you throughout your carreer, feeding you with keywords about stuff that might be usefull for the problem at hand. It’s the best thing I’ve done in regards to programming.



  • I’m hodsting my own Matrix server with WhatsApp, Telegram, Discord (you don’t need a bot for that, you can just share your login with the bridge) and Messenger bridge. I have all my IMs in one app, don’t have to install spyware on my phone, and I can make bots that troll annoying people that message me on any platform.

    Hosting it was super simple, thanks to the Ansible project that’s extremely robust and well done, I literally just got a hosting, domain amd changed like 5 config values to enable the bridges I wanted, gave it an IP and ssh key, and ran it. And if I need to update, I literally “just update” (it’s all wrapped up into “just” tool), and it eve handles cases where I didn’t update for a while, failing graciously and telling me what I need to do maually, usually just rename some config values.

    I wholly recommend it. You probably wont convince your friends to switch from <insert app here>, and this is the best compromise.

    I’m using a small instance on Hetzner, for 6$ a month. You could in theory get a free oracle cloud instance for it, but I didn’t manage to get one.

    And you can easily share it with anyone interrested, make them an account, so they can also consolidate their DMs. I’m sharing it with a few friends and colleagues.