CURRICULUM VITAE
Personal Details
Name : David Kiarie Kahurani
Date of Birth : 1994/12/06
Age : 22
Contacts :- :- : -
Nationality : Kenyan
Address : Nairobi
Website :https://github.com/aslaq
:http://hotpepper.co.ke
Academic details
1998 – 2007 : Summit Vine School
Attained Grade A-(11/12)
2008 – 2011 : Nyandarua High School
Attained Grade A (83/84)
2012 – 2016 : Jomo Kenyatta University of Agriculture and Technology
B.Sc. Telecommunication and Information Engineering ( ongoing )
Technical Tools
Programming languages listed in order of confidence:
C++/C programming
I have extensively worked with C and C++ programming languages in semi-professional and professional projects online. I have also participated in programming competitions on Code Chef and Game Coding websites primarily using the same languages. The details of the projects I have participated are described later.
C#
I have extensive experience working with C# while working on personal projects both with Visual Studio and with MonoDevelop.
Python
Minimal experience with Python, Django and Flask technologies.
Java
Java, Javascript
HTML, CSS
Visual Basic
Minimal experience with lisp
I have experience with the following technologies:
Fairly experienced with .Net Framework.
Java and related technologies.
Extensive experience with TCP/IP protocols.
Extensive experience with databases.
Extensive experience with Visual Studio.
PostgreSQL mainly working from a linux environment.
Extensive experience with Visual Studio.
Experience with REST.
Linux System administration.
Qt Application framework.
Extensive experience with text editors such as Vim and Sublime Text.
Experience
2008 - 2012 : Introduction to real world programming
During the years 2008 - 2012, at which I was in high school, I spent most of my free time programming random projects that include IRC bots, websites, simple browsers and basically anything you can make in Visual Basic with a few lines of code and dragging widgets around.
2013 - 2014 : Xen/Libvirt Snapshot Support
This project aimed to implement Snapshot support to the Xen hypervisor which would enable users to create disk snapshots of any Xen Virtual machine.This project was later accepted into
Google Summer of Code 2014. The project can be split into:
Adding snapshot support to Xen which was done via Qemu QMP. We were able to implement working snapshot support but due to confusing among Xen developer it never got merged into mainline Xen.
On top of that, I managed to implement, among other things, a Xen XM XL parser [1].
2015 – 2016 : Qemu AMD IOMMU support
This project, which is was just currently completed aims to implement AMD IOMMU support to Qemu. This project also got accepted into Google Summer of Code 2016. The project can be split into the following:
Device MMIO implementation ensuring that guest OS driver can issue commands to the
Qemu Device.
Code to ensure that devices can issue devices issuing DMA request are translated properly.
IO Translation Lookaside Buffer which functions to cache frequently requested translations a major part of which is to ensure cache is correctly and optimally invalidated.
Creating and ACPI IVRS table to report AMD IOMMU to guest. The final results of the project can be viewed here [2].
Unreal Engine- : Project Prince
In this project I tried to implement a game in C++ using the Unreal game Engine. The final code to the project can be viewed here[3].
Alongside that I have been involved in other Homebrew Open Source project relating to game consoles emulation such as Dolphin and Rpcs3.
While participating in the above projects I learnt:
The essentials of software development lifecycle from problem statement, design, implementation, testing, deployment and maintenance.
The essence of code quality with the projects I have worked on having very strict code quality requirements.
How to work in a corroborative environment having worked with people from across the globe with communication based only on Google Hangouts, email and IRC.
Referees
[HIGH SCHOOL PRINCIPAL]
Principal,
Mr J.M Mungai,
Nyandarua High School,
P.O Box 61 – OlKalou,-
[XEN PROJECT MENTOR]
Software Engineer,Softwareund SystemEntwicklung(SUSE)
Jim Fehlig,-
[QEMU AMD IOMMU MENTORS]
Software Engineer, Siemens
Jan Kiszka,-
Software Engineer, Yandex
Valentine Sinitsyn-
[1]https://libvirt.org/git/?p=libvirt.git;a=blob;f=src/xenconfig/xen_xl.c;h=18d9fe369b31bedfe5ac9a9aeafae4915d0f9543;hb=HEAD
[2] https://github.com/qemu/qemu/blob/master/hw/i386/amd_iommu.c
[3] https://github.com/aslaq/Prince