Blogs
Random long thoughts I had over the years...
Topics range from programming, math, to my views of school
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,...
How to Check if an Application is PAM-Aware
February 6, 2022
PAM stands for Pluggable Authentication Module and its purpose from my understanding
is to separate application developers from writing an authentication scheme into their
program. Think of it as an authentication “API” for “privilege granting” applications but
is flexible how each application authenticates the user. System administrators
are given the control and decision to how each application authenticates a user by modifying
PAM configs (policies) that could be found in locations such as /etc/pam.d (location may vary depending
on the OS).
You shall not slay the client
January 31, 2022
Recently, I got the opportunity to attend a two-week-long training in Real-Time Programming For QNX Neutrino RTOS
where I am learning the ins and outs of QNX, a real-time microkernel operating system that is a UNIX-like OS.
On one of the demos, the trainer showed us a behavior that I thought was impossible. This shook the foundation of my
understanding of IPC (Inter-Process Communication) and on signals. However, this is a feature in QNX that does not
exist on Linux from my understanding.
PHYS1001 - A Review on Foundations of Physics 1
January 1, 2022
TLDR:
Intimidating at first especially to freshman students new to the University
Prepared for a lot of Derivations
Be comfortable with Math
Labs take a lot of effort and time
Do not take Monday 8am labs