|
@@ -0,0 +1,220 @@
|
|
|
|
|
+<!DOCTYPE html>
|
|
|
|
|
+<html>
|
|
|
|
|
+<head>
|
|
|
|
|
+ <title>David Ventura - resume</title>
|
|
|
|
|
+ <link rel="stylesheet" href="css/style.css">
|
|
|
|
|
+ <link href="https://fonts.googleapis.com/css?family=Lato|Open+Sans|Montserrat:400,400i,600,700,800&display=swap" rel="stylesheet">
|
|
|
|
|
+</head>
|
|
|
|
|
+<body>
|
|
|
|
|
+ <header>
|
|
|
|
|
+ <div class="resume-title">
|
|
|
|
|
+ <h1>David Ventura</h1>
|
|
|
|
|
+ <h2>
|
|
|
|
|
+ SysAdmin, Devops & Dev
|
|
|
|
|
+ <small>Jack of all trades</small>
|
|
|
|
|
+ </h2>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <div class="personal-info">
|
|
|
|
|
+ <p>
|
|
|
|
|
+ Argentinian living in The Netherlands <br/>
|
|
|
|
|
+ <a href="mailto:davidventura27@gmail.com">davidventura27@gmail.com</a> <br/>
|
|
|
|
|
+ <a href="https://github.com/davidventura">github.com/DavidVentura</a> <br/>
|
|
|
|
|
+ </p>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </header>
|
|
|
|
|
+
|
|
|
|
|
+ <section class="experience-category">
|
|
|
|
|
+ <h2 class="experience-title">
|
|
|
|
|
+ Work Projects
|
|
|
|
|
+ </h2>
|
|
|
|
|
+ <div class="work-experience">
|
|
|
|
|
+ <h3 class="company-name">
|
|
|
|
|
+ <small>2018 - current</small>
|
|
|
|
|
+ Optiver
|
|
|
|
|
+ <small class="position">position yes</small>
|
|
|
|
|
+ </h3>
|
|
|
|
|
+ <p>
|
|
|
|
|
+ Yes, deivid pone buenas introducciones.
|
|
|
|
|
+ <ul>
|
|
|
|
|
+ <li>
|
|
|
|
|
+ Overhaul compliance related backup system (300TB+)
|
|
|
|
|
+ </li>
|
|
|
|
|
+ <li>
|
|
|
|
|
+ Deployment system for production services (11k services, 860 servers)
|
|
|
|
|
+ </li>
|
|
|
|
|
+ <li>
|
|
|
|
|
+ Linux-on-windows initiative and platform deployment to standardize the production API across the existing services
|
|
|
|
|
+ </li>
|
|
|
|
|
+ <li>
|
|
|
|
|
+ Log and event analysis to quickly detect production related incidents
|
|
|
|
|
+ </li>
|
|
|
|
|
+ <li>
|
|
|
|
|
+ Redesigned and implemented market data permissioning system
|
|
|
|
|
+ </li>
|
|
|
|
|
+ <li>
|
|
|
|
|
+ (Currently) Redesigning server deployment
|
|
|
|
|
+ </li>
|
|
|
|
|
+ </ul>
|
|
|
|
|
+ </p>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <div class="work-experience">
|
|
|
|
|
+ <h3 class="company-name">
|
|
|
|
|
+ <small>2014 - 2018</small>
|
|
|
|
|
+ Especificos Buenos Aires
|
|
|
|
|
+ <small class="position">Sysadmin - Tooling - Backend dev - Frontend dev - Embedded - Networking</small>
|
|
|
|
|
+ </h3>
|
|
|
|
|
+ <div class="company-project">
|
|
|
|
|
+ <h4>Live-streaming Platform</h4>
|
|
|
|
|
+ <p>
|
|
|
|
|
+ The objective of this project was to create a complete pipeline for live video streaming, all the way from the physical cameras in the classroom to the software used by the alumni. A few interested points covered by the project:
|
|
|
|
|
+ <ul>
|
|
|
|
|
+ <li>
|
|
|
|
|
+ Embedded linux systems for the video cameras (raspberry pi), audio mixer and slide system
|
|
|
|
|
+ </li>
|
|
|
|
|
+ <li>
|
|
|
|
|
+ Live audio mixing of remote and local speakers
|
|
|
|
|
+ </li>
|
|
|
|
|
+ <li>
|
|
|
|
|
+ Time syncing across video sources to prevent frame drift, using PTP
|
|
|
|
|
+ </li>
|
|
|
|
|
+ <li>
|
|
|
|
|
+ Slide software that allows presenter to draw on slides and alumni to ask questions to the presenter
|
|
|
|
|
+ </li>
|
|
|
|
|
+ </ul>
|
|
|
|
|
+ </p>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <div class="company-project">
|
|
|
|
|
+ <h4>Online training platform</h4>
|
|
|
|
|
+ <p>The objective of this project was to create a ‘forum’-like website to post the videos with the corresponding text material, allowing the students to communicate with each other.</p>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <div class="company-project">
|
|
|
|
|
+ <h4>
|
|
|
|
|
+ Billing System
|
|
|
|
|
+ </h4>
|
|
|
|
|
+ <p>This project manages most of the finances of the company and some extras:</p>
|
|
|
|
|
+ <ul>
|
|
|
|
|
+ <li>Billing, receipts (AFIP), shipping labels, e-commerce, stock and supplies</li>
|
|
|
|
|
+ <li>Document scanning, printint, security cameras, certificate generator and monthly reports</li>
|
|
|
|
|
+ </ul>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </div>
|
|
|
|
|
+
|
|
|
|
|
+ <div class="work-experience">
|
|
|
|
|
+ <h3 class="company-name">
|
|
|
|
|
+ <small>2014-2018</small>
|
|
|
|
|
+ Freelancing
|
|
|
|
|
+ </h3>
|
|
|
|
|
+ <div class="company-project">
|
|
|
|
|
+ <h4>
|
|
|
|
|
+ <small>2014 - 2018</small>
|
|
|
|
|
+ Streamall (netflix 'clone')
|
|
|
|
|
+ <small class="position">Sysadmin - Backend dev - Frontend dev - Tooling</small>
|
|
|
|
|
+ </h4>
|
|
|
|
|
+ <p>
|
|
|
|
|
+ In this project I designed and implemented a system that allowed hundreds of users to access thousands of long-form videos on demand, deployed on a physical cluster in a colocation with high availability and a smart caching system designed to keep 'hot' items in an SSD cache, while a massive store was on tier-3 disks.
|
|
|
|
|
+ The project included:
|
|
|
|
|
+ <ul>
|
|
|
|
|
+ <li>
|
|
|
|
|
+ Distributed transcoding of the content to a multitude of formats supported by the customer's devices.
|
|
|
|
|
+ </li>
|
|
|
|
|
+ <li>
|
|
|
|
|
+ Web-ui for the administrator to handle users, API keys and content metadata
|
|
|
|
|
+ </li>
|
|
|
|
|
+ </ul>
|
|
|
|
|
+ </p>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <div class="company-project">
|
|
|
|
|
+ <h4>
|
|
|
|
|
+ News parser (PYMNTS.com)
|
|
|
|
|
+ <small class="position">Sysadmin - Backend dev - Frontend dev - Tooling</small>
|
|
|
|
|
+ </h4>
|
|
|
|
|
+ <p>
|
|
|
|
|
+ The main purpose of this project was the automatization of data scraping from multiple news sources.
|
|
|
|
|
+ </p>
|
|
|
|
|
+ <p>
|
|
|
|
|
+ The data is gathered by polling the sources in a parallelized manner every set amount of time, validated against a set of keywords (with associated per-source weights) and stored in a database.
|
|
|
|
|
+ </p>
|
|
|
|
|
+ <p>
|
|
|
|
|
+ The sources and keywords can be managed by the users via a web interface; they also decide which matching articles are not useful and tag them as such, every month the weights and keywords get reevaluated based on ‘useless’ articles.
|
|
|
|
|
+ </p>
|
|
|
|
|
+ <p>
|
|
|
|
|
+ We also have a dashboard displaying metrics, keywords, per-source matches and per-keyword matches.
|
|
|
|
|
+ </p>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <div class="company-project">
|
|
|
|
|
+ <h4>
|
|
|
|
|
+ Multi-language interpreter to extract embedded SQL queries
|
|
|
|
|
+ </h4>
|
|
|
|
|
+ <p>
|
|
|
|
|
+ We had a lot of old applications that had embedded SQL queries and the company had to migrate from Oracle 8 to Oracle 11. To achieve that, we had to analyze ALL the embedded queries so we created an parser for VB6, VB.NET, C#, ASP.NET and Java.
|
|
|
|
|
+ </p>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </section>
|
|
|
|
|
+
|
|
|
|
|
+ <section class="experience-category">
|
|
|
|
|
+ <h2 class="experience-title">
|
|
|
|
|
+ Bonus tracks
|
|
|
|
|
+ </h2>
|
|
|
|
|
+ <p>
|
|
|
|
|
+ Some of my personal projects. You can find more at my <a href="blog.davidventura.com.ar">blog</a>
|
|
|
|
|
+ <ul>
|
|
|
|
|
+ <li>
|
|
|
|
|
+ Reverse engineered the android application to report poorly parked cars provided by the government to automate submissions of people parking in my garage
|
|
|
|
|
+ </li>
|
|
|
|
|
+ <li>
|
|
|
|
|
+ Proposed a system (and proof-of-concept) to the highway authorities to catch speeding cars in freeways/highways using OpenCV to detect the license plates
|
|
|
|
|
+ </li>
|
|
|
|
|
+ <li>
|
|
|
|
|
+ IoT projects:
|
|
|
|
|
+ <ul>
|
|
|
|
|
+ <li>Wrote a small IOT framework in MicroPython, which I use for my custom devices</li>
|
|
|
|
|
+ <li>Used said framework to control my nightlamp with my kindle, measure ambient humidity/temperature, switch TV input sources, etc.</li>
|
|
|
|
|
+ </ul>
|
|
|
|
|
+ </li>
|
|
|
|
|
+ </ul>
|
|
|
|
|
+ <li>
|
|
|
|
|
+ Currently writing a set of tools to handle my 3d-printer in better ways (emitting consistent gcode, cura plugin)
|
|
|
|
|
+ </li>
|
|
|
|
|
+ <li>
|
|
|
|
|
+ Currently writing a video pipeline to detect and flag motion detection with my home security cameras.
|
|
|
|
|
+ </li>
|
|
|
|
|
+ </p>
|
|
|
|
|
+ </section>
|
|
|
|
|
+
|
|
|
|
|
+ <section class="experience-category">
|
|
|
|
|
+ <h2 class="experience-title">Lab Experience</h2>
|
|
|
|
|
+ <p>
|
|
|
|
|
+ Along with my normal projects I maintain a 'lab' to both host my projects and learn about new or interesting tech. Some items of note in the lab:
|
|
|
|
|
+ <ul>
|
|
|
|
|
+ <li>
|
|
|
|
|
+ ARM Cluster: load-balancing LXC cluster on multiple physical ARM single-board-computers of (slightly) different architectures (armv6, AArch64) with live container migration using CRIU
|
|
|
|
|
+ </li>
|
|
|
|
|
+ <li>
|
|
|
|
|
+ Jenkins for automated tests and tricky builds (one of the projects is Android-Windows-Linux)
|
|
|
|
|
+ </li>
|
|
|
|
|
+ <li>
|
|
|
|
|
+ My physical router is fully deployed from the lab with ansible.
|
|
|
|
|
+ </li>
|
|
|
|
|
+ <li>
|
|
|
|
|
+ All containers and VMs are fully deployed with ansible
|
|
|
|
|
+ </li>
|
|
|
|
|
+ <li>
|
|
|
|
|
+ Backup system (automated ping for offline backups, daily delta and weekly snapshots uploaded to different zones, via different mechanisms)
|
|
|
|
|
+ </li>
|
|
|
|
|
+ </ul>
|
|
|
|
|
+ </p>
|
|
|
|
|
+ <p>
|
|
|
|
|
+ All of this is monitored with generic tools (telegraf, influx, grafana, email) and also hosts some generic tooling for itself (squid, apt-cacher, git, backups)
|
|
|
|
|
+ </p>
|
|
|
|
|
+ </section>
|
|
|
|
|
+
|
|
|
|
|
+ <sectiuon class="experience-category">
|
|
|
|
|
+ <h2 class="experience-title">Formal Studies</h2>
|
|
|
|
|
+ <h3>
|
|
|
|
|
+ <small>2012 - 2017 (dropped out)</small>
|
|
|
|
|
+ Computer Science at Universidad de Buenos Aires (UBA)
|
|
|
|
|
+ </h3>
|
|
|
|
|
+ </sectiuon>
|
|
|
|
|
+</body>
|
|
|
|
|
+</html>
|