הילד הזה הוא אני?
Posted in Less Interesting News, Memes and Stuff, No Category by Eran with comments disabled.
Tests Season
Passed one test already. Barely but I’m ok with that. Really want to finish the degree. Got one more on Wednesday. Hope I’ll pass that because I need the time over the summer to work on a project. Really want to finish the degree. Yes, still need to complete one more major assignment and I should probably check on my gaming project lead. And then there’s the Computabilty test I have to study and pass or all is for naught. Really want to finish the degree. So I’m gonna get back to studying now.
Posted in No Category, School by Eran with comments disabled.
Interview Question: The Swap
Went to an interview at Verix today. It went rather well, I think. I’m over the interview cliches and I make that known so I also try to be honest because if they don’t want me as me, they would definitely wouldn’t want me pretending to be someone else and failing in a month. So I look for a character (or as my tech interviewer said, interests) compatibility. But, as usual, there is the usual interview tech question. This one, one I’ve seen before, is actually rather earnest and seemed to me to test actual knowledge. This one, tests knowledge of variable passing. The idea is that we want a function that receives two variable references (strings in my case) and we need to swap them around. The problem that is needed to be understood here is that swapping the references, which will happen if you go with your first thought, doesn’t help. temp = var1; var1 = var2; var2 = temp; // doesn’t do anything once you exit the function Because what ever you do, if you do it that way, you will switch around references in your hand and do nothing to the original pointers and data. What needs to be done is to access the underlying data and modify that. for (int i; i < var1.length; i++) { tempPart = var1[0]; var1[0] = var2[0]; var2[0] = tempPart; } // this should get things done but be careful of access violations which are not protected against here. That Continue Reading →
Posted in No Category, Programming, Thinking Out Loud by Eran with 2 comments.
Deimos is Three
I just figured that since I bought Deimos at the Duty Free before we boarded for Cyprus, it is now 3 years old. My trusty machine is a bit dark-ish grey as opposed to bright silver. Its battery isn’t what it used to be, holding a charge for about 20 minutes as opposed to two hours. And it hasn’t gotten any stronger so it won’t be able to run The Witcher 2 or Crysis 3. But other than that, I’m still rather pleased with it. It does the work it was meant to do. It plays HD video at native resolution (almost) without fault. And I can play most games I want on it. Even some of the newer things although I have to run it at less than stellar details. Overall, its doing much better than Luna did, completely dead after two years, god rest her processor. In fact, Maayan and me talk once in a while about the future of our home computing network and there is the subject of what will be and will be the usage of our next computer. My stance on it is that our current setup is good enough for grunt work (internet, reading and writing, even programming) but we would like a better machine for home entertainment (gaming and HD viewing). I am also thinking about maybe a transformer for future work on the Android platform but that is ethereal. So, in a few months, or maybe more, we will buy something Continue Reading →
Posted in Gaming, Geekdom, High-Tech, Maayan, No Category, Thinking Out Loud by Eran with comments disabled.
T אנשים בצורת
במדריך לעובד של Valve יש קטע מאוד מעניין שמדבר על אנשים בצורת T. לפי ההגדרה, אנשים בצורת T הם אנשים שיש להם מרחב גדול של ידע וכישורים אבל הם גם מאוד ממוקדים וחזקים בתחום לחודי. אני מנסה להיות כזה בן אדם. לא רק כי “Valve, יאיי! אני רוצה לעבוד שם!” אלא גם כי אני חושב שזה מתכון טוב לכל אדם מקצועי שמנסה לחצוב לעצמו נתיב בתחום שלו. ואני גם אוהב לחשוב שאני, כמו שצריך להיות כל בוגר טכניון, בן אדם יחסית כללי בתחום שלי. זאת אומרת, במדעי המחשב לומדים הרבה תחומים רחבים ואני מצפה שלכל טכניוניסט שיוצא משם יהיה לפחות את החלק העליון של ה-T כבר בתהליכי בנייה מתקדמים. אני מרגיש שכשאני יוצא מהטכניון אז יש בעברי מספר שפות תכנות שונות (לפחות C, C++ ו-JAVA בצורה חזקה, ותלוי לאן הולכים, גם Python, C#, ML, BASH, JavaScript וכן הלאה), מספר סביבות פיתוח שונות (Visual Studio, Eclipse ו-GCC/++G עם GDB/DDD לפחות ואצלי גם MonoDevelop, Unity, Qt וכן הלאה) והרבה הרבה שיטות עבודה וטכניקות. וזאת התחלה לא רעה. עכשיו אני רק מנסה למצוא ולייסד את החלק התחתון של ה-T שלי. נ.ב. רק לשם הרישום ואולי השוואה לאחר כך, מ-0 עד 10 כאשר 0 זה כלום ו-10 זה מישהו שבגיל שלי עבד רק עם זה לעומק, הנה הערכה שלי: C++ = 6 Java = 6 C = 5 JavaScript = 4 HTML = 4 SQL = 4 C# = 3 WordPress/PHP = 2 Python = 2 ML = 2 Prolog = 2 Pascal = 1 Assembley = 1 Visual Studio = 6 Eclipse = Continue Reading →
Posted in Humanity, IT, Me, No Category, Programming, Thinking Out Loud by Eran with 2 comments.
APOD is Eighteen
בישראל כבר מותר לה לשתות אלכוהול. בכל מקרה, אני לא עוקב אחרי זה 18 שנים אבל דיי הרבה. יש לי את כל התמונות שמורות. שזה בערך… רגע, חישוב מהיר, יותר מ-6500 תמונות אסטרונומיה. וזה עדיין מקום נהדר לראות את פלאי היקום. שהם כל כך יפים שלאחרונה, מתאפשר על ידי זה שתמונות האסטרונומיה מעורבבות עם אמנות דיגיטלית שרובה טבע ואסטרונומיה בכל מקרה, מדי פעם כששומר המסך שלי מתחיל לפעול אז אנחנו משחקים Real or Not Real עם התמונות שמופיעות. וזה הכי משעשע כשחושבים שתמונת אסטרונומיה אמיתית היא בעצם ציור. :)
Posted in Geekdom, Less Interesting News, Memes and Stuff, No Category by Eran with 1 comment.
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.