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

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

קישורים

בעיית אבטחה חמורה בסייר הקבצים בחלונות 7 (ובויסטה, וב XP ובכלל)

מה לא בסדר בתמונה הבאה ?

picture01

לא ניחשתם ? הנה רמז !

 picture02

לא עזר ? הנה רמז ממש ברור !!!

 picture03

למי שלא זיהה, להלן הבעיה. אם תלחצו על ה Alt ותפתחו את תפריט Tools ובתוכו את Folder Options תקבלו את התמונה הבאה

 picture04

שימו לב לזה ש Hide extensions for known file types מסומן ב V. אם תורידו את הסימון ותסתכלו עת אותה תיקיה תקבלו תמונה שונה והרבה יותר מעניינת.

picture05

שימו לב שהקובץ gtrr.jpg הוא למעשה קובץ exe ושהקובץ thisiswrong.bmp הוא למעשה קובץ Batch.

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

הבעיה היא שברירת המחדל (כבר שנים) של התקנת מערכות ההפעלה של חלונות, היא שה Hide extensions for known file types מסומנת. זו לטעמי בעיית אבטחה קשה, כי זה נוגד את העיקרון של Sacure by default לגבי מערכת ההפעלה.

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

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

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

קבוצות המשתמשים של מיקרוסופט ורשימת הרצאות לשימוש אישי II

לפני די הרבה זמן (אפריל 2007) ריכזתי בבלוג את דעתי על החשיבות של קבוצות המשתמשים, ובאותה הזדמנות ריכזתי שם את רשימת ההרצאות שלי בקבוצות המשתמשים השונות לאורך תקופה של כמה שנים. הרישום הכי עתיק שמצאתי, היה הרצאה שלי על Multi Threading משנת 2001 בקבוצה של ++C, ודי משעשע היה לשים לב, שההרצאה הראשונה שלי בקבוצת Windows Developers שנערכה רק לפני כמה שבועות, עסקה במבוא ל Parallel World. ההומור נובע מזה שקבוצת מפתחי חלונות, היא בעצם ההקמה מחדש של קבוצת ה ++C המקורית, זו שחיה ובעטה בעולם ה Native, עוד הרבה לפני שהפכה להיות מנוהלת (Managed) ושהשם שלה שונה לקבוצת ה #C. המקריות הזו מעןוררת מחשבות על אפקט המטוטלת, ועל "אין חדש תחת השמש".

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

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

22/8/07 – קבוצת המשתמשים של Windows Client

הפעם, טיפה בשונה, המפגש יעסוק בשאלה: "לאן רצה הטכנולוגיה, לאן רצה מיקרוסופט ואיך כל זה משפיע עלינו? "
•    מה קורה למערכות ההפעלה של מיקרוסופט בעולם שבו מצד אחד מערכת ההפעלה היא לא יותר מאשר מרכזיה של גאדג'טים מבחינת הצרכן הפשוט ומצד שני יש דרישה למרכזי מחשבים ענקיים מרובי CPUs וליבות ?
•    מהם התפקידים שממלאים בעולם הזה Vista, W2K8, Media Center, Home Server ?
•    כיצד כל זה מתקשר לטכנולוגית ה Rally, ל Echo System, להזרקה של תקלות חמרה באמצעות תכנה, לטכנולוגיות אבטחה חדשות ולמערכות Enterprise ?
•    מה ההשפעה שיש לכל הטכנולוגיה הזו על הבית שלנו ועל מקום העבודה שלנו ?

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

16/01/08 – קבוצת המשתמשים של #C

Topic: Presentation one Title: Optimizing Code Performance: Theory and Practice
Presentation one Abstract: Code optimization is an art, not a science. Yet, the Visual Studio C/C++ compiler offers numerous optimization features, many of them not well known or properly practiced. It is first necessary to understand what each feature does to the application in order to select the right combination of features necessary to achieve the required performance goals. The session covers the core optimization features and techniques and demonstrates the performance effects of each feature. The participants will get practical tips and best practices based on field experience.

Topic: Presentation two Title: Eliminate Bugs Early With Static Code Analysis
Presentation two Abstract: Catching bugs early reduces development costs. Static analysis is one of the best ways to detect bugs early in the development process. However, to realize its full potential, code must be annotated. Annotating code for static analysis, self documents the code and improves code quality and readability. The session focuses on the Visual Studio C/C++ compiler static analysis features and its static analysis annotation tags. The session is loaded with practical information, demos, and it includes guidelines based on field experience. After attending the session, participants will be able to employ static analysis immediately on their code base.

18/02/09 – קבוצת המשתמשים של #C

Topic: Debugging C++, Native and .NET Applications in the Field with  updated information on Vista, Windows-7 and 64-bit

Lecture description:

At customer sites and in testing and QA labs, Visual Studio is not installed. Single-stepping an application is not a practical approach to catch an elusive bug at a production site with connected live users. Unfortunately, many bugs only reveal themselves in such environments. By using the freely available Debugging Tools for Windows package and the SOS extension, it is possible, without installation, to collect and analyze debug information. The presentation will explains everything a .NET programmer needs to know in order to utilize these valuable tools and techniques immediately. The session is loaded with practical information, demos, and it includes guidelines based on field experience.

Prerequisites
Debugging experience.

24/05/09 – קבוצת הארכיטקטים של דוט נט

This month's topic will be about Why projects fail, why systems crash and what can be done to preempt this.

Our presenter, Gad Meir, is a plumber and a plumber’s job is to clean blockages in pipes. When there is a crash, I go to a production site and take a dump. From the dump I find a bug. Behind every bug there is always a chain of bugs, eventually leading to the root cause of the failure. The root cause of failure could be incorrect architecture, poor process, or abused technology, to name but a few.  When we have a dump, the dirt cannot be swept under the carpet, because the carpet is no longer there.

Analyzing dumps give one a unique perspective about a project’s lifecycle. From this unique, bottom-up approach, all errors that were made during the lifetime of a project can be revealed.  Everything can be detected, from errors made during the envisioning phase to those made just before the crash.

The subject of my talk will primarily be about measures that may be taken in current or future projects to avoid and to be better prepared to all kinds of failures. It will include war room stories and lessons learned. I will also talk a lot about processes, team’s structure, risk management, testing, planning, instrumentation, monitoring, tracing, MSF, MOF, tools, etc.

Target audience is Architects, Project leaders, Senior developers and also IT managers, Help desk personal, Deployment teams, QA managers and anybody who is involved or deals with system failures.

10/06/09 – קבוצת נס ציונה

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

תאור הנושא:

בשלב ראשון נציג מה האילוצים שהשטח כופה על מי שבא לאתר תקלה בתכנה. החל מזה שבסביבת הייצור לא מותקן Visual Studio וכלה בזה שמנהל ה IT שונא מפתחים (ויש לו סיבות טובות לכך). לאחר מכן נציג טכניקות שונות שעונות על האילוצים הללו וניתנות ליישום בתנאי שטח. נדון קצת ב Debugging tools for windows ונכיר גם כלים נוספים שכולם או כבר מותקנים כחלק ממערכת ההפעלה או שהם זמינים להורדה חופשית מהאתרים השונים של מיקרוסופט.

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

ההכנסה של חלונות 7 ו Windows Server 2008 R2 לשוק בקרוב, מספקים לנו כמה חידושים בתחום, שגם אותם נזכיר בהרצאה.

18/06/09 – קבוצת המשתמשים של ALM

מפגש קהילת ALM בנושא: התיאוריה של MSF שמאחורי TFS (וגם: תוכניות MSF ל2010)

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

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

.ההרצאה, שתועבר ע"י גדי מאיר, מדריך MSFמוסמך מטעם מיקרוסופט העולמית ו- MSF Practitioner, תעסוק בעקרונות הבסיסיים של MSF, מה הם אומרים ואיך הם משתלבים בתבניות של TFS. כל העקרונות שמסתתרים מאחורי מודל הצוות, התהליך, הלך המחשבה וכל שאר המונחים וההצעות המופיעות ב Process Guidelines יוסברו ויוסבר גם הרקע התיאורטי והמעשי שעומד מאחוריהם

במסגרת ההרצאה יוקדש מקום לחידושים הרלונטיים בנושא MSF כפי שהם משתקפים ב CTP של Visual Studio 2010

איזה סוג של בלוגר אני או שלוש שנים עברו על הבלוג של השרברב

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

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

התגיות השמנות ביותר שלי עוסקות בתאור ארועים בארץ ובחו"ל (PDC, TechEd, IDCC, SDWest, WinHec, Alt.Net) כולל כמובן המון מפגשי Users Group וימי עיון. במערכות הפעלה חדשות (Vista, Windows 7) עם דגש על 64 ביט כמובן. במתודולוגיות (בעיקר MSF) וארכיטקטורה. באבטחה (Security). בתחביב העיקרי שלי Production Time Debugging. באורחים שאני מאחר מחו"ל David Platt, Juval Lowy ו Michele Leroux Bustamante הבלתי נשכחת. בטכנולוגיות כמו Visual Studio ו Parallel Processing. ובכמה שריטות פרטיות שלי, כמו מסלול היסורים שעברתי עד שמצאתי את המחשב האישי החדש שלי והדעות הבוטות שלי על חוק ה Spam.

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

image

למה לעבור לחלונות 7, יעילות המשתמש ואחריות הדרג המקצועי.

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

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

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

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

אז יופי שאם נרצה להשתמש בכל החידושים של חלונות 7 (ו Windows Server 2008 R2) יש לנו את כל הידע הנדרש, אבל למה שבכלל נרצה לעשות את זה.

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

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

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

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

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

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

גילוי נאות: אני משתמש על המחשב הנייד שלי, עדיין בויסטה 64 ביט כי אני ממתין שיצרן המחשב, ישלח לי הצעה לעשות Upgrade לחלונות 7 (64 ביט כמובן). אבל מצד שני, כל מחשבי המנהלה והפיתוח אצלי בארגון עובדים כבר עם חלונות 7 (64 ביט לחמרה חדשה ו 32 ביט לחמרה שלא תומכת ב 64 ביט).

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

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

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

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

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

למי שמעוניין לדעת יותר, אני מרצה על MSF בקבוצת מנהלי הפרויקטים של פנינה ביום שלישי 12/1/10 בשעה 17:00. פרטים נוספים והרשמה בקישור הבא.

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

מיפוי תהליכים בעולם הפיתוח כתוצאה מהמעבר ל Multi Core

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

העולם עובר ל parallel.

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

64cpus

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

חוויות מסדנת WCF in Real Life עם Juval Lowy

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

juval2 005

כמה דברים שכדאי לכולם לדעת (גם מי שלא היה בסדנה).

האתר של IDesign הוא מקור לא אכזב למידע לכל מי שעוסק ב WCF, החל מה Coding Guidelines וכלה בדוגמאות קוד קונקרטיות. בנוסף לדוגמאות הקוד יש באתר תשתית Classes שלמה, שמשפרת נקודות אפלות בתשתית הקיימת של מיקרוסופט, ומשלימה נקודות חסרות מבחינה ארכיטקטונית. ניתן להשתמש בתשתית הזו As Is. אבל אם אתב רוצה להבין מה הבעיות שנפתרות על ידי התשתית המשלימה הזו, ואיך להשתמש בה נכון, תצטרך לעקוב אחר המאמרים של Juval בעיתונות המקצועית ו/או להצטרף לאחת מסדנאות ה Master שלו.

מפגש קבוצת היזמים של הרצליה פיתוח עם Juval Lowy על EnergyNet

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

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

Juval 002

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

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

מפגש קבוצת משתמשים עם Juval Lowy על WCF Transactions

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

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

Day2 027 Day2 026

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

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

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

תודה לג'קי ושי על האירוח. ואם מישהו עדיין רוצה להירשם לסדנה של Juval על WCF in Real Life ביום חמישי הקרוב, נשארו עוד שני מקומות.

מה הקשר בין WCF ל Energy Net

לומר את האמת, התשובה היא יש ואין. מי שמכיר את Juval Lowy כמומחה מספר אחד בעולם ל WCF, יכול בהחלט לתהות מה ל Juval ולאנרגיה חשמלית ומה יכול להיות הקשר בין WCF ל Energy Net ול Clean Tech. התשובה לשאלה חורגת מתחום הארכיטקטורה של יישום או מערכת, ומתרחבת לתחום של לאן הולכת התעשיה, ובאיזה תחום בתעשיה צפוי ה Boom הבא.

רוב קוראי הבלוג הזה הינם מפתחים, אבל אולי יש להם חברים שהם יזמים, או מתעסקים בתחום ה Energy Net או ה Clean Tech. במידה וכן, אנא הפנו את תשומת ליבם ש Juval מעביר במועדון היזמים של הרצליה, הרצאה על The Energynet – The Next Boom in Software. אני בטוח שהם יגידו לכם תודה.

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

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

מפגש מיוחד עם Juval Lowy לקבוצת המשתמשים של מפתחי NET.

למי שעוד לא יודע, Juval Lowy חוצה את ארצנו בסוף חודש דצמבר. כמו בכל ביקור, במה שהפך למעין מסורת בביקורים של Juval בארץ, נענה Juval לבקשתם של מנהלי קבוצת המשתמשים של מפתחי NET. ג'קי גולדשטיין ושי ברלב, להרצות על במפגש מיוחד של הקבוצה, שיערך ב 27/12/09 בשעה 17:30, באולם דקל, במשרדי מיקרוסופט ברעננה.

דנתי עם Juval לגבי הנושא הראוי למפגש כזה, וכמובן הצעתי שהוא ידבר על WCF4 ומה חדש בו. אבל Juval הציע שבמקום לדון במה חדש, כדאי אולי לדון בנושא שהוא לא חדש ב WCF, אבל מנסיונו בשטח הוא לא מספיק מוכר, והרבה מפתחים לא מנצלים את הפוטנציאל הטמון בו כמו שצריך. לפיכך, הערב כולו, יוקדש לצלילה מרתקת לתוך הנושא של Transactions for the Common Service.

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

מי שמעוניין להשתתף בסדנה (בתשלום) ש Juval מעביר ב 31/12/09 בנושא WCF in Real Life, או רוצה מפגש יעוץ קצר (בתשלום) עם Juval, מוזמן ליצור קשר עם חברת האם שלי בקישור הבא.

Juval Lowy בישראל בסוף דצמבר

הודעה חשובה לכל מכריו ומוקיריו של Juval Lowy מחברת IDesign, ולכל מי שעוסק ב WCF. הצלחתי לתפוס את Juval, אי שם בדרך בין אירופה לארה"ב, והוא ינחת בארצנו לכמה ימים בסוף דצמבר. Juval יעביר סדנה בת יום אחד שנושאת את השם WCF in Real Life, שבה הוא יספר לכל מי שיהיה מוכן לשמוע, על בעיות אמיתיות בישומי WCF, שבהם הוא ניתקל בעבודתו, ומהי הדרך הנכונה ארכיטקטונית ופרקטית לפתור אותם. תת הכותרת של היום היא: Patterns, best practices, lessons learned and new features in WCF 4.0 and AppFabric, וכפי שמשתמע מהשם, יוצגו ביום הזה גם הדברים החדשים שצפויים לנו, בעתיד הלא רחוק, וכמובן, מה צריך לעשות היום, כדי שמערכת ה WCF שלך, תעבור בצורה חלקה לגירסה הבאה. זה הולך להיות יום צפוף מאד ומלא בידע, שערכו לא יסולא בפז. והוא נועד במיוחד למי שכבר מכיר WCF, ומתלבט בבעיות אמיתיות מהשטח.

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

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

בוקר במיקרוסופט על VS2010 חשיפה עם החברה ב SRL

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

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

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

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

המפתח התרכז משום מה ביכולת של ה Tester לספק למפתח מידע עשיר המצורף ל Bug ולא מאפשר למפתח להתחמק בתרוץ של Non Reproducable. כמו למשל IntelyTrace ויומן ארועים אוטומטי. ה Test Impact Viewer שנותן איזה טסטים (כולל ידניים) מושפעים מכל תיקון. הנושא של Call Hirarchy, ואפילו הנושא של Gated CheckIn שחוסך המן בעיות ב Build הארגוני. היה חסר לי מאד, נושאי פחות סקסי, של החידושים בצורת העבודה של המפתח שנועדו לשפר פרודוקטיביות בעבודה היומיומית של כתיבת קוד שעושה המפתח. זה נושא שהמשמעות הכלכלית שלו גבוהה לארגון פיתוח, וכבר התיחסתי לנושא הזה בבלוג שלי.

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

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

כנס HUB 2009 על Windows Embedded חלק שני ואחרון

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

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

אחריו עלה על הבמה Greg Peake מ  TI ונתן סקירה על משפחות המעבדים של TI, שנתמכות ותומכות בצורה מלאה ב Windows Embedded CE.

שווה להדגיש נקודה מענינת, שמבדילה בצורה חדה, את משפחת ה Embedded CE ממשפחת מערכות ההפעלה הרגילות של מיקרוסופט, והיא מבחר היע"מ-ים שבהם היא תומכת. למשל ARM, שהיא אחת הארכיטקטורות הנפוצות ביותר בעולם המערכות משובצות מחשב, נתמכת בצורה מלאה וגם MIPS ו SH ואתה לא מוגבל רק לארכיטקטורת ה AMD ו Intel שמקובלת בשוק המחשבים השולחניים, הניידים והשרתים. מה שאומר שהשיקול של שימוש ב Windows Embedded ככלי לקיצור זמני פיתוח ועלויות פיתוח, לא תקף רק לחומרות שמבוססות ארכיטקטורת X86 בלבד אלא למשפחות מעבדים נוספים. ההרצאה של TI הדגימה את זה היטב.

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

ההרצאה הבאה היתה של Stefano Moccia ממרכז החדשנות של מיקרוסופט שנתן סקירה מקיפה על Windows CE 6.0 R3. כמה נקודות מענינות מההרצאה שלו. למי שנושא UI ואינטראקציה עם המשתמש זה נושא רלונטי, אז SilverLight נתמך. תחשבו על מה SilverLight יכול לעשות לעשות למימשק המשתמש של החפיץ שלכם או לחווית השימוש של כל ציוד אחר שאתם עושים (למשל בתחום הרפואה). ולמי ששאל, לא צריך בשביל זה את NET. זה כתוב כולו ב Native (ורץ גם על ARM). יש כמובן IE ואפילו Flash Light למי שרוצה. יש גם את כל ה viewers של Office וגם PDF אם זה כל כך חשוב לך. תוסיפו לזה תמיכה מובנית ב Zoom ו Tile כדי לטפל בכל הבעיות שיכולות לנבוע מפורם פקטור של מסך קטן מדי. תוסיפו תמיכה במחוות ותקבלו צעצוע בכלל לא רע. שבנוסף ליכולת לקצר זמני פיתוח ולחסוך Time to Market, אתה מקבל באותו מחיר גם חווית משתמש טובה. דבר שרק יכול לשפר את סיכוי ההצלחה של המוצר שלכם בשוק.

ההרצאה הבאה, שלא רשמתי לעצמי את שמו של המרצה (אם מישהו יודע שיגיב בבקשה), אבל הוא היה מחברת Gass Ltd. היתה על נושא מרתק של שימוש ב GPU להורדת עומס מהיע"מ ולביצוע דברים שהיע"מ יכול היה רק לחלום עליהם. רק כדי לסבר את האוזן, מערכת של Quad Core נותנת לך משהו כמו 80 גיגה פלופס, שזה באמת יפה ונחמד, אבל GPU סטנדרטי שנמצא כמעט בכל כרטיס גרפי ממוצע, שבטח יש לכם במחשב, נותן בשקט 2 טרה פלופס, שזה פי 25. זוהי קומבינצית חומרה שעדיין מחכה לרעיונות, כי את היכולת לתקשר עם ה GPU אתה מקבל כמעט מכל Device Driver. השאלה מה אפשר לעשות עם זה מוגבלת רק על ידי היצירתיות שלך (וזה נושא לא רק לפוסט שלם אלא אפילו להרצאה שלמה). בתחום ה Embedded זה מעניין עוד יותר. אם ניקח לדוגמא את נגן ה Zune של מיקרוסופט, הוא מורכב מיע"מ ARM שעל ידו GPU, עם תשתית מערכת הפעלה של Windows CE. הקומבינציה יוצרת מערכת שצורכת פחות או יותר אפס אנרגיה, עם יכולת להציג סרטי HD ללא בעיה, ועם מימשק משתמש מאד חוויתי.

ההרצאה הבאה היתה של Paul Kirty-White על הגירסאות החדשות של Windows 7 for embedded systems, Windows Embedded standard ו Windows Embedded POSReady. כלומר גם חלונות 7 החדש כבר במשחק. חשוב לציין שהרבהמפרדים את גירסת ה POS כאילו היא לקופות רושמות בלבד (Point of sale), אבל התרגום הנכון הוא נקודת שרות (Point of Service) כלומר החל ממפסק חשמלי חכם, וכלה בצג בקרה על טמפרטורת החדר משולב במיקרוגל ובטלויזיה.

בשלב הבא עלה לבמה אסף גליל מנציגות חברת Tenasys בארץ, שיש לה מערכת זמן אמת ששורשיה ב RMX. להזכירם, משפחת ה Embeded אינה נעצרת רק ב CE (שהיא דרך אגב מערכת Real Time בעצמה, ולא כל כך צריכה את המוצר שאסף הציג), אלא כוללת בנוסף ל CE גם אוסף עשיר מאד של גירסאות מותאמות ללקוח של מערכות ההפעלה הרגילות של מיקרוסופט. זו נקודה שלקח לי זמן להבין, כי בהתחלה לא בדיוק הבנתי, מה הקשר של המוצר ליום העיון. המערכת שהציג אסף, נותנת לך את היכולת לתפוס חלק מה Core – ים, ולהריץ עליהם מערכת הפעלה זמן אמת, מבלי שחלונות שרצה על אותם Core – ים (בעדיפות נמוכה יותר) או על Core – ים משל עצמה, תוכל להפריע לדרישות ה Real Time. זה משהו שיכול להיות מאד רלונטי לפיתוחים מסוימים, ולא רק במערכות משובצות.

ההרצאה הבאה היתה של Elaine Bullock ו Myriam Semery ממיקרוסופא (EMEA) וכללה הסבר מלא על תכנית השותפים של מיקרוסופט עם הרחבה על תוכנית השותפים לשותפי Embeded. אני מכיר את תכנית השותפים היטב (זה תחום שנוגע כמעט לכל אחד מהלקוחות שלי). אבל היה מענין לשמוע את הדגשים של נושא ה Embeded.

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

לסיום שוב עלה על הבמה Thinault Wache וסיכם את העבר והעתיד של מערכות Embeded במיקרוסופט. אם מישהו עוסק בציוד רפואי הכולל מערכת משובצת מחשב ויכול להיות ש Windows Embeded יתן לו פתרון, אז שיואיל ליצור עימי קשר דחוף. הנושא הרפואי זה משהו שהצוות שהגיע מאירופה מאד חם עליו כרגע. היתה חסרה לי הרצאה או איזכור של Micro .NET שקשורה גם כן לנושא מערכות משובצות, והיא מערכת מאד מעניינת, שנכנסת בנישה של מערכות קטנות עוד יותר, מתחת למה שמתאים ל Windows CE.

עזבתי קצת לפני הסוף על מנת להספיק להגיע בזמן למפגש ההקמה החגיגי של קבוצת המשתמשים של Windows Platform Developers שעליה כתבתי כבר במקום אחר. סך הכל היה יום מאד מעניין, ותודה לגיא בורשטין, שהזכיר אותו למטה למטה, במשלוח האחרון של MSDN Pulse. אמנם המשלוח יצא בערב שלפני הארוע, וחייב אותי לעשות קצת אקרובטיקה כדי להגיע, אבל מגיע לו תודה, כי ללא זה, לא הייתי יודע על הארוע הזה בכלל. מצד שני גיא שכח להזכיר במשלוח את ה Experd Days שאני משתתף בהם כמרצב במסלול Solving Problems in the Real World, אז הנה תזכורת.

מפגש הבכורה של קבוצת Windows Platform Developers Group

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

קצת היסטוריה של קבוצות המשתמשים. פעם היתה קבוצת משתמשים של C++ בניהול משה רהב ושי ברלב. היתה גם קבוצת המשתמשים של VB בניהולו של ג'קי גולדשטיין שהיתה בעצם קבוצת המשתמשים הכי ותיקה בין קבוצות המשתמשים במיקרוסופט. דוט נט גרם לכך שלאט לאט שתי הקבוצות התחילו להעביר את אותם תכנים כי בעצם הכל בסופו של דבר זה MSIL ולא משנה מאיזה שפה התחלת. המעבר לעולם המנוהל של דוט נט גרם להעלמות טוטאלית של עולם ה Native ועולם ה C++ מקבוצות המשתמשים. הבעיה היא, שאולי הנושא הזה נעלם מקבוצות המשתמשים, אבל הוא לא נעלם מהעולם. מה לעשות וקריאות ה API של מערכת ההפעלה כתובות עדיין ב C ומה לעשות ושפת C++ לא רק שלא נעלמה, אלא מוציאה לפרקים תוספות ועדכונים לשפה.

אז מיקרוסופט ישבה וחשבה עם מנהלי קבוצות המשתמשים, וסוכם שקבוצות ה C# ו VB יאוחדו לקבוצה שעוסקת בדוט נט, ותוקם קבוצה חדשה, קבוצת ה Windows Platform Developers Group, שהפוקוס שלה יהיה כל מה שלא מנוהל דהינו Windows SDK, קוד לא מנוהל, ואולי אפילו עמוק יותר לתחום של Device Drivers.

אז מה היה לנו בהרצאה של אלון ? אלון סקר חלק נרחב של השינויים שנעשו בגרעין מערכת ההפעלה של חלונות 7 ו Windows Server R2. אתה לא כל כך תופס כמה עבודה הושקעה וכמה שינויים נעשו במערכת ההפעלה עד שאתה לא מנסה להכניס לשעה ורבע של הרצאה את כל הרשימה. אז מה היה לנו (רשימה חלקית):  UMS וConCRT ו Core Parking ו UBPM ו Triger Started Services וPower management ו NUMA ו Server Core ו WinMin ו Process Reflection ו Timer Coalescing ובטח שכחתי משהו. שאומרים לי שחלונות 7 זה רק שיפורים קוסמטיים לויסטה, אני לא יודע אפילו מאיפה להתחיל להסביר שזה לא נכון מרוב דברים. אלון הסביר והדגים פה ושם וגם התנצל שאין מספיק קוד כי זו הרצאת Over View והבטיח שבהרצאות הבאות יהיה יותר קוד. לומר את האמת כמעט כל אחד מהנושאים ברשימה יכול לתפוס בין חצי הרצאה להרצאה שלמה כך שלא יהיה חסר חומר למפגשים הבאים. לא צריך לומר שאלון מקצוען ושההרצאה זרמה בכף, זה מובן מאליו.

פבל התמודד בהרצאה שלו עם רשימה לא פחות קטנה של שינויים במימשק המשתמש של חלונות 7. פאבל עבר על הרשימה והדגים כל דבר החל מהשיפורים ביכולות הגרפיות (Direct2D, Direct3D, DirectWrite וגם קצת DXUA ו WIC) דרך המימשק החדש לסנסורים (מיקום, טמפרטורה, אור, וסביבה בכלל), הריבון (שלאלון יש עליו דוקטורט), כמובן Tuch ועוד המון דברים שאני כבר לא זוכר. וגם כאן, זו היתה הרצאת Overview וכל נושא הוא הרצאה שלמה בפני עצמה.

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

More Posts Next page »