DCSIMG
April 2008 - Posts - GadiM - Gad J. Meir www.idag.co.il

GadiM - Gad J. Meir
www.idag.co.il

מסעותיו של משמיד חרקים ושרברב תהליכים במרחב הקיברנטי

קישורים

April 2008 - Posts

מדידה נכונה של מי הרכיב שנכשל בתנאי לחץ לעומת מי הרכיב שצורך הכי הרבה משאבים

הרבה מפתחים מנסים לאתר בעיות במערכת שלהם על ידי זה שהם מעמיסים אותה מעל העומס הרגיל. העמסת מערכת היא טכניקה טובה וכלל האצבע שלי אומר פקטור 10. אם המערכת אמורה לטפל ב 100 לקוחות, בדוק אותה עם 1000. כי אם היא עובדת ללא בעיות עם 1000 לקוחות, גם אם יהיו לך 200 לקוחות, אתה לא צריך לתכנן אותה מחדש.
הבעיה היא שהבדיקה תקפה רק אם המערכת מתפקדת בתחום הפעולה התקין שלה. אם אתה מעמיס את המערכת שלך ומקבל 100 אחוז יע"מ (CPU), הבדיקה שלך לא מודדת באמת את תפקוד המערכת שלך, אלא כמה זמן אתה יכול לעבוד תחת לחץ של 100 אחוז ללא התמוטטות של מערכת ההפעלה.
חשוב להבין שאף מערכת לא מסוגלת לתפקד בעומס יתר לאורך תקופת זמן ארוכה. באיזה שהוא שלב תישבר החוליה החלשה ביותר. אתה צריך להקפיד, שגם אם לקחת פקטור 10, המערכת נשארת בתחום העבודה התקין. אם אתה לא מקפיד לבדוק את המערכת, בתחומי העבודה הנורמאליים שלה, אתה מדבג בעצם, מי המרכיב שישבר ראשון, בתנאי עבודה לא נורמאליים. זה לא בהכרח המידע המעניין ביותר.
אם אתה רוצה לעומת זאת לבדוק, איזו מרכיב במערכת שלך לוקח הכי הרבה זמן CPU. תקפיד להריץ את כל הבדיקות שלך, מבלי לעבור את ה 80% יע"מ. כך תוכל לדעת באמת, מי המרכיב שלוקח הכי הרבה CPU, ולא איפה מערכת ההפעלה מסתובבת כאשר היא עמוסה.

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

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

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

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

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

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

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

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

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

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

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

נקודות למחשבה:

א. האם לכל קטע קוד במוצר שלך יש בעלים ?

ב. אם המוצר שלך כולל קוד שלא נכתב על ידי הצוות שלך, האם לכל קוד כזה יש בעלים ?

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

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

משהו על נסיון חיים

שאלה: איך אתה יודע שזו ההחלטה הנכונה ?

תשובה: יש לי הרבה נסיון !

שאלה: מאיפה יש לך כל כך הרבה נסיון ?

תשובה: עשיתי הרבה טעויות !

ארוחת ערב עם דיויד פלאט על קאב ופריזם

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

אמש יצא לי לפגוש את David Platt בניו יורק, וישבנו על ארוחת ערב לדון בבעיות העולם. איך אפשר לדבר עם דיויד מבלי שאיך שהוא CAB או why software sucks יעלו בשיחה.

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

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

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

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

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

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

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

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

בשביל מה יש לסמפור פסק זמן

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

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

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

 א. שיש לך מבוי סתום.

ב. מי מבקש גישה לאיזה סמפור. ומי מחזיק את הסמפור.

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

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

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

מעשה במחשב מולטימדה וויסטה 64 ביט או למה מיקרוסופט אשמה במה שאומרים על ויסטה

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

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

אז למה אני מספר לכם את זה ? כי לא הכל עבד, ה Audio לא עבד.

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

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

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

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

התוצאה ? נדה. הכל עובד מצויין חוץ מזה שאין שמע.

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

התוצאה ? נדה. הכל עובד מצויין חוץ מזה שאין שמע.

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

רמז מספר 1:

מה זה אין ? איך יכול להיות שאין ?

רמז מספר 2:

אין, אין אודיו, מתי בפעם האחרונה ראיתם מחשב שאין לו ברשימת ה Devices אפילו אודיו אחד לרפואה ?

רמז מספר 3:

מי מנחש ?

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

ניסיתי לעדכן לבד, מסתבר שאין לאינטל תכנת עדכון 64 ביט ל BIOS, רק 32 ביט.

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

מיד אחרי ה Restart, ויסטה זיהתה מידית את ה Audio והתקינה לבד את כל ה Drivers ובא לציון גואל.

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

ניתוח מערכתי של הבעיה:

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

כמה שאלות לקוראים ונקודות לפעולה:

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

2. מתי בדקתם פעם אחרונה שכל גירסאות ה Device Drivers שמותקנים אצלכם במחשב הן הכי עדכניות שיש ?

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

לתשומת לב, סוניק 3D רץ על ויסטה 64 ביט ללא בעיות, למרות שהוא במקור מיועד לרוץ על Windows 95. 

לכל החוויות שלי עם ויסטה 64 ביט (אצלי זה עובד)

Posted: Apr 16 2008, 10:21 PM by GadiM | with 6 comment(s)
תגים:,

מה עם המצגות וכמה מילים על תהליכי סגירת פרויקט

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

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

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

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

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

למי שלא ברור, אז כחול זה יש מצגות ואדום זה אין מצגות. מצב שבו מתוך 155 חריצי זמן (לא כולל הרצאות מליאה) יש רק 48 מצגות באתר שזה  31% מכלל המצגות, הוא בלתי קביל. הגרף הוא לפי מסלולים, כי בין השאר מתפקידו של האחראי על המסלול לוודא ביצוע. אבל הבעיה היא לא מסלולית אלא מערכתית. לדעתי לא צריך יותר מיום עבודה, כדי לשפר את המצב משמעותית. אז שמתי לי תזכורת לבדוק שוב עוד 24 שעות ואעדכן אתכם מה קורה.

לאתר ההרצאות והמצגות

לאתר הטק אד 2008 באילת

לכל הרשמים שלי מטק אד אילת 2008

כמה מילים שחשוב לומר על טק אד הישראלי

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

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

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

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

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

אז מה אני בעצם רוצה לומר ? אני רוצה לומר ש:

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

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

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

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

לאתר טק אד 2008 באילת

לכל הרשמים שלי מטק אד אילת 2008

למי שאוהב סטטיסטיקה, אז כמה סטטיסטיקות פרטיות שלי על הבלוגרים בטק אד אילת 2008

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

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

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

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

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

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

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

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

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

הזמן דרך אגב, חתוך ולא ממוצע. כך ש 12:00 כולל את כל תחום הזמן עד 12:59.

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

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

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

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

אם נמקד את התמונה לשלושת ימי הכנס בלבד נקבל את הגרף הבא:

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

להתראות בטק אד 2008 באילת

לכל הרשמים שלי מטק אד אילת 2008

הזוכים בתחרות ההרצאה הכי קולית וההרצאה הכי מעניינת בהרצאות בהם נכחתי

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

ההרצאה שבה למדתי הכי הרבה היתה ההרצאה של דיויד צ'פל ביום השני בבוקר על S+S. אחריה בהפרש ניכר נמצאת ההרצאה של אלן סטיוארט ביום השני על היפר וי ואחריו בהפרש זעום ההרצאה של דייב פרוברט על החידושים בגרעין של Windows server 2008 (וגם בגרעין של ויסטה). 

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

כמה שאלות שמתחילות לעצבן אותי באמת.

1. למה אין עדיין את כל המצגות באתר.

2. למה אין את ההקלטות של ההרצאות באתר.

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

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

להתראות בטק אד 2008 באילת

לכל הרשמים שלי מטק אד אילת 2008

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

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

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

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

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

Posted: Apr 09 2008, 09:44 PM by GadiM | with no comments
תגים:

הדרך חזרה מהמדבר לציויליזציה

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

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

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

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

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

להתראות בטק אד 2008 באילת

לכל הרשמים שלי מטק אד אילת 2008

סיבוב פרידה בביזנס סנטר

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

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

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

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

להתראות בטק אד 2008 באילת

לכל הרשמים שלי מטק אד אילת 2008

הרצאה אחרונה, יום אחרון, אוהד ישראלי וגלן בלוק על פריזם

לקבל על במה אחת שני מומחים בינלאומיים לנושא CAB לדורותיו זה דבר שיכול להתפתח להרבה כיוונים. אני מכיר את הנושא וציפיתי להרצאה ברמה 300 או 400, אבל בסופו של דבר קיבלתי רמה 100 או 200. זה בזבוז רציני של משאבים להשתמש בשני תותחים כאלה להרצאה כזו. בדיוק בשלב שכבר חשבתי לברוח (בערך 35 דקות מתחילת ההרצאה) אוהד וגלן שינו הילוך ועברו להסביר ולהדגים את פריזם (שזו היתה הסיבה העיקרית לכך שבאתי להרצאה הזו). החלק השני היה בעומק סביר ופיצה במקצת על החלק הראשון.

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

להתראות בטק אד 2008 באילת

לכל הרשמים שלי מטק אד אילת 2008

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

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

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

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

להתראות בטק אד 2008 באילת

לכל הרשמים שלי מטק אד אילת 2008

More Posts Next page »