Linux nerd and consultant. Sci-fi, comedy, and podcast author. Former Katsucon president, former roller derby bouncer. http://punkwalrus.net

  • 0 Posts
  • 14 Comments
Joined 1 year ago
cake
Cake day: June 22nd, 2023

help-circle

  • The thing is that for a majority of cases, this is all one needs to know about git for their job. Knowing git add, git -m commit “Change text”, git push, git branch, git checkout , is most of what a lone programmer does on their code.

    Where it gets complicated real fast is collaboration on the same branch. Merge conflicts, outdated pulls, “clever shortcuts,” hacks done by programmers who “kindof” know git at an advanced level, those who don’t understand “least surprise,” and those who cut and paste fixes from Stackexchange or ChatGPT. Plus who has admin access to “undo your changes” so all that work you did and pushed is erased and there’s no record of it anymore. And egos of programmers who refuse any changes you make for weird esoteric reasons. I had a programmer lead who rejected any and all code with comments “because I like clean code. If it’s not in the git log, it’s not a comment.” And his git comments were frustratingly vague and brief. “Fixed issue with ssl python libs,” or “Minor bugfixes.”


  • I married my first wife when she was 18 and I was 20. We went through a lot of hardship. It should not have worked out: we were both poor, from broken homes, in an LDR from different worlds. She was the popular girl, I was a shy and awkward nerd. When we got married, we had only been in one another’s presence for a few weeks total. I went into the marriage not expecting a path or plan, as my parents were toxic which ended with my mother’s suicide, and my mother in law had been married 4 times before she became single for the last time. None of us had healthy marriages to draw from. At our wedding, her relatives even said, “I give it two years, tops.” We were desperately poor, and struggled most of our marriage with health and money issues.

    But we made it work for 25 years. We’d still be married, but she passed away ten years ago. We became “foxhole buddies,” us against the world.



  • More directly, “This is Molle. He came to Varberg in 2013 and has found his favorite place here at Hajen [“The shark?”] and can sit here for hours and watch all the people passing by. He loves to be petted but DO NOT FEED HIM as he has a family and lives in a house behind the shop.” This is the ICA supermarket chain in Varberg, I believe. I have never been there, so I am not sure what the shark reference is (and there’s even a shark logo in the lower right corner), and my Swedish ain’t that great.




  • Being poor. In college in the 90s, my lead sysadmin couldn’t afford Minix for this system we had, so we tried to compile Linux on it. Three days later, we still failed, and gave up, but this was kernel 0.93 or something, so it had a ways to go. But I learned so much from that experience without paying for a university course or something.

    Years later, I bought a copy of Red Hat 6 at a Costco. Windows 95/98 was big, I didn’t know how to pirate it, so I went back to Linux and it worked great on my “franken-puters” cobbled together from spare parts dumpster diving. Steep learning curve back then, though. Then I brought it to my workplace, went from UNIX admin to Linux admin, and soon I preferred it to Windows. Been my daily driver for decades, now.

    Am I an evangel? A little, but I find that “right tool for right job” is a better approach. Linux is great for everything, BUT a comprehensive system like MS Office AND Active Directory simply does not exist in FOSS space yet; everything is cobbled together and a kludge still trying to catch up.

    Obsessed? Kinda. I just assembled some ansible scripts to roll my own distro. Why? To see if I could.


  • I worked in a job with build scripts. Developers would list what they wanted in a drop-down menu on a website, with very few “fill in the blanks.” This would create a template, which was sanity-checked.

    One of the “fill in the blanks” was “home directory of user, if not default /home/username.” Some people filled it in, some didn’t. A lot of “users” might be apps with /home being “/opt/appname” “/var/www/html” or something. We checked to make sure that directory existed, if not, create, and set permissions. Easy peasy, all automated. Ran this lots of times.

    Then one day, the script failed. Borked the whole box. Sometimes the VM was corrupt, so delete VM and try again. Usually worked. But this time, the build kept failing. The box went down. Wasn’t even bootable. This happened several times with this one build. So we mounted the borked drive under a new VM and checked out the logs. Just like the dessert stage of Willy Wonka chewing gum, it always failed at the last stage: making /home directories.

    It would create them, then halt that it could not find bash. We looked for bash on the bad drive, and it was the usual /bin/bash shortcut to /usr/bin/bash and we were truly puzzled. I did a chroot to the drive and NOTHING worked. It just hung. That was the first clue.

    The second was looking through the build script (in bash, which we didn’t write) and checking the steps. Looked it the logs. Always died at creating some user named sapadm, the user for the HANA database. Eventually, I checked the configure file, and noticed it was the only user with the odd home directory “/usr/sap.” Then it hit me: the permissions.

    The script, thinking it was a home directory, did a chmod - R 755 for all directories and chmod - R 644 for all files! That meant, while creating home, it made everything under /usr not executable anymore! Holy shit, no wonder nothing worked! So we commented out that user in the config, ran the build again, and we were good! We created the sapadm by hand, and then later fixed the bug in the script.

    SANITIZE YOUR DATA. Or you might turn Violet Beauregarde into a blueberry.






  • Maybe not the same, but a knoppix CD was part of my toolkit for field work for many years. Stuff I did with it:

    • Retrieve or fix data from systems that could not boot.
    • Scan systems infected with boot viruses (clamscan), and wipe entire drives if necessary
    • Test various network issues: DHCP, DNS, tcpdump, and so on because Windows tools were pretty bad for a while
    • Bypass various Windows restrictions on user’s systems