Sometimes Select Is Broken

Coding Horror’s first rule of programming is “It’s Always Your Fault”. I’m a big believer in this rule.

That’s why I was so surprised to find a bug in GCC 4.7.2 that turned out to be real and not just a fragment of my imagination. I’m also surprised no one else reported it earlier. I guess it shows that there aren’t too many people (or companies) out there building C++11 code, yet.

So after more than 10 years of programming in C/C++, this is the one time I get to be affected by a compiler bug. From now on it’s going to be really my fault 100% of the time.

8 Years Of Working Out

Again I missed my gym anniversary by a day.

My current workouts consist of running 11+ km (in about one hour) twice a week and some simple workouts at home for the upper body, which help me avoid some lower back pain I’ve suffered from lately.

For some reason around this time of year running gets harder for me. I’m not sure if it’s weather-related or maybe DST-related, but it’s definitely there. Today’s run was relatively easy so that’s good.

I hope I can keep this routine for another year and maybe even go back to running three times a week.

We Released Playrock

Playrock icon To those of you who have been wondering what I’ve been doing over the past 18 months, I finally have something to show for all this time. We released Playrock, which is “a social gaming network where you can play with people who are next to you. Players can instantly create their own virtual spaces, select games that they like to their spaces, and start playing and sharing with other people.”

If you have an Android phone and consider yourself a friend of mine :), please take the time to download Playrock from the Google Play Store by clicking this image below:

Since this is a social app, contact me by email and I’ll add you to one of my “virtual spaces” so I can show you what it does. There is a small learning curve needed to use the app, but I believe it will be worth it. Also, any feedback would be appreciated. Write me to [email protected] (or any address you have of mine) with your thoughts.

Ace Kneading And Purring

Kneading is traditionally associated with juvenile behavior of domestic cats. However, it has also been observed in grown up wild cats, so there are quite a few theories to this behavior.

Here’s Ace kneading on a relaxed Saturday afternoon. If you listen carefully (or turn up the volume) you can hear her purring as well.

My 13th Prodigy Show – Warriors Dance Festival, Belgrade, Serbia, 15-Sep-2012

A few days ago I came back from my short trip to Belgrade, Serbia, where I went to see The Prodigy for the 13th time as part of their self-organized Warriors Dance Festival. Needless to say, I had an amazing time, especially because it’s been two years since the 12th show in Athens.

With me were two new Serbian friends who took very good care of me and made a great night even greater. The Serbian crowd was ecstatic, there were multiple mosh pits throughout the entire show and the adrenalin was flowing at least as much as the beer.

I only have a few pictures from Belgrade. I don’t take too many pictures any more, which is probably a shame. But maybe that will change next time.

And here’s Omen Reprise/Invaders Must Die from the show. It’s one of my favorite parts where the crowd goes from listening to clapping hands to jumping in less than a minute:

החלום

אני יודע שאת חושבת עלי
לפעמים.
גם אני חושב עליך
פחות או יותר
כבר שלוש שנים.

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

אני אשכח אותך
בסופו של דבר.

יום עמוס, או: מיקי הכלב בשקית

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

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

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

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

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

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

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

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

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

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

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

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

ידעתי שהחומוס הזה ישנה הכל.

(לחצו כאן לעדכונים על מצבו של מיקי.)
(לחצו כאן אם אתם מעוניינים לתרום לטיפול במיקי.)


עדכונים

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

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

24/6
מיקי לא שרד את הלילה האחרון. אחרי הביקור האחרון במרפאה כבר הבנתי שהוא נלחם מלחמה קשה, אבל קיוויתי שלפחות אוכל להעניק לו קצת חיים טובים לפני שהוא הולך.

(לחצו כאן אם אתם מעוניינים לתרום לטיפול במיקי.)

תרומות

נתרמו 1350 שקלים על ידי שמונה חברים טובים. תודה לכל מי שתרם ובכלל על התמיכה. ריגשתם אותי ואני אוהב אתכם מאוד.

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

How To Restart Ubuntu Audio

Sometimes I have issues with audio on my Ubuntu installation, usually after some rogue Flash applet destroys it (don’t ask me why.) What works for me is the following:

$ pulseaudio -k

After I do that pulseaudio restarts itself, but in case there is no audio you can try to followup with:

$ pulseaudio

Use at your own risk (I guess the worst that can happen is that you’ll have to reboot)