You shall not slay the client

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

Dev Blog - Symink Attack - Do not trust config files

Now that classes are over for the semester, I decided to resume work on a project I’ve been putting off for a while. ProxyAuth is a passwordless authentication module that allows lazy people like me to access their machine without inputting their passwords. It authenticates the user if their hardware authenticator (i.e. a smartphone) is close to the machine via Bluetooth connection. Currently, the implementation is not convenient and there are a lot of areas that need to be worked on such as the security of the product.

Read More

A Reflection of My Internship as a Software Build Intern

This is a copy of my reflection report I submitted for Professional Experience Year (PEY), a 16 month internship at a company. The contents of this post does not enclosed any confidential information (verified by a manager) and all names will be redacted since this is the internet. Please note that some of the information are outdated and my experience may not reflect what others experience. I did my internship in 2018-2019 before the pandemic when work was not remote.

Read More