Resume of Gábor Szabó
https://szabgab.com/

Personal Information

Name: Gábor Szabó
Born: Budapest, Hungary
Address: Modiin, Israel
Phone: +972-(0)54-4624648
E-mail: gabor@szabgab.com
LinkedIN: https://www.linkedin.com/in/szabgab
 

Work Experience

2018-present Guest Lecturer at Weizmann Institute of Science

  • Before I started to teach students in 2018 I taught several courses to the researchers and the internal system team.
  • Every semester there is 1, sometimes 2 sessions of the "Programming Bootcamp for Scientists" course
  • At first if was a 5-days long 8 hours a day intensive session before the semester.
  • During COVID I recorded the whole content of the Programming Bootcamp for Scientists
  • Since then the course is back in the class-room. This time 5 half-days before the semester and 5 half-days in the first 5 weeks of the semester.
 
1998-present Independent DevOps Engineer, Developer, and Trainer

Some of the services provided by Gabor
  • Introducing Unit~, Integration~, and Acceptance testing.
  • Introcuding best practices for Version Control Systems.
  • Developing and introducing test automation frameworks.
  • Setting up Continuous Integration using Jenkins, Travis-CI, Bamboo, Bitbucket Pipelines, or a set of in-house tools.
  • Setting up Continuous Delivery and Continuous Deployment.
  • Converting teams to use Virtualization (Docker, Vagrant+VirtualBox).
  • Implementing Continuous Learning practices.
  • Introducing Pair programming.
  • Handling cloud infrastructure (Google, Amazon, Linode, Digital Ocean).
Some of the Contract Works I've Done
  • Moving several systems from Amazon AWS to Google GCP. Creating a labeling system for entities in GCP for a cost reporting system. Helping to reduce cloud expenses. Resizing Elasticseach clusters. Convertiung a build and testing system from TeamCity to Jenkins using a mix of Groovy, Bash, and Python. Building a Python Flask based reporting system for data in PostgreSQL, Elasticsearch, and Solr systems.
  • Implementing and in-house agent-less CI system for a company that uss various small boards (eg. Firefly, Artik, and some Android based devices). Building a CI and release system.
  • Implementing the API of 3rd party services in order to make it easier to test an application using that API. To test how to application behaves when the 3rd party application fails. When it response slower than expected. When it returns "out of quota" errors. etc.
  • Installing Jenkins as in-house Continuous Integration system. Introducing unit-testing in Python.
  • An in-house web-application to provide tools for the engineers to compare images. I used the Perl Dancer framework while the data was kept in PostgreSQL. The front-end was using Bootstrap and JQuery.
  • An application aggregating data about mobile applications from the Apple Appstore, Google Play, and various vendors that provide information about those applications. The data was provided in various formats, including CSV, XML, and JSON based feeds and APIs. The collected data was stored in a MySQL database and served via our own JSON based API and using JavaScript snippets. When I arrived and initial version of the application worked collecting data from one source and using CGI to serve the data. I've converted it to PSGI and created the system that was able to accommodate data from various sources in various formats. I used Perl Moo for OOP. Later we converted the application to Python and Django.
  • An application to be used on Amazon Mechanical Turk. This was JavaScript based using JSON files for data storage without any additional back-end.
  • An in-house application generating Excel reports from data in a PostgreSQL database to provide Business Intelligence. This project was built using Perl
  • A workflow management application to control the whole workflow of an in-house image processing and analysis system. This was implemented in Perl handling a number of data formats (CSV, XML), connecting to web-based APIs via HTTP and to a PostgreSQL database.
  • Refactored a code-base used for in-house test-automation that when I arrived had about 4,000,000 lines of Perl code.
  • Lots of log and database analysis code to provide data for Munin-based monitoring system. Mostly Perl with some Python.
  • Took over the maintenance and further development of an event-based application written in Perl. The application was monitoring the file system for Excel files uploaded by the users. Then it analyzed and converted the Excel files to XML files that needed to be injected in a Java-based application. The results were then received in XML format and had to be converted back to Excel. The queues were using an SQLite database.

Main areas of contracting works:
  • In-house process automation
  • Introducing test automation systems
  • Configuration Management and Build Automation - setting up customized Continuous Integration systems
  • In-house Web Applications
  • Data processing
  • Refactoring large code bases
Main areas of training provided:
  • Beginner and Advanced level of Python programming
  • Beginner and Advanced level of Perl programming
  • Test Automation using Python or Perl
  • Unix/Linux for power users (using the Linux shell)
  • Bash programming
  • Version control with Subversion
  • Version control with Git
  • Mobile application development using HTML5/CSS3/JavaScript and PhoneGap
  • Introduction to MongoDB
Some of the customers I had during the years:
  • Actelis
  • Aladdin Knowledge Systems
  • Amdocs
  • Apply Tech - Perl development
  • Assa Abloy (Rav Bariach)
  • Bezeq International
  • BGU/Deutsche Telekom (Israel)
  • Breach
  • Brodmann17
  • Cellex
  • CEVA DSP
  • Cisco
  • Checkpoint
  • Deutsche Telekom (Germany)
  • DNV Norway
  • Evogene
  • ExLibris
  • Forescout
  • Harmonic systems
  • iCarbonX
  • Inomize
  • Intel
  • Iskoot (later Qualcomm)
  • Jovial
  • LSI
  • Mercury Interactive
  • Migdal Insurance
  • MyThings
  • NDS (later Cisco)
  • Norwegian Meteorological Inst
  • Orange (Partner Ltd.)
  • Orpak
  • Perfecto Mobile
  • Qualcomm
  • Radware
  • Sandvine
  • SAP
  • Screenovate
  • SeaBridge Networks - A Siemens company
  • Sheer Networks (later Cisco)
  • Superfish
  • Twiggle
  • Verint
  • Weizmann Institute of Science
  • Zoran
 
1998-present Personal Projects and Involvement in the Open Source Community

Books

Blogs: Open source projects, code contributions:
  • My GitHub account github.com/szabgab contains quite a few other projects.
  • pydigger.com analyzing Python packages. It is written using Python Flask
  • tracert.com, a web site that provides lots of resources for network administrators. (currently not working)
  • dwimperl.com a Perl distribution to make it easy for people to get started using Perl on Windows and to make it easy to deploy Perl-based application on Linux servers.
  • Padre, the Perl IDE. (padre.perlide.org). An IDE written in Perl 5 with special features for developing Perl 5 and Perl 6 scripts and applications. Initiating and leading the project. Attracting more than 50 contributors. (2008-)
  • Developer and maintainer of the Perl Community AdServer ( pcas.szabgab.com ) (2007-)
  • Developer and maintainer of the CPAN::Forum ( http://cpanforum.com/ ) (2004-2014)
  • Several Perl modules on CPAN, the Comprehensive Perl Archive Network. (metacpan.org/author/SZABGAB) (2001-)
  • Participation in several open source projects including metacpan.org. Mostly writing unit tests and refactoring code.
  • cpan.perlmaven.com a JavaScript (actually JQuery) based interface to the JSON API provided by MetaCPAN. (early stage development)
Conference organization, presentations:
  • Talks, presentations at several Israeli and international conferences such as YAPC in Europe and in the USA, German Perl Workshop, Nordic Perl Workshop, Belgian Perl Workshop, LinuxTag Berlin, FOSDEM (fosdem.org), GoLinux (Israel), August Penguin (Israel) (ap.hamakor.org.il), PyCon (Israel) (pycon.hamakor.org.il/2016/
  • Leader of the Israeli Perl Mongers (Users Group) perl.org.il/
  • Organizer at the Rehovot Perl Mongers (Users Group) rehovot.pm.org
  • Organizing 4 Perl Conferences in Israel perl.org.il/YAPC/
  • Organizing the Open Source Developer Conference in Israel osdc.org.il/
  • Help organizing Perl conferences in Hungary
  • Participating on lots of mailing lists and IRC channels
Awards:
  • White Camel Award for contributing to the international Perl community (2008).
  • HaMakor prize for contributing to the Israeli Open Source and Free software community. (2009)
Personal projects (closed source)
  • Traceroute and Speed-Meter Gateway system for monitoring performance of web sites and helping resolve technical problems on the Internet. In the best times there were more than 50 measurement points installed worldwide. (Not available anymore)
  • Development of a distributed database of Internet Service Providers called EUISP with 6 mirrored sites of the site in 6 countries: USA, Australia, Spain, Finland, Hungary and Israel. (Not available anymore).
  • Hypolit, an automated, multi-server, add-based free web hosting site. (Not available anymore)
 
5-9/2000 Infrastructure Manager at Goldnames
  • Setup and administration of the internal infrastructure of the company's computer systems with 60 Win2000 clients, 2 NT 4.0, 10 Linux and a SUN server. Rebuilding the Intranet and improving security.
  • Setup and monitoring 3 versions of the website at various complexity levels: small and static; multilingual with 7 languages on a dedicated server; two-tire system with Linux web and application server (JSP with Jakarta) and Oracle database on SUN/Solaris.
  • Development and maintenance of a system to hold 35.000 domain names and related websites, increasing the daily hit rate by 50% within one week.
  • Development of various tools for fast website development including and editor for the 35.000 domain names. This provided the company's business team with the capacity to independently make rapid changes to the splash pages.
  • Providing various statistics on the performance of the companies different websites.
  • Introducing automatization in several parts of the development.
  • Training employees and teaching web programming languages (HTML, CGI, Perl, PHP).
 
1997-1998 Application and Integration Engineer at Phasecom Ltd. (later Vyyo)
  • Evaluating third party technology in order to include them in the networking side of the product.
  • Writing Application Notes for the different systems.
  • Training the Marketing and the Support team of those implementations. Working with switches, routers, VPN Data Encryption (RedCreek, VPNet) and Quality Of Service (Packeteer, BandWiz, Allot) devices. Accounting information, SNMP managers.
  • Designing and developing an asynchronous, telco return system for Phasecoms' cable modem system.

 
1996-1997 System engineer at AgentSoft
  • Design, setup and maintenance of the companies computer infrastructure from scratch.
  • Installation WinNT 4.0 domain based network with Win95 clients. Adding UNIX and Macintosh to the system for portability testing.
  • Evaluating and setup of version control system and bug tracking system.
 
1994-1996 Developer and System administrator at Netmanage in Jerusalem
  • Development: Worked on hypertext (SGML) creation, compilation and viewing system. Wrote part of a compiler to translate between two markup languages.
  • Worked on the development of a file mirroring software based on FTP written in C++, part of the Chameleon suite.
  • Created several internally used interactive Web-pages using shell scripts and Perl. (used C, Object Oriented LISP, AWK, VB)
  • System administration: Lead the transition from a badly designed Novell network to an NT domain cross-connected with other offices worldwide.
  • The administrated local network was composed of several Intranet servers and more than 50 PCs each of them configured for three operating systems. Installation of Intranet.
  • Automatization (build and bug tracking system): Implemented some major improvements to automate the time consuming tasks of the distributed build system and to improve the working environment of the engineers. Improved the common bug tracking system (DDTS now ClearCase) and the common version control system (PVCS) used by the company.
 
1993-1994 Project at the R&D center of Digital in Jerusalem, writing scripts in C--
 
1991-1992 Translations from Hebrew for the Hungarian Television.
 

Education

1997 MBA in Finance and Information Systems (IS) at The Hebrew University of Jerusalem.
1993 BSc. in Computer Sciences and Business Administration at The Hebrew University of Jerusalem.
 

Languages

Hungarian (mother tongue), Hebrew (fluent), English (very good). Spanish (intermediate)