And Israeli Perl expert, living and working in Tokyo.
Human Languages: Fluent in English, native Hebrew, working Japanese.
Computer languages: Perl, C/C++, PHP, jQuery.
Work history:
Movable Type core developer, Six Apart, Tokyo Japan (since 2011)
Full Stack Developer
The work is mainly in Perl, but also used the following technologies, in the order of frequency: HTML, JS/jQuery, MySQL, PHP, Apache (as CGI and fast-cgi), and Plack / Starman.
Developed a website (Movable Type Plugin directory)
The site let developers register their own MT plugins, Uses OAuth2 to authenticate Github users, read user information and access files on Github. Wrote all the JS/jQuery that powers the site. Took the site, as a single developer, from specs to launch.
Worked with Net::OAuth2’s maintainer to fix bugs and add features to the module.
Wrote and published WWW::Github::Files for easy access to files on Github.
Optimizing Movable Type:
Profiled Movable Type to find slow points.
Analyzed MySQL queries, using MySQL logging and the ‘explain’ command to better
understand slow queries and find ways to improve them. (such as add/change indexes, or using a different query)
Rewrote the Template Compiler
The rewrite was done first in Perl, to benefit hosts that can not use C modules, and later in C.
The original compiler algorithm was O(N^2), doing multiple passes on various parts of the input, and the new one was O(N).
Security Reviews
In 2011 a website that operated on MT was hacked, and all the team worked six months to find and fix any additional security holes.
When finding one, we had to write a explosite to prove that this is really a problem.
Types of security bugs that were found: Non-existing or buggy permission check, parameter injection, problems with authentication, trusting user input, upgrade process vulnerability, evaling uncleaned user input, XSS and more.
Wrote my own Plugins, for myself and for the MT community
Multi Language Site - for easily creating website in several languages, with changes tracking between the languages
Entry File Drop - A popular one, enabling drag-n-drop of files into blog post
Linkedin Login - Enable login using LinkedIn account. (using OAuth v1.0A)
C++ / Perl-XS specialist contractor at Plixer international (remote work, 2011)
Implementing data collection and reporting engine in C++, and connected it to their existing Perl application using Perl-XS layer.
The engine used three balanced trees to store the data, and traversed them simultaneity to produce reports.
Test Automation Engineer, Qualcomm, Israel (2006 ~ 2010)
Writing Perl Framework and scripts to automate testing of mobile devices.
Used and controlled (from the scripts) wide array of external devices, such as relay boxes, RF simulators / manipulators / switches, mechanical movement testers and more.
Education
B.sc. in Electrical Engineering, Technion university, Israel
Graduated at year 2000, cum-laude.