Shlomi Fish’s Résumé

Shlomi Fish
4 Hakim Eliyahu St.
Tel Aviv, 69120
Israel
Phone Number: 03-6424668
Cell Phone: 054-6232377
Fax Number: 03-6414319
E-mail Address: shlomif@shlomifish.org
Home Page: http://www.shlomifish.org/
Instant Messaging: XMPP/Jabber/Google Chat - ShlomiFish@jabber.org ; ICQ - #207733823

Objective

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).

Education

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

Experience

Programming - at Workplaces

December 2011 - June 2012

Ron Soferman Image Processing
Software Developer

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

July 2010 - January 2011

Reask.com
“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)

Emoze.com (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 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, OpenOffice.org, Inkscape.
Development Tools:Autoconf/Automake/Libtool, CVS, Subversion, Vim, CMake, git, Mercurial (hg).

Programming - Open Source Projects

2007XML::RSS
Work on the CPAN Perl Module for processing RSS: bug fixing (while adding regression tests), increasing test coverage, and refactoring. Some of it was done as part of a grant from The Perl Foundation.
2004HTML-Widgets-NavMenu
A Perl Module for maintaining HTML navigation menus and site flow.
2003The Better SCM Site - http://better-scm.shlomifish.org/
A web-site for information and advocacy of version control systems and Source Configuration Management (SCM). Includes articles, links and a multiple-item multiple-system comparison of 16 different implementations.
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.
2002

The Perl Beginners Site - http://perl-begin.org/

A web-site which aims to concentrate and refer to the most recommended resources for Perl beginners on the Net. Contains links, original content, and mirror pages.

2001 - PresentLatemp - a static site generator
A static website generator based on Website Meta Language and many Perl CPAN modules.

2000-Present

Freecell Solver
Chief Developer

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

1997

MikMod for Java
Programmer

Converting a program from C to Java

Communal and Personal

2001 - Present

The Israeli Group of Linux Users Server
Co-Administrator

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

Mathematics

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

2004-2005

The Human Hacking Field Guide

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

1998

The One with The Fountainhead

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

1996-1997

The Enemy and How I Helped to Fight it

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

Essays

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.

References

Will be supplied upon request

Languages

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

Personal

Born 5 May, 1977
Single