local

Stuff posted in this site by me.

There’s gotta be something better than markdown for notes, though

We keep switching back and forth between vim + wiki.vim and Obsidian. Vim is a text editor, the bloody fastest there is at it, made better now that we’re more or less efficient with a bunch of commands and keyboard combinations. And now that we actually have a somewhat decent implementation of our dotfiles being kept in our git server (aka not github) we can keep my vimrc file the same pretty much everywhere.

But Obsidian is just so convenient… Looks and runs exactly the same on Windows, Linux, and Android! You just run the application and open the vault. Their iOS version will not open my notes vault which is kept on my Nextcloud instance.

I’m sticking to Obsidian for now mostly because it does let me see images in it’s preview mode and on that it does have vim beat. If you need to edit text table nothing beats vim-table-mode.

Most streamers would rather suffer shitty wifi

This is a bit of a rant— mostly cos in the past few weeks we’ve seen some of the streamers we follow get hit with Internet issues and they’ll usually blame their ISP. Yeah comcast and charter/spectrum fucken suck but the vast majority of the time they’re not going to be the entity at fault. If you are a “professional” streamer, i.e. you have income from your streams, you owe it to yourself to ensure your Internet connection is actually functional at all times. So this here is for you. Why? Cos all the time we see people spend thousands of dollars on computer hardware (their gaming/streaming rig plus accessories, monitors, lighting, camera, microphone/headset, etc etc) and yet… they still connect their computer to the Internet via wifi.

Then they wonder why they’re lagging in fucken fortnite or why the audio is running half a second behind video on twitch. Bitch pls.

Particularly egregious when it’s people who know better but they just choose not to do it for whatever reason, chief among them that “landlord won’t allow it”. Run that Ethernet cable with command hooks if your have to, gawdamn, but do something.

We’re not a streamer but we do work in IT. A proper, trouble-free setup would replicate what we have right now here at home.

  1. Get a power-efficient computer. Doesn’t have to be expensive, we’re using one of these we bought for $30 USD.
  2. Install an extra network card on that computer (another $10 USD). If you get something like this it already has an extra LAN interface and they even throw in one year of tech support. If you’re cheap just go download pfsense and install it yourself, it’s free.
  3. Get a decent switch like this one with built-in PoE and gigabit ports all around.
  4. Get one or two wifi access points like these to handle phones, tablets and streaming boxes.

You plug the wifi access points into the switch (they get power via Ethernet), then the switch into the “router”. Turn everything on, then follow the instructions for setting up pfsense. If you’ve ever installed Windows on a computer this all works at the same level of tech skill.

With everything set up (and it isn’t that hard if you’re even somewhat technically inclined and you follow a youtube tutorial like this one) you now have a better network setup that most small businesses out there. Speaking of business… most places do know they need constant Internet connectivity to actually stay open and yet they still choose to have a $25 USD wifi router that reached end-of-life back in 2016 run their stuff, and then they wonder why their Internet fucken sucks.

Feeling fancy and want to take it easy? Go with a Ubiquiti Unifi setup. It’s nice and slick and they also have decent tech support if you have no idea what you’re fucken doing. It will cost you a pretty penny… but their setup is basically flawless and will last you a long time without having issues. If and when you have issues the system itself will tell you what’s wrong. Slick, like we said.

Once all of the things are connected and working, then you connect your computers and phones and streaming boxes and tables to that new network equipment. If you’re a streamer it is very likely there are one or two technically-inclined people who watch your streams and would help out if you ask. But that’s the thing, you have to ask.

If you’re making more than $1000 USD a month from streaming you can certainly afford to pay someone to do this for you. Hire someone, get them on retainer, and now when somethin breaks right before an important stream they’ll be able to help you figure out what the fuck is going on.

We’ve been avoiding thinking about work for the past two weeks. Why? Cos we had a jerb interview! Codename hrJerb.

Glorified receptionist but gets us out of the IT sector. We’d be able to get some actual experience working outside of the crypt.

IT Crowd - Hello IT

This would be a full time job. That’s in addition to sysadminJerb, itself a full-time job; and hostJerb, which is a part-time job. We’d have no time for ourselves other than basic system (human) maintenance. We’d be working an average of 85 hours per week— I checked. But we’ll take it if we have to. There is no path forward but pain.

It all came about cos when we got off work today I hit up Inbound Brewing, chatted with a couple friends, and on the way to Nightingale two songs came on just as a decision erupted from my subconscious.

This first one hit hard:

It played just as I was thinking about all the effort I’ve put into hostJerb only to be told “we don’t need your help” when management are clearly underequipped, underprepared, and clearly overtaken by the job.

We’ve tried chasing this kind of thing in the past and it never ends well. We learned.

And just as we were about to feel sorry for ourselves for… Coming up short for people that don’t appreciate us, this song played.

Sure it’s a love song but right there and then it felt like a balm. Like… “oh wow, other workplaces can actually be nice? I don’t have to chase people around?” and “huh we do love ourselves” and “we love this one beer and it’s not her fault the people who make her suck at their jobs”.

It’s Celia Cruz too so that helps.

All we need do is wait. Play capilalists off against one another; one set know what they can do but they don’t want to own up to it, the other coming in blind with cash and benefits. And extra seasoning! Cos all the people at hostJerb who can challenge what hrJerb might offer are out of town, and they are competing with people who are known to not care about their employees. In a competition like this everyone loses.


Then there’s also the fact we’re addicted to this fucken industry.

♪ fonts fonts fonts

Honestly it’s probably more like 90% of the work! Am I right! I am joking! (Am i????) this is a design humor account #fonts #fontstudio #design

Source: Honestly it’s probably more like 90% of the work! Am I right! I am joking! (Am i????) this is a design humor account #fonts #fontstudio #design

It’d be awesome if social media platforms allowed some form of searching text people put up on their video, like subtitle metadata or something. It’ll never happen cos they depend on this kind of thing to keep you there.

But in this case, she’s talking about

For shame! For shame!

Well guess what, here’s an actual blog post. For the past few years we’ve been putting stuff on twitter cos it’s easier to get stuff off the cuff, y’know? But we’ve realize that for a lot of things we want to do a bit more thought. Hence the following.


We’d noticed over the past couple weeks a coworker was downright hostile to us. Earlier we finally got the chance to ask her:

“Hey, is there anything we did to make you angry or annoyed?”

Yes

You don’t listen to anyone
You do whatever you feel like
And you drink too much at work

Which, fair.

  1. We listen to people who can actually impinge on our tasks, i.e. management or shift leads. If you want me to go clean tables cos you’d rather get hit on by the hot guy at the bar then no.
  2. We do whatever needs doing right then and there. Food needs doing and you’re busy getting hit on? We’ll run food. Guests in line and you’re busy chatting up a table of men? We’ll ring those guests right up. I’m not at your beck and call. I’m at the business’ beck and call. We’ve told the GM to fuck off cos we’re busy doing things they’d rather not do. We’ve told the fucken CEO off. You’re a mere peon just like me.
  3. This one actually threw us for a loop. We’re currently averaging .9 beers per hour, while the KM is doing about 2 beers/hour, the sous chef is doing 1 weed joint/hour. We believe the issue you have with our drinking is that we start making conversation with the men hitting on you, which means you then have to go and do actual work.

Now, we only found out cos we asked. She wasn’t going to let us know she had a problem, and she sure as hell wasn’t going to let management know there was a problem cos then they’ll look at her work performance.

(Management loves us, by the way. They can find no fault with our work, which is how we like it.)

But it is annoying. When they say that it’s hard to make friends in Minnesota they didn’t say anything about people who can’t deal with their own emotions in a healthy way.

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.

Vacas flacas

La sequía que azota México es un fenómeno recurrente que con cada visita deja una estela de emergencias y daños. El 84% del territorio sufre sequía en diferentes intensidades, agravada por la falta de lluvias de los últimos meses, según se desprende del Monitor, el organismo de Conagua que la vigila. Pese a que estaba previsto y la evolución histórica del clima en el país lo contemplaba, la sequía sorprendió a Ermenegildo Martínez, un pescador de Veracruz que ha visto como en los últimos ocho meses la laguna donde pescaba se ha secado. “Medía 13 metros de profundidad y ahora apenas le quedan 10 centímetros, en menos de una semana la habremos perdido del todo”, describe. A 1.300 kilómetros de allí, en Sinaloa, el agricultor Gumaro López se contagia del pesar del pescador. Al igual que Martínez tendrá pérdidas en su producción y alerta de que subirán los precios. Ya pasó en 2011 y 1996, los otros dos episodios de sequía extrema que golpearon a México y de los que, ha quedado claro, no se ha aprendido lo suficiente.

Source: La sequía que abrasa México, una tragedia predecible y devastadora | EL PAÍS México

Every Mexican president ignores the lessons learned by their predecessors. This drought will likely drive migration north, which is already a flash point due to the pandemic.

The Water Wars might start much sooner than anyone thought and that is worrying.

For those concerned about the previous post, know that I like blowing things out of proportion, just like you’re doing now.

See you around.

Import basic contact information into Google Contacts quickly

I just fucken spent a fucken hour and a half trying to import some fucken data into fucken Google Contacts cos it’s a piece of pigshit.

There are multiple guides on the web on how to import data into it and most are fucken failures. This is what you need:

Google Contacts CSV columns

In text form, as a CSV:

Given Name,Family Name,E-mail 1 - Value,Phone 1 - Type,Phone 1 - Value,Organization 1 - Type,Organization 1 - Name
First Name,Last Name,mailbox@domain.tld,Mobile,1-000-0000000,unknown,Company Name

In a nice tabulated table. It’s in code cos my fucken markdown plugin doesn’t understand markdown tables

|Given Name|Family Name|E-mail 1 - Value  |Phone 1 - Type|Phone 1 - Value|Organization 1 - Type|Organization 1 - Name|
|First Name|Last Name  |mailbox@domain.tld|Mobile        |1-000-0000000  |unknown              |Company Name         |

And here’s an actual CSV file you can download so you can plug your data into it: google-contact-quickstart.csv: Google Contacts Quickstart CSV.

They should use their much-vaunted AI might and quantum supremacy to fix one of the most basic things companies need to do all over the fucken planet instead of trying to figure out how yoke everyone into their FLoC pigshit without having to threaten ultraviolence on them.

I’d probably have spent less time importing contacts one by one but at least now I know how to do it in bulk and have it work.

Seriously google, get fucked.