• 1 Post
  • 190 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.


  • 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 started as part time without any experience durring my college. I was studying gamedev software engineering, but we had one voluntary class about Ethical Hacking.

    I just asked my professor if he can reffer me to someone in the field, followed OWASP Web App Testing guide to the letter when testing the interview homework website, and landed the job without much prior experience (I did attend a few CTF competitions, though).

    Just following the checklist in OWASP testing guide made my results comparable to, or even better to some of my colleagues, and I’ve slowly learned the rest (especially internal domain pentesting) from our internal documentation or shadowing seniors during pentests, and simply being interrested in the field, having initiative and looking up new tools and exploits eventually got me to a Red Team Lead role (not a very good RT, though, but it did improve eventually).

    The pay was pretty good compared to what’s usuall here in Czech, too. I could comfortably pay rent and get by even with part-time, during college.


  • My issue with canvas fingerprinting and, well, any other fingerprinting is that it makes the situation even worse. It plays right into the hands of data brokers, and is something I’ve been heavily fighting against, and simply don’t visit any website that doesn’t work in my browser that’s trying hard not to be fingerprintable.

    Just now there is an article on the front page of programming.net about how are data brokers boasting to have extreme amounts of data on almost every user of the internet. If the defense against bot will be based on fingerprinting, it will heavily discourage use of anti-fingerprinting methods, which in turn makes them way less effective - if you’re one of the few people who isn’t fingerprintable, then it doesn’t matter that you have no fingeprint, because it makes it a fingerprint in itself.

    So, please no. Eat away on my CPU however you want, but don’t help the data brokers.






  • I use Pixel with GrapheneOS as my phone, and I just have a separate profile that only has WhatsApp installed and nothing else. Since the profiles are completely separated, it doesn’t have access to anything else I do on the phone and it’s not running in the background (the profiles are basically sandboxed fresh slates, and switching it can be set-up to behave in a same way as basically turning off the phone as far as the profile is concerned).

    When the bridge asks me to log in again or refresh a session, I simply switch to the second profile for a minute and re-log in. I’ve heard iIt might be possible to set up an emulator and leave it running on the server, but that felt like too much effort.





  • Hold conferences when there is more critical work to be done.

    Insist on doing everything through ‘channels.’ Never permit short-cuts to be taken in order to expedite decisions.

    “Make ‘speeches.’ Talk as frequently as possible and at great length. Illustrate your ‘points’ by long anecdotes and accounts of personal experiences. Never hesitate to make a few appropriate ‘patriotic’ comments.”

    That reminds me of something. Standup, Kaban, Retrospective! It’s Agile!





  • Yeah, that’s my experience as well. In addition to being lazy with updating, so if some kind of supply chain attack happens, I usually sorts itself out before I get to updating :D

    But I did limit my browser extensions, after I a cause with Nano Defender taught me a lesson - it was a mildly popular anit-anti-adblock killer that worked where other adblocks were detected, but the developer sold the extension to a company that turned it into a info-stealer malware and pushed an update through chrome store, which got accepted and propagated, and some of my social network sessions got compromised. So, I just stick to more popular projects where something like this shouldn’t happen, and don’t use random extensions.