Photo by Larisa Birta on Unsplash

Going back to where I started

This week I hoped on back into a project that I did during my internship here, i.e the Competition Registration System (CRS). Basically, some changes and enhancements are needed to be made, and the registration period for the competition starts next month. Some enhancements include splitting up the composer’s name and the repertoire to two separate text fields instead of one, since a lot of registrants forgot to put the composer’s name last year. Last year’s registration also had the Read more…

Misfortune with Windows

Just as I was continuing to test my current server application, I bumped into another problem. This time it’s a little tricky, as it is something that only happens to Windows, while the other operating systems I tested (i.e Linux and Mac OS) worked perfectly fined. The problem this time concerns renewed certificates. In such cases, the server application only sends back a renewed PEM certificate, since the corresponding private key would have been bundled into a PKCS#12 for first Read more…

Photo by Fabian Grohs on Unsplash

Week Twelve: Goodbye

This is my twelfth and final week as an intern at Aeste Works. Continuing from last week, I was getting bandwidth and network measurements for only 1 interval after connecting to the TCP iperf server on the default TCP port. Dr Shawn came to advise and review my code to see what could cause this behavior and found that sys_now function which returns the current time in milliseconds to perform TCP house-keeping tasks might be the reason why. The sys_now function Read more…

Fin.

This week marked the end of my internship and I was really grateful to have Dr Shawn as my supervisor. I would like to summarise my learning experience over this 12 weeks of internship. Git Git was a version control system to note the progress of software development. Instead of passing codes using external hard disk (some companies still practiced this method and it was undesirable), Git allowed developers to distribute and analyse codes more easily. I used to have Read more…

Photo by Fabian Grohs on Unsplash
Photo by John Salvino on Unsplash

The Calm After the Storm

Not much to be said for this week. However, as I have mentioned in my previous blog post, I have decided to just use RSA key pairs when generating client certificates. I was finally able to move on to other important stuff, such as setting up the Woocommerce web store. At least it wasn’t such a headache for this part, as I have already set up products in the Bitnami WordPress VM which I was testing with before. Now is Read more…

Week Eleven: Ping!

This is my eleventh week of being an intern at Aeste Works. My main focus this week was to ensure that two way communication between the USB stack and lwIP’s TCP/IP stack was working as intended. The simplest way to achieve this was pinging the USB CDC ECM device and observing the packets through Wireshark. Ping is a tool that sends an ICMP (Internet Control Message Protocol) echo request and expects an echo reply if the Network layer (Layer 3 of the Read more…

Software Design Pattern

In this week I was revising some design patterns to utilise them into the software development. A design pattern was a general solution and it had a high reusability. First and foremost, CPU32 was designed as a singleton. It was instantiated only once and there was a global access to it, as well as “initialisation on first use”. Lazy initialisation was also required, meaning the instantiation of the class was delayed until it was needed. Fundamentally, I had to ensure Read more…

A Series of Unfortunate Events

Just when I thought that things were getting better since I discovered what was the problem last week, it didn’t. I thought the problem could easily be solved using OpenSSL libraries, as I had used their command line tool as part of the test last week. I looked into the source code of their command line tool, to know what functions are needed to solve my problem. But even after following what OpenSSL did, I was still getting the same Read more…

Photo by John Salvino on Unsplash
Photo by Charles Deluvio 🇵🇭🇨🇦 on Unsplash

Week Ten

This is the tenth week of being an intern at Aeste Works. Continuing from last week,  I found a way to separate normal USB packets and networking packets. This can be done by checking the twelfth and thirteenth byte of the payload found in the readBuffer. Protocols such as IPv4, IPv6 and ARP would always be 0x80 in the twelfth byte.  Dr Shawn also advised me to have a clear separation between the USB segments and lwIP segments as I Read more…

Sweet Serendipity

I was able to discover the crux of the problem from last week. Previously, we were baffled by the fact that the size of the private key that is generated by the server application appears to much smaller than the private key that was generated by XCA, even though they both are using the same elliptic curve algorithm and key length. It turns out there is actually two ways of encoding an ECC key, i.e in a compressed format or Read more…

Photo by John Salvino on Unsplash