מה שמתכנתים עושים
מעין משחקת כל מיני משחקי פזלים שונים ומשונים, מחיפוש חפצים רגיל ועד פזלים קלאסיים של מתגים שמשפיעים אחד על השני. לפעמים היא גם מבקשת עזרה ממני אם הפאזל לוקח יותר מכמה דקות. לפני כמה ימים היא נתקלה בפאזל וביקשה ממני לעזור. אחרי שהסבירה לי את הבעיה, אמרתי “ובכן, זאת בדיוק בעיה של מציאת מסלול המילטוני בגרף מכוון” (מסלול המילטוני הוא מסלול שעובר דרך כל צומת בדיוק פעם אחת). אפשר לפתור את זה בניסוי וטעייה, עם קצת רישום והרבה השקעה אבל אנחנו מתכנתים. אחרי שבנינו את הגרף וניסינו לראות אם יש בו איזה שהוא נתיב ברור ללא הצלחה, הצעתי לכתוב תוכנה שתפתור את זה. כן, למצוא מסלול המילטוני זאת לא בעיה פשוטה. היא 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.
The Price
Got a new thing in my Programming Projects. Please check it out. It’s in an early stage and I would appreciate feedback. Just click that link at the bottom of the screen.
Posted in Gaming, Programming by Eran with comments disabled.
You Definitely Need a Budget
לא לעתים קרובות אני נשפך ככה על חתיכת תוכנה אבל הפעם אני לא יכול שלא. אז הנה הסיפור במלואו. אם אין לכם כוח, דלגו על הפסקה הראשונה. לפני כמה חודשים ראיתי את You Need a Budget 4 באזור התוכנות בחנות של Steam. קראתי עליה וזה נראה לי מגניב. תוכנה שתעזור לך לנהל את הכספים שלך בצורה קלה ונוחה ותעזור לך לחסוך יותר ולהוציא פחות? למה לא לאהוב. הראיתי את זה למעין והיא אמרה שהיא עוד תסתכל על זה. ואז שכחנו מזה לגמרי. לפני כחודש וקצת, מעין קראה עליה בעצמה דרך אתר אחר והתלהבה מספיק כדי להוריד את גרסת הנסיון. ואז ראינו איך, אם משכורת אחת לא נורא גדולה, אנחנו מסוגלים לחסוך כמה אלפים כל חודש והתוכנה יכולה להחזיר את העלות שלה תוך חודש-חודשיים. אני לא ממש מסוגל להסביר איך זה קרה. כי הדבר היחידי שבאמת השתנה כשהתחלנו להשתמש בתוכנה הזאת היא שחשבנו על כל ההוצאות שלנו מראש. אפילו לא קבענו אותן באבן מראש, פשוט תכננו אותן. וזה מה שיפה בתוכנה ובשיטה של YNAB, ברגע שמתכננים את התקציב מראש, שום דבר לא בורח דרך הסדקים, שום שקל לא נעלם. וכל כך נוח לתכנן לעתיד כך שהוצאות גדולות, במיוחד כאלו שידועות מראש, לא מפתיעות אותנו. עוד מלפני מעין ידעה להתנהל כלכלית טוב ואני בהחלט השתפרתי מאז שהתחלתי אבל התוכנה הזאת מילאה כל כך טוב מקום חסר בחיים שלנו שהתחלנו להשתמש בה בתור פועל על כל הוצאה שאנחנו עושים (“Did you remember to YNAB when you refueled? Good.”) ואני שמח שיש לנו דרך קלה וטובה ומועילה לנהל את הכספים שלנו ומעין נהנית להשתמש Continue Reading →
Posted in Reviews by Eran with 2 comments.