Digital Copies of House Keys
אני מסוגל להבין את הקלות של לבוא למכונה, לתת לה לסרוק מפתח ואז לקבל עותק מדויק בחזרה. אבל אני היחידי שמודאג מהיכולת של המכונה לשמור את הסריקה של המפתח לשימוש עתידי? אני מקווה שעוד מישהו חשב על זה, בתקווה מישהו בצוות שבנה את המכונה, ודאג להגן על המאגר שלה ככל האפשר כולל מחיקה מיידית של כל המידע אם מישהו מנסה לפרוץ אליה.
Posted in High-Tech by Eran with 4 comments.
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.
Summer Solstice
תחילת הקיץ, לפי גוגל. משעשע אותי שלעוד מישהו, חוץ ממני, אכפת משיוויון הקיץ.
Posted in Less Interesting News 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.
אחות משוחררת על בסיס ספק באמונה
אחות סולקה מלימודיה בגלל ספקות באמונה. אפשר לקרוא את זה, מומלץ למען האמת, אבל הנה הקטע שבאמת הרתיח לי את הדם: לדברי לויפר, “הוועדה” החליטה להתנות את המשך הלימודים בחתימה על “תקנון מיוחד” שחובר עבורה, ועבורה בלבד. “רצו שאחתום להם על מסמך שבו אני מתחייבת שאסור לי לחרוג ולו חריגה קלה מתקנון הצניעות, ואסרו עלי לדבר עם הבנות על ענייני אמונה. גם דרשו ממני להיפגש עם פסיכולוגית חרדית בנתניה שהם בחרו, כדי שהיא ‘תטפל בי’, על חשבוני. “הם גם דרשו שאחתום לאותה מטפלת על טופס ויתור סודיות, כדי שהיא תוכל לדווח להם על המצב הרוחני שלי. הסכמתי להכל, אפילו לפסיכולוגית בהתחלה, אבל לא הסכמתי לחתום על ויתור סודיות”. לויפר הסכימה להיפגש עם רב שיהיה מקובל על הצוות החינוכי, ולהקפיד על קוצו של יוד בתקנון ובהגבלת נושאי השיחה עם חברותיה לספסל הלימודים. דרישתה לקבל לידיה את “המסמך המיוחד” או את פרוטוקול הישיבה שהוקלד, נענתה בשלילה. “אמרו לי במפורש שהם חוששים שאני אעשה בזה שימוש משפטי”. אז, במהדורת היום של “אתם לא רואים שזה לא בסדר?”: לא מוכנים לשחרר את הפרוטוקול של הישיבה כי היא “תעשה בזה שימוש משפטי”?! אתם לא מבינים שזה לא בסדר?! אתם מקשיבים למה שיוצא לכם מהפה?! זה לא נשמע מוזר?! זאת אומרת, אתם יודעים שאם זה יגיע לשלטון החוק אז אתם תפסידו אז אתם לא מוכנים לשחרר את זה? אולי פשוט לא תעשו את זה מלכתחילה?
Posted in Less Interesting News, Religion 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.