Tech

All computer hardware related info and rants can be found here.

  • Well, well, well.

    Remember this post? This is where I lost my shit at Microsoft’s super dark pattern when it came to MS365 price increases.

    Well, looks like the Australian Competition & Consumer Commission is suing them for this very thing.

    The ACCC alleges that since 31 October 2024, Microsoft has told subscribers of Microsoft 365 Personal and Family plans with auto-renewal enabled that to maintain their subscription they must accept the integration of Copilot and pay higher prices for their plan, or, alternatively, cancel their subscription.

    The ACCC alleges this information provided to subscribers was false or misleading because there was an undisclosed third option, the Microsoft 365 Personal or Family Classic plans, which allowed subscribers to retain the features of their existing plan, without Copilot, at the previous lower price.

    Fucking sweet! I hope Microsoft loses this and other countries start doing the same thing.


    * Thanks to Ed Zitron for the link

  • Two Questions

    Recently, I’ve had to attempt to use AI at work. I’ve discovered that AI works like this:

    AI#1: Hi there! I can do anything you want and answer any questions you have!

    Me: If I upload a database schema can you use it to help me create a couple of queries?

    AI#1: Yes! If you upload a database schema I can do all kinds of super amazing things!

    Me: Ok, here is a file that contains a database schema. Please look at it so you can help me.

    AI#1: OK!

    Me: /uploads text file that contains db schema

    AI#1: Got it! I’ve read it! What do you need?

    Me: I’d like a query that shows me a list of users, the date they were created, and what user groups they’re in.

    AI#1: Sure thing! Here you go!

    Me: Ok. Almost there. This gives me what I want but it duplicates people. So if they’re in three groups, it shows them on three separate lines. I’d like the query to put all the groups, separated by commas, in a single column named “Groups” so the user shows up on one line with all their groups listed.

    AI#1: I’m sorry. You’ve already asked two questions and uploaded a file. You can’t ask another one for 8 hours. Or you can pay me $20/month ($25 if you’re a business!) to ask a few more questions. Or $200/month to ask me more than that.

    Me:

    Me: /tries another AI

    AI#2: Hi there! I can do anything you want and answer any questions you have! Probably even better than than any other AI you’ve tried!

    Me: If I upload a database schema can you use it to help me create a couple of queries?

    AI#2: Yes! If you upload a database schema I can do all kinds of super amazing things!

    AI#2: OK!

    Me: /tries to upload text file that contains db schema

    AI#2: That has too many characters. Go over the file and just pull out the info on the tables you want to query. Or you can remove comments. Or remove any whitespace. Or break it up into smaller chunks. Or pay me $25/month.

    Me:
    /deletes AI#2 account
    /deletes AI#1 account
    /deletes computer
    /deletes the Internet

  • Friction Update: GrapheneOS

    I’m taking another run at GrapheneOS and this time, I think I’ve managed to make it work.

    I basically have the same issue I did when initially moving from Windows to Linux: I needed to change mindset from “ok, what replaces this thing that I use” while looking for the exact the same thing with a different name to “what is it I need/want to do?” and then find something that does that thing – and be patient while learning the new app. Sure, Photoshop may be the industry standard but boy, do I remember how difficult it was to learn how to use it. It’s the same with every tool out there but we just allow ourselves to lulled into the complacency of the status quo.

    The cool thing about the Open Source world is there is something for everyone. Some apps are completely amazing. Some are utter shit. And there is everything else in between. Be patient. You’ll find something that works.

    Yes, there will be a learning curve but that’s all part of it. And the learning curve for GrapheneOS turned out to be not as bad as I thought the first time around. If I include the few days I played with it at the end of February, I figure it took about the same amount of effort as it did when I switched from iOS to Android.

    You just gotta be patient (there’s that word again) and treat it like something brand new not something you feel should be exactly the same.

    Blah blah blah, here’s where I am:

    App Stores

    The GrapheneOS “app store” literally has twelve entries in it. One of them is an app store called Accrescent which I installed, downloaded a maps program I haven’t opened yet. There’s not a lot there tbh.

    The GrapheneOS “app store” is where you can install the Google Play Services and Store, allowing you to login and download apps. However the idea of GrapheneOS is to avoid this if you can, so I started looking to the alternatives.

    F-Droid

    F-Droid is an Free and Open Source Software (FOSS) repository. It’s pretty easy to install, just go to the website, download the APK, tap on said APK and install when prompted.

    I really, really like F-droid so far. I’ve found all kinds of goodness that I’m using on a daily basis.

    • Auxio. A nice, neat, simple music player. While I like Qobuz and appreciate a vast catalog of music on demand and in my pocket, I do love that I can copy my actual MP3 collection to my device and not have to worry about whatever I’m listening to crapping out as I drive outside of good cell reception.
    • QUIK SMS. I don’t really like the default GraphereOS messenger so, at first, I tried out Simple SMS Messenger. It was ok but it has an issue where pictures that my contacts sent through would not load. QUIK SMS doesn’t have this issue and seems to do the job.
    • HeliBoard. Admittedly, I really like Google’s keyboard (Gboard) but I don’t like Google and don’t want them tracking all the shit I type. I also don’t like the default GrapheneOS keyboard. It’s kinda butch. So I’m trying HeliBoard. So far it’s good. I miss the gif option, but I’ll live. I have installed Gboard for comparison purposes and so far HeliBoard is doing what I need.
    • Aves Libre. The default GrapheneOS image gallery is junk. I mean it’s, really, really bad. It picks up single photos as folders and just shits the bed with navigation. No matter. If there is one thing I love about FOSS, it’s that someone out there has come up with a reasonable alternative. And, so far, Aves Libre seems to be just that. Its Collection layout makes sense, you can hide shit you don’t want to see, you can do a variety of edits from basic filters to more advanced options like curves. I may try out a couple of others.
    • Acrticons. Holy shit this icon pack is amazing. For the first time I’ve found a pack that covers all of my app icons1 and really helps with the look and feel I was going for. Fantastic.

    Aurora

    If you need something from the actual Play Store, but don’t want to bother with the Play Store, the Aurora Store is an excellent alternative. I’ve grabbed the rest of my apps from here; Simplenote, Qobuz, my financial shit, and my work shit. I haven’t had any real problems, only mild annoyances – the main one being my work shit needs the Google services and Play store installed to work properly. Regardless, Play is installed, but I haven’t even launched it. I guess it just needs to be there (and both it and its services are sandboxed). If there is an app of the closed sourced variety I need, I just grab it from Aurora and away I go.

    Some Friction

    Maps. Hooo boy. I really want to not rely on Google Maps, so I’m giving Here We Go a spin. It makes me realize how fucking good Google Maps is. But Google Maps is so fucking good because they track every single thing we do.

    We have a grocery store here named Metro. I was out with the family the other night and needed to pick up a couple of items. In Google Maps, I’d simply type in metro and it would automatically pop up the one closest to me and I could then very quickly select it and check store hours.

    In Here We Go, I typed metro and… it showed me all the Metro stations in downtown Montreal.

    I sighed, opened a browser and checked the Metro Grocery store website and found that they were still open.

    Look at that. We live in a world where an extra thirty seconds of work feels like a personal slight. How dare I have to open a web browser and search a store’s hours?

    I just took a deep breath and, realizing the absurdity of the whole scenario and headed to the Metro.

    Then there’s text messages. I haven’t been able to get RCS working on GrapheneOS. When I first tried this in the spring, I thought RCS was a must have and was one of the reasons I gave up.

    I now realize that RCS doesn’t really matter all that much to me. RCS is really just SMS two-dot-oh and it appears that Google has locked down the API that would allow RCS so other developers are shit out of luck adding RCS into their message apps. And I do not want to use the Google Messenger app.

    Besides, I don’t use 90% of the features crap that’s been stuffed into modern messaging apps thanks to RCS or iMessage, or whatever. I just want to send you a message. Or a picture. Sometimes I’ll use an emoji. Maybe a gif2 if I’m feeling fancy. I mean, I really miss simple text emoticons. They convey so much with so little.

    Of course, my convos from the Google Android phone didn’t come over but I wasn’t expecting them to. I did manage to export and import my contacts so there is that. I’m still going to answer people with “New phone, who dis?” when they message me first.

    So…?

    I’m fucking loving it. I think I may just have GrapheneOS working just right. While I’ll give it a few weeks and see if there are any major snags, so far it looks like I’m ready to ditch the official Google Android for more private pastures.


    1. One exception: There was no icon for CloudPlayer, but no matter. I’d replace this with Auxio anyway. There is an icon for Auxio. Problem solved. ↩︎
    2. Hard G. Yes, I’ll die on that hill. ↩︎
  • Really?

    Moving my online accounts away from my Microsoft email. Decided to click the Summary button again for shits and giggles.

    Can someone please tell me, with a straight face, how the fuck this makes life better? This Summary is the literal content of the email Parts Select sent me minus a few words and small images. As with the last time, it took me the same amount of time to read the actual email.

    I can’t help but think I caused a brownout in some podunk town when I clicked that Summary By Copilot button just to get that output.

    AI is so stupid. Every single time I try it, I’m reminded how utterly stupid it is.


  • Lies. All Lies.

    Whoa, hold up there. Just hold up. There is NO way this is a photo of an actual Support rep. That man is smiling ffs, SMILING.

  • What If We Just Stopped? Part Two

    Twenty years ago this spring, I started my first “real” job at a local IT company. I was hired as Support, but it wasn’t the burger flipping, minimum wage earning, soul sucking Support of a monopolistic ISP help desk. This was Enterprise Support. I worked the same eight hours, at the same desk, Monday to Friday. I got to know the customers, their use cases, their workflows, and their work habits. I was taught the difference between strategic customers and everyone else. I had to work without a pre-written script.

    In the three years I was there I learned a ton, and memories come and go, but the one thing I always remember was this:

    At one point we had started receiving a lot of tickets around sluggish performance and Java out of memory errors.

    With the customers grabbing pitchforks and lighting torches, we finally had a meeting with the VP of Development and one of the senior Developers. We explained that the issue appeared to be a reporting feature that, once invoked, slowed down the entire app and, as the day went on, the whole system would just start to error out with java.lang.OutOfMemoryError messages. Restarting the servers every night seemed to give relief, but the next day it would start all over again. This was true for both our hosted servers (which were now being restarted every night) and the servers of our on premise customers who had logged tickets with us (and who we had instructed to restart their servers every evening).

    After some discussion, the senior Dev stated, quite confidently, that the issue was simple to solve. “It’s running out of memory, so just throw more hardware at it until the error stops.”

    The VP looked at him and in a very level voice said: “No. That’s lazy. If it was coded properly in the first place, it wouldn’t be running out of memory.”

    He then instructed the senior Dev to optimize the code until it ran on on the bare minimum server requirements that we stated it was supposed to be able to run on for any on premise customers, and that would more than suffice for our hosted servers now, and in the future, and any customers servers to boot.

    The senior Dev, grumbling, went off and did just that. If I remember right, it took him the better part of a week, but he did it. We kept the customers at bay with promises of a fix, and when the new code was completed, tested, and pushed out, it was pretty glorious. The sluggishness vanished and the java.lang.OutOfMemoryError messages were nowhere to be seen.

    After having witnessed this it burns my ass that, to this day – a time where even the cheapest of consumer computing hardware is so insanely more powerful than the servers were twenty years ago were, the experience for a huge percentage of the population is absolute garbage.

    I’m not a Developer at all. I can write some mean HTML and am pretty okay at CSS, but that’s it. Code just does not click in my brain in the same way math doesn’t click for me, so I’m not gong to stand here and even pretend to know what’s going on with code. What I do know is that I’ve experienced, first hand, a major software performance issue fixed because a VP told a Dev to optimize lazy code rather than just throw more hardware at it until the problem went away. This proved to me that it could be done.

    This is what DeepSeek showed the world this week: convincing everyone that all you need is more hardware and more money is lazy.

    That’s us though. It’s all about releasing more new features. It’s about pushing code with an “acceptable number of bugs” and questionable performance out to paying customers. And if there is any kind of bottleneck, you can always just throw hardware at it until the issue goes away… but it never really goes away.

    While you theoretically can to fix a clogged toilet by making making the bowl and pipes bigger, it will still just keep right on filling with shit.


  • What If We Just Stopped?

    Two things happened this week that caught my attention:

    • DeepSeek (to be fair, this caught everyone’s attention).
    • Microsoft decided to jam Copilot into their 365 Subscriptions and charge more.

    DeepSeek is, without saying, the BIG news right now. I don’t have much to say other than I’m really enjoying watching OpenAI and it’s ilk get absolutely pantsed.

    For more info and a more eloquent rant, Ed Zitron has a great take on DeepSpeek and AI.

    I will say that all of this hit home more when I logged into Outlook webmail today and saw this:

    Can I turn off that gaudy Copilot button? Sure? Maybe? While trying to figure out how, I also found out that MS was going to increase our yearly subscription fee by quite a bit seemingly just for the privilege of having access to Copilot. After more digging, I found that we could switch our MS365 account to something they have branded “Classic” which is, you know, just MS365 without fucking Copilot and costs the same I’m paying now.

    To do this you have to begin the process of cancelling your subscription and then choose Classic while you’re on the “boo-hoo, please don’t leave” screen. It’s a bit of a dark pattern, but at least you can forgo paying for Copilot. However, since I’m in the middle of my subscription period, I’m stuck with Copilot until the fall.

    Of course, MS sent me an email regarding our account change:

    You can see that, just below the subject, Copilot wanted to summarize this email. Since the family is stuck with this shit until the middle of September, let’s see what it does. Fuck it. Show me the magic! Improve my life!

    I clicked on Summary and this is what I got:

    I knew it was going to do exactly this, yet I was still irrationally angry. It took ten seconds or so for Microsoft’s AI to read my email and give me that summary. In that time I could have oh, I don’t know, just read the fucking email.

    Microsoft Copilot is the literal equivalent of Dethklok recording on water; destroying millions of acres of natural habitat and blacking out cities so Nathan can record himself blowing a raspberry and clapping his hands.

    I can think of any number of problems in this world that need to be solved before I think, “Hey, I could really use a summary of an email!” Yet this is the exact shit all of these huge companies are trying to sell us. Google, Apple, Meta, all of them. They’re not in this to make your life easier. They’re in it to make money. They’re in it for power. They’re in it to say, “We’re number one!”

    Don’t ever let their marketing tell you otherwise.


  • Derp

    This is a quick story about a blithering idiot.

    Sometime in November of last year, the screen on my phone started to come away from the body. I have no idea why, it just did. The screen still worked, it was just separating from the rest of the phone. I put my phone in the bulky case I have because it wraps over the screen and kinda holds everything in place and started looking at repair options. I quickly found that this was something I could fix myself thanks to iFixit who, I may add, has saved my ass a few times in the past. So I ordered one of their iOpener tool kits and a replacement screen adhesive. Cost = Not So Much compared to what a mobile shop would have charged.

    The tools and the adhesive arrived and I spent about half an hour following the instructions and, in the end, it wasn’t difficult to replace the screen adhesive and put the phone back together. I mean, attaching the screen cable back to the phone was a little finicky but, past that, no sweat. I kept the phone in the bulky, cheap case as some added insurance.

    Two weeks ago, I decided to get another cheap case that wasn’t as bulky (seriously the one I’d been using was just, ugh). And this new cheap case showed me one thing: the screen was coming off the body again.

    FFS

    I put the phone back into the old cheap, bulky case. The next morning I drove to the mall where there is a mobile store who does good repairs. After saying Good Afternoon, I told them I had what would probably be an easy repair. I took my phone out of the shitty, bulky case and showed the dude how the screen was coming off.

    Dude called over his manager. Showed my phone to her. She took a close look at it. Wrinkled her brow, looked at me and asked: “Did someone repair this recently?”

    I said, “Well, yeah. I tried to repair it.”

    She nodded, put the phone on the counter and showed me that…

    … I had forgotten to remove the final liner before putting the phone back together.

    See this?

    Yeah. For whatever reason, I didn’t do this step.

    I muttered “son of a bitch” and she instructed me to grab the little blue tab and pull the liner off. She then placed the screen back on, picked up my phone and ran her fingers around its perimeter making sure it all stayed together.

    She handed me the phone back. “You should be good. No charge.”

    “Not even an idiot tax?” I asked.

    “No idiot tax.”

    Apparently my obvious embarrassment at my own stupidity was enough.

    I thanked them both, picked up the liner and put it in my coat pocket, and walked out of the store.

    I’m keeping this as a reminder to always follow all the instructions.


  • My Rules: The Computer Edition

    When writing yesterday’s post about Tech Rot, I was going to add a list of “rules” I have made for myself in order to enjoy being online in any way, shape, or form. It didn’t quite fit the flow or message of the piece, so I decided to post it separately. With the context out of the way, here is the list of “rules” I follow:

    • Uninstall/remove/disable any and all bloatware/scamware/adware in whatever OS you’re using. I happen to like Windows 11, but oh my god, the fact one has to do this to use your computer in relative peace is ridiculous. (Note this rule is not Window specific. Removing unneeded packages from whatever Linux distro you use, or uninstall whatever apps included in macOS that 1: Apple allows you to uninstall and 2: You may not use; GarageBand, Pages etc).
    • Disable any and all completely unnecessary noise.
      • Turn off notifications of everything that does not matter. On your phone, you should get a notification when someone texts you or calls you. You don’t need a notification when some app randomly recommends an article or has a pair of shoes on sale (and don’t get me started on news apps). On your computer, notifications should be for email and chat only.
      • Turn down the intensity of notifications you do enable. On your computer, all you need is a badge on the app (and only if it’s running). No one needs a badge, and a sound, a toast alert, and a preview… just a badge. On your phone, the only thing you should see on your lock screen is the name of the person calling/sending you a text.
    • Firefox. Just Firefox. There is no other browser (unless you want to go hardcore with Tor, but that’s a whole other realm) 1.
      • Run an adblocker at all times. Don’t ever feel bad running an ad blocker and don’t let sites make you feel guilty with their popovers telling you that everyone will starve unless you allow ads. Remember: ads would be fine if they weren’t so absolutely fucking invasive and shitty.
      • While you’re at it, fuck with YouTube.
    • Set your browser tracking protection to Strict.
      • The only websites you should have to whitelist for any reason are important ones like banks or insurance companies. If a random website won’t load or work properly because you have an ad blocker installed and/or strict tracking protection turned on, then that website it not worth your time.
    • Thunderbird. Very, very good at stripping out email trackers and other such nonsense 2.
    • Use multiple email addresses. You should have one from a well known domain (Gmail, Outlook, iCloud) for banking and other important life items, one for personal use (family, friends), and at least one burner account to use for signing up for newsletters, software trials, 10% off coupons, etc.
    • Use a VPN. Please, for the love of all that is good in this world, make use of a VPN.
    • Use a password manager. In fact, use BitWarden. It’s free – or very inexpensive if you want to support them 3.

    Finally, and most importantly:

    DO NOT adopt a devotion of any kind to any company.


    1: Don’t @ me about Brave. They’re shoving useless AI shit into their product, have a rewards program (opt in or not, rewards programs on software is lame and shifty), and have been trying to pull some shady shit over the years only to get caught and backpedal. So fuck that shit. Nothing in their business model tells me they’re to be trusted. Yes, Firefox does offer “Sponsored Shortcuts” on their Home page, but all it takes to turn this off is a single checkbox.

    2: The best part is not only does Thunderbird give you an overall option like “Allow content from The Online Store”, it also shows you a list of individual options like:
    – Allow content from tracker.shadyasfuck.com?
    – Allow content from “api.wearealwayswatching.com?

    3: I’m not getting paid to say this. They’re just that awesome.