Blast from the Past: I filed a bug against Firefox 3.6.6

A screenshot of the old bugzilla duplicate finder UI with the text inside table cells not rendering at allOn June 30, 2010 I was:

  • Sleepy. My daughter had just been born a few months prior and was spending her time pooping, crying, and not sleeping (as babies do).
  • Busy. I was working at Research in Motion (it would be three years before it would be renamed BlackBerry) on the BlackBerry Browser for BlackBerry 6.0. It was a big shift for us since that release was the first one using WebKit instead of the in-house “mango” rendering engine written in BlackBerry-mobile-dialect Java.
  • Keen. Apparently I was filing a bug against Firefox 3.6.6?!

Yeah. I had completely forgotten about this. Apparently while reading my RSS feeds in Google Reader (that doesn’t make me old, does it?) taking in news from Dragonmount about the Wheel of Time (so I guess I’ve always been a nerd, then) the text would sometimes just fail to render. I even caught it happening on the old Bugzilla “possible duplicate finder” UI (see above).

The only reason I was reminded this exists was because I received bugmail on my personal email address when someone accidentally added and removed themselves from the Cc list.

Pretty sure this bug, being no longer reproducible, still in UNCONFIRMED state, and filed against a pre-rapid-release version Firefox is something I should close. Yeah, I’ll just go and do that.

:chutten

 

Advertisements

So I’ve Finished: Yoku’s Island Express

Yoku’s Island Express is weird. It’s a pinball platformer of short duration. Its segmented and straightforward play style is well-suited to 15-minute sessions making it a lovely fit for the Nintendo Switch’s portable nature. Its story is nothing special with a twist that I might not forgive you for not deducing a third of the way through the game. Its soundtrack is adorably dorky in the same way as Rayman Legends‘ or LocoRoco‘s or Katamari Damacy‘s.

(( You’re welcome, by the way. All of those are excellent. ))

There’s no high score system making it fiercely single-playthrough (which is good if you like games that actually end). Some of the pinball designs are just poorly-laid-out (one boss battle in particular can be a real trial).  And traversing the world can be annoyingly convoluted and slow as you work your way through pinball traversals that were tricky the first time and now have lost all charm.

But it was fun. Altogether worth the about $25 it costs (and definitely worth the download and time to try out the demo if you’re still unsure if it’s for you).

I recommend it to anyone who isn’t afraid of weird things (say, if you’ve run out of things to roll up in Katamari and need something new) and games that are under 20 hours playtime. Fun for the whole family.

So I’ve Finished Horizon: Zero Dawn

Open World Games have worlds very beautifully rendered and more-or-less open worlds populated with a bunch of systems (physical, natural, economical, weather, chronological, combat, biological) that interact in ways that try to engage the player and produce entertaining moments. Gameplay tends to be generic allowing for varied approaches to solving problems (gathering resources, traversing terrain, killing bad things).

Horizon: Zero Dawn is an open world game of the First Type: that sandbox type you probably know from Dragon Age: Inquisition, Mass Effect: Andromeda, Final Fantasy XV, and the later Far Cry, Just Cause, Assassin’s Creed, and others AAA gaming titles. You’re given a map with a lot of icons on it and you proceed to remove those icons by fetching things for NPCs, experiencing story moments, completing challenges, and so forth.

(( This is in contrast to open world games of the Second Type where you’re given a map with no icons and you proceed to fill in the map as you go. This is where The Legend of Zelda: Breath of the Wild comes in. ))

(( Oh, and this First/Second Type nonsense is all made up by me as an organizational shorthand so I can reason about these games separately and together. Don’t take it too seriously, I’m probably wrong. ))

Horizon: Zero Dawn may in fact be the best open world game of the First Type I’ve ever played. Its world is dense without feeling crowded, its systems are obvious and clearly-communicated, its story is communicated environmentally and cinematically, it is populated with characters written humanly and animated with diversity and depth… Basically every complaint I had with Final Fantasy XV and Mass Effect: Andromeda was addressed somehow by this game.

And on top of it all it is almost aggressively beautiful to look at, when in conversation character faces are energetically and believably animated, the main character is actually an interesting person, and the setting and story are compelling from start to finish.

But when I completed the story and loped off to the top-right DLC-only corner of the map (which came included with the edition I bought) I… I played a few hours in it over a few days and, after putting down my controller haven’t bothered going back. I didn’t want more of the story, the world, or the mechanics. I don’t want to continue controlling, coercing, or combatting more creatures and characters.

It isn’t like Zelda where it lives in the back of my mind and wants me to put it back in. Maybe start from scratch, maybe continue where I left off. See what I missed by rushing to the towers too quickly and not making my way more methodically through the world. Maybe chat with others who have played the game and compare notes about what cool things we found.

But no. For some reason I’d had my fill of HZD. Maybe I’d had my fill of Open World of the First Type (We’ll see. I think The Witcher III is another one and it’s on my list to play soonish). Maybe with the overarching plot complete my brain had its closure and didn’t feel the drive to continue. Maybe I was tired of  the armoured and HP-pooled palette-swapped monsters in the DLC area slowing down my exploration.

Whatever it was, I now find myself really not all that interested in going back to it.

But if they made a sequel, I’ll play it.

Weird.

Anyway, I recommend Horizon: Zero Dawn to anyone who enjoys open world games of the First Type. It’s a polished game of appropriate length, depth, and breadth.

Data Science is Festive: Christmas Light Reliability by Colour

This past weekend was a balmy 5 degrees Celsius which was lucky for me as I had to once again climb onto the roof of my house to deal with my Christmas lights. The middle two strings had failed bulbs somewhere along their length and I had a decent expectation that it was the Blue ones. Again.

Two years ago was our first autumn at our new house. The house needed Christmas lights so we bought four strings of them. Over the course of their December tour they suffered devastating bulb failures rendering alternating strings inoperable. (The bulbs are wired in a single parallel strand making a single bulb failure take down the whole string. However, connectivity is maintained so power flows through the circuit.)

20181104_111900

Last year I tested the four strings and found them all faulty. We bought two replacement strings and I scavenged all the working bulbs from one of the strings to make three working strings out of the old four. All five (four in use, one in reserve) survived the season in working order.

20181104_111948

This year in performing my sanity check before climbing the ladder I had to replace lamps in all three of the original strings to get them back to operating condition. Again.

And then I had an idea. A nerdy idea.

I had myself a wonderful nerdy idea!

“I know just what to do!” I laughed like an old miser.

I’ll gather some data and then visualize’er!

The strings are penta-colour: Red, Orange, Yellow, Green, and Blue. Each string has about an equal number of each colour of bulb and an extra Red and Yellow replacement bulb. Each bulb is made up of an internal LED lamp and an external plastic globe.

The LED lamps are the things that fail either from corrosion on the contacts or from something internal to the diode.

So I started with 6N+12 lamps and 6N+12 globes in total: N of each colour with an extra 1 Red and 1 Yellow per string. Whenever a lamp died I kept its globe. So the losses over time should manifest themselves as a surplus of globes and a defecit of lamps.

If the losses were equal amongst the colours we’d see a equal surplus of Green, Orange, and Blue globes and a slightly lower surplus of Red and Yellow globes (because of the extras). This is not what I saw when I lined them all up, though:

An image of christmas lightbulb globes and LED lamps in a histogram fashion. The blue globes are the most populous followed by yellow, green, then red. Yellow LED lamps are the most populous followed by red and green.

Instead we find ourselves with no oranges (I fitted all the extra oranges into empty blue spots when consolidating), an equal number of lamps and globes of yellow (yellow being one of the colours adjacent to most broken bulbs and, thus, less likely to be chosen for replacement), a mild surplus of red (one red lamp had evidently failed at one point), a larger surplus of green globes (four failed green lamps isn’t great but isn’t bad)…

And 14 excess blue globes.

Now, my sampling frequency isn’t all that high. And my knowledge of confidence intervals is a little rusty. But that’s what I think I can safely call a statistical outlier. I’m pretty sure we can conclude that, on my original set of strings of Christmas lights, Blue LEDs are more likely to fail than any other colour. But why?

I know from my LED history that high-luminance blue LEDs took the longest to be invented (patents filed in 1993 over 30 years after the first red LED). I learned from my friend who works at a display company that blue LEDs are more expensive. If I take those together I can suppose that perhaps the manufacturers of my light strings cheaped out on their lot of blue LEDs one year and stuck me, the consumer, with substandard lamps.

Instead of bringing joy, it brought frustration. But also predictive power because, you know what? On those two broken strings I had to climb up to retrieve this past, unseasonably-warm Saturday two of the four failed bulbs were indeed, as I said at the top, the Blue ones. Again.

 

:chutten

So I’ve Finished: Night in the Woods

Well, Kate did. And she’s playing it a fourth time and learning just how much she missed in the first three.

As everyone has noticed, the game has excellent writing. There are moments where the writers’ voices speak a little to clearly and preachily, but on the whole the characters are themselves from the moment you meet them to the moment the credits roll.

For a game taking the slice of the lives of twenty-somethings there is a surprising lack of sex and romance. Gregg and Angus are the best couple, and Mae gets sloshed rather than face her high school bf… but just as there is exactly one bathroom in Possum Falls, there appear to be only two bedrooms. Even Angus and Gregg seem to share a single bunk bed.

Gameplay is mostly light platforming between conversations. The conversation engine is executed confidently, with choices presented in exactly the words that are sent. There’s some inconsistencies where “I can talk with you” indications appearing over characters with nothing to say but a single bubble with a sketch in it instead of the far more common signal of the end of conversations being that the indicator is just absent. It’s not bad, it’s just a little jarringly inconsistent.

In addition to walking and talking there are a few minigames to suck at: Guitar Hero for bass playing, some timing games like knife fighting with your friend, a hunting simulator… sucking at them is in character, so I wonder what the responses are if you’re actually competent at something.

Overall I recommend this heavily to anyone who likes “Walking Simulators” or Interactive Fiction… or if you ever came from a small town and went back at least once (and if so I also recommend that you read Sunshine Sketches of a Little Town).

Holiday Inbound: Remembrance Day 2018

100 years is a lot of time. It is longer than most lifetimes. It is long enough to build and erase cultures. It is long enough for the world to change.

100 years is not a lot of time. It is too short a time to forget. It isn’t long enough to understand our world. It isn’t long enough to understand each other.

This Sunday, November 11th marks the 100th anniversary of the end of hostilities of World War I. In Canada, plastic poppies have been blooming on lapels across the nation to show that we do remember the War to End All Wars. We also remember the wars that came after. And the conflicts we don’t call wars any more.

More importantly we remember those who fought them. They fought for us. They fight for us. They fight for others, too. They fight for good. We remember the fighters and their fights.

This will be the 99th Remembrance Day. This will be the 99th time we lay wreaths on cenotaphs. This will be the 99th day we add names to the list of the remembered. This will be the 99th time we mark the eleventh hour of the eleventh day of the eleventh month with our silence.

Silence so you can hear the rain. Silence so you can hear people nervously scuffing their feet. Silence so that even children know something is happening. Silence so loud you can’t hear a thing.

In Canada we will mark the occasion on Sunday. We will have Monday off. We will return on Tuesday.

It’ll only be a short while. We’ll be back before long.

:chutten

Ontario’s 42nd Parliament, 1st Session: October 2018

english-logo
Logo used for education and illustrative purposes. This is not an official publication and I am not an agent of the OLA.

The House met for 15 days in October and got some things done. Not much that I agree with, but that’s what I expect at this point. Let’s dive in to the bills, shall we?

Bill 4, Cap and Trade Cancellation Act, 2018, received Royal Assent on Hallowe’en. This means Ontario is without a carbon mitigation strategy or system. If you have opinions on what you think the new system should be, there is a consultation open now. I don’t expect to be listened to, but I can at least try. And in the meantime, at least Trudeau is impressing me with his commitment to climate change action by picking up the slack left by the provinces. (If only he hadn’t bought that stupid pipeline).

Bill 30, Fighting Back Against Handguns Act (Handgun Ammunition Sales), 2018, lost on Second Reading. This was the bill that would allow municipalities to forbid ammunition sales in their borders. Nothing of great value lost here, I think.

Bill 32, Access to Natural Gas Act, 2018, still in Second Reading debate. This is the regulatory framework to offset costs to reach expensive-to-reach homes with natural gas for heating by marginally increasing costs on all homes. It’s being debated, but I use that term lightly as it appears to mostly be a platform for grandstanding on particulars. Whatever.

Bill 33, Rea and Walter Act (Truss and Lightweight Construction Identification), 2018, now in committee. There’s broad support for identifying construction more susceptible to weakening in a fire using mechanisms already in use in several other jurisdictions. Fine by me.

Bill 34, Green Energy Repeal Act, 201, now in committee. This is a continuing removal of anything “green” passed by the previous government. It keeps several useful and helpful things, rolling them into other, larger acts. But it enacts barriers to renewable energy projects and generally loses a lot of the stuff that made it green. The Government says the changes are necessary to reduce regulatory burdens (in the face of a growing energy economy, especially in renewables? Bah.). I think it should be left alone, but with it already in committee it’ll be passed whenever the Government wants it to be, so I’d best make my peace with that now.

Bill 36, Cannabis Statute Law Amendment Act, 2018, received Royal Assent just in time for Legalization Day. This was a rushed piece of legislation that tore up the Liberal’s plan to run pot like the province runs alcohol (public stores, public education, public reach, public profits). Instead it replaced it with a plan to run pot like the province runs tobacco (private stores, public education, private reach, private profits). It’ll be fine, but it’s just such a wasted opportunity for a stream of public revenue.

Bill 37, Liability for Climate-Related Harms Act, 2018, was introduced and killed. This would have established liability for corporations found to be causing climate harms. Good in idea, a little vague in details. Shut down because of course the Government would shut down something applying restraints on enterprise.

Bill 38, Tax Fairness for Real Estate Professionals Act, 2018, went from First Reading through Second and into Committee. This allows Real Estate Agents to incorporate in the way that doctors aren’t allowed to anymore. Broad support for this legislation across the aisle, but I can’t see how this helps the province at all.

Bill 39, Accessible Parking and Towing Industry Review Committee Act, 2018, went from First Reading through Second and into Committee. Stands a committee to review accessible parking systems that are in use and are available. The committee will also look at training and licensing tow truck operators, and into protection of their customers. Seems like a good idea to me.

Bill 40, Human Rights Code Amendment Act (Genetic Characteristics), 2018, went from First Reading through Second and into Committee. Includes “Genetic Characteristics” as a protected class at the provincial level. Good.

Bill 41, Highway Traffic Amendment Act (Helmet Exemption for Sikh Motorcyclists), 2018, went from First Reading through Second and into Committee. Exempts Sikh from the requirement to wear motorcycle helmets (as those who observe the tradition of unshorn hair often wear turbans which make helmets impossible). I hope this doesn’t lead to increased mortality on our roads, but this is what tolerance demands.

Bill 42, Ending Discrimination in Automobile Insurance Act, 2018, received First Reading. This will prohibit automobile insurers from pricing differently based on your location.

Bill 44, Ending Automobile Insurance Discrimination in the Greater Toronto Area Act, 2018, also received First Reading. It is materially similar to Bill 42, but is about treating the GTA as one giant zone instead of permitting insurers to price differently. This bill was killed in November.

Bill 43, Freeing Highways 412 and 418 Act (Toll Highway Amendments), 2018, received First Reading. This prohibits the connector highways between the 407E toll highway and the 401 untolled highway from being toll highways. This is a bit wasteful as the 412 has already been built and has been operating as a toll highway since February 2017. Also, it may be already be too late to recoup any costs for the under-construction 418 to account for its changed designation. I’ve previously been in favour of roads being free for use, but tolls are an excellent means of internalizing costs of maintenance (and to the environment, if we chose) that otherwise would be external. And I’m offended by the pandering.

Bill 45, Child Care and Early Years Amendment Act (Not-for-Profit Corporations), 2018, received First Reading and failed Second in November. Forbade corporations from receiving public childcare funding unless they were not-for-profits. Killed because of course it was. Seemed like a reasonable requirement to me.

Bill 46, Terrorist Activities Sanctions Act, 2018, received First Reading. This is about forbidding anyone convicted of terrorism charges from being eligible for provincially-funded stuff (like welfare, health insurance…). It also marks their children as “is need of protection” (which means they’d likely be removed from the home). Seems legit so long as the definition of terrorism crimes in the Criminal Code of Canada is narrow enough and applied sparingly enough that we never falsely convict. (Yes, even if that means some terrorists can only be convicted of lesser charges)

Bill 47, Making Ontario Open for Business Act, 2018, received First and Second Reading. Basically undoes all of the good stuff workers had thanks to last year’s Bill 148 which finally, after two years of investigation and consultation, expanded protection to workers in Ontario. In addition, it applies sweeping restrictions to how unions can be formed, operate, and provide capable oversight of employers. I think this is blatant and foolish garbage that doesn’t belong in Ontario. We should be extending workers’ rights in this province. We should be improving protections and mandatory benefits. GAH.

Bill 48, Safe and Supportive Classrooms Act, 2018, received First Reading. It’s a bill that codifies what sexual abuse is and ensures any teacher so abusing a student will have their license revoked. Good. So long as it’s careful.

Bill 49, Charter Rights Transparency Act, 2018, received First Reading. It’s a bill that requires the Attorney General examine any Bill with a notwithstanding clause for any contravention of the Charter Rights granted to all Canadians. No way is this going to see Second Reading.

Bill 50, Cutting Red Tape for Motor Vehicle Dealers Act, 2018, received First Reading. It’s a bill that allows auto dealerships to get stuff online in addition to by mail. Good. Welcome to 2018.

Bill 51, Long-Term Care Homes Amendment Act (Preference for Veterans), 2018, received First Reading. As it says on the tin, it prefers veterans for placement in long-term care homes. This is fine by me. I’d prefer we adequately care for our veterans so that by the time they need long-term care they aren’t as much veterans as they are just Old Canadians like the rest of us will be. Y’know, instead of making our guilt in failing to do this manifest in ways like this kind of preferential treatment. Just a thought.

That’s about it for government business. I’ve likely missed out on entire scandals worth of nonsense by only looking at the Bills, but that’s about all I have the energy to do each month, so here we are.

Til next month.