(This post was previously published in http://dotmad.net/blog/)
As a rule, in every application I write, I always implement both the Application.ThreadException and AppDomain.UnhandledException events, to catch exceptions which were not caught by a try..catch block.
There are three reasons behind this:
- Present a custom failure message to the user (something like Twitter’s fail whale message) instead of the default ugly (and unclear) error dialog, i.e. “XXX.exe has encountered a problem and needs to close. We are sorry for the inconvenience.“
- Log the exception so it may be resolved in future releases.
- Although it’s not considered as a good practice, some exception may be ignored so the application may keep on running, instead of crashing.

However, I recently came across a case in which the application crashed ungracefully although I implemented those methods. Some research led to me to realize my code is not as full-proof as I thought it was.
The code below will crash your application even if you hooked the two events mentioned above. The UnhandledException event WILL be executed, but afterwards the application will crash anyway, presenting Microsoft’s default error dialog:
private void MyThreadProc()
{
throw new Exception(”Bad wolf”);
}
private void ClickMe()
{
Thread myThread = new Thread(new ThreadStart(MyThreadProc));
myThread.Start();
}
Turns out I was not aware that during the transition between Framework 1.1 and 2.0 (and beyond), Microsoft changed the way the CLR deals with exception that don’t occurs in the application’s main thread, meaning that if you want the application to remain alive even after an external thread exception, you need to tell the CLR to revert to the Framework 1.1 exception handling mechanism, by adding this section to your app.config file:
<configuration>
<runtime>
<legacyUnhandledExceptionPolicy enabled=”1″ />
<runtime>
<configuration>
Again, not a best practice, but if you can’t afford to having
Another footnote is related to using the Application.SetUnhandledExceptionModeMethod. If you try setting it from a Winform application running inside the Visual Studio, you’ll get the following error: “Application exception mode cannot be changed once any Controls are created in the application“, even if that’s the first line of code in the application. This is because the Visual Studio runs a host environment prior to running your application. The methods works just fine when you run it from outside the Visual Studio.
קראתי את הפוסט של טל בנוגע לתוסף של חברת Wibiya המספק סרגל כלים של מדיה חברתית לבלוג שלכם, וחשבתי להשלים אותו בהמלצה על תוסף אחר.
משכתם אנשים לבלוג? הגדלתם חשיפה? נהדר. איך תגרמו להם לחזור שוב?
אחת הדרכים היעילה ביותר לשמור על קהל קוראים קבוע לבלוג היא קיום קהילה פעילה של מגיבים. כל בלוגר רוצה לראות הרבה תגובות לפוסטים שלו. לפעמים התגובות אפילו יכולות לייצר ערך מוסף לפוסט שערכו עולה על הפוסט המקורי (בפוסטים הומוריסטיים בד"כ הבדיחות בתגובות טובות יותר מהפוסט עצמו), אז חבל לפספס השקעה במשאב כזה.
לשם כך רצוי לשלב בבלוג מנוע תגובות שמחליף את זה שמובנה כברירת מחדל, אבל מאפשר למגיבים לכתוב תגובות לפוסטים דרך הפרופילים שלהם ברשתות חברתיות כמו פייסבוק או טוויטר.
כלי שכזה הוא DISQUS Comments, פלטפורמה לניהול תגובות בבלוגים, ששוחררה בשנתיים האחרונות:
Disqus Comments is a comment system and moderation tool for your site. This service lets you add next-gen community management and social web integrations to any site on any platform. Hundreds of thousands of sites, from small blogs to large publications, rely on Disqus Comments for their discussion communities.
בשלב זה של הפוסט אני רוצה להבהיר מראש שהוא כנראה אינו תומך ב-Community Server, אז המשך הפוסט רלוונטי בעיקר למי שמנהל בלוגים נוספים בפלטפורמות שונות ורבות. (מצד שני, מפתחי CS עצמם ממליצים עליו)
כמו שתארתי קודם, התוסף הזה מאפשר למגיבים להשתמש בחשבון ה-Facebook Connect, Twitter או OpenID שלהם כדי להגיב. התגובות מוצגות במבנה עץ בדומה לפורומים, כך שניתן להגיב לפוסט, או לתגובה אחרת, עד לקיום דיון שלם בתגובות בלבד.
בנוסף לכך התוסף "שולף" אזכורים של הפוסט מטוויטר ומציג את הדיון בפוסט בטוויטר כהמשך לתגובות, ותומך בדומה גם ב-FriendFeed, Digg או יוטיוב. כך שהדיון בפוסט מתרחב אפילו מעבר לגבולות הבלוג עצמו.
אני משתמש בתוסף הזה בבלוג העברי שלי ומאוד מרוצה ממנו, למרות שחשוב לציין שהוא כבד יחסית, ומאריך את זמן הטעינה של הדפים.
(פורסם לראשונה בבלוג Dotmad.net בעברית)

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

לאחר שאפל כבר מזמן זרקה את ג'אווה מהמכשירים שלה בטענה ש"ג'אווה לא ראוייה לכתיבה. אף אחד לא משתמש כבר בג'אווה", ולאחרונה הגבילה את השימוש בפלאש באייפון ובאייפד שלה למורת רוחם של מי שרוצים לגלוש באתרים שנכתבו בטכנולוגיה הזו (ולא, אני לא מתכוון רק ליוטיוב), סטיב ג'ובס יוצא בפוסט "מחשבות אישיות", או כמו שאני קורא לו: "למה אני רוצה לשלוט בעולם?".
ג'ובס מתחיל בהצגת אפל כאביר שמגן עלינו מפני מוצר שאינו קוד פתוח (פלאש).
מדברים על אנשים בבתי זכוכית.... הרי אפל מכריחה כל משתמש אייפוד להתקין תוכנת אייטיונס מסחרית שלהם כדי להעביר קבצי mp3 למכשיר. אפל מאלצת משתמשי אייפון להשתמש בחנות האפליקציות המסחרית שלהם. ואפל אוסרת שימוש בשפות פיתוח שהיא לא אישרה לפיתוח אפליקציות לאייפון ולאייפד. גם הטכנולוגיה שג'ובס מקדם כתחליף לסרטוני פלאש באינטרנט (H.264) אינה קוד פתוח אלא מוגנת בפטנטים שונים ותשלומי תמלוגים.
אבל מעבר לכך, אולי לתת למשתמשים את זכות הבחירה? אני כמשתמש לא רוצה ש"האח הגדול" סטיב יחנך אותי למה נכון יותר לשימוש ולצריכה.
רוצה לקדם פרוייקטים בקוד פתוח? נהדר. אבל אל תחסום סטנדרטים מתחרים, כי אז אתה פוגע באותו החופש שאותו לכאורה אתה מקדם. כבר למדנו בעבר שאם האלטרנטיבה טובה מספיק, כוחות השוק ידאגו להצלחה שלה מבלי התערבות של חברות מסחריות כמו אפל.
ג'ובס ממשיך בטיעון שהמשתמשים שלו בעצם לא באמת מוגבלים, כי הוא יתן להם אפליקציה (מעניין מתי תהיה בתשלום) לצפייה בחלק מהתכנים ביוטיוב בפורמט ווידאו שאינו פלאש. אבל מה עם אתרים/תכנים אחרים? ומה עם מי שמעוניין לצפות בסרטוני ווידאו המוטבעים בתור אתרים/בלוגים מבלי להזדקק לאפליקציה מיוחדת?
ונכון שיש משחקים (בתשלום?) בחנות של אפל, אבל למה לחסום משתמשים ממשחקי פלאש שאותם מבטל מנכ"ל אפל בזלזול כזה?
ההתקפה הבאה של ג'ובס על פלאש מגיעה מכיוון ביצועים, אמינות ואבטחה.
קשה לי להתייחס להאשמות באוויר. אני חושד שאם היו בידי ג'ובס נתונים סטטיסטיים שמגבים את הטיעונים שלו הוא היה מציג אותם בפוסט, אז נשאלת השאלה האם באמת קיימים נתונים כאלה. מנכ"ל אדובי פשוט כינה את הטענות הנ"ל "מסך עשן"
גם לטיעון על קיצור חיי הסוללה בגלל פלאש קשה לי להגיב, כי אני לא יודע איך בדיוק נערכה הבדיקה לפיה (לטענתו) "ווידאו מפוענח בתוכנה" יגמור סוללה ב-5 שעות לעומת 10 שעות ל"ווידאו מפוענח בחומרה". איזה ווידאו? איזו תוכנה? איזה מכשיר? לג'ובס פתרונות.
וכאן הוא קורא תיגר על אדובי להציג לו מכשיר סמארטפון כלשהו בו פלאש מוצג בצורה טובה:
מר ג'ובס, אני מזמין אותך לביתי הקטן, במדינה הנידחת ששמה ישראל. שם אוכל להראות לך מכשיר סמארטפון זול מתוצרת HTC, שיוצר לפחות לפני שנה, ושמריץ סרטונים ביוטיוב בקלילות מתוך הדפדפן שלו (סליחה. ביותר מדפדפן אחד - ובדקתי).
הטענה הדמגוגית ביותר מגיעה בסוף הפוסט של ג'ובס, ועוסקת גם בשינוי תנאי הרשיון של אפל, לפיו עכשיו אסור לפתח אפליקציות למוצרי אפל בשפות תוכנה שאינן מאושרות בידי אפל (ושמאפשרות פיתוח לריבוי פלטפורמות), כי אפל חוששת שאפליקציות שיפותחו יהיו "תת-תקניות".
בתור מפתח תוכנה ומשתמש במערכות הפעלה אני חושב שהרעיון מזעזע. אתם מדמיינים את מייקרוסופט אוסרת על פיתוח אפליקציות לחלונות שלא באמצעות מוצרי וויז'ואל-סטודיו שלה? הרי היו קמות זעקות עד לשמיים מכל אותם חסידי אפל על הרשע של מייקרוסופט, ומיד אחר כך כל כובד משקלו (הלא גדול) של משרד המשפטים האמריקני היה נוחת על מייקרוסופט (מה שכנראה יקרה לאפל בכל מקרה).
הרי כבר מזמן ידוע שתהליך אישור אפליקציה בחנות האפליקציה של אפל מהנה בערך כמו עקירת ציפורניים. אז אם אפל דואגת לאיכות - שתאכוף אותה פר-אפליקציה. אבל לאסור פיתוח בשפת תכנות/פלטפורמה כי אולי התוצאה לא תהיה טובה מספיק? מישהו באמת קונה את השטויות האלה?
אפל בסה"כ רוצה לנעול מפתחי אפליקציות בתוך הגן הסגור שלהם, כדי שימשיכו לייצר אפליקציות המיועדות אך-ורק לחנות האפליקציות המסחרית שלהם.
עבדים היינו בקופרטינו לפרעה-ג'ובס.
(אני יודע שפוסטים כפולים ומכופלים שלי מציפים לאחרונה את הRSS באתר מסויים - אבל אין לי כל שליטה על כך, ולהלן ההסבר) את ה”קריירה” שלי כבלוגר התחלתי באתר Blogger.com, בו כתבתי בלוג באנגלית.
מאוחר יותר התוודעתי לאתר/קהילת הבלוגים בחסות מייקרוסופט ישראל שהקים יוסי תאגורי, ושם פתחתי בלוג חדש, בו כתבתי בעברית ובאנגלית.
יוסי עזב את מייקרוסופט לפני כשנתיים, [...]
( * Originally posted as “The Million Followers Fallacy” on “Pravda on Media and Tech” )
Twitter is getting more and more attention from “old media” lately. Whether it’s a news-story mentioning Twitter, a Twitter competition between a celebrities, or using Twitter to gather reports on the Iran elections, the average person sees the word “Twitter” [...]
ניסיתי להיאבק בזה, אבל זה בכל מקום, אז עדיף להצטרף להמונים מאשר להיות המוקד ללינץ’
לאחרונה המילה “ספאם” נזרקת לחלל האוויר הווירטואלי בתדירות גבוהה מיום ליום. משתמשים קוראים לאחרים “ספאמרים” בלי לחשוב פעמיים. לפעמים יש בכך צדק, אבל התחושה שלי היא שמשתמשי הרשתות החברתיות הפכו את המילה הזו לקללה חדשה, שמשמעה “אני לא אוהב אותך או את התכנים שאתה מייצר”.
השימוש הישן והמוכר יותר במילה הזו התייחס למקבילה האלקטרונית של דואר [...]
יש לי הרבה רגשות חמים כלפי מערכת הבלוגים כאן, אבל בנקודה כלשהי החלטתי לשדרג לאחסון בלוג עצמאי. לאור העובדה שלא רציתי להתנתק מהקהילה כאן, לאחר שהעברתי את הבלוג שלי לאתר משלו פניתי לאחראי על המערכת בלוגים כאן כדי שהפוסטים שלי יופיעו גם בבלוג הזה.
מסיבה כלשהי לחיבור RSS לבלוג עברית שלי יש תופעת לוואי מצערת - כל פוסט מופיע מספר רב של פעמים. מתוך חשש שהבעייה היא רקורסיה כלשהי בסינדיקציה, ביטלתי אותה לחלוטין בבלוג כאן, אבל עדיין ללא הועיל. כרגע המצב פשוט מחוץ לשליטתי.
פניתי לליאור אלפרוביץ', מנהל מערכת הבלוגים, ואני מאוד מקווה שהוא יצליח להביא את הבעייה לפתרונה.עד אז, אני מתנצל מראש על פוסטים כפולים.
גילוי נאות: לפני כתיבת הפוסט הזה התארחתי בספא כאורח של ערוץ 10.
גילוי נאות 2: להזמין אותי לספא זה בערך כמו להזמין משתמש אייפון למסיבת התקנה של חלונות ויסטה.
באופן מסורתי ערוץ 10 משתף פעולה בצורה מופלאה עם קהילת הבלוגרים, להבדיל מערוץ 2 שמעדיף להתעלם מהם ולהסביר למה אין לתוכניות שלו “באזז”. זהו לא מפגש הבלוגרים הראשון בו אני [...]
More than 2 years ago, Ayelet Noff (AKA Blonde 2.0) wrote a post on social networks vs. blogs (with Myspace as an example for a social network). She claimed there is room for both in the life of a blogger.
I disagreed with her:
“Blogging takes effort, time and at least a little talent.
MySpace requires choosing a [...]
טוויטר זוכה להתייחסות גדולה יותר ויותר מהמדיה ה”ישנה” לאחרונה. בין אם מדובר בכתבות טלוויזיה, תחרויות עוקבים בין כוכבים מקומיים (לעומת הגרסה המקורית של התחרויות הנ”ל), או שימוש בטוויטר כמקור לדיווחים מהאירועים האחרונים באיראן, האדם הממוצע נתקל במילה הזו יותר ויותר פעמים.
לדעת אילאיל בן-שלום הסיבה היחידה בשלה רוב הציבור עוד לא הצטרף לטוויטר היא חסם טכנולוגי, [...]
עם כל ההתנהגות הבעייתית והשאלות שעלו בשנים האחרונות, קל לשכוח שמדובר באומן מהשורה הראשונה. Michael Jackson - BadUploaded by bebepanda. - Explore more music videos.
Michael Jackson - Beat It music videoUploaded by liquiddreams54. - Watch more music videos, in HD!
Mickael jackson Thriller video clipby meeee37
Black Or White
June 24, 8:30(am) - The emerging energy economy: the new frontier for software developers and entrepreneurs by IDesign’s Juval Lowy - Talk June 28, 17:30 - Microsoft Think Next! with Ray Ozzie - event June 29, 8:30(am) - Breakfast with Jeff Pulver (and friends) in Tel Aviv - social gathering June 29, 14:45 - Reality and Internet - [...]
פייר? אני מאוכזב.
התחלנו בחזרה מיותרת על הפרק האחרון, עוד פעם רואים את תום וגיל מחפשים מחת בערימת שחת. יופי.
המשכנו בקריינות מיותרת של הזוגות שהודחו - למי בכלל אכפת?
משם ל”משימה” (פרסומת של הונדה) “ירוקה” (הונדה) לשלושה הזוגות שנבחרו בידי הקהל כדי לדקלם טקסטים מקוריים להפליא של קופירייטרים (של הונדה). מעניין שלפי חלק מהביקורות הרכב הזה לפעמים [...]
More Posts
Next page »