Powered by Jekyll

Noe Nieto

Passionate about software

About Me

I like Software! Specially Free/Libre/Open Source Software. That’s why I’d like to define myself as a FLOSS generalist, though I can use proprietary software whenever its the right tool.

I’ve played different roles in the past: frontend, backend, sysadmin and DBA. A list with the software and skills I have used in the past is below.

  • Programming languages: Python, PHP, JavaScript, Rust, Java, C#, C, assembler for PIC and AVR microcontrolers.
  • Databases: MySQL, PostgreSQL, SQLServer, SQLite, MongoDB, ZODB.
  • OS/Sysadmin/Devops: Debian, Ubuntu, RHEL, CentOS, Fedora, Windows Server, Docker, Vagrant, Puppet, Apache, Nginx, IIS, Bash, Powershell, Supervisord, Varnish, ZC Buildout, RabbitMQ, Beanstalkd, HAProxy, AWS (EC2, S3, AWS CLI), OpenLDAP, Github Actions, Git, Subversion, Mercurial, BitBucket, Jira, Assembla, Launchpad, Redmine, proftpd, Let’s Encrypt.
  • Web: HTML, CSS, JavaScript, Jekyll, Sphinx, Wordpress, Django, NodeJS, ExpressJS, Bootstrap, Foundation, Bulma, FontAwesome, Yarn, Bower, KnockoutJS, Angular, Plone, Grok, Zope, Rocket, CakePHP, Laravel, CodeIgniter, jQuery, Drupal, ASPNET MVC, Flask, Bottle, Pyramid, XSLT.
  • Ecommerce: Django-Oscar, Django LFS, WooCommerce, Paypal, Compropago, Conekta
  • QA: Selenium, PhantomJS, React, VueJS, Python Unittest.
  • Others: Gtk+, Pygtk, PyGI, Gstreamer, Matlab, Octave, Simulink, Matplotlib, Silvaco TCAD, Devsim TCAD, Eagle, Dewetron, NGSpice, LibreOffice, BigBlueButton
  • Data: SSIS
  • Soft skills: Patient, hard worker, problem solver, teamplayer, proactive, detail oriented, high work ethic.

Finally, I have a B1/B2 visa, so I can travel to any City of the US when needed.

Experience

NNieto Consulting Services

https://www.noenieto.com

Jan 2001 - Today

This is where I have had the chance to solve my clients’ needs with a special focus on using exclusively open source technologies whenever possible. I started this as a side job during the university years but sometimes it has even has evolved to become my main source of income. Projects include websites with PHP, Wordpress, Woocommerce, Drupal, Django, administration of Linux servers, direct customer support and troubleshooting of windows and Linux workstations, installation of Ethernet LANs, analog and IP cameras, and even small electronics hardware.

Technologies used include: PHP, Python, JavaScript, C, Assembler, AWS (Mainly EC2, S3 and boto/aws-cli), Twitter API, Plone, Django, Beanstalk, RabbitMQ, Supervisord, zc.Buildout, Bootstrap, Foundation, CakePHP, jQuery, Angular.js (1.x), Drupal, Django-LFS, WooCommerce, KnockoutJS, Github Actions, Jekyll, Restructured Text, Gtk, PyGObject, Linux, Apache & Nginx, Git, Subversion and the PIC16F85 microcontroller.

Purism SPC.

https://puri.sm/

Librem One web developer

November 2018 - March 2020

During my time on Purism I worked integrating Wordpress and Woocommerce with our middleware running Django. Other small tasks and technologies included LDAP configuration, static sites with Jekyll and Zola, Continuous integration with Gitlab CI, PHPUnit, Python Virtualenv/Pipenv, Bash, Docker and Vagrant and Test Driven Development with Django.

Technologies used: PHPUnit, Wordpress, Django, Bash, Docker

Social Reality

https://srax.com/

SRAX Web Developer

November 2015 - August 2017

Working on SR was both fun a challenging. When I started, the company’s Ad exchange backend was the typical LAMP stack with a lot of legacy code on stored procedures and PHP/CodeIgniter code. Deployment process was completely manual and error prone.

My first assignment was to streamline their somehow complex onboarding process, I wrote the backend using stored procedures and tested them using PHPUnit and a MySQL server running on a ramdisk.

Their Real Time Bidding system relied on a proprietary algorithm written in C++. The developer had never worked on Linux before, so I helped him by configuring a proper sandbox server and wrote a tool that would pull the latest changes from SVN/Git, compile the code and restart the web server with a webhook or with the click of a button.

At the end of my time on SR/SRAX the new onboarding process was finished, we had already integrated several ad exchanges into our backend (a huge milestone), the team migrated from SVN to Git, we started to write tests with PHPUnit and Selenium and the developer’s development enviroment was now semi automated using a customized version of Puphpet, (code named Arale) and the whole team was already using Agile methodologies. Besides the developer role, I also enjoyed administering some of Linux servers with Puppet and staring to New Relics graphs.

Technologies used: PHP/CodeIgniter, LAMP, Linux, C++, Jira, NewRelic

Valutech Outsourcing S.A. de C.V. (now Clover Wireless)

Developer/Sysadmin

October 2013 - November 2015

This was mi first time working on a data center of a company. My main responsibilities included administration, maintenance, backup and optimization and emergency response for SQL Server databases, IIS, and Linux hosts for ftp/sftp, web and backup systems, all integrated into the company’s Active Directory server. I was in charge of monitoring all the changes pushed by the developers; Our Database load had high concurrency and I had to look for naive queries that otherwise would trash the DB server. Also since database sizes typically exceeded Terabytes, we had to be a bit extra careful for backups. Some of the SQL Servers had HA configurations like replicas and Always On. Also, I had the chance to work on internal tools using ASP .NET MVC., AWS S3, VMWare, Python and RabbitMQ.

Technologies used: SQL Server, IIS, Linux, Active Directory, IIS, Apache, MS Access, SSIS, Red Gate’s SQL Compare, SQL Backup and SQL Monitor, Redmine, DB Comparer, Heidi SQL.

HomeViva

Full stack developer

August 2011 - March 2014

At the beginning our stack was Linux (on AWS), Nginx, HTML, CSS and vanilla JavaScript with some jQuery on the frontend, Python and Grok on the backend (using ZODB, a NoSQL) until the JS code became difficult to maintain; to escape our doom we migrated to another stack: Python, Pyramid and SQL Alchemy with a good JSON API on the backend, and Angular.js 1.x on the frontend. Additionally, I managed the Linux servers on AWS.

Technologies used: JavaScript, HTML, CSS, Python, Pyramid, Linux, Angular.js, Git, subversion.

iServices de México (Now defunct)

Web/Python Dev and Linux Sysadmin

January 2009 - April 2011

I was in charge of integration/development and maintenance of their in-house LCMS systems. My activities involved system administration of the Linux servers (including scaling up for concurrency), project management development maintenance with the Plone CMS and emergency assistance in case of software failure. Key technologies included: Python, Plone/ZODB/RelStorage/PostgreSQL, HTML, CSS, JavaScript and Django.

Technologies used: HTML, CSS, JavaScript, Django. Python, Plone/ZODB/RelStorage/PostgreSQL

Honeywell Aerospace de Mexico / Honeywell MRTC

Data acquisition engineer.

May 2006 - December 2008

As a Data Acquisition Engineer I was in charge of the commissioning and operation of DA hardware and software. I became the in-house specialist for pressure, temperature, voltage, current and vibration measurements as well as video over IP and networking. I was also in charge of assuring that} our instruments were always calibrated with traceability to the NIST and always ready for use that included dealing with purchasing and supply chain departments. I successfully concluded my Six Sigma Green Belt course. Software tools included: Windows, Linux/Apache/MySQL/PHP, Python, GStreamer. DA equipment included brands like Scanivalve, Dewetron and Genesys (LDS Test and Measurement).

Technologies used: PHP, Linux, Apache, MySQL, Python

Gameloft (Mexicali)

Multiplayer programmer

February ~ March 2016

I implemented tested and deployed modifications of the multiplayer server and multiplayer API used in networked games for mobile phones. I also worked on adding support for specific models of cellphones by the different game titles published by Gameloft.

Technologies used: C++, Apache, Linux, Android

Centro de ingenieria – Instituto Nacional de Astrofísica Óptica y Electrónica

Internship - Embedded systems laboratory assistant

October 2013 - November 2015

Kalman filter (a corrective/predictive filter) simulator as internship project using a dll compiled from Matlab. Other tools were C and Assembler for the Atmel microcontrollers. I also played a lot with Simulink.

Technologies used: C, Assembler, Matlab, Simulink.

Education

Google Summer of Code

https://summerofcode.withgoogle.com/archive/2018/projects/6310236080046080/

Enable DEVSIM to simulate solar cells

May - August, 2018

DEVSIM is a TCAD (Technology Computer Aided Design) semiconductor device simulation software. TCAD tools are special simulation software that can simulate the fabrication process of semiconductors as well as their operation. The objective of this work was to add the necessary improvements to DEVSIM so it can simulate solar cells.

M.Eng. UABC, Instituo de Ingeniería

2016-2018

Thesis title: ESTUDIO POR SIMULACIÓN DE LOS EFECTOS DE DISEÑO EN CELDAS SOLARES SEMICONDUCTORAS. I used Silvaco’s TCAD software simulate the fabrication solar cells using Crystaline Silicon as substrate with Boron and Phosphorus as dopants using diffusion or ion implantation. Besides earning my degree, I used this knowledge to work on 2018 edition of Google’s Summer of Code with the project “Enable DEVSIM to simulate solar cells

International SCRUM Institute (May 2015).

May 2015

Three day intensive course for the role of SCRUM Master. After training I passed the accreditation exam on May 29. My Authorized Certification ID is 79778815187513. The Certificate validity period is lifetime. You can use the ISI’s website to verify the certificate.

Instituto Tecnológico de Puebla

2000 - 2005

My Thesis “Sistema de Vigilancia con video sobre TCP/IP” demostrates the possibility of building surveillance systems by using only Free/Libre/Open Source Software (i.e Linux, Python, Supervisord and Gstreamer). I also installed a 8-node cluster in the parallel computing research laboratory of the Instituto Tecnologico de Puebla as social service using Linux, and the MPI/BLAS/Lapack stack.

Universidad Popular Autónoma del Estado de Puebl

1997 - 2000

This is when I learn the basics of algorithms, C, Basic and Pascal to finally earn a Computer Programmer Technician diploma.

My Freelancing work

Holokinesis Libros (HKL)

https://www.holokinesislibros.com

Ecommerce for Holokinesis Libros, a small book publishing company.

We started around March 2010 with a Plone 4.x site, which included a custom theme with some custom content types using Dexterity and Products.PloneGetPaid, which was still alive then. After several shortcommings with Plone, we migrated to Django and DjangoLFS and I created some plugins to make it usable for selling digital downloads. But DjangoLFS is showing its age and we are already working on migrating the site to Woocommerce.

Centro de Psiquiatría y Psicología Holokinética (CPH). This is Hkl's sister gig

https://www.holokineticpsychology.org/

Sites for the International Academy of Holokinetic Psychology (AIPH)

The AIPH is based in Mexicali, Baja California, Mexico. It is a non-profit organization that promotes Holokinetic Psychology and Unitary Perception. We have around 10 sites with different applications, including Wordpress, Drupal, Moodle and static HTML.

A Mexican Startup based in Mexico City.

Venddo analyzes the information in social networks to identify profiles of potential customers with the help of Python, SQLAlchemy and the twitter API.

Libroweb - AlfaOmega Grupo editor

Plone-Based e-learning platform

AlfaOmega is one of the biggest publishers of technical books in Latin America. They have offices in Mexico City, Colombia, Argentina and Spain. I helped them to port their e-learning platform from Plone 3 to Plone 4. We also arranged trainning courses for their in-site Plone developers. This projet went from March 2011 until May 2012. Website: http://libroweb.alfaomega.com.mx/

Universidad Pedagógica Nacional

http://www.upn.mx/

Unfortunately, they decided to move one of their sites from Plone to a proprietary system. I helped them to migrate their data.

October 2011. Based on Oaxaca, Mexico, Ready2Fill develops business solutions with free software. I developed a Python training course for their team of engineers so they could start developing their solutions with Django and Python.

Design agency from San Luis Potosí, México

I developed a portfolio gallery with CakePHP, jQuery & jQueryTools.

Instituto Tecnológico de Oaxaca

X Jornada Académica, Social y Deportiva 2012 - Nov. 12th-16th

20 hour python course for students of Software Engineering.

Instituto Tecnológico de Puebla

Seminario de Aplicaciones de las Tecnologías de la Información y Comunicaciones - Sept. 3rd-7th

  • Speaker. One 45 minute talk about basic multimedia applications with GStreamer. * Trainner. Five-hour Python course for newcomers. Attendants included students and teachers of the IT Academia.

Personal interests

I’m a Holokinetic Psychology Instructor, I like Dogs and on my spare time I do some Welding.