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!

Ah, wonderful health hazards

I can’t tell what has been overall worse for my health in the past few weeks. The bathroom connected to my home office directly sits over the complex’s “laundromat station”. This did not used to bother me. In fact, I was quite okay with this, because it means I have the closest walking distance of any of my neighbours to it. However, for the past two or three weeks, I can smell — from the office, mind — a very strong odour of laundry detergent every time someone does a load. Turns out a lot of people do loads in the 18:00 to 21:00 time slot on weekdays, which happens to be when I am at my most productive in my office. I cannot imagine this is at all healthy for me.

But then I remember I’ve spent every day since Saturday spending multiple hours trying to set up OpenLDAP for new project. I’ve always just used Active Directory on the server-side, so my only experience thus far with OpenLDAP has been client-side. It’s a great client library with easy configuration and a great debug mode that will tell you exactly what is happening and what is going wrong. Unfortunately, the server part, at least on Debian, uses “dynamic configuration” which means everything is in LDAP.

Now, look, LDIF and LDAP are fine and great for phone book-style records. It makes perfect sense. That is what it was designed to do. Storing regexp in ASN.1 BER is pushing it. But the way they do HDB/MDB grouping feels to me like trying to fit in with all those cool kids with their NoSQL and their MapReduce and their terrible terribly-great performance by using “shards” everywhere. And our leader wants replication so that it’s fault tolerant. Now I get to convert decades-old documentation about an “enterprise” feature to this “dynamic configuration” thing. I cannot imagine this is at all healthy for me.