Sunday, November 7, 2010

חסמב"ה


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





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


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


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




אשמח שהילדים יקראו וישמעו את העלילות הללו.


Rubik's cube

My daughter, Sivan, and Rubik's cube. Read about Rubik's cube in Wikipedia.







מסיבת יום הולדת לנועה

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








































המאבק על המים במזרח התיכון מאת ארנון סופר


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


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

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


גלגולי לשון מאת גיא דויטשר


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

Thursday, November 4, 2010

אורי לביא על בניית צוותים מצליחים



במסגרת ה-TechTalks ב-Outbrain הגיע היום אורי לביא מ-PicScout להסביר את עמדתו על אומנות פיתוח התוכנה, כיצד לטפח צוותים וכיצד לבנות צוותים מצליחים.




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




מה לדעתכם מחזור החיים של מהנדס תוכנה?


(עם או בלי פיצה...?)


טענה: התעשייה מתבגרת (לטובה) יש יותר מפתחים מבוגרים שאינם מנהלים בהכרח.


אנשים נוגעים בקוד בד"כ כ-10 שנים.




המחזור: למידה של שנה שנתיים, עבודה במה שלמדתי, עבודה חדשה בתחום דומה למקום הקודם, העמקה בנסיון, עבודה חדשה -- וחוזר חלילה. אורי טוען שיצא לו לראיין בין 200 ל-400 מתוך 500 ל-800 קורות חיים (הוא כבר לא סופר) ונדמה לו שהמחזור הזה תופס לפחות ב-75% מהמקרים. והוא טוען שזה מחזיק בערך 10 שנים. באלגוריתמים למשל הוא טוען שנשרפים באותו הנושא באותה החברה תוך שנה-שנתיים.




בתור חברה מצויינת יש לחברה צורך ליצור סביבה שמאפשרת למפתח להצליח.

software engineer vs. developer vs. coder
הוצג קטע קוד ב- #C והקהל הוזמן לחפש דברים "מסריחים" בקוד. מה שעלה: אובססיה לפרימיטיבים (במקום שימוש באובייקטים), שימוש בפרימיטיבים של סנכרון, סנכרון כפול, שימוש ב-HashCode בקוד מקבילי (כנראה ללא מודעות שיש סיכוי להתנגשויות)...
הוצג קטע נוסף עם פונקציה/מתודה של 136 שורות קוד. פונקציה שמטרתה לקחת תמונה בהנתן URL לא צריכה להיות כל כך ארוכה. (הוצג קטע מהסרט מטריקס שבו רואים קוד רץ ומול המסך המפתח לא רואה את הקוד אבל יודע מה קורה שם). אז למה לא לשבור את הקוד למתודות אחרות ולהוציא החוצה פונקציונליות. משתנים צריכים להיות קרובים למקום שבו משתמשים בהם.
הטענה שיש 100% מאמץ ו-0% אפקטיביות. (הוצג סרטון bad code של uncle bob).
מה צריך לדעת? כלים כלים כלים -- לכל דבר צריך להכיר כלים שונים ופרדיגמות שונות:
IDE ולשלוט בו, טכנולוגיה של שפת התכנות, פרדיגמות שונות של שפות תכנות, אנליזה סטטית של קוד, ארכיטקטורה, בדיקות שונות למיניהן (יחידה, קופסה שחורה, קבלה, לקוח, וכו'...) על כל הכלים שלהן, להכיר HTTP וכלים לניתוח ולפיתוח, מה זה WEB, services, פלטפורמות שונות, מערכות הפעלה שונות, mobile, מסדי נתונים sql ו- nosql, להבין בניתוב ובקרה, אבטחה, continuous deployement, continuous integration ועוד ועוד... -- זה מה שמהנדס תוכנה צריך. זה לא מה שלומדים בלימודים בהכרח ובוודאי לא בהיקף הזה. מי שלא לומד לימודים אקדמיים חסר לו מספיק כלים להיות מהנדס תוכנה. ללמוד לתכנת בלבד זה לא מספיק. מהנדס נדרש ליותר יכולת בקבלת החלטות ובהכרות של כלים ותחומים רבים יותר.
מה לומדים?
שפות תכנות, מבני נתונים, אלגוריתמים, מערכות הפעלה,... -- קחו את הסילבוס של תואר בהנדסת תוכנה של אוניברסיטאות ותראו.
צריך לצעוד בצעדים קטנים (baby steps) וצריך לחבק ולקבל שינויים. הכרחי להיות נלהבים.
הוצג קטע של Miyamoto Musashi שאומר שצריך ללמוד כל הזמן ולשקול יתרונות וחסרונות וכו'. הוזכר הספר The book of five rings.
מה עושה המפתח?
להתאמן -- ולהתאמן הרבה וכמה שיותר זה, לפי אורי להב, מה שמבטיח שלא תהיה שחיקה. יש להכיר מעבר -- וזה באחריותנו האישית.
לקרוא ספרים!
להכיר שפות תכנות. להכיר פרדיגמות תכנות שונות. להיות פוליגליטים.
מה עושה החברה? לדאוג שיהיה כל זה וללמד את המפתחים את כל הנדרש לצורך זה:
להיות קנאים למערכת ה-version control.
מה ה-layout?
ניהול גרסאות.
מדיניות לכל check in -- בדיקות קוד, בדיקות יחידה, אנליזה סטטית וכו', כתיבת הערות ב-commit, לחבר למשימות ולבאגים שקשורים -- קישור למערכות הניהול שלהם.
automatic build system
unit testing
Test Driven Development
Refactoring
code reviews: peer reviews, team reviews -- מעבר למה שעושים ב-commit.
ראשי צוותים חלק מהקוד, חלק מהכרת הקוד, חלק מהאיכות וקרוב לעבודה ולא טובע בניהול -- זה דורש צוותים קטנים.
תחרויות: למשל חצי יום עבודה שעובדים ללא עכבר -- המטרה: לייצר משהו מאתגר שילמדו ממנו. המטרה: להיות יותר אפקטיבי. טענה: זמן פיתוח מתקצר ללא שימוש בעכבר.
טיפול בחורים בידע, technical debts, איך להשלים חוסרי ידע.
Tree Model -- מפגשים חינוכיים של שעתיים-שלוש פעם בשבועיים. מפתח נבחר להציג טכנולוגיה חדשה או POC. הוא מקבל חצי מהזמן שדרוש לזה מהחברה וחצי מהזמן על חשבונו.
לקרוא ספרים!
לעשות book reviews.
להשתמש בכלים הטובים ביותר. להשקיע ולהכיר אותם.
אקוסיסטם: פירמידה הפוכה: לקוחות רבים למעלה, מפתחים אח"כ ולמטה מעט מנהלים. (הפוך מהפירמידה הרגילה)
visibility -- ההפך מ-"יהיה בסדר" ו-"עזוב" ו-"היתה בעיה ברשת..." ו-"זה לא עובד" ו-"ככה צריך לעשות את זה"... -- התבטאויות כאלה מסרסות אפשרות לשקול יתרונות וחסרונות.
אבני דרך, milestones. טענה: איכות וזמנים תחומים גורמים לאנשים כאב ראש מתוך פחד לכשלון. לא לתת לאנשים הרגשה שכשלון הוא משהו שמשלמים עליו ביוקר. כי זה גורם לאנשים להתגונן ולהסתיר. הפתרון: ללמד ולתת דוגמה אישית טובה. לא לפחד מהתחייבות.
A Day at Work --
כמה זמן אפקטיבי יש באמת ביום עבודה?
קפה: 15 דקות
שיחות חולין: 15 דקות
דוא"ל: 30 דקות
קפה: 15 דקות
שקט! עובדים: 45 דקות
דיון מה אוכלים: 30 דקות
ארוחת צהריים: שעה
קפה: 15 דקות
דוא"ל: 15 דקות
שיחות חולים ו-social media: 15 דקות
עבודה: שעתיים
מה יצא? נטו עבודה פחות מחמש שעות... אם אין ישיבות... או הסחות עבודה... אז יש כשלוש שעות עבודה ביום.
צריך להיות מעורב ומשמעת!!
חוק הסחת הדעת: 15 דקות לשלווה. צריך זמן שנדרש לצאת מהסחת דעת ולהכנס לעשייה.
לתת הערכות זמנים, לנתח, להשתפר.
ישיבות קצרות ויעילות.
מתי עורכים פגישות? ביום ראשון בבוקר הכי טוב. זה מקרין עבודה להמשך השבוע. ביום שני בבוקר אפשר קצת גם -- בשאר השבוע לבקר ולנטר ולתקן. הזמנים האידאליים או בבוקר או בערב אחרי חמש -- אחרת זה פוגם בעבודה.
כמובן -- כל הטענות, המסקנות וכו' -- הכל לשיטתו של אורי לביא. ולא שלי. אולי אכתוב מתישהו את עמדתי בדברים הללו.
אמירה נחרצה (שאיתה אני מסכים בהחלט): אי אפשר לשרוד במקצוע הזה בלי להתעדכן ובלי להשתפר! מי שנרדם נשאר מאחור ואז נשאר בחוץ.
היה מעניין.
השיחה הוסרטה. אני מקווה שאזכור לקשר לסרטון לכשיהיה לי קישור.

Bill Slawski on Google patents for ratings and raters


I've been following Bill Slawski's SEO by the Sea for a few years. I enjoy the presentation of search related patents and trends and the exposition of technology used by the big names in the search industry: Google, Yahoo! and Microsoft. Due to my recent intereset in recommendation systems (I now work at Outbrain) I searched back for Bill's posts on recommendation systems, ratings and raters. I came up with quite a lot:


I wrote two comments on that post:

Shlomo Yona 11/03/2010 at 3:20 am
I wonder why not just use the actualaccess to a page through Google as a way to measure popularity — in a way, a Click Through Rate measure — number of actual clicks on the proposed page (link) by google on screen divided by the number of times it was shown

Shlomo
Yona 11/03/2010 at 4:24 am
Apparently, if a user actually clicks the link of a search result, then it means that there’s some sort of agreement with it. In cases where google can “see” (cookie of a google domain or of an affiliate) the page view timing or other clue of user satisfaction from the actual “landing” on the page, then it is an additional indication of satisfaction. So, perhaps raters are not so good and they are biased and not representative?!




While Google is in the search business and advertisements, Outbrain attempts to make its living from promoting content. The readers that get the recommendations come first -- they are offered with the highest quality recommendations, the revenue comes next. It makes sense as in the long run, the more satisfied the readers are the more they click on the recommendations. So, as long as the recommendations are of high quality, the traffic will drive profit, instead of doing it backwards (by attempting to influence and to control traffic with short term revenues as motivation).

See more on A view of Outbrain's algorithms' focus and on Bruni PR about Outbrain. Is Content promotion a new and a profitable way to advertise on the web?

Wednesday, November 3, 2010

על אבטחת מידע בעברית


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

יוזמה יפה ומועילה.
אולי אציע להם מאמר על XML Processor Attacks שיסביר את התחום ומה אפשר לעשות. אולי.




Sunday, October 31, 2010

עבודה בחימר

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






Thursday, October 28, 2010

סיון ואביב יוצרים בחימר






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









Wednesday, October 27, 2010

האותיות הקטנות של תאור חברה ושל תאור משרה



ראיתי את זה בפוסט בבלוג Career Tips 4 Geeks שבעצם תרגם לעברית את העלילון שבמקור הגיע מ-C-Section Comics.


משעשע כמה שהרמיזות אינן רחוקות מהמציאות...


Tuesday, October 26, 2010

לעז -- מילות שירים לועזיים בתרגום חופשי לעברית


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

נסו את אתר לעז. אפשר להעלות "תרגום" לשיר לועזיר, מה שמכונה באתר "הלעזה".


משעשע!





יוצאי הדופן והכללים בגזירה ובנטייה



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







The teacher claimed it was so plain,
I only had to use my brain
She said the past of throw was threw.
The past of grow -of course- was grew,
So flew must be the past of fly,
And now, my boy, your turn to try.
But when I trew,
I had no clue, if mow was mew -
Like know and knew
Or was it knowed
Like snow and snowed

The teacher frowned at me and said
The past of feed was – plainly – fed.
Fed up, I knew then what I ned:
I took a break, and out I snoke.

She shook and quook (or quaked or quoke?)
With raging anger out she broke:
"Your ignorance you want to hide?
Tell me the past form of collide!"
But how on earth should I decide
If it's collid (Like hide and hid)
Or else – from all that I surmose,
The past of rise was simple rose,
And that of ride was surely rode
So of collide must be collode?

Oh damn these English verbs, I thought
The whole thing absolutely stought !
Of English I have had enough.
These verbs of yours are far too tough.
Bolt upright in my chair I sat,
And said to her "That's that. I quat!".

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

מי שמתלבש הוא לבוש.
ומי שמתפשט הוא פשוט?
-מה פתאום?!
מי שמתפשט הוא ערום.
למה?
-ככה זה בעברית.

מי שמתרחץ הוא רחוץ.
ומי שמתנגב הוא נגוב?
-מה פתאום?!
מי שמתנגב הוא מנוגב.
-למה?
-ככה זה בעברית.

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