Skip to main content Skip to local navigation

Blog posts

Workplace Incident Report: Still Hidden Behind a Password

As I've blogged about before, the Workplace Incident Report documentation and forms remain hidden behind a password wall here at York University. It's unnecessary, making it harder for workers to know how to report workplace injuries or near misses. Why am I blogging about this again? Because our Health Safety and Employee Well Being (HSEWB) […]

Snow Days: we should factor them into the official schedule and workflow

It's time for York University to build in margin to its official schedule for "snow day" events. As I've discussed before, we should design and manage our university's infrastructure and processes to reflect the reality that we have to operate in the winter. Today, January 15, 2026, a snow storm has hit southern Ontario, including […]

AI in our Learning Management System

I opened up eClass today and saw this big disclaimer for the new AI system that management has added to the platform. I don't even know where to start with this. I suspected something like this was coming but I don't recall any real collegial conversation with management about its plans for implementing this. I'd […]

The JHSC Main Page is Down.

Today, December 18, 2025, I tried to log into the main Joint Health and Safety Committee website at York University, https://jhsc.info.yorku.ca/ppy_secure/welcome/, (via jhsc.info.yorku.ca) to verify some documentation as I write up a health and safety recommendation and was greeted with this error: This is the main page that we're supposed to use to access JHSC […]

Exploring RISC-V Options: the RP2350 (Part 8 -- Returning a Single Array Value)

Here, we'll return the value from an array defined in the assembler file to the calling C function. When writing programs like this it's handy to refer to a "cheat sheet" like this one. If everything works as it should your serial monitor should have the following output: There are two files here: returnArrayValue.S and […]

Exploring RISC-V Options: the RP2350 (Part 7 -- C+ASM returning values)

Here I want to post an example of an assembler function that simple sends a value back to the C function that called it. The concept and approach are pretty general, but it is specifically aimed, via the assembler code for running on the RP2350 RISC-V system. Small changes would be needed for a PIC18, […]

Exploring RISC-V Options: the RP2350 (Part 6 -- Assembler Errors)

Writing assembler code is hard, for a few reasons. First, the lack of abstraction forces you to think about each and every step of your program. Second, the lack of abstraction requires you to know a great deal about the hardware. Then, the grammar is just weird. You might write it from left to right […]

Exploring RISC-V Options: the RP2350 (Part 5 -- Disk Not Ejected Properly)

This is going to be a short post. Over the past couple of days I've been exploring the RP2350 and the Arduino IDE as a possible tool for teaching computer architecture. In the morning I've been turning on my macOS machine and have been faced with this: What's causing the issue? I'm not sure. But […]

Exploring RISC-V Options: the RP2350 (Part 4 -- Serial Monitor Tooling)

It's easy to get caught in weird assembler errors. This is made more difficult if you don't have a background debugger and need to use a boot loader / serial monitor to debug your system. Sometimes that's all you have. So here is a suggestion for a C++ and Assembler file pair to check to […]

Exploring RISC-V Options: the RP2350 (Part 3 -- No Drive to Deploy)

It was bound to happen. The Seeed Studio RP2350 is not connecting to the Arduino IDE. I'll go out on a limb here and chalk this up to the boot loader having an issue after I tried to get it to spit out serial data or maybe it was because I was trying to get […]