Just your normal everyday casual software dev. Nothing to see here.

People can share differing opinions without immediately being on the reverse side. Avoid looking at things as black and white. You can like both waffles and pancakes, just like you can hate both waffles and pancakes.

  • 0 Posts
  • 482 Comments
Joined 2 years ago
cake
Cake day: August 15th, 2023

help-circle
  • Is the main issue that you are using test and extra indentation with fish? Like, does this help?

    yes that is better, I do like the clearer differentiation on what is a command vs part of the flow control. I do find that using [] or [[]] is cleaner looking than using the standard test command, but the main point of it was showing the flow; functions having a beginning { and an ending }, conditionals clearly using if to mark the beginning, ; then to mark when the conditional portion of the flow ends and the processing portion begins, and the fi to indicate when the processing portion ended. Flow control statements like that. Could I be able to decipher it manually like I have to with python? yes, but it’s just something that as a personal preference I would prefer not to do if avoidable.

    its easier to let me know that the previous line wasn’t done, and that I should be expecting the conditional to continue instead of start to work on the next line. The most noticeable would be with really long conditionals, I think its nice since bash and fish don’t use {} outside of functions to indicate open and close like other non-tab oriented languages. Moving longer lines to dedicated functions works well but doesn’t help when the entire conditional is related so it would just be in the main function block instead.

    It’s a very subjective thing, definitely more of a minor thing since I already have to deal with it with tab oriented languages on the rare occasion I deal with them. My main issues with it were definitely was the lack of usage leading to fewer examples and documentation on how it worked, and then the piping issue was just the final nail in the coffin that made me drop it.

    Maybe you are thinking about fish more as a programming language? Whereas I’m thinking about it more like a series of commands (I guess more like a “purer” scripting language of sorts)?

    Yes, that is likely the differentiation. I understand that bash is more command based but, I do a lot of stuff in java, node and Rust, and those all have clear differentiation of start and end (although rust’s can be a pain at times)


  • I would describe windows Office as a combination Spyware Malware. It actively collects data on you using obscure means, in an attempt to prevent you from knowing how it’s collecting it. It will also actively change your settings without your knowledge. With recent updates I would even classify it as potentially adware as well, since they mentioned adding advertisements to the start menu and explorer. since they hard push their office products.

    Honestly, with the fact that it also now force installs software against the users will on updates, the argument could be made that it’s slipping into trojan territory as well, it’s just lacking the backdoor access, but since they are hard pushing MS account authorization for login, I guess you don’t really need a backdoor when if you wanted to you could just force a password change and be able to login via the native login system.

    edit: I thought this post was based off MAS as in to activate windows, I just now realized it was MAS for office activation. I still think that the same applies, just not the trojan aspect. I have edited it to reflect it.


  • I find that fish

    function foo
        if test "$foo" = 1
          echo "found"
        else
          echo "not found"
        end
    end
    

    vs bash

    function foo () {
      if [[ "$foo" == 1 ]]; then
        echo "found"
      else
        echo "not found"
      fi
    }
    

    is a downgrade in flow comprehensibility. Like I can see why it could be easier to read, but I prefer not having to analyze where statements, conditionals and functions begin and end. It’s very similar to how python works, and I disliked that in python. At the end of the day flow layout is subjective so you may or may not agree, but thats my mentality on it.

    As for the piping example, I don’t have that snippet available anymore. I eventually remade the code from scratch and when I did I got rid of zenity as a dependancy which removed the need of having the pipe. It was a wget pipe into sed into zenity in order to use a progress bar for the download, and fish did not like that pipe at all, I’m not sure if it was because it was multiple pipes or if something else underlying was happening, but I could take that same pipe sequence and throw it into bash and it would function no issue, but with fish zenity wouldn’t give progress updates on it, so it was modifying the pipe somewhere.

    Bias wise I wouldn’t say I was bias towards bash, I tried fish after recommendation from a friend because I hadn’t heard of it, and I had a bad experience. I moved to ZSH instead of going back to bash after all. I just found it easier to use over fish, and it was easier to research into issues when problems arose as it has a larger user-base and remained POSIX compatible (mostly). To me it made no sense to re-invent the wheel via fish. I’m sure fish had it’s advantages. I just didn’t see any during the week I was trialing it.


  • You mean its if and switch statements? For and while loops? Just like bash and zsh has?

    No i mean the flow in general. It’s ugly and not transparent when compared to bash or any other language

    the lack of indication where it starts to where it ends

    Yes and no, I mean how it chooses to start and end, there is no punctuation, it seems to emulate a tab oriented language without being a tab oriented language.

    Piping something “via the function layout”? I’m not even sure what that means. I’d love to know more if you would.

    Two separate complaints, I dislike how they manage functions (but yes bash does similar on this case). Piping and redirecting are badly implemented and what would be an accepted pipe in ZSH or Bash will fail in fish. I made a script that had to pipe a file via wget and it wouldn’t function unless I used a pager which wasn’t needed in Bash or Zsh and wasn’t documented as a requirement anywhere on their piping or redirection documentation. Took me almost an hour of troubleshooting why the command was failing and how to fix it due to it.

    I mean… It took me like an hour to read through the documentation, and all the syntax is so small you can memorize the entire language.

    Maybe this has changed since I last tried about a year or two ago, but last time I tried to read the documentation it sucked hardcore and lacked examples of more advanced parts of the shell.

    It kind of sounds like you were fighting fish rather than it fighting you, every step of the way. That sounds absolutely crazy compared to my experience.

    I would rather take the path of least resistance for a program, with fish it had way too much resistance trying to use it, so I went to the path that had a lesser resistance, which was ZSH, and then just proceeded to add fish’s core capabilities to zsh. This let me use a scripting language that has a lot of documentation and examples to assist in learning, while having the benefits of the shell. Plus it lets me actually share the scripts with friends because it’s already hard to find someone on linux, and its even moreso difficult to find someone who uses fish shell.


  • I’ve never rebuilt a container, but I also don’t have any containers that are deprecated status either. I swap off to alternatives when a project hits deprecation or abandonware status.

    My only deprecated container I currently have is filebrowser, I’m still seeking alternatives and have been for awhile now but strangely enough it doesn’t seem there are many web UI file management containers.

    As such though ever since I learned that the project was abandoned on life support(the maintainer has said they are doing security patches only, and that while they are doing more on the project currently, that could change), the container remains off, only activating it when i need to use it.


  • I dislike heavily how flow control works on it, and the lack of indication where it starts to where it ends, the function layout, not to mention attempting to pipe anything via it. This combined with the fact that it’s a lesser used shell and as such has less of a presence online to research made it not worth the time and effort to actually use it. I swapped to ZSH which at least maintains a large POSIX compliance which makes it easier to share the scripts as well and also supports adding many of fish’s features.

    It may be nicer to read but, actually getting established, learning it, using it and then maintaining compatibility with other programs and scripts when using it, just made it not worth it. I have better things to do with my free time then to try and fight a shell every step of the way to make it look cleaner.






  • in the scamming world, its never the same person, like whoever implemented that policy was smoking something good.

    In the fraudster world you either sell the codes that you ripped off a card, or you have another person buy the card to give it to you. It’s never the same person, the fact they are banning based off suspicious activity screams big head who doesn’t understand the impact or reason for their changes outside “defrauded cards bad”


  • So did I up until windows 10, which makes sense because my laptop that had run windows 8.1 had been upgraded from Windows 7 and had the issue every time it seems to have a version release. My windows 10 system was a factory install since I switched to a PC instead of a laptop at that time, and as such ran UEFI out of the box, I haven’t had any issue with windows nuking a boot partition since.

    I’m assuming it’s because bios boot still uses an MBR which means the actual boot record is at the beginning of the disk, which windows also tries to use for recovery and its boot. With GPT setups like how UEFI requires, there’s a dedicated partition that is used instead for storing EFI files, so it allows for a much clearer co-existence.

    Basically if you are running a UEFI system, there’s no excuse for Windows to actually nuke grub anymore, because the entire reason it was nuking it in the first place was it was overwriting the MBR at the beginning of the disk so the system no longer knew where grub was. With UEFI the system boot would be the UEFI loader -> windows loader or grub (or like how my system is brokenly setup UEFI -> grub -> windows because I like the traditional style of selecting windows from grub)


  • Yeah, I was gonna say I dual boot and I can’t recall the last time that Windows nuked my UEFI bootloader.

    But back when Windows still did BIOS boot, it was like every major release without fail.

    edit: Rewreading your post it sounds like you meant updating the BIOS as a whole and not BIOS boot, so that’s my bad. Yeah, I definitely haven’t seen your circumstance, I had that happen consistently before Microsoft embraced the UEFI style booting




  • while docker does have a non-root installer, the default installer for docker is docker as root, containers as non-root, but since in order to manage docker as a whole it would need access to the socket, if docker has root the container by extension has root.

    Even so, if docker was installed in a root-less environment then a compromised manager container would still compromise everything on that docker system, as a core requirement for these types of containers are access to the docker socket which still isn’t great but is still better than full root access.

    To answer the question: No it doesn’t require it to function, but the default configuration is root, and even in rootless environment a compromise of the management container that is meant to control other containers will result in full compromise of the docker environment.


  • man, arcane looks amazing, I ended up deciding off it though as their pull requests look like they use copilot for a lot of code for new features. Not that I personally have an issue with this but, I’ve seen enough issues where copilot or various AI agents add security vulnerabilities by mistake and they aren’t caught, so I would rather stray away from those types of projects at least until that issue becomes less common/frequent.

    For something as detrimental as a management console to a program that runs as root on most systems, and would provide access to potentially high secure locations, I would not want such a program having security vulnerabilities.


  • yea you have it yes, if they have confirmation that you had said evidence, and they were seizing the device to collect more evidence regarding it then it would be obstruction of justice and destroying evidence, but they need to be able to prove that claim. Unless they can prove that claim then it’s an unlawful search (excluding port authority specific laws regarding searches because checkpoints generally have reduced restrictions on lawful searches)


  • The exact circumstances around the search—such as why CBP wanted to search the phone in the first place—are not known

    until this isn’t an unknown it’s impossible to voice opinion on the legality of this action. If they had evidence that there was something incriminating or against the law on the device and can prove the user intentionally destroyed the info to impede the investigation(honestly this last part is fairly easy as long as the first part can happen) then yea what he did would defo break the law, but until those aspects can be determined this seems like a massive abuse of that persons 1st(due to activism), 4th (due to the seizure of private property without a lawful search), and 5th(again private property) amendment rights.