Check and Point
אתמול הלכתי ליום מבחנים בחברת צ’קפוינט. צ’קפוינט היא חברה גדולה בארץ ובעולם ויש הרבה אנשים שרוצים לעבוד בה. חוץ מהאנשים שבאו לאותם מבחנים כמוני היו עוד כמה שהתראיינו למשרות אחרות. דבר ראשון ששמתי לב שמשעשע במשרד בתל אביב הוא ששמות החדרים בקומת הכניסה הם של להקות רוק (פינק, פלויד, ג’נסיס, אירוסמית’) ובקומה השניה זה ציירים (מונה, אנחנו היינו בואן-גוך). זה מגניב. אז לפי דעתי, זה היה אחד מהראיונות הראשונים הכי טובים שיש. ככה צריך לעשות את זה. זאת אומרת, היו הרבה אנשים ביריד התעסוקה ואני מניח שנעשה קצת סינון לפני שהזמינו למבחנים. בכל מקרה, זה היה יום מבחנים אחד מיני רבים. אז למה זה היה טוב? כי הדבר הראשון שהם עושים אחרי שהם מסתכלים על קורות החיים הוא לבדוק את יכולות התכנות. המבחן הראשון היה בשביל לבדוק שאנשים יודעים לתכנת ברמה סבירה. אז היו לי 4 שעות ליישם כמה יכולות שהם ביקשו. הם הציעו שנסיים את זה תוך 3 שעות. אני סיימתי תוך 2.5. הם רצו זמן ריצה של 2500. אני השגתי 2900. אבל אני חושב שאני בעיקר אאשים את Java שהיא קלה ומהירה לכתיבה אבל לא רצה כל כך מהר וההוראות של המהירות היו בשביל כל שפות התכנות האפשריות. הדבר השני שהם בדקו זה שאנחנו יודעים להשתמש בלינוקס ושזה לא מפחיד אותנו. זה לא היה מרשים במיוחד כי כל ההוראות היו שם ורק היינו צריכים למלא אותן. אבל זה היה משעשע. המבחן השלישי, זה שרוב האנשים לא טרחו לעשות, היה מבחן עיצובי בו ביקשו לעצב מסך אפליקציה ממגוון חלקים שונים. זה לא היה קשור לראיון המקורי אלא רק בשביל Continue Reading →
Posted in High-Tech, No Category, Practice, Programming, Thinking Out Loud by Eran with comments disabled.
פעם ביום כחול
הספר הזה כבר היה בתכנון שלי מאז שקראתי את הראיון איתו ב-New Scientist אבל המלצה שמה אותו בראש הרשימה שלי. מדובר בסוג של אוטוביוגרפיה של אדם אוטיסטי אבל מתפקד. הוא מסביר איך זה לגדול כאוטיסט וכמה קשה בשבילו כל מיני דברים שרוב האנשים לוקחים כמובן מאליו כמו לזהות דו-משמעות במשפט או שלילה כפולה. מאוד אהבתי את הספר ואני ממליץ עליו בחום לכל מי שמעניין אותו ה-Theory of Mind, איך אנשים, במיוחד איך אנשים אחרים, חושבים ותופסים את העולם. אבל משהו שחשבתי עליו במהלך השמיעה, בעיקר לקראת הסוף, הוא כמה אני דומה לו. לא, אני לא אוטיסט, אני לא רואה מספרים או מרגיש את המרקם שלהם אבל כן זיהיתי כמה דברים משותפים. רק שאצלו דברים שהם ב-100%, אצלי הם פחות מ-1%. דברים שגורמים לו לחרדה וקריסה רגשית אצלי הם בעיקר מעצבנים. אבל עדיין. למשל, משפטים שהם רבי משמעות לרוב מעצבנים אותי, במיוחד כשאנשים לא יודעים את המשמעות התחבירית של מה הם אומרים. דברים כמו שלילות כפולות ומשולשות ודברים שאנשים אומרים וחושבים שהם נורא ברורים כשהם, אם נקראים מילולית כמו שאני נוטה לעשות, הם ממש לא. דניאל מתאר גם את הזמן שבו עבר לגור עם שותפו לחיים וחברים היו מגיעים לבקר. הוא אהב שהם מגיעים לבקר אבל זה תמיד היה גורם לו לחרדה כי הוא היה צריך לשנות את כל הלו”ז שהוא תכנן בקפידה. את זה אני מסוגל לזהות גם כי גם אני ממש ממש לא אוהב כשמשנים לי תוכניות שכבר תכננתי בקפידה. ולמי שחושב להגיד שאת כולם זה מעצבן אז אצלי זה לא ברמה של “אוף”, אלא שזה מרגיש כמו סוג של Continue Reading →
Posted in Humanity, Me, No Category, Thinking Out Loud by Eran with comments disabled.
מה שמתכנתים עושים
מעין משחקת כל מיני משחקי פזלים שונים ומשונים, מחיפוש חפצים רגיל ועד פזלים קלאסיים של מתגים שמשפיעים אחד על השני. לפעמים היא גם מבקשת עזרה ממני אם הפאזל לוקח יותר מכמה דקות. לפני כמה ימים היא נתקלה בפאזל וביקשה ממני לעזור. אחרי שהסבירה לי את הבעיה, אמרתי “ובכן, זאת בדיוק בעיה של מציאת מסלול המילטוני בגרף מכוון” (מסלול המילטוני הוא מסלול שעובר דרך כל צומת בדיוק פעם אחת). אפשר לפתור את זה בניסוי וטעייה, עם קצת רישום והרבה השקעה אבל אנחנו מתכנתים. אחרי שבנינו את הגרף וניסינו לראות אם יש בו איזה שהוא נתיב ברור ללא הצלחה, הצעתי לכתוב תוכנה שתפתור את זה. כן, למצוא מסלול המילטוני זאת לא בעיה פשוטה. היא NP-Complete. הפתרון הכללי הטוב לוקח (O(n^2*2^n ולא ציפיתי שאפילו נגיע לזה כי כל מה שרציתי זה חיפוש פשוט עם BackTracking. אבל לא נורא, המחשב שלי סבבה ואלו רק 25 צמתים. אז עבדנו על זה ביחד כשעה וחצי-שעתיים והוצאנו תוכנה קטנה שמוצאת את הפתרון. היא עדיין בעייתית אבל הצלחנו לפתור איתה את הפאזל. אני חושב שזה היה שווה את הזמן. :)
Posted in IT, Maayan, No Category, Programming by Eran with 1 comment.
Here I Come to Wreck Your Day
Remembered Mighty Mouse a little while back. Thought of watching it again, for old times’ sake. Found the old series. Found The New Adventures. Watched an episode of each. Remembered my Transformers experience, decided to let this childhood memory stay just a childhood memory and discarded the rest of the episodes. But SWAT Kats is still awesome. And I’ve been told ThunderCats didn’t age well. And now I’m wondering about Samurai Pizza Cats.
Posted in Art, Geekdom, Life Lessons, No Category, Thinking Out Loud by Eran with 2 comments.
חסרונות ויתרונות
בהרבה ראיונות עבודה נוטים לשאול שאלה כמו “מה החסרון הכי גדול שלך?” ואז, לפי הסטריאוטיפ, נהוג להגיד משהו כמו “אני כזה פרפקציוניסט” או “אני חולה-עבודה” במטרה להציג תכונה שיכולה להישמע רע אבל אמורה להישמע טוב למעסיק פוטנציאלי. על דבר כזה אני הייתי אומר “אז יש לך בעיה לראות את התמונה הגדולה?” או “אז יש לך בעיה עם סדר עדיפויות?” אבל אני באמת אחשוב שמדובר במישהו שמנסה לעבוד עליי. אני בדרך כלל מנצל את ההזדמנות הזאת לסוג של התבוננות פנימית וכנות כדי גם להיות בטוח שיודעים מה לא בסדר איתי לפני שזה נהיה בעיה וגם כדי להציג את השיטה שאני משתמש בה כדי לקזז את החסרון הזה. אז קצת בהרחבה למה שכתבתי כאן, הדבר הראשון שאני אומר בדרך כלל הוא שיש לי בעית זיכרון. אני שכחן ברמה שקצת קשה לתאר… טוב, לא נורא קשה לתאר. פעם אחת רציתי לקחת משהו מהמקרר אז הלכתי למקרר, מרחק של כ-4-5 מטרים, וכשפתחתי את הדלת של המקרר כבר שכחתי מה רציתי. זה לא קורה ככה על כל דבר. אני לא אשכח אירועים מכוננים, את תאריך יום הנישואין שלי וכו’ אבל דברים קטנים שכל הזמן באים והולכים, כל פרט שלא חוזר על עצמו לעיתים קרובות, נוטים להימרח ולפרוח מזכרוני. ולכן, אני חייב שהכל יהיה מסודר. הזמנים, המקומות ומאגרי המידע שלי הם כמו בית של אדם עיוור. לכל דבר יש מקום שאני יודע עליו ואם מזיזים לי אותו… קורות תאונות. בעיקרון, השיטה העיקרית שלי למצוא דברים היא פשוט לדעת איפה אני הייתי שם את זה. ולכן אני מקפיד לשים דברים בצורה אינטואיטיבית לי. כשמזיזים לי אז אני Continue Reading →
Posted in Me, No Category by Eran with comments disabled.
I Love My Nuclear Family
Posted in No Category by Eran with 1 comment.
Viable
ב-2081, דקסטר לייטן מספרינג היל, פלורידה היה הבן אדם המהיר ביותר על פני כדור הארץ. לא היה אחר שהיה מסוגל להשתוות לו במהירות תנועה, זריזות ידיים או תפיסת זמן. אבל לפעמים גם הוא לא היה מהיר מספיק. את זה הוא גילה בפעם הראשונה בגיל 14 בנסיעה שמבחוץ הייתה יכולה להראות שגרתית לחלוטין אך באמת הייתה כל דבר חוץ מזה. הוא והוריו יצאו מביתם בקצוות העיר ונכנסו למכונית המשפחתית. דקסטר רצה לקחת את השותף הרביעי לנסיעה על ברכיו אבל הוריו הפצירו בו שלא, שעדיף יהיה על המושב, והוא, לבסוף, הסכים. טומי היה חבר שלו מאז ומתמיד. כמעט כל זיכרון ילדות שלו הכיל את טומי. הם שיחקו ביחד, טיילו ביחד, לעתים קרובות גם אכלו ביחד. לא היה אכפת לו שלטומי יש ארבע רגליים וזנב. ולטומי לא היה אכפת שלדקסטר לא היה. בכל פעם שדקסטר יצא אל בית הספר, טומי ליווה אותו עד השער וחיכה לו שם עד שדקסטר חזר. למרות שאיפה שהוא, בירכתי מוחו, ידע שאף אחד לא חי לנצח, מעולם לא חשב שהוא יראה את סופו של טומי. זה לא היה פתאומי, זה לקח חודשים. זה נראה כמו שנים. טומי לאט לאט הדרדר. הוא כבר לא היה מהיר כמו פעם. הוא לא שמע כל כך טוב. ולקראת הסוף הוא גם לא ממש היה יכול לעמוד לאורך זמן וכששכב, נראה כמו… כמו… עוגה שמישהו הפך על ראשה ודרך עליה. ועכשיו טומי שכב לידו בכיסא האחורי של המכונית המשפחתית ודקסטר לא היה יכול להפסיק ללטף אותו. ולא היה יכול להפסיק לבכות. הוא ידע שאם רצה היה יכול לכסות את המרחק לוטרינר בכמה שניות. Continue Reading →
Posted in From the Writing Desk, Humanity, Practice, Thinking Out Loud by Eran with 2 comments.
Project Update – Phase 1 Complete
היום הצלחתי, סוף סוף, מוקדם בבוקר, להביא את הפרויקט לרמה שאפשר להציג. זאת אומרת, סיימתי ליצור חדרים בצורה אקראית ולחבר ביניהם… בצורה מסוימת. והבאתי את זה למנחה שלי והוא ראה את זה ובדק את זה ואמר שזה נראה נחמד רק שיש כמה בעיות (שאני יודע עליהם) ואז… נעבור לנושא אחר לחלוטין. זאת אומרת, כל מה שעשיתי עד עכשיו. זרוק חצי מזה לפח ונעבור למשהו אחר. מה שעשיתי עד עכשיו זה ליצור את האסטרואיד, ליצור חדרים בתוכו ואת המנהרות ביניהם ואז להשתמש במנגנון הקיים של המשחק בשביל ליצור את מבנה האסטרואיד הממשי. מה שהמנגנון הזה עושה הוא לבדוק מה נמצא בתוך האסטרואיד ולא בתוך חדר ואז לשים שם אבן. מה שזה אומר זה ליצור אסטרואיד ואז ליצור חדרים ואז ליצור מנהרות ואז ליצור כל אבן ואבן. וכל פעם שאני אומר ‘ליצור’ אני מתכוון לפקודת Insantiate ב-Unity. וכל פקודת Instantiate עולה הרבה משאבים. אז המטרה היא לחסוך כמה מהם. אז מה שאני אעשה זה לבנות את האסטרואיד כאוסף של פונקציות שבסוף יגידו לי אם צריכה להיות שם אבן או לא. ומה שבאמת מגניב אותי: אני ממש מתרגש מכל זה. זה הולך להיות מגניב.
Posted in Gaming, Geekdom, No Category, Programming by Eran with comments disabled.