RANDOM BITS

A random site by a random clueless human

Random bits of programming, math, and thoughts By a clueless human

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.

Read More...


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.

Read More...


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...

Read More...


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).

Read More...


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.

Read More...



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,...

Read More...


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).

Read More...


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.

Read More...


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

Read More...