This is going to be my first weekly blog post at Aeste!
I just joined this company as intern. As for the first week of my internship, Shawn asked me to study Git and do some C programming tutorials just to make sure that my understanding of the C language is decent enough to study the Linux Kernel which will be one of the main tasks during my internship here.
Git is a version control tool to keep track of a software development. Having known SVN before, I though Git is the same thing but with different name. But Git is actually better than SVN because it is much faster and easier in terms of branch switching (which I never did with SVN before. It was all about committing the latest code to the SVN server). I took about 2 days to study and pratice Git, and did the C tutorials till the end of the week.
I consider myself as an intermediate C programmer, so I skipped some of the tutorials which touch topics that I already know (the basic C stuffs, pointers, variable arguments, linked list, etc). But there are some topics that I’ve never met before such as Intermediate Makefile, Debug Macros, Automated test unit, Hash table and etc. Already at the end of the week, I still haven’t finished the totality of the tutorials because some of them took me so much time to complete (especially the Automated test unit which I skipped because I couldn’t make it work!).
My next task is to study the remoteproc framework of the linux kernel. Basically I would have to study the framework, figure out how it works, and see what kind of port it can be implemented on. Sounds complicated but I bet it would be a lot of fun! This is going to be my first time diving deep into the Linux kernel! May the force be with me.
p/s: Never consider yourself a good C programmer unless you have completed all the C tutorials that I’m doing right now! you can check it out at: http://c.learncodethehardway.org/book/