peoplePeople at Savannah: Tadeus Prastowo Resume & Skills

Site Wide
 
 

Follows Resume & Skills of Tadeus Prastowo <eus>.

Resume

After I could not find out how the standard C library's function `printf' really worked in Microsoft Windows to produce text on the screen, I stopped using Microsoft Windows in 2005 once I saw that the idea of free (as in freedom) software made it possible to do so in GNU/Linux systems.  Since then, I have not only been an FSF associate member educating myself about the issue of software licensing but also used a GNU/Linux system exclusively to seriously study Computer Science.

My undergraduate final project developed a Linux kernel module to implement a new networking protocol of the ATN (Aeronautical Telecommunication Network).  As a result, I gained a lot of experience not only in C programming but also with the internals of the Linux kernel and the GNU C library (glibc), especially their TCP/IP networking stacks.  I also gained a lot of experience in network debugging (e.g., Wireshark and netstat), routings (e.g., route), and discoveries (e.g., DHCP), not only for IP packets but also CLNP packets.  The project report is available publicly here.

I then worked at a start-up that developed a shop floor management system exclusively using GNU/Linux systems running a web application developed using HTML, JavaScript, Java, PHP, PostgreSQL, and Kannel SMS gateway.  As a result, I gained a lot of experience not only with the related programming languages but also in GNU/Linux system administration (e.g., ssh, shell scripts, cron, netcat, and system logs).  I also gained a lot of experience in using SVN, git, RT (an issue tracking system), diff, and patch to manage a large codebase with some active developers and clients.  One particular work that I cherished was in optimizing SQL queries using pgAdmin, which afforded me much expertise in SQL programming.

Next, I quitted the start-up to have my graduate study in embedded systems and ambient intelligence.  In the course of my study, I got hooked to formal methods, especially in how mathematics could be so theoretically beautiful and practically usable.  I also gained a lot of experience in machine learning, the course of which I completed with a project that tried to reproduce an experiment result using C++.  As a result, I gained a lot of experience in C++ programming.  Additionally, I also gained a lot of experience in Android app programming and Wi-Fi technology (IEEE 802.11) through a course in mobile communication.  Lastly, as the final project, I implemented a real-time scheduling policy in the Linux kernel and proved a small missing theoretical piece that supports the soundness of the implementation.  As a result, I gained a lot of experience not only in the Linux kernel internals in general and its scheduler in particular but also in developing a mathematical proof that ensures the soundness of an implementation.  The final project report is available publicly here.

I then returned to work at the start-up that I quitted before.  When I returned, the start-up had shifted its focus upwards from a proprietary shop floor management system to a non-proprietary ERP (enterprise resource planning) system, which was OpenERP coupled with Jaspersoft's iReport.  As a result, I gained a lot of experience in Python programming and further experience in harnessing many of the PostgreSQL extensions to the SQL language.  The start-up also had changed its issue tracker to Redmine.  As a result, I gained some experience in Ruby programming.

Next, I quitted the start-up to work as a lecturer at a university.  During these times, I gained a lot of experience in using Donald Knuth's TeX, especially Leslie Lamport's LaTeX, to produce teaching materials.  Furthermore, I gained experience in developing formal mathematical proofs.  According to Terence Tao, this was my "rigorous" stage in my mathematical education.

I then quitted being a lecturer and have been pursuing a PhD degree since then.  As a doctoral student, I mainly work with mathematics and C++ in my real-time programming research.  I also gained experience in Prolog programming as the result of following some interesting courses at the University of Trento.

Skills

Skill Level Experience
Ruby Base Knowledge < 6 Months
Blender Base Knowledge < 6 Months
VPN Base Knowledge 6 Mo - 2 yr
git Good Knowledge 5 yr - 10 yr
GNU Emacs Good Knowledge 5 yr - 10 yr
GNU Emacs lisp Good Knowledge 5 yr - 10 yr
Gtk+ Good Knowledge 2 yr - 5 yr
JavaScript Good Knowledge 5 yr - 10 yr
MySQL Good Knowledge 2 yr - 5 yr
Pascal Good Knowledge 6 Mo - 2 yr
PHP Good Knowledge 2 yr - 5 yr
Prolog Good Knowledge 6 Mo - 2 yr
Python Good Knowledge 6 Mo - 2 yr
Automake Good Knowledge 2 yr - 5 yr
TCP/IP Good Knowledge 6 Mo - 2 yr
UML Good Knowledge 6 Mo - 2 yr
C Master > 10 years
C++ Master 5 yr - 10 yr
GNU/Linux Master > 10 years
HTML Master > 10 years
Java Master > 10 years
LaTeX Master 5 yr - 10 yr
PostgreSQL Master 2 yr - 5 yr
Shell Master > 10 years
Software Licensing Master 2 yr - 5 yr
SQL Master 2 yr - 5 yr
The Gimp Master 2 yr - 5 yr

Back to the top

Powered by Savane 3.13-bb6a.
Corresponding source code