• When will we run out of Social Insurance Numbers?

    Recently I had a question: why does nobody talk about running out of Social Insurance Numbers? Every Canadian, permanent resident in Canada, or someone with a work visa receives a SIN. These numbers are actually a finite resource and it has been bugging me about why this never comes up.

    This is kind of a shitpost so don’t take it as completely factual, but some effort was put into guessing things.

    What is a SIN?

    Beginning in 1967, all Canadians, permanent residents living in Canada, and those with a work visa have been issued a Social Insurance Number. It is used as an identifying number permitting you to pay taxes and access government services. It also has horrible feature creep such as being used for your credit history, but that is for another time.

    It is a nine-digit number with some special properties.

    046 454 286

    While the above is fictitious, it is a valid SIN. However, it does not mean that SINs range from 000 000 000 to 999 999 999 (or a whole billion of numbers) are available as there is some very basic validation using the very simple Luhn algorithm.

    Because of this validation, it actually means there are only 100 million valid SINs, but there are some rules with how it is handled.

    The first digit of a SIN indicates the type of number it is. A SIN starting from 1 through to 7 means it is issued based on the region you were registered in–not born, but often they align. For example, someone with a SIN starting with a 3 for sure means the person got their number while living in Québec, whereas 7 could either mean British Columbia or Yukon, but also something else of which I will get to in a moment.

    For the rest of the numbers, 0 is reserved for the Canada Revenue Agency, 8 is for business numbers, and 9 is given to people who are here on a work visa of some sort.

    With these rules in mind plus the algorithm that validates the numbers, there’s only a pool of 70 million total allocated. However, while that might seem like a lot, especially considering projected populations by the mid-century, there quite a few factors to consider with how the whole system works.

    Population broken down by regions

    The 1966 census put Canada at just over 20 million people. When the 2021 census was conducted, we reached over 37 million, but it is likely in the 2026 census, we’ll surpass 42 million.

    Using Statistics Canada’s projections, Canada’s population by 2050 could be with a maximum growth scenario, just shy of 55 million people. There’s a low-end of the scale, but even then population projections show that we will be flirting with the 50 million mark regardless.

    Here’s how it all breaks down by province or rather, Social Insurance Number areas.

    SIN Region Area Covered 1966 2021 2050 Proj.
    1 Nova Scotia
    New Brunswick
    Prince Edward Island
    Newfoundland and Labrador
    Ontario*
    1,974,758 2,409,874 3,453,600
    2, 3 Québec 5,780,845 8,502,000 9,954,700
    4, 5 Ontario* 6,735,481 13,991,643 21,710,495
    6 Northwestern Ontario*
    Manitoba
    Saskatchewan
    Alberta
    Northwest Territories
    Nunavut
    3,630,000 7,047,520 12,192,605
    7 British Columbia
    Yukon
    1,888,056 5,266,932 7,602,700

    If you wish to view the 1966 census, the Government of Canada has a document you can review.

    If you wish to view the 2021 census, a non-PDF page can be browsed as well.

    Ontario and Northwestern Ontario

    Ontario is a special province with special privileges because it is the most populous, so it is given 4 and 5. However, not all of Ontario is included in the scheme.

    Northwestern Ontario is lumped in with the 6 region, which shoves out about 230,000 people from the pool. This number has remained stable since the earlier census so it doesn’t really have as much of an impact as one might think. I’ve pooled its population with those regions to reflect this scenario.

    However, the province is now eating into what is available for the Maritime provinces and Newfoundland and Labrador, which is region 1. I did not reflect the population of those provinces but will talk about how I address this later.

    British Columbia and Yukon’s problem

    So there are 0, 8, and 9 numbers that are available, but they’re not intended to be used geographically. However, 8 has been exhausted and now is dipping into 7. This means that the available pool for the province and its northern territorial neighbour is ever so slowly shrinking in availability.

    Death

    The thing not mentioned thus far is that SINs outside of 9 are unique to each person, meaning that when a person dies, their number is supposed to go with them. This implies that numbers are exhausting themselves as population grows. Let’s figure out how many people have died in each region since 1967.

    From 1991 up to 2021, 7,415,242 deaths have been recorded, but if you go up to 2024, you can add an additional million to that count. As the baby boomers continue to age and die off, the deaths will continue to increase and that has to be taken into consideration for the future.

    Statistics Canada only keeps track of deaths by place of residence and not from where they were born. It has been difficult to track down official numbers on deaths pre-1991, but Macrotrends has it per 1,000 people. Based on that data, we’re looking at about 10 million people having passed away since the SIN system has been implemented.

    That is one whole block of numbers that we cannot use any longer.

    When will we hit exhaustion?

    Here’s how I think the current pool looks like health-wise with the death figure added in. We’ll assume one SIN per counted person because the number of non-citizens would not affect the outcome that much regardless of what someone might tell you.

    SIN Region Available SINs In Use Retired % Remaining
    1 10,000,000 2,409,874 647,503 69.4%
    2, 3 20,000,000 8,502,000 2,284,380 46%
    4, 5 20,000,000 13,991,643 3,759,378 11.2%
    6 10,000,000 7,047,520 1,893,580 10.5%
    7 10,000,000 5,266,932 1,415,158 33.1%

    It can be safe to assume that 18.38 million SINs are still available in the system. However, I cannot ascertain how much of region 7 has been affected by the exhaustion in 8, so it is probably safe to assume that it is lower than that.

    There are about 459,000 registered corporations federally, with an additional 36,200 more not for profits. The same report suggests that each year, anywhere between 12,000 and 24,000 are dissolved. That’s just for the federal side of things and I am certain that the number of much higher when taking into consideration how many are registered just to individual provinces.

    This is a bit beyond my knowledge area, but considering that the 8 block has been exhausted, I am certain the 33% figure for region 7 is significantly lower in availability.

    Ontario began to dip into region 1 at some point in the past decade so it’s difficult to say how much has already been consumed without guesswork. With a projection of up to 7.7 million more residents by 2050, there’s certainty for the province to exhaust that region’s availability even if a slow growth scenario comes into play.

    So I have no real way to address the actual use but I imagine that considering what is available in its original regions, it’s probably under 10% right now, but not for much longer.

    Québec though with its regions 2 and 3 has plenty of room to grow as it is only expected to grow a meagre 1.4 million. Even with expected number retirements, there should remain some room to take on what Ontario is expected to undoubtedly need. Is this a political possibility? I imagine it could be, but who knows there.

    Here’s the big problem: Western Canada.

    British Columbia is expected to grow by 2.3 million people in the coming two decades, which might seem like the biggest problem, but it’s actually everybody else that is going to have a larger impact.

    The Prairie provinces plus Northwestern Ontario and the two eastern territories are potentially going to grow by 12.1 million. Alberta alone is suggested to hit 8.1 million people, putting it 600,000 ahead of its western neighbour. Region 6 includes these provinces and that sort of growth will for certain exhaust their allocation of SINs.

    Based on all of this, it is extremely unlikely to occur in the next decade. I would not be surprised to hear talk about in the 2030s and for sure expect by the 2040s that the way we handle the Social Insurance Number system will require a change.

    How to fix this

    Like all problems including climate change and resource exhaustion, this is a problem for the future and for sure the Gen Z types who are entering the workforce will be managing this with the generation behind them rolling their eyes at their solutions.

    Let’s let this dumb millennial suggest a few and what each has as for a problem.

    Just add a digit

    This is probably the most sensible idea and can still be verified the same way. It would add about a billion more SINs to the available pool by making each region allocated with 100,000,000 numbers. This should be fine until the United Nations has to take over every country because climate change causes the oceans to rise many metres, causing ruin to national governments and to also ensure political unity in the face of the Martian Congressional Republic.

    But that is not going to happen for a few more centuries, so no need to worry.

    From a technical standpoint, it would require most to permit a tenth digit. You can grandfather in existing number by appending or prefixing a zero at the end depending on implementation.

    This is how I would do it and is therefore unlikely to happen.

    Reuse numbers

    Don’t.

    Because of feature creep such as credit ratings being dependent on these numbers, I would not recommend this. Ten million SINs have likely been retired merely to due to death alone since its implementation and that number is going to be significant considering how many there are left to go.

    This would for certain lead to fraud of some sort.

    I don’t expect this to occur.

    Come up with a new system

    From a technical standpoint, this is probably the second worst idea after reusing. Imagine being told that the nine digit number you know off the top of your head from having filled out job applications a dozen times as a teenager is now going to be replaced with something else.

    I am willing to bet that some consultants will make retirement by 35 if they were to get the government on board with this one, so expect this one to be floated towards the top unfortunately.

    This is the most expensive and will make private corporations a lot of money, so it is probably the most likely.

    Ditch the algorithmic check

    It’s not hard to generate a SIN number. A simple Python script is often enough.

    def check(sin):
        def dof(n):
            return [int(d) for d in str(n)]
        digits = dof(sin)
        odd = digits[-1::-2]
        even = digits[-2::-2]
        csum = 0
        csum += sum(odd)
        for d in even:
            csum += sum(dof(d*2))
        return csum % 10
    
    def valid(sin):
        return check(sin) == 0
    
    for x in range(100000000,800000000):
        if valid(sin=str(x).zfill(9)):
            print(x)
    

    The above just generates numbers, confirms it against the Luhn algorithm, and prints it out if valid. This code has been written countless times and I am sure sits in various repositories. With a few changes, you can use the above to generate credit card numbers too since they use the same check–I recommend against openly doing this for legal reasons.

    If you have a better way to write the above, have at it. I am a terrible software developer.

    The actual problem is attaching to a name. However, offline checking of a SIN is useful in some scenarios. The government does not want everybody to all the time check against some central computer.

    However, as I write this, I don’t think that I have ever had my SIN confirmed as my own. You cannot even get a plastic card with the numbers on it so does it matter? It does make it difficult to spit out a number on the spot, but like the code example above, you could just randomly pick from one anyway and then make it a problem when it comes to tax time.

    Because of a potential fraud angle I am sure that the government could come up with, I don’t think that they will choose this option.

    Closing

    I am so glad that this is not my issue to tackle ultimately. Perhaps the 2038 computer bug issue will solve this problem for us, which is about the time the federal government would be in the midst of taking this issue seriously.

  • Simon Fraser University's Gondola Makes Sense

    I had the opportunity as a donor for Movement to attend an event viewing what could be the future of transit for students, staff, and nearby residents of Simon Fraser University.

    One of the key problems for SFU and the surrounding Univercity neighbourhood is that it is situated atop of a 370 metre-tall mountain. The university, first established in 1965, was built on a plateau on Burnaby Mountain at the request of its first chancellor, Gordon Shrum, who desired its location due to the land being cheap and also being not terribly far away from the rest of Metro Vancouver.

    Since its inception, the university has been only accessible by road either by Burnaby Mountain Parkway from the western approach, connecting to Hastings Street towards Vancouver, or via Gaglardi Way, an expressway that connects from the south via Lougheed Highway. The latter road is named for Phil Gaglardi, former Minister of Highways best known for constantly getting speeding tickets and expanding the province’s highway network.

    This has meant that your only option to get to the top has been via car or bus. For the approach from the west, the road is not as steep going from about 120 metres, but from the south it’s a different story. Much of the Millennium Line sits at slightly above sea level (47 metres) and SFU’s designated station (Production Way-University) is no different.

    As a consequence, buses are required to go from the bus loop to the very top on ten minute intervals at peak time. At crush capacity, they’re ferrying usually a hundred or so passengers although I have read that it has reached as high as 140–the bus route number itself (145) is kind of a hint of what it could do I guess.

    One of the jokes I’ve heard about this route is that this is where buses go to die. The transmission is taking a serious hammering as it carries its own weight plus the weight of its passengers. Up and down it goes day in and day out with only a respite given for weekends, holidays, reading breaks, or service on a much gentler route.

    So what is the alternative? A SkyTrain spur up the hill is out of the question as it would have to be almost two kilometres longer than the bus because you’d need a gradient that a train will like.

    Trains do not like hills and so for them to make a journey up one, it has to be a slope that will permit adequate adherence. For it to also have little environmental impact, it would require much in the way of tunnelling and thus will become expensive quite quickly.

    TransLink’s answer is to take inspiration from the likes of one of Vancouver’s favourite winter activities: skiing.

    The transit agency has been discussing a gondola proposal for a number of years, but it would not be the first to implement it as rapid transit. In 2004, Medelin, Colombia opened its first line of its Metrocable service and most recently in 2025, Paris opened its first line, Câble 1. These systems have proven to be quite reliable and inexpensive for either built-up areas or areas with geography much like ours.

    This gondola used for demonstration purposes could very well be the sort we end up using. It has room for 32 people and the recommended route implies that were would be seven cars in either direction.

    With a three minute trip each way at 30 KM/h, each car would be doing ten round trips each hour and move well over two thousand people up the hill during that time. This would be regardless of weather conditions or time of day as the gondolas would always be at a fixed capacity all day, every day.

    Additionally, it would be approximately twice the capacity of any bus made available by TransLink and also take a quarter of the time to get either up or down.

    One of the other problems with the hill is that it’s subject to adverse weather–in particular wind and snow. It’s a no brainer that snow would have no affect on these sort of vehicles due to their use with mountains in and around Metro Vancouver. However, it was suprising for me to learn that the type of system TransLink is aiming for would be able to handle the severe winds that we get in the city during late autumn and early winter.

    A story I often cite is my having to be asked to leave SFU’s library not because of my own behaviour but because if I wanted to get home, I’d have to leave now due to the buses being forced to cease activity up and down due to snow. In the process of taking that very last bus, the articulation and the slippery conditions caused it to jackknife. This is something that couldn’t happen with a gondola.

    I guess this then brings up an important topic: safety.

    In both 2019 and 2020, a nearby gondola in Squamish had its cable cut. While in neither incident was anyone killed as the gondola was not in service, the 2020 incident almost resulted in the injury of a security guard.

    However, I have been informed that this is a single cable system and TransLink is looking at a triple one, meaning that the difficulty in inflicting this sort of vandalism would be high. Also, unlike Squamish, Burnaby is not in a rural area and it would be much easier to both secure and monitor for any sort of undesired activity in places where one may have access out of sight.

    What is next for TransLink then?

    Funding for the gondola is still up in the air–pun intended. The business case has been made and it has been suggested that perhaps this year or next, the project will finally be announced as going ahead. I for one want to see it built. Perhaps with its success, we’ll see similar systems elsewhere in Metro Vancouver.

  • Adventures with a Sailor Moon CD-ROM

    A couple of years ago, I picked up this Sailor Moon disc. I think I got it from eBay.

    Unfortunately, I had mistaken this disc for something else. However, it turns out to be a fun little multimedia application specifically for the Macintosh. Let’s explore it and see what we can find and also what we can also do with it!

    Extracting the disc

    So right off the bat, my modern Mac running macOS 26 cannot read the disc when loaded from my external optical drive connected via USB C.

    I was not able to use hdiutil to duplicate the disc into an ISO and when I tried to duplicate it using dd it would dump contents out, but it would not be seen as a proper disc.

    ╭─cariad@donnager ~/Local
    ╰─➤  file Sailormoon.iso
    Sailormoon.iso: data
    

    What is the solution? Getting the drive to be read in Basilisk II failed regardless of it being Windows or macOS, but strangely a Windows-based tool did end up working out.

    HFSExplorer could read the disc and permitted me to create a HFS disk image that I could mount in macOS.

    So now I have the files visible to me in a format I can use with Basilisk II.

    ╭─cariad@donnager ~/Local
    ╰─➤  file Nakayoshi.img
    Nakayoshi.img: Macintosh HFS data (mounted) block size: 11264, number of blocks: -374, volume name: untitled
    

    Let’s see what is within!

    File contents

    There are 11 files visible on the disc with all filenames encoded in MacJapanese. It was annoying to translate the encoding over as while Shift-JIS tools supposedly should be able to work with it, anything I threw at the names would not play nice.

    Fortunately, I was able to view the intended filenames in HFS Explorer and then figure out things that way. Here are the files and what they are.

    MacJapanese Unicode Translation Type of file
    ã‡êØïœêg.ÉÄÅ[ÉrÅ[ 金星変身.ムービー Venus Transformation Apple QuickTime movie
    âŒêØïœêg.ÉÄÅ[ÉrÅ[ 火星変身.ムービー Mars Transfomration Apple QuickTime movie
    ǧÇ≥Ǩïœêg.ÉÄÅ[ÉrÅ[ うさぎ変身.ムービー Usagi Transformation Apple QuickTime movie
    ÇøÇ—Ç§Ç≥ïœêg.ÉÄÅ[ÉrÅ[ ちびうさ変身.ムービー Chibiusa Transformation Apple QuickTime movie
    É^ÉLÉVÅ[Éhâºñ .ÉÄÅ[ÉrÅ[ タキシード仮面.ムービー Tuxedo Mask Apple QuickTime movie
    ÉIÅ[ÉvÉì.ÉÄÅ[ÉrÅ[ オープン.ムービー Opening Apple QuickTime movie
    êÖêØïœêg.ÉÄÅ[ÉrÅ[ 水星変身.ムービー Mercury Transformation Apple QuickTime movie
    ïëë‰.ÉÄÅ[ÉrÅ[ 舞台.ムービー Stage Apple QuickTime movie
    íºéq.ÉÄÅ[ÉrÅ[ 直子.ムービー Naoko Apple QuickTime movie
    ñÿêØïœêg.ÉÄÅ[ÉrÅ[ 木星変身.ムービー Jupiter Transformation Apple QuickTime movie
    SAILORMOON SAILORMOON Sailor Moon Executable

    It’s interesting how ムービー translates to “movie” to indicate that it is a Quicktime file. This is something I am familiar with as files in HFS are treated differently than say in Linux or Windows. There are resource forks and data forks for files. The actual data of the file is in the data fork, but the resource fork indicates that why kind of data it is. You can remove .mov from a file and it will still launch in QuickTime because the resource fork says it is a QuickTime file.

    That is the reason why each filename ends with .ムービー or really .ÉÄÅ[ÉrÅ[ because the resource fork is all that matters. An extension in Mac OS from this era is really a formality and is truly only required for cross-platform compatibility. Even today it barely matters as evident when taking a screenshot as while it is a PNG, it lacks the extension .png.

    I think screenshots were originally .ps (PostScript) files back when Mac OS X came out, but I digress.

    In any event, getting any of these videos to play nice with VLC or FFMPEG also proved to be quite annoying. The lone executable is actually most interesting: it’s a container for a Macromedia Shockwave file.

    ScummVM cannot execute it

    Since it was written with Macromedia Director 3, it should be supported by ScummVM right? Support for the format has been around for a few years now, so I figured that I’d give it a go.

    It does permit me to go further than this, but when I attempt to load it, it goes into a loop where it restarts. This is something which has been reported by a friend of mine when I lent the disc to her and she came across the problem.

    I’m not up for going down this rabbit hole so I have a different idea instead.

    Extracting the Director data

    Using ProjectorRays, I figured I could just decompile it all down to its constituent parts.

    C:\Users\Cariad\Documents\Nakayoshi>c:\Users\Cariad\Downloads\projectorrays-0.2.0.exe decompile -v SAILORMOON
    Codec unsupported: APPL
    

    However, it ended up failing because the file was made for Macintosh System and this tool doesn’t know what an APPL binary is–it probably expects to see PE.

    But luck would have it that another tool, director-files-extract would work with Macintosh files and so I was left with a bunch of files ending with the .dxr extension.

    ╭─cariad@donnager ~/Local/Nakayoshi/SAILORMOON
    ╰─➤  ls -la
    total 1033472
    drwxr-xr-x@ 26 cariad  staff        832 Dec 29 09:18 .
    drwxr-xr-x@ 20 cariad  staff        640 Dec 29 14:52 ..
    -rw-r--r--@  1 cariad  staff       8196 Dec 29 09:18 .DS_Store
    -rw-r--r--@  1 cariad  staff    2211836 Dec 29 09:04 .DXR
    -rw-r--r--@  1 cariad  staff   52641070 Dec 29 09:04 Shared.dxr
    -rw-r--r--@  1 cariad  staff    2616890 Dec 29 09:04 SM_.DXR
    -rw-r--r--@  1 cariad  staff    2398300 Dec 29 09:04 SM.DXR
    -rw-r--r--@  1 cariad  staff    1354790 Dec 29 09:04 SM.DXR_1
    -rw-r--r--@  1 cariad  staff    4744824 Dec 29 09:04 SM.DXR_2
    -rw-r--r--@  1 cariad  staff    2338738 Dec 29 09:04 SM.DXR_3
    -rw-r--r--@  1 cariad  staff    1836318 Dec 29 09:04 SM.DXR_4
    -rw-r--r--@  1 cariad  staff    1323160 Dec 29 09:04 SM.DXR_5
    -rw-r--r--@  1 cariad  staff  132493868 Dec 29 09:04 SMAUT.DXR
    -rw-r--r--@  1 cariad  staff    1631360 Dec 29 09:04 SMC.DXR
    -rw-r--r--@  1 cariad  staff   15188776 Dec 29 09:04 SMCHIB.DXR
    -rw-r--r--@  1 cariad  staff    1836008 Dec 29 09:04 SMJUP.DXR
    -rw-r--r--@  1 cariad  staff   49982622 Dec 29 09:04 SMJUPITE.DXR
    -rw-r--r--@  1 cariad  staff    2812764 Dec 29 09:04 SMM.DXR
    -rw-r--r--@  1 cariad  staff   17363390 Dec 29 09:04 SMMAM.DXR
    -rw-r--r--@  1 cariad  staff   32296774 Dec 29 09:04 SMMAR.DXR
    -rw-r--r--@  1 cariad  staff    2032030 Dec 29 09:04 SMMER.DXR
    -rw-r--r--@  1 cariad  staff   30326954 Dec 29 09:04 SMMERCUR.DXR
    -rw-r--r--@  1 cariad  staff   49514662 Dec 29 09:04 SMMONT.DXR
    -rw-r--r--@  1 cariad  staff   90767138 Dec 29 09:04 SMMOO.DXR
    -rw-r--r--@  1 cariad  staff    1847186 Dec 29 09:04 SMV.DXR
    -rw-r--r--@  1 cariad  staff   29520352 Dec 29 09:04 SMVENU.DXR
    

    One little catch with the files above, a number of files ended up with an * (asterisk) in each which proved to be a problem when I moved on so I removed it from all the files. HFS permits any character in a filename save for : and / (the latter more of an issue with HFS+), which means moving the files out into a Windows application later as I needed to would never work.

    DXR files by themselves cannot be opened with Macromedia Director, but they can be decompiled. The aforementioned ProjectorRays tool has a decompile function which will permit me to open everything.

    Great. After decompiling and bring them over to Basilisk II, the files are visible to the software.

    Man. I forgot about how miserable old Mac OS was–memory management then was a huge chore and is a consequence of the weak (and “weak” is really not saying much) multitasking that existed in this operating system. In any event, these are now readable Director files. However, I could not figure out how to get the data into readable files so another tool to the rescue.

    The same developer who created the tool to rip the DXR files out also created a tool to extract the content from within called Director Cast Ripper. I now have all of the audio and images extracted from it! I even have the scripts copied over although I don’t intend to do anything with them.

    Success with images

    After getting the tools to all play nice, I finally had a directory full of images which were both in .PNG and .BMP formats. I only care about PNG files really, so let’s count them.

    ╭─cariad@donnager ~/Local/Nakayoshi/Extract/Exports
    ╰─➤  find . -type f -name "*.png" | wc -l
         766
    

    At 766 results, it might seem like many, but I wonder if there were a lot of duplicates so I decided to just do a simple MD5 over all of them to get an actual unique count.

    ╭─cariad@donnager ~/Local/Nakayoshi/Extract/Exports
    ╰─➤  find . -type f -name "*.png" -exec md5sum {} \; | awk '{print $1}' | uniq | wc -l
         766
    

    Apparently not! That is a pretty decent haul of images for a 1994 collection of images from a manga that had only been out for a few years. Some of them are buttons for the interactive portion of the disc, but other than the majority is the really good stuff!

    And they’re fairly decent resolution for the time with some of the images being 1024x768 or thereabouts depending on orientation and scale. Here are a few examples:

    Frustration over video

    So earlier I mentioned that there are ten videos that are supposedly QuickTime movie files. They’re all playable from Mac OS 8 when running in Basilisk II.

    macOS sees them in that format and the file command in the terminal spits out Apple QuickTime movie (unoptimized) so you’d think that I could play them. Well, apparently not.

    Also one of files is also reported as DIY-Thermocam raw data so maybe I should not put too much weight into the output of the file command in the end.

    In any event, QuickTime, VLC, and IINA all refuse to play the videos despite them working just fine when playing it in the actual application under Basilisk II. Older QuickTime files tend to struggle under newer Macs and apparently I am not alone with this problem as evident by a post from the Apple discussions site.

    In this person’s case, it was a capture from a VHS tape on some mid-1990s Macintosh clone. It looks pretty dire getting it to work on anything made earlier I wager.

    Maybe FFmpeg can shed some light on these files?

    ╭─cariad@donnager ~/Local/Nakayoshi
    ╰─➤  ffmpeg -i VenusTransformation.mov
    ffmpeg version 8.0.1 Copyright (c) 2000-2025 the FFmpeg developers
      built with Apple clang version 17.0.0 (clang-1700.4.4.1)
      configuration: --prefix=/opt/homebrew/Cellar/ffmpeg/8.0.1 --enable-shared --enable-pthreads --enable-version3 --cc=clang --host-cflags= --host-ldflags= --enable-ffplay --enable-gnutls --enable-gpl --enable-libaom --enable-libaribb24 --enable-libbluray --enable-libdav1d --enable-libharfbuzz --enable-libjxl --enable-libmp3lame --enable-libopus --enable-librav1e --enable-librist --enable-librubberband --enable-libsnappy --enable-libsrt --enable-libssh --enable-libsvtav1 --enable-libtesseract --enable-libtheora --enable-libvidstab --enable-libvmaf --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libxvid --enable-lzma --enable-libfontconfig --enable-libfreetype --enable-frei0r --enable-libass --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libspeex --enable-libsoxr --enable-libzmq --enable-libzimg --disable-libjack --disable-indev=jack --enable-videotoolbox --enable-audiotoolbox --enable-neon
      libavutil      60.  8.100 / 60.  8.100
      libavcodec     62. 11.100 / 62. 11.100
      libavformat    62.  3.100 / 62.  3.100
      libavdevice    62.  1.100 / 62.  1.100
      libavfilter    11.  4.100 / 11.  4.100
      libswscale      9.  1.100 /  9.  1.100
      libswresample   6.  1.100 /  6.  1.100
    [mov,mp4,m4a,3gp,3g2,mj2 @ 0xb11024000] moov atom not found
    [in#0 @ 0xb11020000] Error opening input: Invalid data found when processing input
    Error opening input file VenusTransformation.mov.
    Error opening input files: Invalid data found when processing input
    

    The error moov atom not found led me to this Reddit post from five years ago, which then led me to try a tool called “untrunc” in order to untruncated the file.

    However, this came up in the documentation:

    You need both the broken video and an example working video (ideally from the same camera, if not the chances to fix it are slim).

    None of the videos on the disc work when I want to play them locally.

    But then an idea. Can I fix them in Basilisk II?

    When you save the file, there’s a checkbox to make it playable on non-Apple computers. Mind you, I am using an Apple computer to do all of this work (an M1 Max Mac Studio from 2022), but the operating system then is a completely alien creature to the operating system now so let’s just ignore that.

    Success! That is the trick as I can now open them in VLC. Just use the old computer to export it into a format that everyone can view. So let’s rename all of the files and then export them all out. I decided to keep an English naming scheme for all of these files since it will be manageable on my end.

    Now let’s read them with FFmpeg and see what we get.

    ╭─cariad@donnager ~/Local/NewSailormoon
    ╰─➤  ffmpeg -i Opening.mov
    ffmpeg version 8.0.1 Copyright (c) 2000-2025 the FFmpeg developers
      built with Apple clang version 17.0.0 (clang-1700.4.4.1)
      configuration: --prefix=/opt/homebrew/Cellar/ffmpeg/8.0.1 --enable-shared --enable-pthreads --enable-version3 --cc=clang --host-cflags= --host-ldflags= --enable-ffplay --enable-gnutls --enable-gpl --enable-libaom --enable-libaribb24 --enable-libbluray --enable-libdav1d --enable-libharfbuzz --enable-libjxl --enable-libmp3lame --enable-libopus --enable-librav1e --enable-librist --enable-librubberband --enable-libsnappy --enable-libsrt --enable-libssh --enable-libsvtav1 --enable-libtesseract --enable-libtheora --enable-libvidstab --enable-libvmaf --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libxvid --enable-lzma --enable-libfontconfig --enable-libfreetype --enable-frei0r --enable-libass --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libspeex --enable-libsoxr --enable-libzmq --enable-libzimg --disable-libjack --disable-indev=jack --enable-videotoolbox --enable-audiotoolbox --enable-neon
      libavutil      60.  8.100 / 60.  8.100
      libavcodec     62. 11.100 / 62. 11.100
      libavformat    62.  3.100 / 62.  3.100
      libavdevice    62.  1.100 / 62.  1.100
      libavfilter    11.  4.100 / 11.  4.100
      libswscale      9.  1.100 /  9.  1.100
      libswresample   6.  1.100 /  6.  1.100
    Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'Opening.mov':
      Metadata:
        creation_time   : 2025-12-29T15:14:02.000000Z
      Duration: 00:00:02.67, start: 0.000000, bitrate: 1445 kb/s
      Stream #0:0[0x1](eng): Video: cinepak (cvid / 0x64697663), rgb24, 640x480, 1442 kb/s, 10.50 fps, 30 tbr, 30 tbn (default)
        Metadata:
          creation_time   : 2025-12-29T15:14:02.000000Z
          handler_name    : Apple Video Media Handler
          vendor_id       : appl
          encoder         : Cinepak
    

    Fantastic. We have good ol’ Cinepak here. They’re surprisingly at 480p although at 10-11 frames per second so this is going to be a bit dire. However, let’s convert them all to H.264 for reasons that’ll make sense later.

    ╭─cariad@donnager ~/Local/NewSailormoon
    ╰─➤  ls -la
    total 106696
    drwxr-xr-x@ 24 cariad  staff       768 Dec 29 15:22 .
    drwxr-xr-x@ 23 cariad  staff       736 Dec 29 15:08 ..
    -rw-r--r--@  1 cariad  staff    254586 Dec 29 15:19 ChibiusaTransformation.mov
    -rw-r--r--@  1 cariad  staff    135294 Dec 29 15:22 ChibiusaTransformation.mov.mp4
    -rw-r--r--@  1 cariad  staff    875652 Dec 29 15:18 JupiterTransformation.mov
    -rw-r--r--@  1 cariad  staff    251332 Dec 29 15:22 JupiterTransformation.mov.mp4
    -rw-r--r--@  1 cariad  staff    891752 Dec 29 15:18 MarsTransformation.mov
    -rw-r--r--@  1 cariad  staff    292343 Dec 29 15:22 MarsTransformation.mov.mp4
    -rw-r--r--@  1 cariad  staff    827380 Dec 29 15:19 MercuryTransformation.mov
    -rw-r--r--@  1 cariad  staff    229363 Dec 29 15:22 MercuryTransformation.mov.mp4
    -rw-r--r--@  1 cariad  staff  15665124 Dec 29 15:18 Naoko.mov
    -rw-r--r--@  1 cariad  staff   4075826 Dec 29 15:22 Naoko.mov.mp4
    -rw-r--r--@  1 cariad  staff    481781 Dec 29 15:19 Opening.mov
    -rw-r--r--@  1 cariad  staff    178255 Dec 29 15:22 Opening.mov.mp4
    -rw-r--r--@  1 cariad  staff    709998 Dec 29 15:04 SailormoonTransformation.mov
    -rw-r--r--@  1 cariad  staff    258981 Dec 29 15:22 SailormoonTransformation.mov.mp4
    -rw-r--r--@  1 cariad  staff  17630400 Dec 29 15:18 Stage.mov
    -rw-r--r--@  1 cariad  staff   7715465 Dec 29 15:22 Stage.mov.mp4
    -rw-r--r--@  1 cariad  staff    923519 Dec 29 15:19 TuxedoMask.mov
    -rw-r--r--@  1 cariad  staff    382557 Dec 29 15:22 TuxedoMask.mov.mp4
    -rw-r--r--@  1 cariad  staff    709998 Dec 29 15:19 UsagiTransformation.mov
    -rw-r--r--@  1 cariad  staff    258981 Dec 29 15:22 UsagiTransformation.mov.mp4
    -rw-r--r--@  1 cariad  staff    683562 Dec 29 15:19 VenusTransformation.mov
    -rw-r--r--@  1 cariad  staff    266030 Dec 29 15:22 VenusTransformation.mov.mp4
    

    Man. Video codecs have come a long way since the 1990s. We’re seeing at least a quarter the size by just converting them to H.264. That said, the emulated Quadra 950 from that time period would be unable to render the frames from the newer video files at any respectable rate.

    Annoyingly there is a problem with the Naoko.mov file (formerly íºéq.ÉÄÅ[ÉrÅ[) in particular where the audio and video violently corrupts. This issue appears on the original source file and I am uncertain whether it is from attempting to play it or perhaps it is formatted friendlier for Macromedia Director?

    Nope. Same awful problem persists when playing in here too. Does it persist in the actual application?

    It does. There is a possibility that there is an issue with the original application or it is my copy. This is not my problem to solve it seems!

    What next?

    Well, I have plans for all of this so stay tuned! Hopefully this doesn’t drop off of my desk!

  • My 2025 year-end post

    It’s that time where everybody has their two cents to offer on what their year has been about and this post is pretty much the same. Some years I’ve been really good about this and others not so much, but we’re here now and I’ve been writing this on and off for the past month so let’s go for it.

    Health

    2025 brought on the rude realisation that I am getting older and as a consequence injuries have become quite apparent to me. Back in mid-December of last year, I fell and twisted my ankle while de-boarding a train in London. Basically the heels I was wearing while en route to my office there gave way when I miscalculated the drop between the train and the platform.

    Mind the gap I know, but it was 7:30 AM and I was half-awake at best. I had gotten off at this station numerous times in the past so it was just pure inattentiveness.

    When I twisted my ankle, I felt something odd in my knee as well but paid no mind since the pain was acute in my ankle. However, as time went on, I noticed my knee giving out as I would walk around and then eventually it became aware that it was a problem when I attempted to play a single game of softball and had a slip up during a play, and thus a hospital visit and then an MRI a week later led to an outcome that required intervention.

    The incident in London and the fall during the softball game had accelerated an injury I was bound to have happen. It of course had to happen to my right knee down from my right hip that I injured in roller derby six years ago.

    I fortunately was able to avoid surgery and had temporary relief through a procedure that required ultrasound to guide an injection. I was able to get back into some level of physical exercise once more with significantly less pain.

    A few months after, trying to return to running and also through playing curling for the first time, I noticed that the pain has returned albeit a lot less worse than the past.

    I’m giving myself some time to adjust, but I am considering speaking to the surgeon again to see what my options are since I still from time to time have knee pain that is uncomfortable.

    The whole ordeal reframed some views I had about my life. For now, I am hesitating to write more about this part, but I am happy with the decisions I made even if they were difficult.

    Travel

    I did not fly on an airplane in 2025. Figure that one out.

    There are travel plans for 2026, but this year due to the above health challenges and other factors, I opted to not travel much further than Vancouver Island or the Sunshine Coast.

    Please enjoy these two photos from my travels:

    This is a view from the inside of the provincial parliament building in Victoria, British Columbia. I had an opportunity to be at the legislature during a sitting so I watched some members of the BC Conservative party actually act inappropriately. Shocking I know, but par for the course with these folks.

    My partner and I took a trip to Sechelt as a getaway for my birthday. We were graced with this lovely sunset just as we were about to go out for a nice dinner.

    In any event, in 2026, I am likely to return to Ireland to see some family and then maybe a visit elsewhere. I have been toying with going to Australia at some point, but I feel like that may be a 2027 idea instead.

    Photography

    This year, I returned to photography, but I have sort of shunned anything digital.

    Back in 2024, I purchased a Fed 3, which is a rangefinder made in Ukraine when it was still part of the Soviet Union. I wrote about the use of my cameras earlier this year and I look forward to getting better with film in the new year.

    Above you can see the following cameras in order from left to right:

    • Sony DSC-HX99
    • Fed 3
    • Nikon D50
    • Nikon F60

    The D50 is quite old, but I keep it around because it attaches to my 15 cm telescope. I don’t need much in the way for that since the telescope itself does not have a tracking mount so the exposures are never going to be long.

    The Sony camera is a leftover from when I streamed and I wanted a camera I could use to get a better shot of my face back when streamer-specific cameras were hard to come by.

    I’ve written about my use of the Fed and the F60 in a previous entry, but of the two, the F60 has been the most fun since it’s ready to go and it also doesn’t have a damaged lens.

    I’m going to make a commitment to document all the film I ever used. I am presently on the hunt for a specific variety of expired film stock of which I will eventually post about once I have what I need.

    Media consumption

    Let’s talk about some media I enjoyed this past year.

    Films

    I watch about one to two films per week and if you’re ever curious, I do my best to track them on Letterboxd, which has indicated to me I had ticked over the thousandth film mark at some point in the past year or so.

    For films I watched at the cinema, it’s a tie between Mickey 17 and the Phoenician Scheme in terms of favourites.

    Robert Pattinson playing a weird little guy (or series of guys I guess) alongside a very psychotic character portrayed by Mark Ruffalo in a science fiction setting did draw me in. However, I am a sucker for almost anything by Wes Anderson and so I am not going to choose here–Asteroid City was a much more enjoyable film for anything recent that said.

    However, for films that were no longer on the big screen, I did finally watch Conclave. As someone who was raised Catholic I did notice a huge infraction which might be noticeable if you’re familiar with the sacrament of confession. That said, I enjoyed the movie and have recommended that others give it a watch.

    I always have a favourite dumb movie of the year and that goes to War of the Worlds, starring Ice Cube. It was ridiculous, but it was ridiculous and dumb in a way that while I will never be interested in watching again, I can recommend it if you ever need a ride that almost goes nowhere and I mean that literally.

    Oh yeah. I also finally watched United Passions. What a godawful movie. It’s a good thing that FIFA and the World Cup is not rife with corruption any more am I right?

    Television

    I started to watch What We Do in the Shadows and I can say that enjoyed it.

    Television has been something I’ve watched a lot less of lately, but that and getting through more of Foundation and also The Expanse have both been a pleasure.

    Dropout has continued to be a favourite subscription service and I imagine that it will remain the case into 2026. Game Changer was extremely intense this past season and I can only imagine that Sam Reich will drop the gloves in 2026. I have mixed feelings on Crowd Control and feel that it is at best a two season series.

    Books

    Sticking with The Expanse, I read through the first three books this year and it has been a very pleasurable experience.

    As for other books, I finally read Artemis and have gotten through most of Project Hail Mary, both of which are by Andy Weir.

    I’m going to buck the trend here based on some comments I’ve read elsewhere in that I really enjoyed Artemis and think that it could have been made into a series, but Project Hail Mary really just isn’t clicking with me and I feel like it is not at all a better story.

    I ended up putting the book down for now, but I am fearing that my annoyance with the style of writing in it might stall me from completing it much the same had happened with God Emperor of Dune by Frank Herbert. It at least didn’t irritate me as Hyperion by Dan Simmons–I’ve been told that the rest of the series is worth a read but one scene in this book turned me off and I’ve been hesitating to come back to it.

    Runner up for books I enjoyed goes to Three Body Problem by Cixin Lin. The book really throws a curveball at you until you get to the very end. However, the gender politics really grinds my gears, but looking past that I find that the premise is really good and I might give it a go at the follow up book sometime next year.

    I also have read three of the four books from the Wayfarer series by Becky Chambers. Sometime in the new year I’ll read the final book of the series and perhaps write an entry here about my thoughts about her world building. It’s a good series and I suggest giving it a go.

    I’m finally going to start reading some Pratchet books in 2026 as well.

    Video games

    Believe it or not, I don’t think I played anything new released this year.

    I have a huge backlog of games and it is ever-increasing. In fact, I opted to pair down my physical collection of games earlier in the year and I feel like that was the right decision.

    Stardew Valley was a fun little highlight of the year and a game I keep coming back to for cozy playthroughs.

    My hope for 2026 is that Capcom announces a new Ace Attorney game of some sort. If the above is indication enough for my love of the series, I can tell you that I was annoyed to hear that a new Mega Man game was announced and yet a much better series is languishing.

    If I were to cast a magic wand, I’d want a follow up to The Great Ace Attorney Chronicles.

    I’ve started to play through Final Fantasy XIII this past month. My hope is to finish it before the new year and then move on to XIII-2 and then Lightning Returns. Slowly but surely I am completing every mainline Final Fantasy game.

    Music

    I attended no concerts this year!

    As for new music releases, Chappell Roan’s The Giver was a bop and seeing everybody use it for things such as hockey reels or government messaging really throws me for a loop considering its lyrics are explicitly queer.

    Either some people have a sense of humour or it is straight people being oblivious.

    Advocacy

    I become both a volunteer and a donor to a local transit advocacy group, MovementYVR.

    For us to tackle matters such as climate change and also to help ease and maybe assist the housing crisis, I really feel that we need to devote resources towards expanding public transit in our cities. It annoys me to no end that intercity bus service in this province is fragmented at best and non-existent at worst and this idea that we must get everyone to use a car instead is both short-sighted and insane.

    During the campaign to bring bus rapid transit to North Burnaby, the misinformation from the Burnaby Heights Association and its members and supporters really grinded my gears. It is hard to read it as being either ignorance or intention (or both I guess), but they were the most disappointing group of people to contend with since joining.

    It really taught me a lot about how ingrained some folks are with the silos they place themselves within.

    Transit improves mobility for everyone including those who prefer to drive automobiles. I’d rather go somewhere by transit than take my car. I own an electric vehicle and I still don’t see it as the future nor a mode I want to choose as my second or third option.

    My dream for 2026 is to see the an announcement for the Millennium Line extension to the University of British Columbia and some sort of intercity transit service–be it rail or bus.

    As a result of my involvement with this group, some other projects are forthcoming and I am excited that sometime in January I’ll be announcing a project I am working on with folks I met through this organisation.

    My book

    Okay. I am just going to say this here: I am writing a science fiction novel. This has been an ongoing project since 2022 and after many rewrites I have gotten down the premise I am happy with.

    The challenge I’ve found with writing a book is unlike short stories I have written in my past, I need to ensure continuity and thus as you go further along it’s easy to accidentally contradict what has happened previously or straight up develop a plot hole.

    I won’t elaborate much about the story just yet, but I’m looking forward to sharing teasers from it once I am comfortable enough.

    Finding space to write the book has been my largest challenge. I find that writing at home is distracting so often I go to the pub or a cafe to work on it. However, while there, I feel time-limited and I often end up downing too much to drink in the process.

    I switched from an Alphasmart to a Remarkable 2 this year though. A friend offered his to me and after purchasing a keyboard attachment for it, it has really proven to be an invaluable device for distraction-free writing.

    The book is being written without the aide of any large language models. Even if it is a terrible story, it at least came from my own terrible brain.

    Sports

    I watched a lot of soccer this year. I am considering to get season tickets for Vancouver Rise FC since I am glad to see a professional women’s club in this city.

    I also watched live cricket for the first time this year. The sport makes perfect sense to me now and I kind of wish we were more serious about it in this country but alas.

    Next year, the World Cup will have seven games here in Vancouver. I am on the fence about going as while I would love to see some matches, the cost is prohibitive and supporting FIFA is always a moral conundrum.

    I started to play curling just in the past month and intend to continue playing in the new year. My injury is making me hesitate to play softball when the season begins, but I think I have a strategy will permit me to return albeit with a reduced capacity.

    I’m fucking stubborn and so I won’t let this stop me.

    Podcasting

    Yes. Shawinigan Moments is coming back.

    Tam and I have been busy with our lives. In my case, the injury took a lot of wind out of my sails and that is why the railway series was never completed.

    And that series won’t be. The research part of the podcast is quite difficult when you have a day-job and also desire to maintain a social life. I want this show to remain fun for the two of us so we have to approach it all differently.

    We’re coming back, but with content we’ve already been doing in the past but was limited to behind the Patreon paywall. We’re also still looking for someone to be our third, which I think would make our show work so much better, but that is a task suited for sometime later in 2026.

    Staying on podcasting, I am going to be a producer and editor for another podcast due to be announced next month. This was a meeting of two minds and it’s shaping up be something potentially strong due to the two hosts involved. I will write more about it once there is more to be said so stay tuned.

    Closing off with predictions

    I want to see how badly I predict 2026 so here we go outlandish or not:

    • Prime Minister Mark Carney will get a majority government through someone crossing the floor either from the NDP or the Tories–he only needs one more seat (realistic)
    • Pierre Poillievre finally resigns as leader of the Tories (probable)
    • One of the large language model companies will die off but more capital will be burnt in order to keep the whole shitshow afloat (probable)
    • The Steam Machine is given an MSRP of C$1,600 but would have been cheaper if memory prices didn’t suddenly cost a fortune (probable)
    • Some sort of modern ternary computer will be demonstrated but unfortunately it will be for LLM nonsense purposes in mind (unlikely)
    • Metal Gear Solid 4 will get a modern port to the PlayStation 5 and PC platforms (possible)
    • Dune: Part Three will incorporate a lot more from Children of Dune than Messiah (likely)
    • Corus Entertainment will stop being a zombie corporation with being purchased by TELUS (realm of possibility)
    • Square-Enix announces a remake of Chrono Trigger using the same engine used by Octopath Traveller or Live A Live (realistic)
    • Former Prime Minister Justin Trudeau and American pop star, Katy Perry who have been dating since the springtime will announce that they’re getting married (possible)

    When I do my 2026 post, I’ll see how poorly I predicted the year.

  • Photos taken with Harman's Red 125


    All of these photos were taken using Harman’s Red 125 35 mm film. I bought this on a whim with the feeling that I would really like the output of this film; I was completely right.

    Using my Nikon F60 with a Nikkor 28-80 mm, I took photos during my trip to the Sunshine Coast of British Columbia during the middle of October 2025. I also took some shots on some Kodak 400TX, but it was at the tail end (literally at the end of the trip while we waited for the ferry back to Vancouver), so I’ll leave it for another post possibly before year end.

    What I really liked about this photo is that while it implied that it was a redscale film, it showed a spectrum of colours which permitted white, black, green, and of course red. The above photo showing a house on an estate was taken from the porch of the cottage we were staying at.

    The above is one of my two favourite shots taken with this roll.

    I took a photo of the mast of the ferry we took between Horseshoe Bay and Langdale. What really is cool here is that it shows a blue tone that I haven’t been able to figure out why since Harman doesn’t suggest it has this colour in its spectrum.

    This is the most pure example of the redscale film in action–the reds are quite apparent here. This was as the ferry left Horseshoe Bay.

    One of the pedestrian bays on the top-right really shows an intense black, but this is just a consequence of scaling down and then encoding in JPEG. In any event, you once again can see the greens leaking through.

    Finally my second favourite photo.

    It was really pouring and we made it to Earl’s Cove just so we can see what the other ferry dock looked like. This boat in the distance would take you to the other side to permit you to visit places such as Powell River and then another ferry across the Strait of Georgia to then Vancouver Island.

    At the time of the shoot, the sky had an intense grey colour, which was not at all atypical for our part of the world, but the way the film developed the shot left me reminded of how the sky looks during our summers when forest fire smoke makes its way into the south coast.

    Such as this example below from when the smoke made its way into Metro Vancouver:

    This was taken using an LG V20 smartphone I had back in August 2018. Obvious this produced a very different outcome, but you should be able to understand my willingness to compare.

    I look forward to taking more photos. I’m thinking I’ll take shots during a spring or summertime event when I can have a variety of colours available. Right now, most trees have rid themselves of leaves so I’ll wait.