Temp Logs into Documentation

Here’s an idea I had while writing a server application I needed to test on a remote computer with limited debugging abilities…

I insert debug logs, temporary logs, before and/or after important sections of flow so I could see in the console what is going on and what is failing. But I wouldn’t want them there when the app rolls into production.

And then I thought, people hate writing in-line documentation but it’s quite important. And here I have all these debug logs explaining what is going on. So, instead of deleting them, comment them out. Then I have them for later, if I want, and they pretty much function like in-line documentation.

Win-Win!


Posted in IT, Life, Practice, Programming, Thinking Out Loud, Work by with no comments yet.

Human Etiquette (or, The Art of Not Being a Dick)

Driving Etiquette, Lesson #2

When you want to do something different on the road, check yourself. If it’s going to force another driver to change direction, slow down or otherwise change what they’re doing, don’t do it. Except in emergencies.


Posted in Humanity, Life, Practice, Thinking Out Loud by with no comments yet.

Human Etiquette (or, The Art of not Being a Dick)

Driving Etiquette, Lesson #1

If you want to change a lane, here is what you do.

Step 1. Signal you wish to turn. But stay in your lane.

Step 2. Check your mirrors to be sure you’re not going to make anyone slow down with your crossing and especially, that you won’t crash into anyone.

Step 3. Change lane quickly and safely.

Step 4. Turn the signal off.

Addendum: If you wish to cross several lanes, perform steps 1 to 3 for the first lane and then repeat steps 1 to 3 for every subsequent lane.

Important notes: DO NOT cross without signalling. DO NOT perform these steps out of order. DO NOT skip any of these steps. DO NOT use someone else’s sense of self preservation against them.


Posted in Humanity, Life, Practice, Thinking Out Loud by with no comments yet.

העולם הסתדר לפי תחומי עניין

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

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

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

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


Posted in Humanity, Life, Philosophy, Practice, Thinking Out Loud by with no comments yet.

Notifications While You Sleep

This is something I haven’t seen addressed anywhere and it’s something that’s come to bother me recently. There are a lot of development guides that address how to properly monetise, how to design a menu system, how to prod your users just right, and so and so. But I’ve seen nothing about how to manage your notification in a way that makes sense if you consider they are being ignored 6-8 hours a day.

I will discuss this using examples from some of mostly notifying apps:

First, The Failures:

  • GReader. It’s a bit of an oldie and isn’t maintained much but it’s still very useful. What it does is check for updates every X minutes, download updates and notify how many items there are now and how many are new. And it overrides previous notifications. So, I can’t see the total amount of new items since I last opened it. That’s annoying.
  • Twitch. Whenever someone you follow goes online, you get a notification. And any new notification overrides the previous one. This isn’t horrible when I’m awake because I can just open the app and see who’s online. But, when I sleep, trillions of notifications could go by, people I care about could have streamed or uploaded and then I’ll have to go and check manually to see if I missed something important.

Secondly, The Overdoer:

  • Discord. Whenever I have a new notification from Discord, it’s add to the bar. Not collapsed, not counting, just adding to the bar. So, after a busy night, I might have 8-10 notifications just from Discord. I don’t miss anything but it can be done better.

Thirdly, How it Should be Done:

  • Gmail. Not a big surprise that a Google app does it correctly. New notifications just get added to the original one. From one big new email alert, it turns into a list of new things, which can be swiped open or clicked to go to the app.
  • Business Calendar. But I would also like to mention the greatest calendar app on the market, which does it very similarly. New notifications get bunched up, I can swipe them open and then open them individually or open the pop up window to manage all of them.

So, please, please, someone learn from this.


Posted in Practice, Thinking Out Loud by with no comments yet.

?כמה שינוי כבר הורג

אני משחק עכשיו את Deus Ex: Mankind Divided וזה, בצורה מאוד לא מפתיעה, גרם לי לחשוב על Alita Battle Angel בעיקר בהקשר של זהות.

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

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

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

אז זה גרם לי לתהות: כמה שינוי מישהו צריך לעבור כדי שהוא כבר לא יהיה אותו אדם יותר? בעולם של אליטה, הם מבינים שהדרך היחידה לזהות מישהו היא לפי המוח שלו. מבחינתם, כל עוד יש לך את אותו המוח, אתה אותו בן אדם. לפי דארת’ ויידר ובעולם של Deus Ex, מספיק כמה שדרוגים מכניים בשביל לשנות מישהו, בשביל להתייחס אליו כתת-אדם.


Posted in Humanity, Thinking Out Loud by with 3 comments.

שמאל וימין בפוליטיקה

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

או, בקיצור, אלא אם כן אתם מתיימרים להיות צרפתים שתומכים או מתנגדים למלוכה, רדו מהמושגים האלו ותמצאו משהו טוב יותר.

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

עזבו. אין סקוטי אמיתי.

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

והכי חשוב, תחשבו על זה בעצמכם.


Posted in Humanity, Thinking Out Loud by with 2 comments.

Disney and Warner are breaking away from Netflix to do their own service

אני באמת שלא מבין למה זה צריך להיות כל כך מסובך. אני יודע שזה לא העסק העיקרי שלהם אבל תראו איך Steam מוכרים סרטים ותוכניות: יש מחיר להשכרה — ששם את זה בספריה שלכם לזמן מוגבל — ויש מחיר לקנייה — ששם את זה בספרייה שלכם באופן קבוע. אין שום מחיר חודשי כשנרשמים ל-Steam!

למה אי אפשר לעשות אותו הדבר? אני ארשם ל-Netflix ודיסני וווורנר (למרות שצריך אין סוף ו’ים כדי לכתוב את זה בעברית) אם זה לא היה עולה כל חודש אלא רק כל פעם שאני רוצה לצפות במשהו.

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

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


Posted in Practice, Thinking Out Loud by with no comments yet.

?אתר פרטי לכל אדם

אני, איפה שהוא באזור התיכון (97′, אני מאמין) בניתי לעצמי אתר משלי. השתמשתי בתוכנה בשם Homesite ולפעמים גם ב-Notepad ואני כבר לא זוכר איפה אחסנתי אותו. עדכנתי אותו במחשבות אקראיות שהיו לי ומה קורה איתי ולא הייתה לי באמת אשלייה שמישהו קורא אותו קבוע. בעיקר רציתי מקום לפרוק מחשבות ומה אני עושה כדי שזה יהיה שמור איפה שהוא.

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

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

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

והיום, עם פלטפורמות כמו WordPress, Wix ו-Squarespace, זה כל כך קל להרים אתר פרטי. נסו גם אתם.


Posted in Life, Me, Practice, Thinking Out Loud by with no comments yet.

Tidbits of Experience: Unity App on Android Not Showing Permission Request Dialog

It happened to me that an app I was creating required some Android permissions and while it did show the permission dialogs when I first installed it, subsequent builds, with more or different permissions, didn’t pop the dialog. Even after uninstalling and reinstalling the app, nothing happened.

Digging through the AndroidManifest.xml file Unity was generating, I found this line:

<meta-data android:name=”unityplayer.SkipPermissionsDialog” android:value=”true” />

So, to override, make sure you have an AndroidManifest.xml file in your Plugins\Android directory (you can copy the generated file from Temp\StagingArea as a start) and make sure you have the line:

<meta-data android:name=”unityplayer.SkipPermissionsDialog” android:value=”false” />

Under your Application tag.

It will ask for permissions every time you reinstall the app but it should be good from then on out.


Posted in Life, Practice, Programming, Thinking Out Loud by with comments disabled.