קורות חיים - שלומי פיש

שלומי פיש

האני מאמין שלי

אני מפתח תוכנה מקצועי המתמחה בכתיבת קוד אלגוריתמי, עיבוד טקסט ו-XML, הוצאה לאור בווב, וקוד הקשור למשחקי מחשב. אני גם מחבר חובב (אבל לא חובבני) של מסות, מאמרים טכניים, סיפורת, והומור.

בתור מפתח תוכנה, קראתי כמות רבה של ספרות מקוונת ולא מקוונת על מתודולוגיות של תכן של תוכנה ושל ניהול תוכנה, ומנסה להוות את דרכי הניהול הטובות ביותר של עצמי בהתבסס על כל זה. בתור מתכנת, אני מנסה ללכת בשביל הזבה בין מודולריות (DRY) ובין לוודא שהקוד אינו יותר מדי מתחכם וקשה לקריאה (KISS).

השכלה

1997-2004 הטכניון
תואר ראשון בהנדסת חשמל (בהצטיינות)
ממוצע: 84.6%.
1991-1995 הגמנסיה העברית "הרצליה".
מקצועות ראשיים: מתמטיקה, אנגלית, פיסיקה וערבית.

נסיון

תכנות - במקומות עבודה

דצמבר 2011 - יוני 2012

רון סופרמן עיבוד תמונה
מפתח תוכנה.

פיתוח תוכנה באמצעות פייתון, לינוקס, חלונות, OpenCV ושירותי הווב של אמזון (Amazon Web Services).

יולי 2010 - ינואר 2011

Reask.com
מפתח "פרל בעלת השראה" (Enlightened Perl)

פיתוח יישום ווב של Perl 5 / Catalyst / DBIx-Class . כתיבת בדיקות אוטומטיות, הוספת תכונות ותיקוני באגים. עבודה בצוות באמצעות תקשורת מרושתת.

2008 (למשך 4 חודשים)

אימוז (חלק מאמבלייז)
מתכנת לינוקס C++/שרתים

המרת שרת הכתוב ב-C++ מ-Win32 ללינוקס.

עבדתי על שרת ל-Push Email (למכשירי טלפון ניידים), שדרש המרה מ-Win32 ללינוקס. הטכנולוגיות שנעשה בהן שימוש היו: gcc/g++, vim, libcurl, GNU make, Ubuntu Linux, Perl ( (ואחרות).

2007 (למשך 3 חודשים)

טהוטי רשתות
מתכנת קרנל לינוקס וטסטר.

פיתוח קרנל של לינוקס והנדסת QA לכרטיס 10 Gbps Ethernet שטהוטי מפתחת. התמחות בבדיקת הכרטיס תחת VMWare ESX ו-Xen Enterprise. פיתוח ב-Perl וב-ANSI C.

ינואר 1997 -
אוקטובר 1997
סמארט-לינק בע"מ
מתכנת וטסטר

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.

ביצוע בדיקות של מודם מבוסס-תוכנה (Modio™), תכנות של Windows 95. בדיקות ידניות של מודם מבוסס-תוכנה. כתיבת פרוצדורות בדיקה. תכנות כלי-עזר שונים ב- Visual C++, MFC, Perl

אפריל 1996 -
אוקטובר 1996
קורטקסט בע"מ
מתכנת, מתחזק אתר באינטרנט, הפעלת מערכת UNIX

כתיבת HTML, תוכניות CGI, תוכניות שרת/לקוח TCP/IP.

עבודה עם Perl 5, מספר גוונים של UNIX (כמו FreeBSD, IRIX או SunOS 4.1.3), ומספר תחנות עבודה של Windows 95. ביצוע פיתוח לווב באמצעות HTML, Perl ו-UNIX.

יוני 1995 -
מרץ 1996
אלפז מערכות אלקטרו-אופטיות בע"מ מתכנת ראשי של EIRIS (Elpas Infra-Red Identification System)

בסיסי-נתונים (ODBC ו-Vector), תוכניות שרת-לקוח (עם NetDDE) ,MS-Windows GUI אנגלי/עברי.

תכנות בעזרת C ו-C++ על Windows 3.11. התנסות עם רשתות, SQL, בסיסי-נתונים, ODBC, NetDDE, Borland C++ 4.5, וה-Microsoft Developer Network (MSDN)

תחומי התמחות

שפות תכנות:

C (מאז 1992, שימוש פעיל וידע טוב), Perl (מאז 1996, שימוש פעיל ושליטה מצוינת), C++ (מאז 1992, נסיון רב אך שליטה לא מלאה), Bourne Shell/Bash (מאז 1996, ידע טוב ושליטה טובה), Python (מאז כ-2002 - ידע טוב אך נסיון לא רב), JavaScript (מאז 1996 - אין לי נסיון רב).

נלמדו מתוך התעניינות: Basic, Object Pascal, Scheme, Matlab, Common Lisp, Haskell, Prolog.

ידע פונקציונלי: Java, Ruby, Lua, PHP.

מערכות הפעלה: UNIX (Linux, FreeBSD, others), Windows 95/98, Windows 3.11, DOS, Windows XP.
בסיסי נתונים: SQL, Delphi, ODBC, MS-Access (Jet Engine), MySQL, PostgreSQL, SQLite.
בתחום האינטרנט: HTML, XHTML, CGI programming, JavaScript, TCP/IP programming, Website Meta Language, Apache, CGI::Application, Catalyst (תשתית לפיתוח יישומי ווב בשפת פרל).
טכנולוגיות XML: XML, DTD, RELAX NG, XPath, DOM, XSLT.
תוכנות שונות: Word, Excel, WordPerfect, Corel-Draw, The GIMP, LaTeX, Docbook/XML, OpenOffice.org, Inkscape.
כלי פיתוח: Autoconf/Automake/Libtool, CVS, Subversion, Vim, CMake, git, Mercurial (hg).

תכנות - מיזמי קוד-פתוח

2007 XML::RSS
עבודה על מודול הפרל ב-CPAN שמעבד RSS: תיקוני באגים (תוך הוספת בדיקות רגרסיה), העלאת כיסוי הבדיקות, ושיפוץ הקוד. חלק מזה נעשה במסגרת מענק מקרן הפרל העולמית.
2004-הווה HTML-Widgets-NavMenu
מודול של פרל לניהול תפריטי ניווט של HTML וזרימה של האתר.
2003-הווה The Better SCM Site - http://better-scm.shlomifish.org/‎
אתר למידע ויחצ"נות של מערכות ניהול גרסאות ובקרת תצורת קוד. כולל מאמרים, קישורים והשוואה מרובת-מערכות מרובת-פרמטרים של 16 מימושים שונים.
2002-הווה תרומה למיזמי קוד-פתוח גדולים (GIMP, Subversion, KDE ו-perl)
תרומת קוד ותיעוד למערכת ניהול הגרסאות Subversion; תרומת קוד רחבה לתוכנת עיבוד התמונה GIMP; תרומת תיעוד ומודולים חיצוניים לשפת התכנות perl.
2002-הווה אתר המתחילים לפרל - http://perl-begin.org/‎
אתר המיועד לרכז ולהפנות אל המשאבים המומלצים ביותר למתחילים בפרל ברשת. מכיל קישורים, תוכן מקורי, ודפי מראה.
2001-הווה לאטמפ - מערכת ניהול תוכן לאתרים סטאטיים.
מערכת ניהול תוכן מבוססת על Website Meta Language ומספר רב של מודולים של פרל הנמצאים ב-CPAN, שמיועדת בעיקר ליצירת דפי HTML סטאטיים.
2000-הווה Freecell Solver (פרוייקט קוד-פתוח)
מפתח ראשי
תוכנה בשפת C הפותרת בצורה אוטומטית משחקים של פריסל ומשחקי קלפים דומים.
1997 MikMod for Java (פרוייקט קוד-פתוח)
מתכנת
תרגום תוכנה מ-ANSI C לג'אוה.

פרוייקטים קהילתיים

2001-הווה שרת קבוצת משתמשי הלינוקס בישראל (IGLU)
מנהל מערכת
ניהול שרת מקוון עם שרותי FTP, SMTP, ומספר גדול של שרותי ווב.

מתמטיקה

1994 מקום ראשון, התחרות הראשונה במתמטיקה לנבחרות בתי-הספר. ביחד עם אור צוק, עמית זינגר וקובי קרליבך.

מאמרים טכניים

2005 Building Navigation Menus
מאמר שדן באופן כללי באלמנטים של תפריטי ניווט וזרימת אתר כללית באתרי וו'ב. אחר-כך מסביר כיצד לממש אותם בעזרת המודול HTML-Widgets-NavMenu.
2004 Which Open Source Wiki works for you?
מאמר שסוקר ומשווה מספר מנועי וו'יקי (Wiki) פתוחי-קוד ופופולרים. פורסם ב-O'Reilly-Net.
2004 The New Breed of Version Control Systems
מאמר שסוקר מספר אלטרנטיבות פתוחות-קוד חדשות למערכת ניהול הגרסאות CVS. פורסם ב-O'Reilly-Net.
2001 Perl for Perl Newbies
סדרת מצגות, בצירוף שקפים מפורטים ודוגמאות רבות, שנועדו להציג את שפת התכנות פרל למתחילים.

כתיבה יוצרת

2004-2005 The Human Hacking Field Guide
סיפור הומוריסטי-ריאליסטי, על בני נוער בתיכון בלוס אנג'לס של אמצע שנות ה-2000‎ שמתעסקים הרבה בתכנות.
1998 The One with the Fountainhead
פרק של הסדרה "חברים" המהווה פרודיה על הספר "כמעיין המתגבר".
1996-1997 האויב ואיך עזרתי להילחם בו
סאטירה על המצב בגבול בין ישראל ללבנון.

מסות

2009 Optimizing Code for Speed
מתי ומדוע זה חשוב לשפר את המהירות של תוכנות שכתבנו, וחלק מהשיטות הכלליות לבצע משימה זאת.
2003 Open Source, Free Software and Other Beasts
מסה שמסבירה מה המשמעות של תוכנת קוד-מקור פתוח, ותוכנה חופשית, את ההבדלים במושגים ובפילוסופיות ומושגים שונים אחרים שצריך לדעת עליהם.
2004 The Joy of Perl
מסה שמסבירה מדוע אני כל-כך אוהב פרל.

שפות

עברית קריאה, כתיבה ודיבור - רמת שפת אם.
אנגלית קריאה, כתיבה ודיבור - טוב מאוד.
ערבית ספרותית קריאה, וכתיבה - ידע בסיסי וחלוד.

ממליצים

יינתנו במידת הצורך.

פרטים אישיים

תאריך לידה: 5 במאי, 1977
מצב משפחתי: רווק