ועוד. על טכנולוגיה, החיים ומה שביניהם

יום שישי, 25 בספטמבר 2009

למה Octave עדיף על Matlab בהגרלה מהתפלגות נורמלית

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

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

ע.א. זה - ברנש יסודי. כדי שיוכל לתחקר את התוצאות במקרה שמשהו ישתבש, הוא קרא לפונקציית randn בעזרת seed (גרעין? תרשו לי להמשיך במונח הלועזי). בכל לולאה הוא יצר מספר אחד אקראי מהתפלגות נורמלית. את ה-seed הוא יצר מהשעון בעזרת פונקציית clock, ושמר אותו בתוך מערך לצורכי שחזור. ואכן, למרות שהשתמש בפונקציית randn שהממוצע שלה הוא אפס, הוא קיבל הגרלה שבה 90% מהמדידות היו חיוביות, ורק 10% שליליות.

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

כדי לאשש את ההנחה שלי שמדובר במימוש האלגוריתם, כתבתי את הסקריפט הבא:
% Ranncheck.m
% Run over different seeds, and draw a number from a normal distribution

DrawNum = 2500; % Number of draws
Seed = (1:DrawNum)/2;

x = zeros(1, DrawNum); % the random variable
for i = 1:DrawNum

randn('state', Seed(i));
x(i) = randn;
end

figure;
plot(Seed, x);

title('Randn distribution');
xlabel('Seed');
ylabel('randn value');
grid on;

בתוך לולאה שרצה על i (מ-1 עד 1250), אני מגריל מספר לפי התפלגות נורמלית שה-seed שלהן הוא i (ה-seed חייב להיות שלם, ואם הוא Matlab מעגל אותו). כך שלמעשה אני יכול לצייר את הפונקציה שמקשרת בין הערך המוגרל לבין ה-seed שיצר אותו.

חשוב לציין שאת הקוד הרצתי על Matlab R2008b. בינתיים אני רואה ש-Matlab שינו את המימוש ואת הקריאה לפונקציית randn. אין לי גישה עדיין לגרסת Matlab חדשה יותר, אך סביר להניח שתהיה לי בשבועות הקרובים, ואז אבד
וק את זה שוב.
להפתעתי קיבלתי את הגרף הבא:
בגרף ציירתי את הערך שמתקבל מקריאה ל-randn כפונקציה של ה-seed. ניתן לראות שהפונקציה רחוקה מלהיות פסאודו-רנדומלית. למעשה היא כמעט דטרמיניסטית. ב-zoom על הגרף ניתן להבחין במבנים של ממש.

הרצתי את אותו סקריפט ב-octave, וקיבלתי את הגרף הבא:
ניתן לראות שהמימוש ב-Octave של אות אלגוריתם מניב תוצאות מפוזרות בהרבה.

ואיך כל זה מסביר את הבאג של החבר שלי? ברגע שקוראים ל-randn עם seed שמסתמך על ה-clock (שהרזולוציה שלו היא מילישנייה) בתוך לולאה, והביצוע של הלולאה קצר יחסית (יחסית להתקדמות של ה-clock), צפויים לקבל ערכי seed קרובים אחד לשני, ואו אז ההתפלגות ממנה יוגרלו הערכים לא תיראה נורמלית (כי למעשה נגריל ערכים מאיזור מסויים בגרף הראשון.

מסקנות:
  1. המימוש ב-Octave עדיף על זה של Matlab.
  2. אם משתמשים ב-Matlab, לא כדאי להסתמך על ה-clock ליצירת ה-seed בקריאה ל-randn, אלא אם כן אתם בטוחים שמשך זמן ביצוע לולאה בודדת ארוך יחסית.
  3. כדאי לבדוק מה עשו ב-Matlab בגרסאות חדשות יותר, הם יצרו עוד גנרטורים חוץ מ-state, וייתכן שהספק-באג הזה בכלל תוקן.
(וטיפ: מי שמריץ את הסקריפט על Octave בגרסה 3.0 ומקבל הודעת שגיאה שקשורה לפונטים כשהוא מבקש לשמור את הגרף בעזרת פקודת print - כדאי לו לעיין בפוסט הזה. בגרסה 3.2 הבאג אמור להיות מתוקן, אך עוד לא בדקתי).


יום חמישי, 24 בספטמבר 2009

חידה: האם לאונרד כהן יגיע להופעה הערב?

מקווה שימצא את דרכו לבמה, כי בינתיים שולחים אותו לחניה:


(צולם מול קניון איילון, על דרך ששת הימים.)

יום שני, 21 בספטמבר 2009

"מה עושים ביום כיפור?"

שואלת אשתי את אבישג, כמעט בת 4. "רוכבים על אופניים", עונה הגדולה בלי להתבלבל. "מי אמר לכם?", אני שואל. "הגננת", היא עונה.

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

יום ראשון, 20 בספטמבר 2009

חלופות קוד חופשי ל-Matlab

יוצא לי להשתמש בעבודה די הרבה ב-Matlab, ולכן כשהתקנתי לינוקס על ה-PC שלי לפני כשנתיים וחצי, בדקתי אם אפשר להתקין עליו Matlab. שמחתי לגלות שקיימת גרסת Matlab ללינוקס (למעשה הגרסה ללינוקס ולמק היא אותה גרסה), אך כשבאתי להתקין את התוכנה קיבלתי הודעת שגיאה. נבירה קצרה באינטרנט גילתה את מקור הבעיה: Matlab דורשת פנטיום 4 ומעלה, בעוד לי יש (על ה-IBM X30 המזדקן שלי) פנטיום 3. מה איכפת ל-Matlab איזה מעבד אני מריץ? מסתבר שב-Matlab דורשים תמיכה במשהו שנקרא SSE2 שנתמך בגרסה 4 של פנטיום. אגב, גם לא כל מעבדי ה-Atom של אינטל תומכים בדבר הזה, אז אם חשבתם לקנות נטבוק ולהתקין עליו Matlab, כדאי שתוודאו מראש שהמעבד שנשפכם חשקה בו תומך באפשרות.

מעז יצא מתוק: גיליתי לא פחות משלוש תוכנות לתכנות מדעי שמופצות תחת רשיונות קוד פתוח, ושממצבות את עצמן כתחליף Matlab (בניגוד נניח ל-R, שהיא חבילת תכנות מדעי ללא יומרה לתאימות כלשהי ל-Matlab). השלוש הן Octave, Scilab ו-FreeMat.

לפני שצוללים לכל אחת מהאפשרויות, הערה כללית: אף אחת מהאלטרנטיבות לא תואמת למנוע הגרפי של Matlab או למנוע של Simulink. המשמעות: כל הפקודות שמתייחסות ל-properties של handle מסויים בגרף, או כל הפקודות שמתייחסות למודל ב-Simulink, לא רלוונטיות בתחליפים הנ"ל, ויגררו הודעת שגיאה בריצה.

Octave
יתרונות: החבילה הותיקה ביותר היא גם היציבה ביותר בשוק. התאימות שלה ל-Matlab כמעט מושלמת: רוב הפונקציות החישוביות שיש ב-Matlab (כולל מה-Toolboxes) קיימות גם ב-Octave, ודרך הקריאה להן זהה לזו שב-Matlab. למעשה, מה שסגור ב-Matlab הוא רק ה-kernel שמבצע את החישובים. מבחינה חוקית, אין דרך להגן בקניין רוחני על תחביר (syntax) של שפה. Octave מנצלים בדיוק את זה: הם פיתחו kernel משלהם שמשתמש באותו syntax, וכך מאפשרים הרצה של סקריפטים ופונקציות גם על Octave וגם על Matlab.
חסרונות: ל-Octave אין סביבת עבודה (IDE) שבאה איתו. יש ברשת פיתרון לא רע בכלל שנקרא qtOctave, אבל הוא רץ רק על לינוקס. דרך אחרת (בה אני משתמש) היא להריץ Octave ב-Terminal ולהשתמש -text editor החביב עליכם לעריכת הקבצים. למרות שאני מוצא את הדרך הזו מספקת, אין ספק שסביבת העבודה של Matlab עשירה בהרבה, והאפשרויות שמתלוות לה הופכות את העבודה לנוחה ויעילה יותר. בנוסף, ל-Octave אין מודול גרפי משל עצמו, אלא הוא משתמש (נכון להיום) ב-gnuplot. מודול זה עני בתכונות (אין אפשרות לשמור גרף מהחלון, רק משורת הפקודה, והזום זמין רק ב-windows ולא בלינוקס, שזה בכלל מוזר). ידוע לי משיחות שנערכות בקבוצות דיון של Octave שיש שם מחשבות לעבור בעתיד לחבילה גרפית אחרת, ואף התחילו לבחון כמה אפשרויות. חסרון אחרון: תמיכה קהילתית חלשה יחסית למה שהתרגלתי בעולם הקוד הפתוח, בין היתר בגלל שימוש במדיות מיושנות (mailing lists במקום פורומים ו-wiki. השנה היא 2009, לעזאזל).
Scilab
יתרונות
: מכילה IDE מלא. יותר מזה - מכילה חבילה שנקראת Scicos ושמהווה חלופה ל-Simulink. אמנם אין תאימות ל-Simulink, אבל מי שאוהב להשתמש בתכנות גרפי והמערכות שלו נראות כמו משוואות דיפרנציאליות, ימצא ב-Scicos פתרון לא רע בכלל.
חסרונות: התאימות ל-Matlab לא מתקרבת לזו של Octave.
FreeMat
גילו נאות: לא הרצתי מעולם FreeMat מסיבות שיוזכרו בחסרונות.
יתרונות: תאימות ל-Matlab; יעילות ריצה בזכות מהדר JIT (הלא הוא Just In Time Compiler, שמאפשר קומפילציה חלקית של הקוד, לדוגמה לפני לולאת for. קיים גם ב-Matlab, אך לא ב-Octave או ב-Scilab, שם רצוי להמשיך בכתיבה וקטורית); תיעוד מפורט וברור באתר.
חסרונות: הפרויקט מתנהל בלי גב של האקדמיה (Octave מפותח ע"י אוניברסיטאות בארה"ב ובאנגליה) או התעשיה (Scilab מפותח ע"י קונסורציום של חברות בצרפת). לכן התמיכה בפרויקט חלשה, ההתקדמות איטית (הגרסה האחרונה ממרץ 2008), והגרוע מכל - המחברים לא טרחו לסדר את עניין הרשיון הפתוח. המשמעות: הפצות רבות (וביניהן Mandriva בה אני משתמש) מסרבות לצרף את התוכנה ל-repositories שלהן. כלומר, כדי להקין את התוכנה יש צורך לקמפל את קוד המקור שלה, ואנחנו הרי באנו להנות.

סיכום
אם יש לכם כסף ו-EULA לא מעניין אתכם (ואת התעשיות הבטחוניות בארץ, לדוגמה, הוא מעניין ועוד איך), לכו על Matlab. הוא יעיל, הוא נוח, יש בו הכי הרבה אופציות, והוא יעשה לכם נעים בגב.

אם אין לכם כסף, או אם לא בא לכם להצהיר בפני Mathworks והדוד סם איזה שימוש אתם עושים בתוכנה, אני ממליץ על Octave. בחודשים האחרונים התחלתי להשתמש ב-Octave גם בעבודה, ואף אחד לא שם לב. כלומר, אני לא מתקשה להריץ פונקציות וסקריפטים שחבריי כתבו ב-Matlab (ובלבד שאלה לא מכילים קריאות ל-GUI או למודלים של Simulink), וחבריי מריצים ללא קושי פונקציות וסקריפטים שאני כותב ב-Octave. השימוש ב-command line ו- text editor לא נראה לי נורא, אבל אני מדור שלמד ש-terminal היא לא קללה. למעשה, גם כשאני משתמש ב-Matlab ורוצה לדעת משהו על משתנה אני משתמש בפקודת whos ולא ב-variabes editor או איך שלא קוראים לזה, כך שכנראה שאני לא דוגמה. אבל גם אם צריך לשלם מחיר מסויים באי-נוחות, אני סבור שהמחיר הזה, יחסית לאלטרנטיבות, משתלם.

תכנות נעים!

יום חמישי, 27 באוגוסט 2009

"הקמע"

"הקמע", מארק קורזם

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

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

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

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

אלכס קורזם, בערך בגיל 7
[מקור: http://www.crc.nsw.gov.au/__data/assets/image/0013/733/film_award2.jpg]

אלכס בחברת חיילי הגדוד, כשברקע כנראה רכבות המוות
[מקור: http://i.telegraph.co.uk/telegraph/multimedia/archive/00637/news-graphics-2007-_637663a.jpg]

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

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

חלקו השני של הספר מדגיש שאלות פילוסופיות כמעט בנוגע לזהות והיסטוריה. מאבקים רבים נדרשים הבן והאב לנהל כדי לרדת לשורש האמת: מול הקהילה היהודית שלא ששה לאמץ לחיקה ילד עם עבר נאצי, מול הקהילה הלטבית שספק מתביישת ספק חשדנית כלפי עברה, אפילו מול גורמי ביון ישראליים שמבקשים להשתמש באלכס כפלטפורמה ללכידת פושעי מלחמה. אולם נראה שהמאבק העיקש והמתיש ביותר הוא דווקא של אלכס מול זכרונו. אט-אט מתחילים לכרסם בו הספקות שמא זכרונותיו לא אמיתיים, אלא נשתלו שם ע"י מפקד הגדוד שביקש להשתמש בילד כאליבי לתקופה שאחרי המלחמה (ומסתבר שאכן עשה כך, כשעמד למשפט בשוודיה בסוף שנות ה-70). בוגדנותו של זיכרונו של אלכס מאיימת לקחת ממנו את הסיכוי האחרון למציאת זהותו האמיתית. הזהות היא הזיכרון.

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

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

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


יום רביעי, 26 באוגוסט 2009

דברים שמוצאים בבוידעם הוירטואלי

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



***

22.1.2005

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

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

בשאר העניינים הוא תמיד השאיר עלי רושם של איש מנותק קצת. ידעתי מעט מאוד על חייו הפרטיים, והמעט שכן ידעתי גרם לי להרגיש שבסך-הכל זה משחק לטובת בריאות הנפש שלי: הוא רוקד עם אשתו ריקודי עם (שזה מאוד אופנתי, אם אתה מתעקש לחיות ב-1957), הוא שומע לה-קוקרצ'ה בטיסות לחו"ל (לדעתי צריך להיות חוק נגד דברים כאלה), הוא משחק רמי פעם בשבוע, והוא לא יודע לפתוח WORD. בשביל זה יש לו תלמידים.

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

התכתבות אחת שתפסה את עיני התנהלה עם שר הפנים דאז, אברהם פורז, בנושא מס עידוד הצמיחה. באותו יום קיבלתי תלוש משכורת מהאוניברסיטה, והתלוננתי באוזני קולגה על סעיף זה. באיזה אופן המדינה חושבת שהיא מעודדת אותי לצמוח כשהיא לוקחת לי כסף? קבלתי בפניו, אם היו שואלים לדעתי, הייתי אומר להם שאצמח הרבה יותר מהר וביעילות אם ישאירו אצלי את הכסף, ואם הם רוצים לראות אותי צומח בצורה פנטסטית – עדיף שיגדילו עשות ואף ייתנו לי כסף משלהם. וככל שיתנו יותר – אצמח יותר. מבטיח. משהו בשם של הסעיף הציק לי. עידוד צמיחה? קצת כמו מניסטריון השלום ב-1984, אמרתי לקולגה. אמרתי ושכחתי מכל העניין.

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