Saturday: Mozilla and Bixby

This morning, I tried more ideas for fixing the remaining endianness bugs in Mozilla’s graphics engine.  I found a few more leads but so far no progress on cracking the image decoding issue.

It was a beautiful day out and my allergies are waning since it’s finally autumn, so we took my gran out and decided to explore around Bixby.  There’s quite a variety of shops down there; very nice.  Their Super Target is much nicer than the Tulsa one, as well.

A sunset with many shades of blue, teal, red, and yellow.
Sunset over Bixby

As it became dark, we headed home.  On the way back I stopped in to Best Buy to find a universal remote for the TV I was given second-hand.  Had a nice chat with the cashier about watch bands.

Back at home, Mr Gaz was very affectionate and mrowy.  They say there’s going to be a light frost overnight.  I can’t wait.  The property turned off the air conditioning last week so it’s been uncomfortably warm in my flat.  Bring on the cold weather and warm kitty snuggles ^.^

Now playing: ♫ Heartbeat – Carrie Underwood

Big Endian Firefox: Now with more compositing

I’m currently in the process of trying to bring up the PowerPC platform as a fully supported architecture in Firefox.  I’ve already implemented better support for XPCOM / JS interfacing, and fixed a crash in the JavaScript interpreter. My next challenge is fixing graphical issues, which is proving to be more of a challenge than I initially anticipated.

However, I have broken some new ground.  Before, the compositing engine had wildly inaccurate colouring caused by errant “swizzle methods” (which are functions that take images of one colour type and change them to another – or, “swizzle” them).  This resulted in Firefox 64 (Nightly) looking like this on my workstation:

Firefox, with blue blocks and weird colours everywhere
Firefox, with a broken compositor

I’ve just managed to fix these methods and lo and behold, Firefox 64 (Nightly) looks like this now:

Screenshot_20181019_205618
Firefox, with working compositor

Obviously, there are still some minor nits to work out.  (Namely that my avatar in the top right corner has a blue tint to it!)  I believe the last issues are going to be in the Cairo code, which seems to get very confused by Skia’s byte ordering.  I already have a lead on how to potentially fix this issue.  The good news is that there are no longer any (non-debug) crashers, unless you attempt to view H.264 video.  This is because video playback via FFmpeg crashes due to another byte ordering issue.

All in all, I’m very satisfied with what I was able to knock out in just a few hours on a Friday night.  Thanks go to the #gfx chat room on Mozilla IRC for their guidance in what to look at.

A re-introduction to blogging

I’ve finally moved my blog off Google Blogger and over to WordPress.  WordPress is much nicer and I’m much happier with this platform – and recommend it highly!

I have so much to say, and so many drafts that I’ve written.  I wanted to start by noting that I imported the “best of” my old blog directly in to here, with a few minor edits or notes to ensure consistency.  I’m hoping to talk a lot more about more diverse subjects than just computers and LGBT equality on this one (though I definitely do still care about those).

I have some (hopefully!) exciting articles to follow, including a new series where I review old games.  I also want to write more about my cat Mr Gaz, as well as music, photography, and exploring Oklahoma.  Stay tuned!

Ridiculous unusable download URLs for open source projects

I told myself (and everyone I know) that I wouldn’t write another blog post until I moved the blog off Google Blogger, but I can’t stay silent on this issue.

UPower, the open source power management software used on Linux (and I believe the *BSD family), has recently changed their download URLs. As the lead of Adélie Linux, I personally maintain a significant chunk of “core” desktop experience packages. We consider UPower to be one of those, because it is important to conserve energy whenever possible.

Today I was notified by Repology that UPower was out of date in Adélie. No big deal, I’ll just bump it:

>>> upower: Fetching https://upower.freedesktop.org/releases/upower-0.99.8.tar.xz 
curl: (22) The requested URL returned error: 404 Not Found

“Hmm”, I wondered to myself, “maybe this is a git snapshot package someone uploaded”. It turns out it wasn’t; Debian, Arch, and Fedora are all shipping 0.99.8 now. What gives?

I looked at Debian’s packaging first, since they typically have a good hold on stability. I didn’t even understand the change, though, so I looked up Exherbo’s packaging and was horrified.

Instead of a simple URL, they are now using a GitLab Upload URL which contains an SHA-1 hash in the URL. That means all of our bump scripts can’t work any more. Instead of simply typing a single abump command, for every release of UPower I will now have to:

  1. Open their GitLab instance in a Web browser, which isn’t even installed on any of the staging computers to minimise security hazards:
  2. Wait for all the JavaScript and miscellaneous crap to load;
  3. Context-click the link for the UPower tarball;
  4. Copy the link;
  5. Connect to our staging system remotely from a computer with a Web browser installed;
  6. Open vim on the APKBUILD file for UPower;
  7. Paste the link into the source= line, replacing what is already there;
  8. And then run abuild checksum manually to update the sha512sum in the file.

WHY!? fd.o people, please, out of respect for us packagers that want to give your software to the people who need it, please use your /releases/ directory again!