This week is already my tenth week at Aeste which means that I have only two more weeks left for this internship. I am still struggling to write the code for the generation of report as “not-hard-coded” as possible. Previously, Dr Shawn suggested me to write a customize function to do that. After some researches and helps from my colleague Wen Yan, I’m able to call the function inside the template. However, the issues never end. For now, I have another problem which is to use the information that I need inside the customize function. I have tried a few days hoping to get it working but not in vain. Honest speaking, during that time, I have decided to ditch that approach and continue that hard-coding way but using only WTemplate. My original goal for this week is to do it the hard-coding way but it should be able to generate the correct report for both regional round and final round since both rounds have different information that need to be bind to the report. Just when I am almost done with that approach, Dr Shawn came to the office and I told him the problems I faced while using the customize function.

After that, he sat down beside me and started writing some code. Then, when we tried to include the information we need in the customize function, we got the error stating that “invalid use of member in static member function”. The customize function has to be static while the member has to be non-static therefore this approach is out. Dr Shawn then goes through the documentation hoping to get something from the library that we could use to achieve the same result, and Taa-Daaaa, he found another function that we could use! I have went through the documentation so many times, and I have read that particular function before but I never know it could be used to achieve what I want. Then, Dr Shawn started writing some test code to make sure that function can be used and he explained to me how I could use them in my code. He asked me a lot of times whether I understand what he was saying, unfortunately, I was not fully understand yet and I told him I need sometime to digest those information. No matter what, it was still an honor to have Dr Shawn writing codes beside me and taught me the correct way to write code.

Now, Dr Shawn gave me a basic idea on how I could get this done the correct way and not the hard-coding way. It is my fault that, there are still a lot of syntax and structure things in c++ that I do not understand. I am still struggling to link the information I need into the function. It was then my savior Wen Yan came for help. I asked for his suggestion on how I could achieve what I want and he just took his chair and sat down beside me. After he understood what I want to achieve, he then start writing some codes and explained to me what he was trying to do. We had a lot of compilation errors during the testing but he didn’t give up, he looked into the errors and solve them one by one. He spent for about an hour trying to help me out, and in the end it worked! The codes was able to compile and run now. I definitely owe him a lunch! This was when I realized that programming is like an art. There are so many ways to write the codes, and in each ways it would give you something different but they still get the same work done. I am impressed by both Dr Shawn and Wen Yan understanding in programming and it makes want to learn more!

So, I have only one week left to finish up this task because in my last week I will have to document all the things that I have done so that when new interns come, they will have an easy time to understand what is going on. For now, I am able to get the information I want into the function, but I haven’t use them yet. Next week goal is to GET EVERYTHING DONE!

Categories: Experiential

1 Comment

Ali · 2018-08-20 at 16:23

Dr.Shawn was one of the toughest and intersting lecturer, that i have every gone through. I learnt a lot from him. And yeah programming is an Art, the deeper you get , it become more challanging and intersting.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.