19 Nov 2023
N7D - Linux Device Driver
Beginning my journey into embedded systems, I wanted to know how to make device drivers for Linux. I started with the Linux Device Drivers 3rd edition (available on LWN.net). Although the book is a little outdated, I highly recommend reading it as it has useful information about the concepts of the kernel, and various kernel level APIs & subsystems that are still used today.
20 Oct 2023
Testing Kernel Modules with Yocto
This semester, I’ve been working on implementing a Linux device driver for a 7-segment display. Using an Arduino to control such a display wouldn’t be too difficult. However, I wanted to implement a device driver for an actual operating system so that I would have some knowledge of how a kernel module works inside the kernel. I think it’s a good learning experience.
31 Aug 2023
This was my last summer as a university student, and since I don’t have plans for graduate school at the moment, it may be my last summer as a student. Overall, it was quite a busy summer due to two internships.
07 May 2023
Delta Over-The-Air Device Firmware Update
Like receiving updates for your mobile application or upgrading your favorite text editor to the latest version, embedded devices may also need to update their firmware from time to time. The reason could be to receive a new feature, patch a vulnerability within the current firmware, and more. However, unlike the more powerful devices such as your ordinary desktops with multiple CPU cores and gigabytes of memory, microcontrollers commonly used in embedded systems are quite limited, oftentimes single-core with few kilobytes of memory. So, in order to receive updates in a timely manner, it needs to be efficient with the constrained resources while performing as expected.
21 Dec 2022
This semester, I’ve taken the Computer Networks course, and I think it is one of the most valuable lectures to me. So, I intend to write this post to leave some notes for future me and others that might be interested. My goal is to keep it as compact as possible while covering (what I think are) some of the most important components of the network. As the course covered the entire network stack in one semester, I doubt I will be correct on everything, so please let me know.
17 Dec 2022
One of my favorite classic game is Sudoku. Sudoku is a 9-by-9 square grid game where the player has to fill in each cell from 1 to 9 in a way that there isn’t a duplicate in the row, column, and the 3-by-3 box. For the past following weeks, I’ve been addicted to Sudoku. The rules are very simple, but it is often times quite challenging and it’s a great way to feel like a genius with minimum effort.
04 Nov 2022
2022.10 - Storm
In my last update, I said that I was caught in a storm, not knowing what to do. In October, I was really trying to find my way out of the storm and currently, I don’t know if I actually made it out of the storm or I’m just in the eye.
05 Oct 2022
Using The AWS Cost Explorer
From time to time, I see posts on reddit where a user accidentally gets charged with stupendous amounts of bill due to some mistake they made in the past. I’ve seen a post where a university student allocated an EC2 instance (can’t remember which type of instance) for a senior project, and later forgot to delete the EC2 instance and getting a billing of over several grands. Whenever I saw these kind of posts, I never thought that it would happen to me since I always use free-tier. However, today I learned that I was also liable to those charges.
03 Oct 2022
2022.09 - Courses, Internship, Portfolio
I feel like a sail boat caught in a tide, trying its best not to get sucked into a maelstrom. But, the maelstrom doesn’t look that bad so I am quite confused. I’ve been quite busy applying for the summer internships, doing course assignemnts, labs, the usual college stuff. For the internships, I’ve been getting some coding tests and video interviews, but I wasn’t able to hear good news.. Last week, I quickly formed up a Portfolio website since I thought it would be a great idea to showcase some of my projects. So, I guess I’ll see how it goes.
04 Sep 2022
2022.08 - AWS Node.js update, Migration
Fall semester has started and it’s been two weeks into it already. This semester, I’m taking Operating Systems and Networking for my CS major and a bunch of electives for my degree. This will be the last semester with non-CS electives and I’m not sure how it will go next semester with no electives and CS courses all the way. (Maybe it might be better?)
02 Jul 2022
2022.06 - RPI server
In June, I setup a local server with the Raspberry Pi. I needed a server that was free and easy to manage. The Raspberry Pi 3B+ that I had in hand was a perfect choice. I know the Raspberry Pi is not free but I didn’t have to pay a monthly fee for it.
04 Jun 2022
2022.05 - Local Election, LeetCode
May was a very busy month due to the Local Election. At work, we had to go around town and put up election posters and announcements, pack leaflet/flyers in mails to send to all the residents, transport various equipments, and more. On the voting day, I got up early in the morning and got to the place beforehand to make sure all the devices were in place and ready. The voting went on from 6 AM to 18 PM. For 30 minutes, we equipped ourselves with protective gear to prepare for the voting for the ones with COVID-19. People who were in self-quarantine were able to leave their house between 18:30 and 19:30 to vote. The voting ended at 19:30 and we started cleaning up the place that we rented out for the election. The whole process ended around 20:30 and it surely was a long day. On the next several days, we went around town to clean up everything that we put around town for the election and it was a truckful. It weighed around 500 kilos (about 1000 lbs) and I never knew an election would produce this much waste. Keeping in mind that this is just from one town and there are about 426 (or 467 depending on the perspective) towns in Seoul, the fact that so much is buried or burnt has blew my mind. I really hope elections could be done online but there will obviously be some issues mostly with security.
06 May 2022
2022.04 - Foobar, Java Spring
A couple of days ago, I finished working on Heroklock. The goal of the project was to get familiar with the Golang programming language and multithreaded programming using goroutine. Despite having the title of multithreaded programming, the Heroklock application only has two threads… It’s still multithreaded, right? One thread served the HTTP server and the other was set to run at an interval to keep the Heroku apps online. In the end, Golang made it very easy to implement multithreaded applications using the go keyword and the communication between threads were straight forward.
12 Apr 2022
2022.03 - About Page, AWS Lambda, Heroklock
Updating my About page was an objective which I have been postponing for quite a while. The task wasn’t too hard, but it just wasn’t enticing enough for me to work on it. But one day, I just sat down and went f**k it let’s just do it and began to fancify my About page. These encounters of just do its seems inevitable in my life but always happen when it is least expected. I guess that’s just how it is.
20 Feb 2022
SoSiZi - Local News Delivery App
More than an year ago, I started my military service here at South Korea. My duty is to assist with the social welfare services provided to the people that live in the administrative jurisdiction of the station that I’m assigned to. Out of many tasks, one of the most difficult task is delivering the monthly town news. Every 25th, my coworkers and I divide 6000 papers into 24 groups to drop them at 24 locations.
02 Feb 2022
A lot has happened since the last update. I recently started preparing to return to campus. However, there was a slight inconvenience. The deadline for returning students to apply for on-campus housing was way due so I will probably have to go off-campus for 2022 Fall and 2023 Spring 😢. Guess I will have to start looking for off-campus rooms and roommates.
04 Nov 2021
Unfortunately, I skipped September because I was too busy with my military service. If September was hitting the lowest, October was skyrocketing through the roof 🚀. I cleaned my room, bought some new clothes, made some cool cash selling old books, and read some books that I found while cleaning. Related to CS, I was able to work on the side projects and learn something new!
31 Aug 2021
It’s another monthly update since July. I think having these monthly status updates are working out quite well. It gives me a thorough retrospect of the month and I think it helps me keep track of my progress on projects.
29 Jul 2021
2021.07 - Vaccine
Amidst all the struggle and nothing new worth sharing, I thought I would put a status update to toss some fuel on this blog. In short, I finally got the second dose of the Pfizer vaccine and I also started working on some projects.
03 May 2021
Software Threads VS Hardware Threads
Recently, I’ve been reading the Dinosaur Book to learn about the fundamentals of an operating system. As I went through the CPU scheduling chapter, I stumbled upon hardware threads.
18 Apr 2021
Arduino TV Remote
Few days ago, I needed a second monitor. I decided to use the LG TV that has been in the house since the day my family moved in. However, the remote was missing and the touch button was broken. After giving it some thought, I decided to make a remote control myself. I think it would have been simpler if I just fixed the buttons, but we make dumb choices 🤷.
26 Nov 2020
How To Start A Project
Few weeks ago, I finished my basic training at Nonsan training center and it’s been about a month and one or two weeks since I thought of projects. At the bootcamp, I was worried that being away from development and society would make myself null. However, I think it was a much-needed break after my internship and an opportunity for me to start new exciting projects.
06 Oct 2020
A Simple SPA & PWA Application
Recently, I started learning about cross-platform applications such as Electron, Ionic and what caught my attention was PWA. Also known as Progressive Web Application, like all other cross-platform applications, the app can be distributed to various platforms through a single source. However, I would say the main difference to Electron or Ionic would be that it is a “web” application so the platforms would be various web browsers such as Firefox, Chrome, etc.
04 Sep 2020
Switching To Manjaro Linux (+ Installation Guide)
I did it. I made my first distro hop from Ubuntu to Manjaro and I intend to stay (hehehe we will see about that).
29 Aug 2020
Source Chat - Chatbot Platform Using Dialogflow NLP
17 Aug 2020
When I started getting into web development, I would sometimes run into this error.
04 Jul 2020
Hosting Your Blog On AWS
Few days ago, I was finally able to try out AWS and actually host my blog successfully with https. It took a lot more time than planned but I was able to learn about various services of AWS such as S3, CloudFront, IAM, ACM, and Route53. I know it looks like a lot of services to host a single static website, but they all have their own specific purposes and this is a guide that I am writing so that no one has to go through hours of googling but me. I usually write short 3 ~ 4 minute posts, but I think this one might be one of the longest ones yet.
27 Jun 2020
My First Issue On Github
2 days ago (2020-06-25), I opened my first issue on Github. The issue was related to the graphing component provided by Uber called React-Digraph, which is extremely easy to use and customize.
22 Jun 2020
My Second Internship
It has been a while since I wrote a post. As of late, I have been extremely busy with my new internship. My second internship got way different than my first internship.
09 Jun 2020
Frankie - Cognitive Health Training With A Chatbot
Intro This post is about a chatbot project that I worked on during my first internship.
09 Jun 2020
Arduino is a simple and easy-to-use development board which is perfect for hobbyists like me. As a small project using the Arduino Uno, I wanted to make a small device that can read temperature, humidity, and light intensity so that I can get a more accurate result than the weather report or a particular area.
04 Jun 2020
Searching With StackExchange
Intro Today, I needed to find an API to search especially for Stackoverflow. I needed this API as it is a core part of my project ‘Darc’. Darc is a note taking web application that I am currently developing to aid students and software engineers. The main feature is to make a note about a bug or a problem that one has encountered. When the programmer encounters that bug later on, they can easily open up Darc and look at their notes. Although this may seem like a task that any other application can do, I intend to make Darc specialized for this situation. Another core feature is to allow the user to search in Darc without having to leave the website. To achieve this, I needed a good search API that can get me and the users satisfying results.
03 Jun 2020
University Discourse - RateMyProfessor For Courses
University Discourse is a web application that my team and I made for CS 307: Software Engineering. In simple words, University Discourse is RateMyProfessor but for courses and it it more focused on socializing. It is very similar to Reddit and its subreddit pages for schools where students often post questions about specific courses and share thoughts on it. However, Reddit isn’t really a platform specialized for such discussions so that is where University Discourse comes in. On our app, students can ask questions related to the course of interest, get feedback on their schedule, leave ratings on courses, and also share documents (that are allowed to share) to help each other.