Shlomi Fish’s Résumé

Shlomi Fish
4 Hakim Eliyahu St.
Tel Aviv, 69120
Phone Number: 03-6424668
Cell Phone: 054-6232377
Fax Number: 03-6414319
E-mail Address:
Home Page:
Instant Messaging: XMPP/Jabber/Google Chat - ; MSN - ; ICQ - #207733823; AIM - ShlomiFish


I am a professional software developer, specialising in writing algorithmic code, text and XML processing, web publishing, and game-related code. I am a hobbyist (but not amateuristic) writer of essays, technical articles, fiction, and humour.

As a software developer, I have read a lot of online and offline literature about software design methodology and software management, and try to form my own coherent best practices based on all that. As a programmer, I try to tread on the fine line between modularity (DRY) and making sure the code is not overly clever and hard to read (KISS).


1997 - 2004
The Technion
B.Sc. in Electrical Engineering (Proper)
Average: 84.6% (Cum Laude)
1991-1995Gymnasia Ivrit “Herzlia”
Major Subjects: Mathematics, English, Physics and Arabic


Software Development

2002-PresentContribution to large-scale open source projects (GIMP, Subversion, KDE and perl).
Code contribution to the Subversion version control system; large-scale code contribution to the GIMP image manipulation program; contribution of documentation and external modules to the Perl programming language.
2004-PresentContributions to CPAN
Originated and/or maintained over a 100 CPAN (= “Comprehensive Perl Archive Network”) Packages.
2008-PresentPackaging and QA work for Mandriva Linux and Mageia Linux.
Contributed to Linux distributions.


Freecell Solver
Chief Developer

A C program and library that automatically solves games of Freecell and similar variants of card solitaire.

December 2011 - June 2012

Ron Soferman Image Processing
Software Developer

Development using Python, Linux, Windows, OpenCV, and Amazon Web Services.

July 2010 - January 2011
“Enlightened Perl” Developer

Development of a web application based on Perl 5 , Catalyst, DBIx-Class and similar technologies. Wrote automated tests, implemented features and fixed bugs. Team work using Internet communication.

2008 (for 4 months) (Part of Emblaze)
Linux C++/Server Developer

Porting a C++ server application from Win32 to Linux.

Worked on a server for push-E-mail (to cellphones), which needed porting from Win32 to Linux. Technologies used were: gcc/g++, vim, libcurl, GNU make, Ubuntu Linux, Perl and others.

2007 (for 3 months)

Tehuti Networks
Linux Kernel Developer and Tester

Linux kernel development and QA engineering for a 10 Gbps Ethernet card that Tehuti develops. Specialised in testing the card under VMware ESX and Xen Enterprise. Coded using Perl and ANSI C.

January 1997 - October 1997

Smart Link Ltd.
Programmer and Tester

Testing a software-based modem (Modio), Windows 95 Programming. Manual testing of a soft-modem. Writing test procedures. Programming various utilities in Visual C++, MFC, and Perl.

April 1996 - October 1996

Cortext Inc.
Programmer, WWW Site Maintainer, Limited UNIX Maintenance

HTML composition, CGI programming, TCP/IP client/server programs.

Worked with Perl 5, various UNIX flavours (FreeBSD, IRIX, SunOS 4.1.3), and several Windows 95 workstations. Did web development using HTML, Perl and UNIX.

June 1995 - March 1996

Elpas Electro-optic Systems, Ltd.
Chief Programmer of EIRIS (Elpas Infra-Red Identification System)

Databases, client/server programs (with NetDDE), English/Hebrew MS-Windows GUI

Programmed using C and C++ on Windows 3.11. Experienced with networking, SQL, databases, ODBC, NetDDE, Borland C++ 4.5 and MSDN.

Fields of Expertise

Programming Languages:

C (since 1992, active use and good knowledge), Perl (since 1996, active use and excellent knowledge), C++ (since 1992, a lot of experience but incomplete knowledge), Bourne Shell/Bash (since 1996, good knowledge and good mastery), Python (since about 2002 - good knowledge but incomplete experience), JavaScript (since 1996 - not a lot of experience)

Studied out of interest: Basic, Object Pascal, Scheme, Matlab, Common Lisp, Haskell, Prolog.

Functional Knowledge: Java, Ruby, Lua, PHP.

Operating Systems:UNIX (Linux, FreeBSD, others), Windows 95/98, Windows 3.11, DOS, Windows XP.
Databases:SQL, Delphi, ODBC, MS-Access, MySQL, PostgreSQL, SQLite.
Internet Related:HTML, XHTML, CGI programming, JavaScript, TCP/IP Sockets, Website Meta Language, Apache, CGI::Application, Catalyst (Web-development framework for Perl), jQuery.
XML Technologies:XML, DTD, RELAX NG, XPath, DOM, XSLT.
Various Programs:Word, Excel, WordPerfect, Corel-Draw, The GIMP, LaTeX, DocBook/XML,, Inkscape.
Development Tools:Autoconf/Automake/Libtool, CVS, Subversion, Vim, CMake, git, Mercurial (hg).

Communal and Personal

2001 - Present

The Israeli Group of Linux Users Server

Administrating a 100% uptime server carrying FTP, SMTP and numerous WWW-services.


19941st place, first Annual Israel’s Mathematics Contest for School Teams
Along with: Kobi Karlibakh, Or Tsok and Amit Zinger

Technical Articles

2005Building Navigation Menus
An article that discusses web-site navigation and site flow patterns in general, and then explains how to implement them using the HTML-Widgets-NavMenu module.
2004Which Open Source Wiki works for you?
An article overviewing and comparing several popular and open source wiki engines. Published at O’Reilly-Net.
2004The New Breed of Version Control Systems
A comparison of the version control systems that aim to be successors to the CVS version control system. Published at O’Reilly-Net.
2001Perl for Perl Newbies
A series of presentations (along with detailed slides and many examples) that aim to introduce the Perl programming language for beginners.

Creative Writing


The Human Hacking Field Guide

A humorous realistic story about high school teens in mid-2000’s Los Angeles, who deal in programming extensively.


The One with The Fountainhead

A parody on The Fountainhead (by Ayn Rand) modelled on an episode of the T.V. show Friends.


The Enemy and How I Helped to Fight it

A satire about the situation in the Israeli-Lebanese border.


2009Optimizing Code for Speed
When and why optimizing programs to run faster is important, and some of the general methods to do that.
2003Open Source, Free Software and Other Beasts
An essay explaining what Open Source Software, and Free Software is all about, the difference of terms and philosophies, and the various other terms one should know about.
2004The Joy of Perl
An essay explaining why I like Perl so much.


Will be supplied upon request


HebrewSpeaking, Reading and Writing - Mother Tongue.
EnglishSpeaking, Reading and Writing - Very Good.
ArabicReading and Writing - extremely basic (and rusty) command.


Born 5 May, 1977