Skip to main content Skip to local navigation
Home » Page 2

Blog posts

Some useful things to do with Arduino, Firmata and Java

When contemplating how to use Firmata with Java, consider some of the following things: Your Main Project will look something like this (this is an older video that doesn't quite reflect changes to the updated project): Install Firmata on your device To do any of this you'll need to install Firmata: Using the OLED display […]

Firmata4j: "Index out of bounds"

If you're trying to use Firmata4j and get an Exception in thread "main" java.lang.IndexOutOfBoundsException: Index 4 out of bounds for length 0 message, it may be because you downloaded StandardFirmata via the Arduino 2.0 IDE. At this stage, I'm not sure of the cause. I've determined that a solution for this is to use the […]

Exploring RISC-V: Espressif IDE & ESP32-C3

Here is a short post on a successful attempt to write a C program in the Espressif IDE on the EECS Linux computers (LAS 1006). I have an ESP32-C3 development board plugged in and have the IDE loaded with the boilerplate code inserted when I choose a simple example from the menu. I then modified […]

Computer Security: One Time Codes

When I lived in Germany in 2006-8 I had a bank account with Deutsche Bank. To log in securely to my account they printed out a piece of paper with a table in it. The table contained "one time codes". No devices needed. No apps. Just a piece of paper that I could put in […]

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, […]