hiking

GhostBSD on VMWare Fusion

Just some notes to myself, and anyone who might be reading this, who wants to give GhostBSD a shot using VMWare Fusion as their hypervisor. I happen to be running on a Mac, so YMMV.

I went with a approx. 500gb hard drive, 16gb ram, and enabled 3D acceleration. I did NOT use UEFI for the boot loader, it wouldn't even start with that, so I went with the "classic" bootloader, or whatever it's called.

From there it boots fine but the graphics aren't great, so the first thing you'll want to do is `pkg install xf86-video-vmware` and `pkg install open-vm-tools` and restart. That improved the graphics for me (except on the login screen itself, which still looks low-res for some reason). From there adjust your display preferences as desired.

Next, if you're like me you'll want the devtools so you can actually compile stuff. For that I recommend `pkg install -g 'GhostBSD*-dev'`.

From there you should be able to configure things as you like. One quirk is that it uses the fish shell by default, so you might want to change that. I got `rbenv` to work without much issue (just remember to start a new shell after you've run `rbenv init`), then it was just a matter of installing it, git, libyaml, ncurses, etc.

Update: Add `set -gx GPG_TTY (tty)` to the `.config/fish/config.fish` file.

I'll edit this entry if there's anything I've forgotten.

hiking

The Death of a Thousand Pronouns

We interrupt this narrative to discuss the election and politics in general. The 2024 election is over, and it was a massive Trump victory. Not quite a Dukakis level beatdown, but still very decisive, with Trump winning both the majority of electors as well as the popular vote. That, boys and girls, is what we call a "mandate".

I know some of you previously left-leaning individuals voted for Trump because you were fed up, and felt Biden just wasn't doing a very good job. You may confess this fact, and find yourselves berated by raging lefties who demand that you defend yourself for your transgression. They can go fuck themselves.

You don't have to defend your decision to vote for Trump. They have to defend their reasons for voting for Harris, the human teleprompter with a horrifically high staff turnover rate, who refused most interviews and gave non-sensical word salad answers when she did. No one could figure out what her policy positions even were, and the ones she did finally offer contradicted the policies she had supported the previous four years. Oh, NOW you're going to enforce the border and lower taxes after your administration literally tore down fencing in Texas to let illegals (and thus fentanyl) into the country and lower taxes after you implemented the $600 rule? What's your position on Israel-Gaza again? Policy.

She clearly had no business being there in the first place and would've been little more than a puppet for a cabal of whomever was behind the scenes making the actual decisions. She made Sara Palin look like a mensa candidate by comparison, holy hell I've never seen anyone that bereft of IQ at that level. Her interviews and speeches, which changed accent depending on whom she was speaking too, often drifted from the inane to the bizarre, all interspersed with copious amounts of cackling. Democrats weren't even given a proper primary, and thus no say in their preferred candidate, instead Harris was essentially appointed. Democracy.

They talk about abortion rights being taken away, apparently ignorant of the fact that overturning Roe v Wade did not make abortion illegal, it deferred it to the states. Some states have already enshrined reproductive rights into their constitution. A federal ban would require a filibuster proof majority which the Republicans don't possess in either the house or senate, and even if they did I doubt half of them would support it because they like being re-elected. But nevermind that, we're one inch away from The Handmaid's Tale! Hysteria.

Speaking of women's rights, there's the attempted dismantling of Title IX so that autogynelphiliacs can beat the SHIT out of women in sports while the left pats them on the head for their bravery. Apparently, the party of science doesn't understand how human physiology works. You can tell which group of people have never played sports in their life or met a professional NFL player and realized just how fucking big and strong men can get. But whatever, those women will have to be sacrificed in the name of ideological purity I guess. Policy.

They talk about dictatorship while Biden used an executive order to implement student debt relief instead of going through Congress, which the Supreme Court overturned, which they then ignored anyway. Democracy.

Meanwhile, they directly meddled in social media, censoring the Hunter Biden laptop story for the benefit of the DNC. Remember the "50 intelligence officials" claiming it was Russian disinformation? Intelligence officials. Covering for the DNC. Democracy.

As for policy, there's the Biden admistration spending over twice as much as the previous two years combined in their first year in office, which led to overprinting money, which started the inflation that's got everyone upset. True, the Republicans own a part of this problem courtesy of the endless continuing resolutions they've passed since Bill Clinton, which is why a growing number of conservatives want to see dinosaurs like Mitch McConnell forced out. I see no such equivalence for fellow dinosaur Nancy Pelosi from the left.

Other lowlights include blocking the rail strike, because who needs paid sick leave. Policy.

Trump isn't a threat to democracy, he's a threat to bureaucracy and to the left, who have been screeching about an imagined dictatorship since the days of GWB, which he is somehow magically going to achieve without any military support. Hysteria.

I'm only scratching the surface here, some of these issues are much, much more serious than I have space for. The illegal immigration issue has led to Venezualen gangs in Colorado, copious amount of driving accidents and even a few deaths in Ohio (because it turns out that giving a driver's license to people who don't know how to drive is a bad idea), and horrific murders. Their deaths are on your head.

All of your hysteria culminated in the attempted assasination of Donald Trump. Twice. One of which came within an inch of being successful. To those who hate Donald Trump, know this: if he had been killed, there's a good chance you wouldn't even be alive to be reading this. It would've almost certainly been civil war. What do think's going to happen if there's a civil war? A bunch of dysgenic Starbucks employees and Hollywood actors are going to save you? No, instead you'll find out where your food comes from. Or rather, where it doesn't come from, real quick like.

So, to the people who demand that I defend my vote, go fuck yourself. Defend yours.
hiking

Hello Again - Part 2

Things in North Carolina started well. I was attending local gaming events, and going to an actual office to be around people instead of working remotely for a change. Redhat HQ had a nice system where I could go in 3 days a week, and work from home the other two. It was the perfect combination of social interaction and the ability to get stuff done around the house. I met a few new gaming buddies, including one who I had met 15 years earlier at a Ruby convention. Turns out he's a gamer, too.

I lived in an apartment for a year, then bought a house in a brand new neighborhood. So new, in fact, that google maps had not caught up right away, leading to some amusing DoorDash snafu's on occasion. I think I had at least two meals delivered to my doorstep that didn't belong to me. This is also my first "real" house, my last home was a condo, and prior to that I always lived in apartments or the barracks. This time I went with a 3-bedroom, big enough for visitors, but small enough that I could maintain it without too much difficulty. The HOA does most of the yard work, all I have to do is water from time to time and the odd bit of weed pulling. With the amount of rain that NC gets, I rarely need to do it myself.

And then Covid happened, and everything kinda went to shit.

It was in that first year of Covid that I finally decided to terminate an old friendship that had turned sour. It had essentially become an abusive relationship. Normally these are of the romantic variety, but this was just a friend I had known since I was about 15. Things took a turn for the worse when his dad passed away, and then again when he got divorced. He started getting nasty with me during board gaming sessions, which was our main hobby, and later over other things. His true nature really started to shine through. I won't get into the gritty details, except to say that it had nothing to do with Covid or politics. The short version is that he was becoming a more self-absorbed, sex-obsessed, hyper-competitive asshole by the year. And I was not the only one that noticed this.

I kept making excuses for him because of the things he had gone through, and because of how long we had known each other, but eventually it became clear that he didn't really like me any more, and the feeling was becoming mutual. Normally when a friendship withers you just sort of drift apart, but since he didn't have any other friends he kept in contact, so I kept thinking things might get better. And, from time to time, they did. But eventually, after yet another one of his post-gaming tirades, I decided that I'd had enough and broke off contact completely. It was quite liberating, and my mental health definitely improved after that.

Just when things were looking up, my new gaming buddy Randy suddenly died, probably from Covid. This was a double blow, since I had ended my old friendship and my friendship with Randy was just beginning. That really did a number on me. He was a really nice guy with great stories. We had really hit it off, and I always enjoyed our gaming sessions. He will be missed.

The following year I switched jobs, only to have my gall bladder pop literally on the first day of the new job. Ouch! One sister and both parents made it to my new house to help take care of me. A blessing in disguise I suppose, as it gave my dad one last chance to come see me while he still had the energy, and we celebrated his 80th birthday together. That was nice.

This visit would later convince my sister to move back to the US with her autistic son, as her marriage to her Dutch husband had finally come to an end. She is poor but with my help she's adapting, and we've both learned a lot about finding new jobs in your 50's, as well as the current housing market. She's got her own house now, but still spends about half her time with me for logistical reasons (work, her son, etc). After being alone for a long time it's been a nice change of pace, and she's been helping me around the house with various painting projects and whatnot.

More to come in part 3!
hiking

Hello Again - Part 1

Has it been 5 years since I posted anything here? Wow. Well, what's new?

First, I moved from Colorado to North Carolina after living in Littleton for over 15 years. It was a great state to live in, but it was time to move for a variety of reasons. First and foremost, my Northern European skin couldn't handle it any more. For those who may not be up to speed on US geography, Colorado is quite hot in the summer, and quite dry, with a high UV rate owing to its altitude. The upshot is that I've had to deal with multiple skin issues since I moved, including several Moh's surgeries and one incident of actual skin cancer that also required surgery. Or, as I like to say, I loved Colorado but it didn't love me back.

The choice of North Carolina was primarily driven by work since the HQ for Redhat (my company at the time) was located here. It had other advantages as well, namely that it put me closer to friends and family. My reasoning didn't pan as well as I'd hoped, since I quit Redhat not too long after it was acquired by IBM, I lost friends either to Covid or circumstance, and my dad passed away. The silver lining is that it's a nice state with great weather, easily the best weather of any state I've ever lived in, and I've lived in several. I've no plans to move in spite of my personal and/or job situation. I sort of liken North Carolina to a southern version of Wisconsin.

I also changed jobs. After the shakeup from the IBM purchase I was forced to learn Go. At first I thought it might be a fun challenge. Learn something new and all that. But it didn't take long for the shiny to wear off. It felt like a weird mish-mash of C and some random FP language, where everything was 5x more difficult to accomplish than if I had been using Ruby. All for an internal facing web app that hadn't actually acquired any customers by the time I left. Thank goodness it was fast, though, whew! I came to despise the language, and can only credit its success to the fact that it was the first real multi-core language and because it came from Google. I can see absolutely no reason to use it over Crystal or Elixir other than "inertia".

More to follow in part 2!
hiking

Running a remote rails console

Another tip for myself, courtesy of a co-worker.

If you want to run a rails console on a remote app you can use the `ssh -t` option. The -t option forces pseudo terminal allocation. Put your pubkey on the remote system to avoid password prompts.
ssh -t username@some_server 'cd /remote/rails/app/base/directory && bundle exec rails c production'

Obviously, replace the directory with the real directory and "production" with whatever environment you might actually want.
hiking

(no subject)

Mostly a note to self, this is how you can show your current git branch in Windows Powershell. Just add it to your profile.ps1.

function prompt{
  $p = (Get-Location).path

  git branch | foreach{
    if($_ -match "^\*(.*)"){
     $match = $matches[1] -replace '\s', ''
     $p += " [" + $match + "]"
    }
  }

  $p = $p + ">"
  Write-Host $p -NoNewline
  return " "
}
hiking

Building libxml2 and libxslt on Windows

I had a little trouble building these from source with MSVC so I thought I'd record the issues I faced both so that I can refer back to this post if I forget, and perhaps help others along the way.

For libxml2, download the source and cd to the libxml2-x.x.x\win32 directory. Then run "cscript configure prefix=C:\usr iconv=no". Replace "C:\usr" with wherever you want to install it. Ignore the "iconv=no" bit if you want to try to build with iconv support.

If you get "win32\configure.js(197, 2) Microsoft JScript runtime error: File not found", then hand edit the configure.js file and replace "configure.in" with "configure.ac" and try again.

Then run "nmake /f Makefile.msvc", followed by "nmake /f Makefile.msvc install". That should mostly do it. It does not seem to build or install any sort of xml2-config script, but I found a batch file at https://mail.gnome.org/archives/xml/2012-December/msg00014.html that I copy and pasted into C:\usr\bin. Seems to work.

For libxslt, download the source and cd to the libxslt-x.x.x\win32 directory. Then run "cscript configure prefix=C:\usr lib=C:\usr include=C:\usr\include\libxml2 iconv=no", replacing "C:\usr" with wherever you installed libxml2. Remove the "iconv=no" if you want to try to build with iconv support.

Then run "nmake". If you see "LINK : fatal error LNK1117: syntax error in option 'OPT:NOWIN98'", then hand edit the Makefile and remove that switch, then run "nmake" again. It should build. Then run "nmake install".

That should do it, though I haven't found an xslt-config script yet.
hiking

Azure and client connections

For anyone out there wondering how to do client side connections with Ruby and Azure, this should get you going. It took me a while to figure this out because the vast majority of the examples online assume you're doing this strictly within a web app and send the token to a reply-url, which is obviously unsuitable for scripting. So, here you go.

require 'rest-client'
require 'json'

token_url = "https://login.windows.net/" + tenant_id + "/oauth2/token"

resp = RestClient.post(
  token_url,
  :grant_type => 'client_credentials',
  :client_id => 'xxxxx',
  :client_secret => 'yyyyy',
  :resource => 'https://management.azure.com'
)

token = 'Bearer ' + JSON.parse(resp)['access_token']

# Now attach that token to all future requests:

resp = RestClient.get(
"https://management.azure.com/providers?api-version=2015-01=01",
:content_type => 'application/json',
:authorization => token
)

p resp.body
hiking

Hands in the Sea, a game that I designed, is on Kickstarter!

After about 3 years of development and playtesting, my game "Hands in the Sea" is finally going to be published! Hooray!

http://kck.st/17rokCI

It's a 2-player deckbuilding game on the First Punic War, i.e. the first big war between Rome and Carthage. So, not Hannibal, but Hannibal's father, Hamilcar. The mechanics are heavily inspired by a game called A Few Acres of Snow, which in turn was heavily inspired by Dominion.

This will be my first game published in 5 years. Too long, but the amount of time I've put into it (being mostly unemployed during that time) has really allowed me to hone the game.

Anyway, I'm pretty excited about it!
hiking

Getting irb history without readline

I built Ruby 2.1.2 from source and got all the desired 3rd party libs installed except readline. A minor nuisance since it mostly only affects irb and history. Except I want irb history so I can use the up arrow key to recall commands.

I tried rb-readline but it was acting weird, with stray characters appearing and general wonkiness that I can't describe. Instead, I installed rawline and modified the irb/completion.rb file so that it requires rawline instead of readline.

Works like a champ.

Update: Also, put "require 'irb/completion'" in your .irbrc file and make sure your HOME env is set. You may need to replace instances of Readline with Rawline in irb/completion.rb.