local

Stuff posted in this site by me.

And fuck your cow too

Dear Spotify. I tried to search for podcasts on your Desktop app. I know you’re into fancy cross-platform Electron framework. I’ve come to terms with it. It’s fine. It’ll do. But, your understanding of interface design seems like it needs a bit of a history lesson. Back in iTunes Good

Source: Dear Spotify. Can we just get a table of songs?

Honestly if you’re using the Electron framework for anything you’re not a software developer. You’re a piece of shit who writes shit code and is out to make the world a shittier place.

A week of self-discovery

  • We went from three jobs down to two jobs back in March and somehow… our schedule got worse? Perhaps the kitchen job at hostJerb should be counted as a third job, honestly. We’ve been telling people we work like an elemental demon to live like a mortal peasant. No one gets it :(

  • It’s becoming almost impossible to sleep at home. All the neighbors are working on their yards, their cars, their houses. There’s a bit more traffic than at the old apartment. The landlord company are working on the house. The light is bad enough, but the uneven noise is really messing our already chaotic sleep schedule even more.

  • Purchased a Nintendo Switch. I’m not buying any video games until I’ve exhausted Link’s Awakening. Love this game. Trying to figure out how to get an online membership for it without giving Nintendo any more personal data— or our credit card number.

    Screen capture from The Legend of Zelda: Link's Awakening

  • Decided to schedule gym sessions. It’s easier than just going there on a lark. It helps with keeping full awareness of our schedule too. We need to find a good resource for guided gym workouts.

  • The biggest change of the summer? Definitely our biking around. We decided calories are cheap and that’s really helped in getting us out of bed as long as we can get 6 hours or more of sleep between jobs. I’m not going out to party or mingle, sleep is far more important! But we’re making more of an effort to bike around instead of using rideshares or the bus, particularly at night.

    Gotta take advantage of the weather while we can. Once winter is here getting around is going to be that much harder.

Now, to find something to eat…

Garbage

In a single week, the Supreme Court of the United States has gutted gun control, weakened the separation of church and state, gave more fuel to the police state, and to top it off, struck down Roe v. Wade entirely.

The worst week for civil rights in the country in decades.

And the court signals they will take more away. Rights to contraception and same-sex marriage are next.

Blast from the ActiveX past by way of iDRAC6

Recently we acquired a Dell PowerEdge R610. It’s got the goodies and we plan on running a bunch of VMs on there for shits and giggles.

But beware if you’re trying to use iDRAC6. It’s a nifty technology for sure but it has left behind by the Internet moving forward. Now, there are plenty of guides out there on how to get it to work in “modern” settings i.e. Windows 10, Linux ≥ 2020:

But it was this comment that turned us on to the real solution for this:

First we need to obtain and configure a VM for our purposes:
1. Go to Virtual Machines – Microsoft Edge Developer and download the VM for your platform of choice. Since iDRAC6 is from 2008 we went with a Windows 7, IE8 32-bit VM; as we want the ability to manage this from a local workstation we went with a VirtualBox VM.
2. Import it into VirtualBox. You may want to adjust the hardware settings and give it a bit more RAM.
3. Turn it on. You may want to adjust the graphical settings.
4. Open IE and go to the iDRAC IP address or URL. We’ll use https://idrac6.lan. Click Continue to this Website (not recommended).
5. Once the site loads, on the top right go to Tools → Internet Options → Security tab → Trusted Sites. Click the Sites button.
6. In the “Add this website to the zone” enter the iDRAC URL, e.g. https://idrac6.lan. Click Add.
7. Make sure to remove the checkmark from Require server verification (https:) for all sites in this zone.
8. Click Close, then click OK to close the Internet Options window.

Next we need to configure iDRAC:
1. Login to iDRAC.
2. On the left menu make sure you’re in the System menu item.
3. On the top of the main pane go to Console/Media → Configuration.
4. Configure the Virtual Console:
– Enabled: Checked
– Max Sessions: 4
– Remote Presence Port: 5900
– Video Encryption Enabled: Remove this checkmark
– Local Server Video Enabled: Checked
– Plug-in Type: Native. This is the specific setting that makes iDRAC6 choose between ActiveX or Java.
5. Leave Virtual Media on teir defaults.
6. Click Apply
7. Log out of iDRAC, close IE.

At this point you should be able to connect to the virtual console:
1. Open IE and log back into iDRAC.
2. Go to the System left menu, then on the top tab menu go back to Console/Media.
3. Click Launch Virtual Console. IE will freeze for a few moments while it talks to iDRAC and then it will request permission to install the ActiveX control. It will freeze again while it’s installing. Once everything is done the Virtual Console should start it. If it doesn’t or it’s too slow (like moving at >5 FPS), close IE, log back into iDRAC, and restart the virtual console.

Now you have a functioning VM that can give you longer term access to iDRAC6 servers without having to deal with Java bullshit… at least until the iDRAC6 default certificate expires in June of 2024

iDRAC6 - Configuration page, with CA Root Certification Information for the website showing an expiration date of 2024/June/03

When you reboot the VM Windows 7 will download a whole bunch of updates but you should be able to keep using the virtual console. Just make sure to take a snapshot of the VM and you should be good to go.

A fair warning is also necessary:


DO NOT USE THIS VM TO ACCESS THE INTERNET. YOU WILL GET HACKED


We also tried to use the virtual console with Video Encryption enabled but we couldn’t get it to work.

Running thunderbolts through crystallized rock to make it think is already magical enough

At the heart of the problem is that the SELinux policies themselves are sort of magical. The policies have probably been provided by the maintainers of your Linux distribution, e.g., Fedora Linux. There’s nowhere on the system where you can view the policies and look up why something might or might not work. The policies also change over time, without any warning.

Source: SELinux is unmanageable; just turn it off if it gets in your way

Red Hat has made it clear the best way to manage SELinux is for you to outsource it to someone, preferably them. I get it, security of this sort is complex, but having to trust random internet postings for instructions on how to do a small task is how we ended up with github readmes saying “just curl this into bash as root”.

Oh, Photoprism

mariadb_1 | 2022-04-11 18:17:42 0 [ERROR] InnoDB: preallocating 507904 bytes for file ./photoprism/faces.ibd failed with error 28 mariadb_1 | 2022-04-11 18:17:42 0 [ERROR] [FATAL] InnoDB: Error (Out of disk space) in rollback. mariadb_1 | Fatal signal 6 while backtracing photoprism_mariadb_1 exited with code 139

We recently got our hands on some enterprise hardware and we’re now using it to run some VMs and whatnot. One of the projects I’ve had for a long time is trying to figure out a way to have a web gallery. After looking around at the available options we decided to give a shot to Photoprism.

Requirements aren’t complicated:
– Display pictures and associated metadata quickly, as a gallery.
– Have wide compatibility for various filetypes, including RAW and video files.
– Mobile app helps but it’s not a hard requirement. Web first, preferably with minimum javascript thrown in.

We have about 46 thousand files including pictures and videos, consuming 265 GB of storage. A bit more than what most people would have sure, but any cloud picture solution would definitely charge a good chunk of money to store all of them.

Now, on to PhotoPrims itself. It does Docker Compose but… fine, whatever, you want me to do the devops shit, fine. It’s easy to install, after all:

# mkdir -p /opt/photoprism
# wget https://dl.photoprism.app/docker/docker-compose.yml
# vi docker-compose.yml

You just edit docker-compose.yml with the bits and pieces you need specific to your installation and you’re good to go. Being lazy I mounted pictures storage via CIFS from the storage server. Tried to get it to work directly in Docker but it kept telling me to kick rocks.

Then you run the actual service:

# docker-compose up -d

Starts up a server accesible on the local network at http://server:2342. The documentation does state securing the connection is an exercise left to the reader, but as I only plan to run this on my LAN and accessible only via VPN, it’s fine.

This is where we started running into issues. The first VM created for it had 2 vCPUs, 8GB RAM, 16GB HDD VM. It ran out of drive space after thrashing CPU for a bit. We upgraded the VM to 8 vCPU, 32BM RAM, 32GB HDD. It ran out of disk space after thrashing the CPU cores for a bit longer.

Mmmkay, now we have a bad time going here. Upgraded VM to 16 vCPU, 64GB RAM, 64 GB HDD. It ran out of disk space again after thrashing the CPU cores for a solid 20 hours. We get it, it’s using TensorFlow for AI stuff but as a comparison Digikam is able to do the same things but doesn’t consume nearly as many resources, for as long.

We suppose it really wants you to be using modern hardware of the sort that is incredibly expensive and to find given the current supply chain issues worldwide.

Seriously Google, what the fuck

They are altering the agreement, pray they don’t alter it further.

Source: Google to free G Suite users: Pay up or lose your account | Ars Technica

Darth Vader: I am altering the deal. Pray I don't alter it any further

A few years ago I needed to add another domain to my Gsuite account, which led me to start paying for services there. Over time we started using it for more things but we remained leery of purchasing things from Google through Gsuite accounts or free Gmail accounts.

At some point we migrated our Google Voice number from our gmail account to the Gsuite account, and it remained there. When this migration was done Google moved everything through: contacts, text messages, call history, voicemails. Everything happened without issues or difficulties; all you had to do was unlink your carrier number from one account, migrate the GV number from Gmail to Gsuite, and re-link your carrier number.

But starting a couple of years ago Google disabled the ability to migrate from Gsuite to Gmail. Not without losing everything. We’ve been looking to migrate off Google’s infrastructure for email/calendar and everything else and it’s a non-started as long as they hold my main phone number hostage. And now Google is forcing people and companies who made the mistake of choosing Google for their services to pay up or lose everything:

oh fuck

I’ve been using this for my family since Google first introduced it as a way for Families to use vanity domains together. I have over a decade (almost 2?) of purchases tied to this account and the cost to migrate to their enterprise offering for my family is bonkers.

I don’t know what I’m going to do here as I can’t migrate my purchases out of this account and into a normal gmail account. uuuuuuuugh.

While self-hosting files and email and photos is doable, self-hosting your own mobile phone number is still complicated, and on top of that the available services still cannot compete with the simplicity of GV even as Google leaves the service to wither for years at a time. We’ve been looking at using services like https://jmp.chat/ but again, they are non-trivial:

  1. You must port your number from GV to their service.
  2. You lose everything: Contacts, text messages, call history, voicemails.
  3. You have to figure out what XMPP client to use on your devices depending on operating system, as most XMPP clients don’t support them all.
  4. You have to learn the quirks of texting people who aren’t in your contacts already.
  5. Jmp.chat itself is still marketed as Beta, and some features are still in alpha, like group messaging.

Google should offer the option to convert a Gworkspace (nee Gsuite) account to a free Gmail account, or to migrate the data from a Gworkspace account to a Gmail account. They can do it, they just choose not to because nobody can force them to do the right thing.

The current state of things is absolute bullshit.

“Burn the witch!”, they yell

This is written in Rust because I personally believe that writing security critical components that we would ship with the operating system in C is a massive disservice to our users. Go also doesn’t really have a good story to do interoperability with core C system components like this (the Go runtime is massive and as of writing this post the entire PAM module I’ve written is smaller than the Go runtime, even with a statically compiled copy of libcurl).

Source: The Surreal Horror of PAM – Xe

You can already see C fanbois off in the distance carrying pitchforks and torches

The more things change the more they stay the same

I first started using Linux and FreeBSD on laptops in the late 1990s. Back then, there were all sorts of hassles and problems, from hangs on suspend to pure failure to boot. I still worry a bit abo…

Source: Managing an External Display on Linux Shouldn’t Be This Hard | The Changelog

Evidently nothing has changed since we stopped using Linux as our daily driver OS. We were actively thinking of switching back as we got tired of Windows rebooting on me whenever it felt like. Slight problem— We have two 4K displays and two 1080p displays hooked to a Radeon GPU and AMD isn’t particularly nice about proper driver support; they’re better than Nvidia but not by much.

We hate to think what would happen if we have to switch to a laptop full-time. We’d probably give in fully to the dark side and run WSL on Win11. More and faster progress is being made on running desktop applications on it than people are doing on fixing these issues on “real” Linux.

Blight upon you, Google, for fucking this up

So we took the upgrade onto Android 12 for my phone. It’s just nice, much has already been said about it so not going to repeat any of that. We do have one bone to pick and it is that the youtube app is now permanently installed onto the phone and it ignores any of the preferences you had set in Android 11. It just so happens we have NewPipe as my preferred app cos Reasons. Here’s my workaround for that.

Disable youtube app

  1. Go to SettingsAppsSee All Apps.
  2. Scroll to YouTube, tap it.
  3. Tap disable. Android will put up a warning to scare you.
    YouTube App Info on Android 12
  4. Tap Disable app.

Re-enable newpipe permissions and links

  1. Tap back out to All Apps.
  2. Scroll to NewPipe.
  3. Tap Open by default.
  4. Enable Open supported links.
  5. In the list of Links to open in this app, enable the ones you want. We got lazy so we just enabled everything.
    NewPipe supported links
  6. Exit out to your home screen.

There, you can now enjoy youtube videos in Android 12 without youtube trying to ram any of its paid options down your throat every other video.

Oh, instagram. Fuck you, by the way

I posted a screenshot a few days ago but… instagram did completely nuke my account. I didn’t post much but I did appreciate the people I talked with.

I guess I’ll create a new account using my fb account but I don’t expect to post on there much. Perhaps 1 post a month? I’m not willing to even attempt to be part of a community if the site will nuke and ban you for using third party clients.

Pictures will keep going to Flickr, as usual.

We need interoperability. I didn’t even get a chance to get my contacts out of there.

Immolation at the altar of software transmutation

For the past few years we’ve been seeking to leave the grasp of Google as we’ve noticed a serious divergence between its lofty aspirations and its actual provision of services. We have personally been using the Google Workspace services through multiple incarnations and they’ve always worked well, even if Google decides to shove its dick Buzz Meet chat client down your throat. Most of the time you can disable that.

But it is now obvious the teams running these services are under tremendous pressure to monetize the services beyond the cost per user they charge for entrance. What this service does for us, at its core, is the integration between Gmail and Calendar, with everything else being just a good extra to have. Google won this war on the web in the aughts while Microwoft won it on the desktop back in the 90s with Outlook and Excel.

Yes, there are other companies that do this but it is likely you’ll still use the Gmail or Gcalendar apps, the Outlook apps, or the iOS apps if you’re in the Apple ecosystem. Even people self-hosting their own services will default to using these apps as they’re a known interface that doesn’t change too often.

Now, my previous post was Perhaps WSL2 Should be a Wake-up Call, which itself sparked a lively discussion on lobste.rs, where the author makes this comment

And I think one of the reasons for that is the constant software churn in the desktop space. Lots of things, including various GTK/Gnome or KDE components, ritually get tore down, burnt and rebuilt every 6-8 years or so, and at one point you just get perpetual beta fatigue. I’m not sure how else to call it. Much of it, in the last decade, has been in the name of “better” or “more modern” UX, and yet we’re not in a much better position than ten years ago in terms of userbase. Meanwhile, Microsoft swoops in and, on their second attempt, comes up with a pretty convincing Linux desktop, with a small crew and very little original thought around it, just by focusing on things that actually make a difference.

He’s only making a reference to the Desktop space but we think it can also be applied to the web.

Perusing RSS we found this post by someone more or less looking to do the same thing as us: Organize their life by hosting their own services. While the post is from a few months ago (March 2021), most of these principles still apply as we write this post:

  • Email is what it is. You just have to fucken deal with it.
  • CalDAV and iCalendar are getting even more crufty and their libraries aren’t well maintained. Clients will happily YOLO your data into oblivion if you’re not careful.
  • WebDAV is just… okay, I guess? File sync is more or less a solved challenge. But even then keeping notes in Markdown is a challenge. We prefer CommonMark but support is still spotty years after the specification came out.
  • Tasks? You’re better off keeping your stuff in text files. It’s that bad. Or use a dedicated service.

Now, those are the protocols. What about the actual software?

Servers:
– Email? Sure, you can run your own, it’s not that hard. Plenty of options out there and AFAIK they’re not immolating themselves anytime soon.
– Nextcloud almost decided immolate itself at the altar of language transmutation cos Owncloud decided to do it and people got jealous. Using PHP 8.
– Radicale is coming along on Python3. But myself I still have a bad taste after the move from Python2 to Python3. That immolation left a lot of ash to clean up.
sabre/dav uses PHP 5.4 🤢
– Other solutions… lol what other solutions?

Clients, mobile:
Email: You’ll probably still use the Gmail, Outlook, or Apple apps via IMAP. The open source options… are not well-maintained, or make questionable UI/UX decisions, or are just plain ugly. They don’t have to be better or more modern like in the quote above, but your eyes shouldn’t feel like bleeding when you open them.
Calendar: DAVx⁵ is coming along, but it’s a client library, enabling apps with an actual UI/UX to talk to your self-hosted services. Android only though. Haven’t found any indications of it.
– You need DAVx⁵ to get Android to sync calendar with the OS. The documentation en’t the best. It does work once you get it to work just don’t fiddle with the thing.
– Using iOS? Good luck, at least Apple decided to build support into it. You’ll cry when they take it away.
– You could use web-based interfaces but… then you have to deal with browsers. Here we must commend Mozilla for turning Firefox into a shitty Chrome clone.
Contacts: You’re still relying on DAVx⁵.
Files: Nextcloud app works just fine on both Android and iOS. It does force you go to through it to get to your files as opposed to actively storing them on your devices; you can use FolderSync. Looking around we didn’t find an equivalent on iOS.
Tasks: Again, you’re better off with plain text files or a dedicated service for this.

Clients, desktop:
Email: Seriously, this is fucken ridiculous. Thunderbird still trudging along but its developers seriously want to self-immolate after Mozilla just cut them away. There are no other serious desktop email clients other than Outlook, or going web-based. Whatever GNOME or KDE devlopers cooked up expect them to switch the interface on you cos they wanted to self-immolate. You could go text based but that only works if you’re familiar with the command line. Most people aren’t.
– Going web-based? Most open source web clients have… questionable interfaces.
Contacts: Again, you’re either using Thunderbird, Outlook, or web-based. No, GNOME/KDE apps don’t count. Yes, I’ve used them.
Files: Nextcloud is pretty nice on this cos it stays out of your way, instead of shoving itself into your workflow like Dropbox tries.
Tasks: You have more variety here but… seriously, just use text files. Or a dedicated service that you like.

For now we’re using Nextcloud. We’re okay with it and we’re personally glad it’s sticking with PHP. We just don’t like its newfound tendency to act like it’s the systemd of sync and collaboration. It calls itself a “suite” but most things are only accessible through the web interface. It works fine and that’s all it has to do.

The problem is the churn of apps around the protocols it uses. I can only imagine what GNOME/KDE apps would be like if their devlopers had stuck with the same paradigms and then iterating on them as time went by. Evolution would have 21 years worth of work. Kmail gets sacrificed to whatever the new version of Qt is.

We’re just rambling now but… We still remember Amarok 1.4.6. That one hurt so bad we started using Spotify instead after Clementine deleted a third of our MP3s.

Microsoft is just using Linux to make the moat around Windows deeper

I’ve also slowly become convinced of something else. Elegant though they may be, grand, over-arching theories of human-computer interactions are just not very useful. The devil is in the details, and accounting for the quirky details of quirky real-life processes often just results in quirky interfaces. Thing is, if you don’t understand the real life process (IC design, neurosurgery procedures, operation scheduling, whatever), you look at the GUIs and you think they’re overcomplicated and intimidating, and you want to make them simpler. If you do understand the process, they actually make a lot of sense, and the simpler interfaces are actually hard to use, because they make you work harder to get all the details right.

Source: Perhaps WSL2 Should be a Wake-up Call | Lobsters

As someone who has railed elsewhere about the evils of point of sale systems created by people who have never, in their little sad developer lives, worked in food service, I feel this comment in my bones. For people who know what they want to accomplish, a complicated interface will let you your job once you learn it, and it will let you do magic once you master it.

People bitch about Windows— including myself. But we’re still using it. I personally keep thinking of switching back to Linux but I find myself dreading the inevitable UI churn of GNOME and KDE; it is one of the reasons why I prefer XFCE. But even it suffers from churn under it in the form of libraries and modules that are tossed aside and rewritten in an inane race towards “modernity”.

As for WSL, the classic Borg assimilation quote comes to mind.*

We are the Borg. Existence, as you know it, is over. We will add your biological and technological distinctivensess to our own. Resistance is futile.

Fix Logitech Mouse double-click. Permanently.

As I posted on Reddit some time ago my Logitech Proteus Core G503 Gaming Mouse started having a clicking issue, where one of the buttons would just fake pressing the left-arrow key. Usually a good slap or two of the mouse against the desk would fix it, but it is a known issue due to the drop in build quality of all Logitech products.

But fear not! I found a solution!

I hadn’t thought about this, at all.

On the experience of working with two totally different teams: one novicepractising trunk-based development, the other very experienced being used by GitFlow.

Source: ThinkingLabs:: Thierry de Pauw – On the Evilness of Feature Branching – A Tale of Two Teams

For the longest time I’ve been bashing my head against git cos that’s what everyone uses. I hadn’t realized that not using branches is also a valid development strategy.

Maybe I should just switch to subversion for my personal projects; it seems to align better with how our mind works and as most of them are not software development but rather systems management, having feature branches just isn’t that useful.

Either the system works as expected, or it doesn’t.

Sure, nazism is aye okay

Got locked out of twitter cos their algos don’t understand sarcasm.

We wanted to say “fair” but… no. Twitter Co. does not deserve the benefit of the doubt.

You just have to see what Amazon is doing to see they don’t deserve it.

Scroll to Top