Blogs
Random long thoughts I had over the years...
Topics range from programming, math, to my views of school
Rust - Invoking Closures in a Struct
June 28, 2022
Closures are very neat and are similar to Javascript’s arrow functions or anonymous
functions in other languages. The neat thing about closures is the
ability to capture the environment or take
a snapshot of the state of the environment within its scope (i.e. the environment outside the closure but
within the scope it is defined in).
CarletonU QNX License Request Policy
June 17, 2022
tldr: licenses will only be distributed for the use in the classroom or faculty-led research
Rust - Exploring the Assembly Code between Mutable and Shadow Variables
May 10, 2022
Recently I have started to learn Rust through a program called Summer of Rust led by a Computer Science student
at Carleton University. While I had plans to explore C++ and assembly for the summer, I thought it would be a good time
to learn Rust instead with a group of students since learning anything by yourself requires a lot of effort.
GDB - Mix Source Code with Assembly
May 9, 2022
Have you ever wonder how to view the assembly code generated for the particular line of code written in C before?
Perhaps you have used Compiler Explorer by Matt Godbolt to play around with the source code
to examine the behavior that is occuring behind the scene.
MATH2052 - Calculus and Introductory Analysis II
April 30, 2022
This is a course review of MATH2052 - Calculus and Introductory Analysis II taken at CarletonU in
the winter of 2022. The lectures were asynchronous prerecorded lectures with online synchronous
tutorials that were recorded. There was one in-person tutorial open to students who were both
comfortable and available to travel to the University.
QNX - An Introduction to Adaptive Partitioning Scheduler and How to Bankrupt Partitions
April 17, 2022
In preparation for my presentation on QNX APS (Adaptive Partitioning Scheduler), I decided to write a blog that goes through what partitions are, how to control resources in QNX, and what APS are. Though a lot of the information is just based on the QNX documentation all put into one page but with examples and referencing other publically available resources (i.e. foundary27, papers, blogs, and what I found from playing around with APS). This page will not go through how to use APS through the Momentics IDE nor will it cover the various C API’s to configure the partition. There’s...
QNX - The Search for the Release Notes
April 1, 2022
Looking at QNX for the past 3 months has been enjoyable for the most part. But
the thing that annoys me the most is the difficulty of finding the release notes
for each QNX SDP. While I do have some internal access to a document that
links to all the QNX release notes at work, I found it annoying how it cannot
be easily obtained through a google search. (imagine if web search and web indexing
services did not exist, the internet would be unnavigatable).
recvfrom - Obtaining the Return Address
March 26, 2022
Have you ever wondered how to obtain the IP address from a client when working on
a socket application? That is what recvfrom() API comes in handy.
Dev Blog - Bufferoverflow
February 12, 2022
Being bored and not wanting to study, I randomly checked up my Github repo and realized the static analyzer flagged a critical vulnerability in my code. For those of you not familiar with static analyzer, it is a security tool that reviews/analyzes code to determine if there are any obvious security vulnerabilities in your code. On Github, there is a pipeline workflow feature that allows you to execute specific scripts/actions for any code changes you push called Github Actions. Github has made it convenient to setup security analysis on your repo. The static analyzer I am using is called CodeQL,...