|
|
@@ -19,10 +19,22 @@
|
|
|
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/>
|
|
|
+ <a href="https://gitlab.com/davidventura">gitlab.com/DavidVentura</a> <br/>
|
|
|
+ <a href="https://blog.davidventura.com.ar">blog</a> <br/>
|
|
|
</p>
|
|
|
</div>
|
|
|
</header>
|
|
|
|
|
|
+ <section class="experience-category">
|
|
|
+ <h2 class="experience-title">
|
|
|
+ Summary
|
|
|
+ </h2>
|
|
|
+ <div class="work-experience">
|
|
|
+ Problem solver that spent the last 9 years mainly focusing on linux, automation and tooling, but also had <b>problems</b>
|
|
|
+ push me through full-stack web development, distributed systems, database administration, mobile, networking and embedded systems.
|
|
|
+ </div>
|
|
|
+ </section>
|
|
|
+
|
|
|
<section class="experience-category">
|
|
|
<h2 class="experience-title">
|
|
|
Work Projects
|
|
|
@@ -34,28 +46,31 @@
|
|
|
<small class="position">Sysadmin - Tooling developer</small>
|
|
|
</h3>
|
|
|
<p>
|
|
|
- Enforced operational commitments from development teams to bring down application errors to monitorable state.
|
|
|
+ Responsible for production systems' behavior as well as keeping the design of new systems within our standards.
|
|
|
<ul>
|
|
|
<li>
|
|
|
- Overhaul compliance related backup system (300TB+)
|
|
|
+ Established operational commitments for development teams to bring down application errors to monitorable state.
|
|
|
</li>
|
|
|
<li>
|
|
|
- Deployment system for production services (11k services, 860 servers)
|
|
|
+ Mentored colleagues, healping them transition from an old-school sysadmin position to a tooling development position
|
|
|
</li>
|
|
|
<li>
|
|
|
- Linux-on-windows initiative and platform deployment to standardize the production API across the existing services
|
|
|
+ Overhaul compliance related backup system (300TB+)
|
|
|
</li>
|
|
|
<li>
|
|
|
- Log and event analysis to quickly detect production related incidents
|
|
|
+ Deployment system for production services (11k services, 860 servers)
|
|
|
</li>
|
|
|
<li>
|
|
|
- Redesigned and implemented market data permissioning system
|
|
|
+ Linux-on-windows initiative and platform deployment to standardize the production os-level API across the existing services
|
|
|
</li>
|
|
|
<li>
|
|
|
- (Currently) Redesigning server deployment
|
|
|
+ Analysis of logs and events, to quickly detect production related incidents
|
|
|
</li>
|
|
|
<li>
|
|
|
- Mentored colleagues, healping them transition from an old-school sysadmin position to a tooling development position
|
|
|
+ Redesigned and fully automated physical server deployment
|
|
|
+ </li>
|
|
|
+ <li>
|
|
|
+ Redesigned and implemented market data permissioning system
|
|
|
</li>
|
|
|
</ul>
|
|
|
</p>
|
|
|
@@ -67,15 +82,18 @@
|
|
|
<small class="position">Sysadmin - Tooling - Backend dev - Frontend dev - Embedded - Networking</small>
|
|
|
</h3>
|
|
|
<div class="company-project">
|
|
|
+ <p>
|
|
|
+ Responsible for interfacing directly with end users and designing the video streaming and e-learning platforms end-to-end, encompassing a very broad set of technologies.
|
|
|
+ </p>
|
|
|
<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:
|
|
|
+ The objective of this project was to create a pipeline for live video streaming, all the way from the physical cameras in the classroom to the software used by the alumni. A few key points covered by the project:
|
|
|
<ul>
|
|
|
<li>
|
|
|
- Embedded linux systems for the video cameras (raspberry pi), audio mixer and slide system
|
|
|
+ Embedded linux systems for the video cameras (running on on-prem raspberry pi), audio mixer and slide system
|
|
|
</li>
|
|
|
<li>
|
|
|
- Live audio mixing of remote and local speakers
|
|
|
+ Live audio conferences to allow local and remote speakers to presnet together
|
|
|
</li>
|
|
|
<li>
|
|
|
Time syncing across video sources to prevent frame drift, using PTP
|
|
|
@@ -94,10 +112,10 @@
|
|
|
<h4>
|
|
|
Billing System
|
|
|
</h4>
|
|
|
- <p>This project manages most of the finances of the company and some extras:</p>
|
|
|
+ <p>The scope of this project was to manage most of the company's finances:</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>
|
|
|
+ <li>Billing, invoices (AFIP), shipping labels, e-commerce, local stock and supplier stock</li>
|
|
|
+ <li>Document scanning and printing</li>
|
|
|
</ul>
|
|
|
</div>
|
|
|
</div>
|
|
|
@@ -110,7 +128,7 @@
|
|
|
<div class="company-project">
|
|
|
<h4>
|
|
|
Streamall (netflix 'clone')
|
|
|
- <small class="position">Sysadmin - Backend dev - Frontend dev - Tooling</small>
|
|
|
+ <small class="position">Sysadmin - Backend dev - Frontend dev - Tooling - Distributed systems</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.
|
|
|
@@ -155,72 +173,70 @@
|
|
|
</section>
|
|
|
|
|
|
<section class="experience-category">
|
|
|
- <h2 class="experience-title">
|
|
|
- Bonus tracks
|
|
|
- </h2>
|
|
|
- <div class="bonus-track">
|
|
|
+ <h2 class="experience-title">Lab Experience</h2>
|
|
|
+ <div class="lab-experience">
|
|
|
<p>
|
|
|
- Some of my personal projects. You can find more at my <a href="blog.davidventura.com.ar">blog</a>
|
|
|
+ I maintain a 'lab' to both host my personal projects and learn about new or interesting tech. Some items of note in the lab:
|
|
|
<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
|
|
|
+ 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>
|
|
|
- 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
|
|
|
+ Jenkins for automated tests and tricky builds (one of the projects is Android-Windows-Linux)
|
|
|
+ </li>
|
|
|
+ <li>
|
|
|
+ My physical router (running Debian) is fully deployed from the lab with ansible.
|
|
|
+ </li>
|
|
|
+ <li>
|
|
|
+ All containers and VMs are fully deployed with ansible.
|
|
|
</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>
|
|
|
+ Backup system (automated ping for offline backups, daily delta and weekly snapshots uploaded to different zones, via different mechanisms)
|
|
|
</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>
|
|
|
+ <p>
|
|
|
+ All of this is monitored with industry-standard tools (telegraf, influx, grafana, email) and also hosts some standard tooling for itself (squid, apt-cacher, git, vpn, proxies, reverse-proxies)
|
|
|
</p>
|
|
|
</div>
|
|
|
</section>
|
|
|
|
|
|
<section class="experience-category">
|
|
|
- <h2 class="experience-title">Lab Experience</h2>
|
|
|
- <div class="lab-experience">
|
|
|
+ <h2 class="experience-title">
|
|
|
+ Bonus tracks
|
|
|
+ </h2>
|
|
|
+ <div class="bonus-track">
|
|
|
<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:
|
|
|
+ Some of my personal projects. You can find more on my <a href="blog.davidventura.com.ar">blog</a>
|
|
|
<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
|
|
|
+ Automated book downloading pipeline, fetches, re-formats and pushes books to my kindle.
|
|
|
</li>
|
|
|
<li>
|
|
|
- Jenkins for automated tests and tricky builds (one of the projects is Android-Windows-Linux)
|
|
|
+ Wrote a small IOT framework in MicroPython, which I use for my custom devices (all based on esp8266)
|
|
|
+ <ul>
|
|
|
+ <li>Control my nightlamp with my kindle (shuts it off when I fall asleep)</li>
|
|
|
+ <li>Measure ambient humidity/temperature (and plot it in grafana)</li>
|
|
|
+ <li>Poor-man's CEC control for my tv to switch input sources automatically</li>
|
|
|
+ <li>Control temperature of ambient lighting (warms up over the course of the day)</li>
|
|
|
+ </ul>
|
|
|
</li>
|
|
|
<li>
|
|
|
- My physical router is fully deployed from the lab with ansible.
|
|
|
+ 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>
|
|
|
- All containers and VMs are fully deployed with ansible
|
|
|
+ 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>
|
|
|
- Backup system (automated ping for offline backups, daily delta and weekly snapshots uploaded to different zones, via different mechanisms)
|
|
|
+ Currently writing a set of tools to handle my 3d-printer in better ways (emitting gcode at consistent frequency, cura plugin)
|
|
|
+ </li>
|
|
|
+ <li>
|
|
|
+ Currently writing a video pipeline to detect and flag motion detection with my home security cameras.
|
|
|
</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>
|
|
|
</div>
|
|
|
</section>
|
|
|
|
|
|
- <section class="experience-category">
|
|
|
- <h2 class="experience-title">Formal Studies</h2>
|
|
|
- <h4>
|
|
|
- <small>2012 - 2017 (dropped out)</small>
|
|
|
- Computer Science at Universidad de Buenos Aires (UBA)
|
|
|
- </h4>
|
|
|
- </section>
|
|
|
</body>
|
|
|
-</html>
|
|
|
+</html>
|