• 8 Posts
  • 261 Comments
Joined 1 year ago
cake
Cake day: June 18th, 2023

help-circle
  • It has been a while since I have to deal with problem complexities in college, is there even class of problems that would require something like this, or is there a proven upper limit/can this be simplified? I don’t think I’ve ever seen O(n!^k) class of problems.

    Hmm, iirc non-deterministic turing machines should be able to solve most problems, but I’m not sure we ever talked about problems that are not NP. Are there such problems? And how is the problem class even called?

    Oh, right, you also have EXP and NEXP. But that’s the highest class on wiki, and I can’t find if it’s proven that it’s enough for all problems. Is there a FACT and NFACT class?




  • Ever since I played watchdogs and shadowrun, I wanted to work in cybersecurity, especially as a Red Teamer, which is literally Shadowrun - you run complex ops that have to break in, and steal stuff from largre banks without anyone but the management knowing about the test, with almost nothing being off-limits, as long as it doesn’t cause some kind of damage.

    Five years later, I do work as a Red Team Lead. Hpwever, our company was just scrambling to start doing RT since thats the buzzword now, and while we did have amazing pentesters, unfortunately pentesting and Red Teaming requires vastly different skills. Ypu never need to avoid EDRs, write malware with obscure low-level winapi, or even know what kind of IoC ajd detections will a command you run create, when you are doing a pentest.

    But since no one knew better, and I love learning and researching new stuff, while also having Red Teaming romabticized, my interrest in it eventually led to me getting a Lead position for the barely scrambling team.

    Mind you, I was barely out of being a junipr, with only three years of part time pentesting experience. It was NOT a good idea.

    I quickly found out that RT is waaay harder and requires the best of the best from cybersec and maleare development. We didnt have that. Also, turns out that I love to learn now stuff and take on a challenge, but being a Lead also means you are drowning in paperwork and discussions with client, while also everyone from the team doesn’t know what to do and turns to me about what should we do. Which I didn’t know, and barely managed to keep learning it on my own. Our conpany didnt want to give us much time for learning outside of delivery, I was only working parttime, and I was slowly realizing that we don’t have almost any of the skills we need.

    We were doing kind of a good job, most of our engagement turned out pretty well, but it was atrocious.

    Turns out, I’m not good at managing and planning projects, or leading people. I’m better just as a line member.


  • I also have a dual-boot, with fresh install of Windows I debloated as much as possible, that I use for games that I can’t get to run even after trying protondb.com. However, it has only happened one or two times since I switched more than half a year ago, and I usually just give up on and refund games that I can’t get to work on Steam. I have a lot of other things to play, and usually I wasn’t that much dead set on playing that particular one. I do make sure to post on the forums of the game when that happens, though.

    I’ve also recently stumbled upon https://windowsxlite.com/24H2ProV2/, which should be a debloated and minimized Windows (4Gb installed size is mindblowing, considering that all my Windows VMs have like 40Gb freshly installed). The site looks shady, but it was recommended to me by my coleague who works in cybersecurity, so I hope he knows what he’s doing. I haven’t got the time to test it yet, but it does mention that it should work for games, so who knows.



  • I’d like to mention one exception, because it took me ages to properly debug.

    If your endpoint is serving mirrors for APT, don’t redirect to HTTPS.

    APT packages are signed and validated, so there is no need to use TLS. Lot of docker images (such as Kali) do not have root certificates by default, so they can’t use the TLS, because cert validation fails. You also can’t install the certificates, because they install through APT. If your local mirror redirects to https by default, it will break it for people who choose the mirror, which IIRC happens automatically based on what’s closest to you. I think this issue is still there for Czech Kali package mirror, and it took me so long to figure out (because it’s also not an issue for most of the users, since they have different mirrors), so I like mentioning this when talking http/s. It’s an edge case, but one that I find interresting - mostly because it would never occur to me that this can be an issue, when setting up a mirror.

    But that was more than a year ago, it may be better now.


  • Mikina@programming.devtoMemes@lemmy.mlts moment
    link
    fedilink
    arrow-up
    3
    ·
    edit-2
    1 month ago

    Serious EVE players are something else. The mention about IT security isn’t a hyperbole, some EVE players take the espionage meta-game very seriously, and even though it’s not only against the rules but also illegal, that’s not gonna stop them. I mean, once they literally got someone to turn off electricity for a whole town just so they can win a fight (I tried to find a link to the article, because I’m 90% sure I did read about it somewhere, but I can’t manage to find it anywhere, if anyone has a link. Maybe it was just a rummor, or an unexecuted plan?)




  • My favourite take on DI is this set of articles from like 12 years ago, written by a guy who has written the first DI framework for Unity, on which are the currently popular ones, such as Zenject, based on.

    The first two articles are pretty basic, explaining his reasoning and why it’s such a cool concept and way forward.

    Then, there’s this update:

    Followed by more articles about why he thinks it was a mistake, and he no longer recommends or uses DI in Unity in favor of manual dependency injection. And I kind of agree - his main reasoning is that it’s really easy for unnecessary dependencies to sneak up into your code-base, since it’s really easy to just write another [Inject] without a second thought and be done with it.

    However, with manual dependency injection through constructor parameters, you will take a step back when you’re adding 11th parameter to the constructor, and will take a moment to think whether there’s really no other better way. Of course, this should not be an relevant issue with experienced programmers, but it’s not as inherently obvious you’re doing something potentially wrong, when you just add another [Inject], when compared to adding another constructor parameter.



  • We’ve had to work in Pharo for our OOP uni course, and it was one of the worse experiences I’ve had in school. Mind you, it was something like 7 years ago, so the language may very well be a lot better now, but the whole “your IDE is the code” felt cubersome, it was buggy and crashed randomly, and in general I spent more time fighting with the IDE than doing something useful.

    It was a bad time, but also a great learning experience. Being forced to work in something that IMO sucks is an useful skill, but I never want to see that language again :D



  • But a paid licence will affect users that are all right abd for whom you’re doing it.

    I understand that using something with a risk of loosong access because you’ve upset the developer is something that will turn away a lot of people, but then again, I’d say that “don’t be a dick” is a pretty reasonable requirement. The only issue I see that it’s a pretty vague definiton, but maybe just limiting it to profanities and insult towards the contributors is something more concrete, which would be easy to fulfill and also enforce.


  • I wonder, is it possible to create a license that would allow you to simply ban people who are being a dick about something from using it? Sure, it may turn away some people, since there’s always a risk of abuse, but it’s your work and as far as I know, you are the one who sets the terms.

    If I’m not mistaken, most of the FOSS licenses (or maybe even laws?) guarantee you that you would be able to use the software even if the project later decides to change to proprietary license. But I assume you can simply specify in a licence “Everyone can use it, expect X.Y.Z”.

    Would that be legal? Sure, it would probably be pretty hard to enforce, but in some cases it could make for a pretty satisfactory (and petty, of course) C&D letters, for people that really deserve it. You insult the devs of a software your company depends on, demanding something while being a dick about it? Well, fuck you, no library for you and your company.


  • What gives me immense joy is that there’s probably someone at Unity really really upset now. Fuck them.

    Someone once told me a story how they made a game in Unity, and were in contact with them, since they are also a content creators. Then they decided it sucks and rewritten the project into Unreal, and when they met someone from Unity who asked how it’s going and whether they need help with anything, and when they told them that they are actually working on Unreal now, the Unity guy got literally upset and angry at them how they can’t do that and what are they thinking. It was hilarious.

    Reportedly, then Unreal support was way better and more friendly.



  • I’m starting to think that “good code” is simply a myth. They’ve drilled a lot of “best practices” into me during my masters, yet no matter how mich you try, you will eventually end up with something overengineered, or a new feature or a bug that’s really difficult to squeeze into whatever you’ve chosen.

    But, ok, that doesn’t proove anything, maybe I’m just a vad programmer.

    What made me sceptical however isn’t that I never managed to do it right in any of my projects, but the last two years of experience working on porting games, some of them well-known and larger games, to consoles.

    I’ve already seen several codebases, each one with different take on how to make the core game architecture, and each one inevitably had some horrible issues that turned up during bugfixing. Making changes was hard, it was either overengineersled and almost impenetrable, or we had to resort tonugly hacks since there simply wasn’t a way how to do it properly without rewriting a huge chunk.

    Right now, my whole prpgramming knowledge about game aechitecture is a list of “this desn’t work in the long run”, and if I were to start a new project, I’d be really at loss about what the fuck should i choose. It’s a hopeless battle, every aproach I’ve seen or tried still ran into problems.

    And I think this may be authors problem - ot’s really easy to see that something doesn’t work. " I’d have done it diferently" or “There has to be a better way” is something that you notice very quickly. But I’m certain that watever would he propose, it’d just lead to a different set of problems. And I suspect that’s what may ve happening with his leads not letting him stick his nose into stuff. They have probably seen that before, at it rarely helps.


  • I had the same issue with gamedev industry, but thankfully Ive very quickly realized that’s how work works, and you usually have a choice - either earn a good living being a code monkey, or find a job in a small company that has passion, but they won’t be able to afford paying you well, or do it in your free time as a hobby. Capitalism and passion doesn’t work together.

    So I went to work part-time in cybersecurity, where the money is enough to reasonably sustain me, and use the free time to work on games in my free time. Recently, Ive picked up an amazing second part time job in a small local indie studio that is exactly the kind of environment I was looking for, with passion behind their projects - but they simply can’t afford to pay a competitive wage. But I’m not there for the money, so Ibdon’t mind and am happy to help them. Since there are no investors whose pocket you fill, but the company is owned by a bunch of my friends, I have no issue with being underpaid.

    But it’s important to realize this as soon as possible, before trying to make a living with something you’re passionate about will burn you out. A job has one purpose - earn you a living. Companies will exploit every single penny they can out of you, so fuck them, don’t give them anything more than a bare minimum, and keep your energy for your own projects.

    And be carefull with trying to earn a living on your own - because whatever you do, no matter how passionate are you, if it’s your only income and your life depends on it, you will eventually have to make compromises to get by. It’s better to keep money separate from whatever you like doing, and just keep your passion pure.

    EDIT: Oh, I forgot to mention one important thing - I’m fortunate to not have children, share living costs with a partner, and live in a city with good public transport, so no need for a car, and free healthcare. I suppose that makes it a lot more easier to get by with just a part time.