• 7 Posts
  • 49 Comments
Joined 1 year ago
cake
Cake day: July 5th, 2023

help-circle
  • I am sure there are Linux users that don’t ever use ssh and would look at you quizzically if you asked them about bash.

    Pretty sure these users are few and far between. I haven’t found any of them.

    Now it is possible that where you live, there is an abundance of Windows/Powershell experts and novice Linux users who only use Facebook. I’ll accept if that is your reality. All I can observe is that curious/enthusiast types tend to use Linux whereas others use Windows. People who want to better their situations tend to switch to Linux.

    You should criticize Windows,

    That never went well for me. Criticizing Windows is like talking them down for buying a car or calling their baby ugly. If you criticize Windows, Windows users will defend it.

    What does work is to just stay silent and let Linux be better at getting my job done. Curious ones will observe and switch to Linux on their own. Others will continue using Windows.

    Pretending that it doesn’t have excellent built in tooling doesn’t help your case.

    Tooling can be installed. It is not a big enough factor in choosing an operating system.

    And pretending that Windows doesn’t have built in tooling totally helps my case. Windows users have different expectations from their operating system. Windows is expected to be GUI based, so why will it have an SSH client? (except that it does) And why will it have a decent scripting language? (except that it does) And all software is installed by double-clicking on an .exe (except that Windows has a package manager)

    My case is about people, not operating systems.

    For me, Windows hasn’t fixed its myriad of reliability, performance and trust issues in over a decade, no amount of built-in tooling will make me return to Windows. Windows users on the other hand will tolerate the issues, or at most make it only as severe as previous Windows version. You see how difference between the users is playing out, right? The enthusiast types observe that a better experience is possible with Linux and become Linux users, and remaining users stay with Windows, mostly tolerating whatever Microsoft adds to Windows updates. Over time, Linux users and Windows users drift apart and become very different.


  • I bet very few people know that there’s an openssh client already installed in Windows.

    Same with Powershell, I have heard it is quite capable but in practice Windows users tend to not know powershelI. I haven’t found anybody IRL who knows Powershell.

    My goal wasn’t to criticize Windows, I wanted to show how much our experience is different from Windows users. It is not about windows vs Linux, but about how windows users usually do things vs how Linux users usually do things. Relatability is a powerful social force that I hadn’t accounted for, and now it just bites me.


  • I miss the human connection with those around me who use windows. After years of using Linux almost exclusively, I now miss being able to relate to them. Sometimes I feel lonely because of it.

    Colleagues get to resonate with all the windows slowness and reliability issues, and I can only stay silent.

    “Hey, how can I do this obscure thing?” “Oh yes that’s easy… err… no, I don’t know.” So many methods that are easy on Linux are basically impractical on windows. E.g. many text file processing tasks are doable swiftly with simple shell scripts or even bash one-liners; what will a windows user do? Telling them to automate something means suggesting them to create a new Java project. Opening an SSH session means using Mobaxterm which limits the number of sessions you can create.
















  • That advertisement would be interpreted as Node C’s advertisement.

    The plan is to treat public keys as node’s identity and trust mechanism similar to OpenPGP (e.g. include any node key signed by a master key as a cluster member)

    Right now, none of the encryption part is done and it is not a priority right now. I need to first implement transitive node detection, actually forward packets between nodes, some way to store and manage routes, and then trust and encryption mechanisms before I’d dare to test this stuff on a real network.







  • Just did some basic testing on broadcast addresses using socat, broadcast is not working at all with /32 addresses. With /24 addresses, broadcast only reaches nodes that share a subnet. Nodes that don’t share the subnet aren’t reachable by broadcast even when they’re reachable via unicast.

    Edit1: Did more testing, it seems like broadcast traffic ignores routing tables.

    On 192.168.0.2, I am running socat -u udp-recv:8000,reuseaddr - to print UDP messages.

    Case 1: add 192.168.0.1/24

    # ip addr add 192.168.0.1/24 dev eth0
    # # Testing unicast
    # socat - udp-sendto:192.168.0.2:8000 <<< "Message"
    # # Worked
    # socat - udp-sendto:192.168.0.255:8000,broadcast <<< "Message"
    # # Worked
    

    Case 2: Same as above but delete 192.168.0.0/24 route

    # ip addr add 192.168.0.1/24 dev eth0
    # ip route del 192.168.0.0/24 dev eth0
    # # Testing unicast
    # socat - udp-sendto:192.168.0.2:8000 <<< "Message"
    2024/02/13 22:00:23 socat[90844] E sendto(5, 0x5d3cdaa2b000, 8, 0, AF=2 192.168.0.2:8000, 16): Network is unreachable
    # # Testing broadcast
    # socat - udp-sendto:192.168.0.255:8000,broadcast <<< "Message"
    # # Worked