תכנות ממוקד משימות – Mylar

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

כששוטטתי בבאגים של Eclipse בזמן שחיפשתי מידע על משהו, נתקלתי בAttachment של קובץ מוזר שסיקרן אותי:
mylar/context/zip.
לא נתקלתי בזה בעבר, ולא ראיתי שום קשר בינו לבין הבאג.
חיפוש קצר בגוגל הביא אותי לדף הזה, שמכיל מאמר על "תכנות מונחה משימות עם מיילר".
חפרתי עוד קצת, ומצאתי גם את המצגת ווידאו הזו, שמתארת איך משתמשים במיילר ומה הוא עושה (40 דקות).
מסתבר שמיילר הוא פרוייקט Eclipse חדש, אחד מני רבים (Eclipse הפכה לחממה של עשרות טכנולוגיות חדשניות), שמתיימר לפתור את הבעיה של עומס מידע בזמן שעובדים עם Eclipse.
mylar screenshot
באופן הבסיסי ביותר, Mylar הוא רשימת משימות, למשימות מקומיות וכן למשימות/באגים ממערכות באגים כמו bugzilla, trac וJira
מה שיפה זה שמיילר מנהל הקשר (Context) לכל משימה בצורה אוטומטית, שמכיל את כל מה שקשור אל המשימה – איזה קבצים פתחת, איזה אלמנטים בתוך הקבצים מעניינים (במקרה של קוד ג'אווה – איזה פונקציות למשל) וכו'.
ברגע שעוברים לעבוד על משימה, מתחילים מיד מההקשר הקודם של המשימה (ריק בהתחלה), ואחרי שעוברים למשימה אחרת, ההקשר נשמר – מוכן להשלף אוטומטית ברגע שחוזרים לעבוד על אותה משימה.
דמיינו את הסיטואציה הבאה:
אתם עובדים על איזה באג/פיצ'ר לתומכם, ופתאום יש מקרה חירום וצריך לתקן באג חדש ולייצר גרסא חדשה של הdemo מאתמול.
לפני מיילר, מה שזה אומר זה שצריך להתחיל להזכר מה צריך כדי ליצר גרסא חדשה, לפתוח קבצים חדשים, כנראה גם לסגור את כל מה שקשור לבאג שעבדתם עליו.
עכשיו, נניח שהבאג הזה בכלל שייך למישהו אחר בצוות, אז צריך להעביר את העסק עליו ואז להזכר מחדש איפה הייתם ומה עשיתם, לסגור את הקבצים שקשורים לבאג בdemo, לפתוח את הקבצים של הבאג שעבדתם עליו ולהמשיך לעבוד.
כל הסחות הדעת האלו יגרמו לכך שגם תבלו איזה עשר דקות בynet בין המשימות, סתם כדי לנקות את הראש.
עם מיילר, אפשר לעבור בקלות בין ההקשרים, בלי לבזבז זמן ותאי זכרון יקרים.
מיילר מייעל גם עבודה בצוותים: את ההקשרים האלו, שכוללים בעצם ריכוז של ידע על אותו באג, אפשר לצרף לבאג עצמו, ככה שהמפתח הבא יוכל פשוט למשוך את ההקשר מהבאג ולהמשיך מאותו מקום שאתם עצרתם. (כל הקבצים פתוחים, כל הפונציות שרלוונטיות לדעתכם כבר יהיו בהקשר, וכו').
Eclipse הוא כבר מזמן לא כלי לפיתוח Java בלבד, כבר היום הוא תומך בC/C++, PHP, Prolog ועוד, מיילר אמור לתת ערך מוסף לתכנות בלי קשר לשפה, כל עוד אתם עובדים בתוך Eclipse – אם כי אני לא בטוח שהוא באמת מוכן לשפות אחרות עדיין.
יתרון נוסף הוא התמיכה האוטומטית בקבוצות שינויים (Changeset) כשעובדים מול מערכת ניהול גרסאות הקוד (CVS/SVN וכו').
מה שזה אומר זה שמיילר ינהל בצורה אוטומטית את הChangeset שקשור לבאג שאתם עובדים עליו, ואפילו יכלול הודעת Commit אוטומטית כשתעשו Commit!

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

יש לינקים עם עוד מידע פה.

פיתוח דרייברים ללינוקס בחינם

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

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

חמש

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

1. במחשב הראשון נתקלתי בגיל 11 אצל חבר, שיחקנו דיגר, דיג-דאג ודברים קופצים (ציפור קופצת, איש קופץ, נינג'ה קופצת). שנתיים אחרי זה כבר היה לי מחשב תותחי למדי, XT עם 1536K זכרון ומסך VGA. גם במחשב שלי בעיקר שיחקתי, אבל גם למדתי להשתמש בדוס, לשנות שמות של קבצים, לפרמט ולהשחית דיסקטים.

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

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

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

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

אני מסנג'ר את הבלוגרים הבאים:
עומר טרן.
גיא מזרחי
שושנה (xslf)
יאנה (Azure ray)
גלמור

האתר שנדם

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

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

mtr

מוזיקוברי

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

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

שווה.

קופסות על קופסאות

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

באגים

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

קצרים – הימים היו ימי מילואים.

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

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

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

יש ל3COM שרות תמיכה בין לאומי, עם שיחות חינם מקומיות במלא מדינות.
השרות הוא ב9:00 עד 17:00 זמן מקומי, בימי שישי עד שני. מתקשרים למספר חינם (1800) ומגיעים לטכנאי דובר אנגלית.
אנחנו מקבלים שרות אפילו יותר טוב כי הם עובדים גם ביום שישי – מה שמתאים לי במיוחד כי בשעות האלו אני בעבודה באמצע השבוע.

העונה השלישית של באטלסטר גלקטיקה ממשיכה, הוריי!