עוד סיבה למה (על חלונות) תוכנות עובדות אחרת ב-Debugger

ובהמשך לפינתנו “דברים שלומדים כשעובדים על Wine“.

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

מסתבר שיש לזה עוד סיבה אפשרית. הסיבה נקראת “OutputDebugString“.

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

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

אין לי מילים.

שחר

IDS – טוב או רע?

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

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

בשלב זה שאלתי את השאלה הבאה:
“האם אתה יכול לספר על מקרה שבו ראית בעיניך מצב שמערכת ה-IDS עשתה משהו מועיל”.

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

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

שחר

דיווחים אישיים מהשטח

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

אם להוסיף חטא על פשע, ככל שמוסיפים יותר הודעות שגיאה כדי לגלות איפה הבעיה, הבאג פחות קורה….


אה, ושכחתי לציין שהבעיה קוראת רק אחרי שהמערכת רצה בערך שעה.

גררר…

זה באג שאני מאוד מאוד אשמח לראות עובר מהעולם.

שחר

הגיע הזמן להתחיל לפעול

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

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

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

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

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

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

שחר

קישורים:
שאלות ותשובות באתר chilling effects לגבי הסעיף בחוק האמריקאי – http://www.chillingeffects.org/dmca512/faq.cgi
אתר ה-EFF – http://www.eff.org

חברות ה-ActiveX מתרעמות על Service Pack 2 של חלונות

המאמר המקורי בדיילי מיילי נמצא כאן.

תגובה שאני ממש ממש מסכים לה פורסמה היום. מישהו ממש לקח לי את המילים מהפה. היי, יש לו אפילו את אותו שם כמוני. איזה צירוף מקרים….

שחר

דברים שלומדים כשעובדים על Wine

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

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

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

אבל אפילו על זה אני לא מדבר באמת.

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

שחר

הראל סקעת כן ניצח

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

נקודה אחת שלא נכנסה לכתבה עצמה היא זו – תוצאות ה-SMS בעצם לא משנות. בואו נשאל את עצמינו, למה הלכו המתמודדים לכוכב נולד? האם זה באמת היה בשביל לזכות בנסיעה לחו”ל? לדעתי התשובה היא “לא”. משתתפי כוכב נולד קיוו להתפרסם.

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

שחר

זכויות יוצרים וערסים

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

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

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

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

שחר

spam ב-SMS, ו-Orange

הרגע סיימתי מספר שיחות עם נציגי אורנג’. אחרי מספיק פעמים שמבקשים, מסתבר שאפשר לחסום את כל הנידנודים שמגיעים ב-SMS מגופים מסחריים.

כשאתם מתקשרים (*054), תוודאו שאתם מדגישים את הנקודות הבאות:
1. לחסום את כל הגופים המסחריים ששולחים הודעות, לא רק את אילו של אורנג’ עצמם.
2. לרשום שם מוקדן ומספר פניה.

שחר

כוכב נולד הפלסטיני – זו לא פוליטיקה, זו גיאוגרפיה

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

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

לדעתי:

זה לא היה הפסד ענייני – זה לא בגלל שהוא פחות מוכשר

זה לא היה הפסד פוליטי – זה לא בגלל שהערבים לא אוהבים את הפלסטינאים

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

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

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

מה המסקנה? שככה לא בונים תחרות. אין מסקנה אחרת.

שחר

Bear