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
  • 17 Comments
Joined 2 years ago
cake
Cake day: August 15th, 2023

help-circle
  • I would agree to an extent, but I dislike another step or dependency to change phones. With a physical sim I don’t need to login to a carrier site for it to function, don’t need to call their support, don’t need to wait for activation times, only their towers gotta be working.

    With an esim I need to change identifiers linked to the account, which takes time to propagate through the network, and also needs authentication either by a text message, login or calling support to change the account.

    The path of least resistance is clear. Swap a physical sim? or authenticate and change the esim, and wait for it to sync. No brainer for me.


  • Not sure about the other guy but, In the US the sim itself is usually dirt cheap (like less than a 1$) but it’s difficult to just buy the sim unless you buy it directly through the carrier.

    I’m assuming if the price is as high as 60$ price it’s including their monthly plan, I know a few carriers here offer BYOD kits for 50-60$ which include the sim, but those same carriers usually will offer a 3-5$ multi sim kit (a kit with a bunch of different sim card sizes) that is usually only obtainable via shipping so most go for the BYOD kit instead of waiting.




  • I will never use an ESIM due to this. I have had by ass saved multiple times by being able to use a physical sim card when my device failed to work or i needed to be able to port a number.

    My last phone went for a swim, I changed phones just be removing the sim card, and putting it in the replacement phone. Easy 20 second process vs an hour trying to argue with customer service that I am the account holder, and no I can’t receive a one time pin, the phone is toast then another 20-30 minutes of waiting for the towers to identify that the ICCID changed and that the new sim is actually allowed to communicate with them. The last time I changed my sim card on t-mobile, I didn’t have roaming data for almost 30 days due to desync between the USC towers and Tmobile on if I was actually authorized to use the tower or not.

    Then back when I used MVNO’s it was even worse. Arguing over device compatibility and identification when you lost access to the device was like pulling teeth. The agents never understood that broken means broken, and despite saying 4 times the devices either don’t turn on or has no service, they still insist on trying to send a one time pin, because according to their end the phone is active on the tower somehow.

    Then there’s benefits like when I put an s20 on total wireless 2 years before the company supported 5g devices due to the ability to use a physical sim. I upgraded to an s20 from an s9 after being told that both total wireless and red both supported 5g phones. Only to argue with both of them after I actually bought the device that they couldn’t actually activate/transfer it onto the device. I just took the 4g sim card (which they previously said would not work on the device), and threw it into the s20, and then used that until I eventually swapped to a first party carrier.

    I could never use an ESIM, you lose way too much control over your device.






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