Duilio Protti

Brief

I enjoy to program computers. I do it at Globant, previously at Google (contractor), Evolution Robotics (now iRobot) and Intel Corporation. I obtained a Computer Science degree from UNR in 2007 and years later became a lecturer during three years (R-323 Communications | R-212 Data Structures and Algorithms I). And I love rock climbing.

Publications

Linux KVM as a learning tool
Published at Linux Journal #186, October 2009.
Unit testing of concurrent programs
Degree Thesis, 2007. Provides a framework for unit testing C programs in all the possible interleavings of its atomic actions (100% C code, no assembler, threading mechanism-agnostic). Implemented by extending CUnit. The extension was called CUThread.

Talks

Intel Nehalem Microarchitecture
Globant Rosario, 2012. Case study showing how a NUMA memory architecture impacts the way you can parallelize your programs.
Writing a kernel from scratch
Rosario, 2009. Workshop at VII Jornadas de Ciencias de la ComputaciĆ³n (slides: day 1, day 2).
Intel Atom Microarchitecture
Bariloche, 2009. Argentine Conference on Micro-Nanoelectronics, Balseiro Institute. Attendees build in 1 week a complete microprocessor, including its design, serigraphy, deposition of substrate in silicon, die soldiering to the metallic pins and power up and monitoring of the chip. All done in BAC's clean rooms.
Linux KVM As A Learning Tool
Rosario, 2008. Presentation on how to build a toy operating system at JCC 2008. Complete code listings at the LJ's article.
Software Transactional Memory
Rosario, 2005. Talk focused on the composable form of STM, for which I wrote a C library (LibCMT). Slides (english/ spanish) assumes no previous knowledge of the subject.

Early Projects

LibVisual
Framework for quick writing of audio visualization plugins. Lets you concentrate on the artistic part of the job. I contributed in the pre-2006 era (Dennis Smit era).
Infinity
Music visualization plugin. Originally for XMMS audio player, now for Audacious. Base code by Julien Carme. I made many improvements and became the maintainer.
LibCMT
C library for composable memory transactions. Independent of any particular threading/memory model.
GTL (Gidiss Trusted Linux)
Security enhanced Linux with multi level security. I developed the trusted window, a text line at the bottom of text terminals used as a trusted path from the kernel to the user. The report (in spanish) is a nice intro to the way the terminals works in the Linux kernel. The project was my final work for the elective class "Formals Methods for Information Security".
Misc Projects
Casual contributions to Nmap, Liferea, Boost, Mono and others very active at the time.