C Developer in Warsaw, Poland
Senior Devops Engineer2014 - 2014Technicolor Virdata
Technologies: AWS, S3, Ubuntu Linux, OpenStack, Django, Chef, Python, Ruby, Cassandra, MongoDB, Kafka, ZooKeeper, Monit, Ganglia
- Built orchestration as a component in OpenStack, written in Python with Django. Connected to many servers at once over SSH to control their boot processes.
- Maintained Chef recipes describing the platform, including writing, refactoring, and release management.
- Devised a release process and Git branching model for the group.
- Built and managed a work network, including Linux-based firewall with dual simultaneous uplinks to separate providers.
- Managed Monit installation and distributed monitoring setup.
Sysadmin, Senior Sysadmin, IT Architect2000 - 2013Cisco
- Supported users on 2000+ Solaris workstations worldwide, including creating a variety of tools in shell scripting languages for administration.
- Built an internal virtualization platform based on Cisco UCS servers, SAN, and VMWare.
- Created a cross-platform web-based firewall-piercing remote desktop solution based on VMWare and VNC. Developed the first iteration in Perl and the second in Node.js.
- Built a VNC session manager in Perl that connected to servers over SSH and created virtual desktops with a choice of desktop environment.
- Built an embedded Linux thin client image allowing cheap PCs with no fans to be used as terminals upon insertion of a USB dongle.
- Co-wrote a web app allowing concurrent multi-user editing of notes and metadata, based on ShareJS, jQuery, and HTML5/CSS. Extended ShareJS to enable presence notifications.
- Built tools and an API in CoffeeScript with Promises/A to data-mine a Lithium social platform over REST in a highly parallel manner.
- Hackathon entry (Development)https://github.com/wmertens/MojeZdrowie
This project was a winning entry in the ConnectMedica Hackathon one-day in November 2014, built over the course of one day. It uses Node.js, CoffeeScript, and Promises (Q framework).
It screen-scrapes a government site for addresses and presents the data together with separately retrieved GPS coordinates over a simple REST API.
- Nix language syntax highlighting (Development)https://github.com/wmertens/sublime-nix/blob/master/nix.YAML-tmLanguage
This is a regex-based syntax highlighter that highlights and marks errors in the Nix language (http://nixos.org/nix).
It is interesting because regex-based parsers normally only mark single words or operators and cannot enforce a chain of multiple matches.
Here, nesting is used together with look-forward end conditions to enforce chained matches.
- libvirt patch (Development)https://github.com/hooklift/node-libvirt/commit/a3117f1c8b3059205d76f7738b9f1e5595db005c
This C++ patch enables authentication by connecting to virtualization servers.
Libraries/APIsReact, Should.js, jQuery, Q Promises, Backbone.js
ToolsVMware, Nginx, Apache, Mocha, Chef, KVM/Qemu
PlatformsMacOS, WordPress, Red Hat Linux, Ubuntu, Linux, Amazon Web Services (AWS), Docker, OpenStack, Xen, SoftLayer
OtherVMware ESXi, HAProxy, Regular Expressions, NixOS, System Architecture, Unix/Linux Virtualization, WebSockets
FrameworksAngularJS, Ember.js, Ruby on Rails (RoR), Django
ParadigmsTest-driven Development (TDD), Concurrent Programming, Agile Software Development, Functional Programming
StorageRedis, MongoDB, PostgreSQL, MySQL, Memcached
- Master's degree in Computer Architecture1994 - 2000Ghent University - Ghent, Belgium