Marcos Dione - Curriculum Vitae

Personal data

Name
Marcos David Dione
Age, Nationality
37 years, Argentine/Italian
e-mail/jabber
mdione@grulic.org.ar
Phone numbers
+33 (0)6 24 21 59 91 (cell phone)

Education

2008
Specialization in Distributed Systems and Services (http://www.cs.famaf.unc.edu.ar/ssd/), 380hs. Not finished.
1996-2004

Licenciate degree in Computer Science, Facultad de Matemática, Astronomía y Física, Universidad Nacional de Córdoba. Capstone Project: «Trieste: A distributed filesystem».

Abstract:

Most network instalations use centralized network filesystems, and some even use peer-to-peer ones. Centralized filesystems don't use the resources in the client machines, and peer-to-peer ones are not transparent enough and are not easy to administrate. We designed and implemented a fault-tolerant, easy to administrate distributed filesystem, which can add storage space easily. Trieste showed to be greatly scalable, using disk bandwidth and space of each added computer. Its features makes it suitable for clusters.

https://github.com/StyXman/Trieste

Expertise

Operating systems

  • Strong knowledge in GNU/Linux, particularly Debian/Ubuntu distributions.
  • Good knowledge in BSD and UNIX in general.

Networking

  • Advanced routing, packet filtering, firewalls, load balancing, heartbeat.
  • Mail service (SMTP/POP3/IMAP): exim and postfix; courier.
  • Web Server (HTTP/S): Apache and lighttpd.
  • Databases: PGBouncer+PostgreSQL+Slony-I, MySQL clusters, Apache Cassandra.
  • DNS: Bind and masqmail.
  • Other protocols: jabber, NFS, NTP, DHCP, CUPS printing.
  • Server monitoring: BigBrother, XYMon, Munin.
  • Configuration management: CFEngine.

Programming skills

  • Python: advanced.
  • Bash: advanced.
  • C and C++: regular.
  • Perl: advanced.
  • PHP: basic.
  • Java: regular.
  • JavaScript: very basic.
  • Test Driven Development: regular.
  • Twisted: basic.
  • PyGTK: basic
  • PyQt/PyKDE: regular.

Development Tools

  • (D)VCS: Subversion, Bazaar, Mercurial, Git.
  • Compilers: GNU Compiler Collection (mainly C/C++, some Java), Bigloo (Scheme compiler).
  • Configuration systems: Make, autotools, CMake, scons.

Other technologies

  • Client/Server, Distributed programming.
  • Xen paravirtualization.
  • Sofware packaging and backporting for GNU/Linux distributions; customizing GNU/Linux distributions.

Languages

  • Spanish: native.
  • English: very good level reading, writing and conversation.
  • French: regular conversation, reading and writing.

Current experience

Since December 2012 - Astek Sud-Est for Amadeus SAS (http://www.amadeus.com)

Developer for the R&D-SSP-TAE_TDS team. We develop several systems:

  • An in memory Key-Value store.
  • A manually sharded database with multi dimensional range search on top of it.
  • A computation scheduling system that takes in account popularity and volatility of the data.

These systems handle flight data for different types of search queries.

Currently I'm extending the storage to disk using LMDB (http://symas.com/mdb/), so we can handle terabytes of data, and we plan to later migrate either to MongoDB or CouchBase.

Languages: C, C++, Python Continuous integration systems: Jenkins

June 2011-November 2012 - Astek Sud-Est for Orange Portails (http://www.orange.com/)

System Administrator at the HEBEX Division, which is in charge of maintaining all the 3000+ servers split in 3 Data Centers used for developing, testing and hosting a lot of Orange's sites, including Orange and associated sites (actu, immobilier, finances, femme, ecole, bussines, etc) and Voila, among others.

My main work is around maintaining multi-site databases that host the data for all these sites, using different technologies (PostgreSQL+Slony-I clusters, MySQL clusters, Cassandra clusters), and the WebServices developed in C++ and PHP, hosted in Apache servers, that are used to access those databases ; installing new versions of production code; massively migrating the servers from several Debian releases to Ubuntu Lucid and Precise LTSs; and supervising the whole infrastructure in general, including the creation of new monitoring tests and graphs.

My last task was to research the possibility of using Cassandra as a database for the type of data we handled, including its behavior and recovering on different types of failures and its health monitoring.

Languages: Bash, Perl, Java, PHP Platforms: Linux (Ubuntu, Debian) Databases: PostgreSQL+Slony-I+PGBouncer, MySQL cluster, Apache Cassandra Web Servers: Apache+mod_ndb, PHP and C++ webservices. Networking: GTM load balancers. Server Administration: CFEngine, XYMon, BigBrother. Other: redundant setups, multiple datacenters.

Recent past experience

September, 2009-December, 2010 - INRIA Méditerranée (http://www-sop.inria.fr/)

Engineer expert for the Hop project (http://hop.inria.fr/). I'm porting both Bigloo, a Scheme compiler, and Hop to the Android platform. I'm also modifying Hop to run as a OSGI bundle and helped improving and expanding Hop's runtime library.

Languages: Bash, C, Scheme, Java Platforms: Linux (Debian, Fedora), Android, OSGI Development: Mercurial, GCC Protocols: SOAP, STOMP, oBIX Other: XML, Phidgets, cross compiling

June, 2009-August, 2009 - Proteon (http://www.proteon.nl/)

System administrator assistant. I helped in the Hosting Division, planning and executing consolidation of servers using Xen and migrating them between data centers to reduce costs.

Languages: Bash, Python, Perl Platforms: Linux (Debian, CentOS) Development: Subversion Networking: IPSec/OpenVPN, Nagios, Server installation and configuration. Other: Xen (machine virtualization), Server consolidation (via virtualization), Server manipulation in data centers.

April, 2007-December, 2008 - Soluciones Informáticas Libres S.A. (http://except.com.ar/)

System administrator. I maintained the network, run servers and workstations, installation and configuration of hardware. In several ocasions I managed routers, Xen servers, and install and configure software and other minor tasks for our clients abroad.

Developer. I wrote the backend of the Xarope project, a Xen based system for offering hosting for Zope/Plone sites. This project has been released under the GPL.

Languages: Bash, Python, C Platforms: Linux (Debian, Ubuntu) Development: Subversion, Mercurial, GCC, Python Networking: SSH, Apache (web server/reverse proxy), Django sites, PostgreSQL, Squid, Zope/Plone, Router/Firewall (Coyote), VCS repositories, NFS, LDAP, Mail system (postfix, courier, spamassassin, squirrelmail, mailman), Printer server (CUPS), DHCP, Server and workstation installation and configuration, Network security, Server monitoring (munin, logwatch, rkhunter), Thin clients (XDMCP), offsite backup. Other: Xen, virtualenv (Python), Trac (ticket system), Debian packaging, backporting, remote client assistance, Linux kernel customization.

September, 2008-May, 2009 - IATE - Astronomic Observatory - UNC. (http://iate.oac.uncor.edu/)

System administrator. I maintained the network, run a small server/router/firewall and helped maintaining the workstations.

Languages: Bash, Python Platforms: Linux (Debian, Ubuntu, CentOS, Fedora), Windows Development: «Python for scientists» (course lectured). Networking: SSH, Apache, Drupal, MySQL, Squid, Firewall (Shorewall), NFS, LDAP, Printer server (CUPS), DHCP, Server and workstation installation and configuration, Network security, Server monitoring (munin, logwatch, rkhunter), Multiple network providers balancing.

November, 2006-May, 2007 - Fundación Vía Libre (http://www.vialibre.org.ar/)

System administrator. I installed and maintained a Debian server with Apache and WordPress for news sites and MailMan for mailing lists.

Languages: PHP, CSS Networking: SSH, Apache, WordPress, MySQL, mailman, Server installation and configuration.

January-July, 2006 - Departamento de Cómputos de la Facultad de Ciencias Químicas de la U.N.C.

System Administrator. I maintained the network and servers in the faculty. Network services included DNS, mail, spam and virus filtering, HTTP proxy and Web servers. One of the server connected to 4 balanced ADSL lines. Most servers were different Linux distributions.

Languages: Bash Platforms: Linux (Debian, Ubuntu, Mandrake, Fedora), Windows Networking: SSH, Apache, Squid, Firewall (Shorewall), Server and workstation installation and configuration, Network security, Server monitoring (munin, logwatch), Multiple network providers balancing.

October, 2005-January, 2006

Freelance system administrator. I maintained Zope and Apache servers running under FreeBSD and Debian GNU/Linux.

Platforms: Linux (Debian), FreeBSD Networking: SSH, Apache, Zope/Plone Others: virtualenv

March, 2002-June, 2003 and March-September, 2005 - Fundación Vía Libre

Python developer. I worked in a team of 3 python developers. We developed papo (http://papo.vialibre.org.ar/), an ERP for SMEs released under the GPL. We built tools like xot and cimarron.

Platforms: Linux (Debian) Languages: Python Development: OOP, Subversion, GTK, Test driven development.

Older experiences

2004
I developed a real estate showroom in LAMPhp.
2004
I worked in a team of 4 people developing a frontend for reprogramming cell phone routers in Perl.
2003
I worked in a team of 3 people prototyping a workstation for a massive migration from Windows to Linux. This work included Debian packages customization, bug fixing and more integration works.
1998-2000
I worked in a team of 2 people building a computer lab, including network cabling, server and workstation configuration, all running Mandrake. The servers ran NFS/NIS, mail and web services.
1999
I worked in a team of 3 people developing an app that alowed customers to send works via mail using dial-up connections, in Delphi.
1997-1998
I worked in a team of 2 people maintaining a faculty network, including Solaris and Slackware serves and Windows workstations.

Academic experience

2007-2009 - Facultad de Matemática, Astronomía y Física (http://www.cs.famaf.unc.edu.ar/)
Graduate teaching assistant in the Algorithm and Data Structures laboratory course. We teach C, Haskell and Java. Wrote material for teaching programing with Java.
2004-2005 - Facultad de Matemática, Astronomía y Física
Graduate teaching assistant in the Operating Systems and Networks and Distributed Systems laboratory courses. We teach C and Linux kernel programming.
September-December, 2005 - Fundación Vía Libre
Wrote the material for and lectured an Advenced System Administration course. The course was delivered via a mailing list.
2000, 2002 - Facultad de Matemática, Astronomía y Física
Undergraduate teaching assistant in the Operating Systems and Networks and Distributed Systems laboratory courses. We teach C and Linux kernel programming.
2000 - Facultad de Matemática, Astronomía y Física
Undergraduate teaching assistant in the Databases course.
July-August, 2004 - Grupo de Investigación en Informática para Ingeniería, FRC, UTN.
I lectured a course about developing applications in C++ using the Qt libraries, delivered in 12 classes of 2 hours each.
October, 2004 - Fundación Vía Libre
I lectured an introductory course on the Python language, delivered in 4 classes of 4 hours each.

Talks in conferences

August, 2007
«Xarope: Hosting Zope/Plone for the masses», given at 7JRSL in Córdoba, Argentina, on behalf of Soluciones Informáticas Libres S.A..
August, 2007
«The mail salad», given at 7JRSL in Córdoba, Argentina.
November, 2005
«Xot+Cimarrón: OOP application development», given at 5JRSL in Rosario, Argentina, on behalf of Fundación Vía Libre.
October, 2005
«Xot+Cimarrón: OOP application development», given at 4CafeConf in Buenos Aires, Argentina, on behalf of Fundación Vía Libre.
November, 2004
«Trieste: a distributed filesystem», given at 3CafeConf in Buenos Aires, Argentina.
September, 2004
«Trieste: a distributed filesystem», given at 33JAIIO in Córdoba, Argentina.
July, 2004
«Trieste: a distributed filesystem», given at 2ELL in Concordia, Argentina and Salto, Uruguay.

Other activities

August, 2008
I was a volunteer at DebConf8 in Mar Del Plata, Argentina.
February-August, 2007
I worked in the group that organized 7JRSL in Córdoba, Argentina. I coordinated the advertising group.
Grupo de Usuarios de Software Libre de Córdoba
I'm part of the LUG since 2000. Currently I maintain the main server, including the local ftp mirror with a mirroring tool I wrote: https://github.com/StyXman/psync . I also was part of the organizing groups of several events, mainly install fests.
Python Argentina
I'm part of the local Python user group. I was involved in the organization of the first two PyCamps, and I helped in the organization of PyConAr 2010.
ayrton
In my free time, among other things, I'm playing with the idea of approaching Python to shell programming. ayrton simplifies both the execution of commands and the remote execution of code via ssh.