
Eiríkur Hallgrímsson
- Python Network Automation Engineer
- Peoria, IL
- Member Since Jun 14, 2023
Eiríkur Hallgrímsson
Goals
Solve scientific and enterprise workflow problems via proficient rapid development in modern dynamic languages.
(Python, Ruby, Coffeescript, Javascript, etc.) Python wizard with over 20 years of experience.
Increase network and enterprise security through hardening the network and software environment.
Leverage and contribute to Free Software and Open Source technologies. Linux Expert.
Technical Experience:
· Languages: Python, NumPy, SciPy; Javascript; Ruby; CoffeeScript; Java; C. Many others.
· Operating Systems: Linux, BSD Unix variants, Macintosh, OpenVMS
· Sign-on: SAML, LDAP/OpenLDAP
· Linux: Debian , Linux Mint, Ubuntu, Red Hat RHEL, Fedora, CENTOS
· Desktop GUI design: Java/Swing, GTK+/GNOME, QT/KDE
· Custom-tailored Linux kernels for ARM, Alpha, PowerPC, Intel,
· OS configuration: filesystem layouts, packaging systems. Debian, RPM
· Version control: cvs, subversion, git, ant, Trac
· Web API Development in REST, SOAP, JSON-RPC.
· Parallel APIs: MPI, PVM (from C, Fortran, Python)
· Threading: Pthreads from C and compiled languages,, Python and Ruby threads.
· Network protocols: TCP/IP (e.g.: UDP, ARP, etc), MIDI.
· Databases: MySQL,SQLObject, SQLAlchemy, Postgres SQL, CouchDB, Redis, Mongo
· Web Frameworks: Express (ExpressJS), Django, Flask, CherryPy,
· GUI Toolkits: Java/Swing, Tk, GTK, GTK+, GLADE, GNOME, PyQt, QT/KDE, Wx
· Amazon Web Services: AWS, EC2, S3
Organizational and Human Factors
· Tech Support: Commonly work with technical customers to resolve issues.
· Leadership: Led teams of 10 people.
· Managing outsourced development: Managed teams of 4-5 in Israel and India.
Work Experience
AT&T Location Domain 4/16 – 5/17 Telecommute contract via Aricent.
Python GIS Enterprise Data Automation Engineer. Programmed automation tools to automate ETL processing of update geographic databases. AT&T receives updated map data from the states and vendors and must integrate this into their master map correctly. I replaced a complex manual process. Coded against ArcGIS, ArcMaps and ArcCatalog as well as Oracle database. Coded reconciliation of street and property parcels across these database updates. Devised optimizations using caching, hash tables and spatial join operations for working with this big data.
Synchrony Financial / GE Capital 3/15 -- 4/16. Telecommute contract via CBTS.
Python Network Automation Engineer. Programmed Enterprise Automation backend tools to connect Cisco Service Manager (CSM) ServiceNow, HPSA (Opsware), InfoBlox, Netbrain and others. Used REST and SOAP APIs to achieve the ETL goal of cross-platform synchronization. The goal is to have the network fully mapped in each of the set of HPNA, CSM, Infoblox, Netbrains and ServiceNow., and provide automation such that a change detected by one tool is propagated to the others. Designed and implemented superset representation in an Oracle DB. Overcame the data model eccentricities of each tool and its API. Each module was written in a test-first fashion with appropriate unit tests to be invoked by the PyTest framework. System-level test scripts were developed to test actual use cases.
Kwikee Systems, Peoria, IL. 10/16 – 1/17 Telecommute contract via TEKsystems.
Python Developer. Wrote a regression test component for their data exporting library, which executes from Django or as a Django manage.py command line command. Researched and selected libraries for reading and comparing XML, Excel, CSV and TSV files. Wrote a single parameterized control-flow to replace ten copies of a given code section—they had slightly different code for each customer. Worked to promote good engineering practices in this company, which has evolved from a marketing and communications firm to a service provider.
Cisco Systems 8/14—3/15 Telecommute contract via Kforce.
Open Source Licensing Consultant, Commercial & Open Source Infrastructure groupSorted through the thousands of Open Source projects that Cisco uses in their projects to inform the Cisco product developers of what they need to do to comply with the licensing terms. Wrote Python code
to automate parts of the license approval process.. This required some web-scraping and simulation of user input, in addition to coding REST clients. Used PostgreSQL and SQLite for backend persistence. Testing for this code was done with PyTest.
Veterans United Home Loans 11/14 –1/15 Telecommute contract via TEKsystems
Python Web Applications Consultant
Created web application shell for financial data scientists. New statistical tools can just be dropped into a folder and the web application finds them and creates URLs.. The shell was built on Flask (served by Tornado for performance) and PostgreSQL via SQLAlchemy. It provides Active Directory login via LDAP, hit and submit counts for each tool, and per-user access control set by an administrator. The drop-in tools use Flask's blueprint concept so that they can be dynamically loaded. Discovering and loading the tools involved Pythonic introspection to get a handle to the blueprint object, register the URL paths, and capture the module's docstring as well. Created a Common Services library that the tools can call to get services from the shell and write to the database. System-level testing was built into the application and unit tests were written with PyTest. Cross-platform troublesshooting was performed on Windows and Linux. This project was very successful. This is a great reference.
Wells Fargo 12/13 – 9/14 Telecommute contract via Insight Global
Python Security Consultant
Reimplementation of the automated security testing pipeline or gauntlet that a code change must pass through to be approved for production. Many static analysis tools needed to be automated and controlled by a third-party harness that works through Python "robots" that do all the actual work. Used PostgreSQL for primary record-keeping. Unit tests were developed using PyTest.
Hewlett-Packard 5/2013 – 11/2013 Remote. Contract via TEKsystems.
Python Consultant/Developer
Re-implemented the secure provisioning of single-sign-on administrator passwords for internal IT at HP. This is an internal add-on to HPSA, which is Opsware, which HP bought out. HPSA did not provide what they needed in terms of password provisioning. Troubleshooting of Windows domain and LDAP issues was required as part of this.
Quest Diagnostics 9/2012 – 5/2013 Remote. Contract via TEKsystems.
Python Consultant/Developer
Created a multicast address reservation system using JSON-RPC from Python. Designed the server and the command line client. Created a Server Inventory Python program to discover servers on the corporate network, connect via SSH credentials and scan the system by pushing a Python program and executing it remotely. Connectivity troubleshooting was required on Windows clients.
Motorola Open Source Technologies 12/2009 – 6/2012 Remote. Contract via TEKsystems.
Free Software/Web Application Engineer
Maintaining and extending Motorola's internal Open Source based engineering-collaboration environment. Took software development/collaboration/social networking services provided by a team in what is now Motorola-Mobility (mobile devices) and built servers to provide those services in what is now Motorola-Solutions, Inc. Supported internal versions of SourceForge, Bugzilla, Twiki, Jabber/XMPP., MotoTube (YouTube), MotoPedia (Wikipedia). Troubleshooting of Windows and Macintosh client systems was required.
The Jason Group, Butte Montana 7/2011 – 12/2011 Remote, part time.
Web Application Architect
Ported a mature 911 Call Center / Police Dispatcher application to device-independent web technology. Wrote both the client and the server in Coffeescript (Javascript). Translated the time-tested ergonomics of the original application into the browser, using the browser as a runtime environment . Coffeescript, HTML5, CSS3 and jQuery were the main technologies on the client. The server was a custom Coffeescript application using ExpressJS running on NodeJS.
Syncro Technologies, Inc 12/2010 – 2/2011, part time, good references.
Linux/Free Software Consultant
Performed debugging and redesign of a complex GUI interface for testing military realtime data communications equipment. The legacy code communicates via multiple network protocols such as SOAP and CORBA over 802.3.
Syncro Technologies, Inc 12/2010 – 2/2011, part time, good references.
Linux/Free Software Consultant
Evaluating and testing hardware drivers and the embedded Linux in a cardiac monitor. Reviewed the Free Software/Open Source license status of all modified or derived code against the client's business model.
Innovative Concepts (Elbit Systems-US), Inc 3/2009 – 6-2009 (Short Contract)
Linux and Python GUI/neworking Expert / Software Engineer
Performed debugging and redesign of a complex GUI interface for testing military realtime data communications equipment. Codebase used multiple threads and conflicting mainloops from the following graphics libraries: Tkinter, GTK+, and wxWidgets (wxWidgets with PythonCard as well). Fixed thread conflicts and namespace corruption issues.
Gallant Partners, Inc 12/2008 – 1/2009
Linux and Python Expert / Software Engineer / Temporary replacement for this firm’s CTO
Startup virtualizes trading applications and provides access over the internet. Coded a lot of network, Vmware, Ubuntu Linux and application-specific monitoring in Python/ssh with associated shell script. Developed account deployment application in Python. Stored vm instance and user data in SQLAlchemy.
Novell, Inc. Mayard, MA. Telecommuting 8/2008 – 12/2008
(Groupware division of Novell was SiteScape.com before buyout)
Linux Configuration Expert / Software Engineer
Used LSB Linus Standard Base filesystem layout, Java's JAR mechanism, and built Suse Linux RPM packages.
Novell required that the former SiteScape.com’s products be included in the Suse Linux package repository. I
Ambriel Technologies, Winchester VA, Telecommuting contract 5/2008 – 6/2008
Router Appliance GUI and control Engineer
Used Ruby on Rails for the GUI, Test First, and other agile methodologies. Ambriel lost funding and abandoned this project. Used SOAP (over port 80 for firewall compatibility) for control of remote monitoring appliances.
MTM Technologies, Inc. Stamford, CT 1/2008 - 4/2008
Linux-based TCP/IP Expert
Designed a second generation network monitoring system written in C that would place data collection appliances at customer datacenters. Used network monitoring tools such as Nagios, and the classics: WireShark/Ethereal, Nmap, NetCat, TCPdump along with 802.11 wireless monitoring tools such as AirSnort. Wrote prototype plugins in Python.
Commerce360, Inc, Plymouth Meeting, PA. July/2007 – December/2007
Senior Software Architect
Developjed data mining software using SOAP in Python and Java. Used WSDL interfaces and Apache Axis 4 (Apache 1.4 Java library for SOAP), getting data from the search marketing interfaces for Google Adwords, Yahoo Search Marketing, and MSN AdCenter.
Regression Logic, Inc. Nashua NH Feb 2005 – July 2007, Part-time
Chief Technical Officer
Developed Python-based XML-RPC and SOAP real time valuation engine for this price-verification and financial modeling web-service firm. Developed a SAAS compute server with the Numeric/Numpy and SciPy libraries. Implemented professor Marc Rubin's patented recursive multiple-regression analysis process as a web service (XML-RPC) realtime filter adding predicted prices (valuations) to consumer products for retail web sites.
DRS Digital (Frankfurt Germany, Princeton, NJ) June 2007 – July 2007
Short part time telecommuting contract to write Ruby code for a secure Ruby on Rails web application for the buyout sector of the financial services industry. Fixed a showstopper bug in the Ruby postgresSQL database adapter (Postgress 7 & Postgress 8) which prevented failover of existing connections.
SpiderOak.com April 2007 – June 2007
Telecommuting Contract Software Engineer
Coded Qt, PyQt user interface for this huge and complex online storage and backup program. Worked with Twisted as the underlying network and threading model.
Fast Search & Transfer (Google competitor) Needham, MA July 2006 – April 2007
Contract to add high-performance XML processing in Python to the Scopus (Elsevier) Scientific abstract search system. Wrote custom code to generate XML configuration files directly from customer requirement spreadsheets. Added stages to the document input pipeline to normalize data and create synthetic fields. Optimized existing Python code to run as much as possible in the underlying C runtime for maximum performance.
IBM, Telecommuting March 2006 – July 2006
Short contract to enhance disabled access to Firefox browser and GNOME/Linux.
Rapid/Agile development process based on Bugzilla, CVS and nightly builds.
Learned IBM's Linux/GNOME accessibility architecture, ATSPI, and contributed routines for speech output using Python (Linux Screen reader, LSR) from core GNOME widgets.
Photodetection Systems, Acton MA May 2005 – March 2006+
Consulting Software Engineer
Designed and implemented a touch-screen interface for this combined CAT and PET medical scanner. Wrote a custom GUI in Java/Swing to control the Analogic CAT system via the CAN industrial controller bus/network, and the PDS PET system via TCP/IP over gigabit Ethernet and CORBA.. Wrote a CAN bus driver in Core Java. Tailored a Red Hat Linux system to run the GUI on the embedded PC. Created the user interface design shown in all their literature and posters.
Interactive SuperComputing, Waltham, MA February 2005 – May 2005
Principal Software Engineer. Lead engineer for the Master Control Module of ISC's
distributed computing system which extends MATLAB to use supercomputing resources
such as massively multiprocessor systems and Linux clusters.
Work history pre-2005 available upon request.
Education:
ABD Psychology from New College of Sarasota, FL
Visiting scholar at MIT Artificial Intelligence Laboratory.
Graduate seminar in Advanced Computer Architecture (CPU) joint DEC/UC Berkeley.