Daily Status

This is my daily status. I learned this from my company and I think it is a good idea to keep track of what we did every day for reflection and making progress. It also helps us keep track of our time and makes sure we only focus on important things each day.


2023-07-13 Thursday

Daily Status

  • Updated my resume, LinkedIn and blog
  • Learned about C++ (smart pointers, shallow and deep copy, std::vector)

2023-05-23 Tuesday

Daily Status

  • Working as a software engineer in the morning and afternoon
  • Finished PDC Assignment3 Part2 report and handed in everything
  • Finished UMLT Topic quiz 6
  • Gonna to focus on CNA Assignment and CA Homework tomorrow

2023-05-22 Monday

Daily Status

  • Working as a software engineer in the morning and afternoon
  • Collected experiment data (PDC Assignment3 Part2) from university lab
  • Writing report (finished ‘objective’, ’experiment design’, ’experiment result’ sections)
  • Tomorrow, need to finish the ‘discussion’ and ‘conclusion’ section, and submit everything
  • Wednesday, start CNA assignment 3 and CA homework, prepare for UMLT quiz. (busy week…)

2023-05-21 Sunday

Daily Status

  • Watched one Computer Network lecture, learned about 3 multiple access protocals (Channel Partitioning / Random Access / Taking Turns)
  • Did laundry and cleaned my room
  • Finished Parallel and Distributed Computing Assignment 3 Part 1 (using 3 parallel directives to achieve ordered output for OMP program) coding section and report.
  • Wrote a bash file to estimate the performance of OMP n_body problem code to start the assignment part 2.

2023-05-20 Saturday

Daily Status

  • Wrote a long summary for Semester 1 Year 3.
  • Modified my Using Machine Learning Tools Assignment3.
  • Tutored university students at night.

2023-05-19 Friday

Daily Status:

  • Leared three error detection algorithms (Parity / Internet Checksum / Cyclic Redundancy Check polynomials) of Data Link Layer for Computer Network
  • Finish Using Machine Learning Tools Assignment 3 (Create Neural Network Architectures / Compile Models / Model Training / MC Dropout / Learning Rate (LR) Scheduling / Transfer Learning / Model Prediction)

2023-03-09 -> 2023-05-18

  • Semester 1 Year 3 is going to finish. Time flies. This semester is quite tired but also fruitful.

  • From the bottom of my heart, the best decision that I made this semester was to take computer architecture. This course is actually a broadening elective to computer science student because it is an electronic engineering course. Therefore, I could just take some fairly easy year one courses instead of this one. However, I was interested in this course since year 2 so I decided to follow my heart. At the beginning of this course, the content was super super hard to me, since I have never touched assembly language and instruction set. Meanwhile, I needed to complete an ISS (instruction set simulator for RV64I subset of RISC-V) as an assignment for this course which I completely had no idea of how to start. In addition, I was also taking other 3 hard level three computer science courses (Computer Networking and Application, Parallel and Distributed Computing, Using machine learning tools), working as a software engineer 3 days per week, tutoring university students at the weekend… Hence, I was almost going to burn out… There was no weekend, no rest, and I had to keep on studying and working. However, I did not give up. I went to university every day as long as it was not my working day, read the textbook, watched extra videos to help me understand computer architecture (sometimes, I did not understand some contents on lectures), and asked a lot of questions to my professor… As times went on, I found that I became better and better in this course, especially in hardware sections (pipelined processor and memory). To be honest, I feel like the design of MIPS architecture pipelined processor is so beautiful and magnificent. That’s why I became obsessed in this course. However, the course is going to finish and I feel very sad. I really want to say thanks to my computer architecture professor Hong Gunn Chew for delivering such amazing contents to us.

  • For my work, I think it is a brand new experience for me. I would like to say thanks to people who work for ASTC for giving me such a good opportunity to work here. My first project is to improve the speed of decoders by using some new code/data structures, algorithms. At the start of the project, I also had no idea of what’s going on. But my manager offered me a lot of help. So I began with manually constructing the decoder for one core which needs to handle 400+ instructions. As time went on, I explored a lot of new decoder structures and tested them with multiple benchmarks. Sometimes, I felt a bit stressful because I made progress slowly. I wanted to make as much contribution as possible but not every experiment was successful. It could happen that I spent a few days building the decoder with a lot of effort and it resulted in running even slower or did not work… Finally we decided to build a tree structure decoder since it could achieve 66.5% speed improvement in general (best model in history, original decoder needs 17 mins 25 seconds to complete one of the benchmark tests, new decoder only needs 4 mins 33 seconds to finish the same test). After this, I only spend 2 days coding for the python script for auto generating different decoders for other 10+ core simulators. Actually the job was quite complicated to me at first because I need to use one script to generate code with various tree structures and each of them will have different depths depending on the design and distribution of instruction sets. Meanwhile the auto-generated decoder also needs to be able to handle instructions with different lengths and exclusion cases. Thanks to my summer research experience, because I gained some inspirations from the job I did before, so I could quickly use graph algorithms and recursion to build the decoder generator script. To be honest, I feel so proud of that, in the testing stage, I just need to press ’enter’, within 20 seconds, my script could generate 22000+ lines of code to handle the task of decoding for 900+ instructions with different lengths in high efficiency.


2023-02-08

I feel like I am making progress in doing LeetCode every day, keep on going! I hope that I can finish 300 LeetCode questions by the end of this Summer Holiday!!! Fighting!!!


2023-01-29

Today I did a mock interview with Gary Chen. He did that so well that’s why last year he passed the google technical interview. For me, I think that I still need to improve my behavioral questions and do more LeetCode every day.


2023-01-19

Doing LeetCode makes me feel dying….. I want to relax and then go back to solve them…..


2023-01-18

Technically, I only have one month holiday left. To make the full use of the following days, I want to make a plan about my independent learning.

  • 1 Learn about some advanced features of Java (stream, network, concurrency, lambda expression)
  • 2 Finish my Java community project
  • 3 Consolidate my JavaScript foundation
  • 4 Learn React framework
  • 5 Keep on doing LeetCode (Solve 300 questions)
  • 6 Keep on practicing mock interviews
  • 7 Finish summer research project

Extra Plan:

  • 1 Learn TypeScript and make a project
  • 2 Try to further study C++ (Linux, System Programming)

2023-01-12

Today, I modified my resume, then had a meeting with my professor talking about the progress of my summer research project. After that I spent few hours working on my Java project. At late night, I spent around 1.5 hours on one LeetCode tree question. I guess I still need a bit more practice…..


2023-01-08

This week, I was ‘forced’ to do tons of LeetCode hard questions since I joined a code interview study camp and I did not realize that the ratio of hard questions that I have done was only 3%. Therefore, I have to work hard to fix this ratio to be 20%, otherwise I will be dropping out of the program. That’s why I did not put much effort on my Java community project. However, I can dive into it now since I have fixed the ratio : ) Doing LeetCode hard questions is very struggling and painful to be honest….. Sometimes, they can crush my confidence completely….. I hope things will work out as time goes on.