זה עויין זה

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

הטוש שהתייבש

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

gabbly

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

http://gabbly.com/http://firefang.net/blog (תלחצו, תלחצו)

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

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

בקרוב בחנות האינטרנט הקרובה לביתכם.

gabbly chat client

Kane lives

אחרי ציפיה ארוכה (פה ופה), שוחרר הדמו של C&C3, והוא פשוט פיצוץ.
אחד הדברים הראשונים שהוציא ממני ואו היה שגרייס פארק (שרון מבאטלסטר גלקטיקה) משחקת דמות במשחק, חיפוש קצר אחרי C&C Galactica העלה שהיא לא היחידה מגלקטיקה, גם טריסיה הלפר (מספר 6) מגלקטיקה משתתפת, וגם לא אחר מאשר ג'וש הולוויי (סוייר) מלוסט משתתף במשחק.
המשחק נראה מדהים, והמשחקיות שלו מעולה, הממשק מאוד אינטואיטיבי למי שמכיר משחקים דומים, ומשימת הלימוד די מיותרת למי ששיחק במשחקי RTS בעבר.
הדבר השני שהוציא ממני ואו היה האפקט של הION Cannon בסוף משימת הפרולוג.

הAI לא עשה רושם של אידיוט, וזה הישג גדול למדי.
כשיחקתי במשימת סקרימיש (בוחרים מפה, יריב ועוד כמה דברים, ומשחקים), בחרתי רמה קשה, והמחשב כיסח אותי די מהר.
c&c3 demo screenshot

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

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

הגשת פרוייקט על דיסק Knoppix

במסגרת קורס הפרולוג, נתבקשתי לכתוב פרוייקט.
בחרתי במנוע שחמט, וחיברתי לו ממשק משתמש שכתוב בג'אווה (Jin).
החיבור בין פרולוג לג'אווה מתבצע באמצעות API בשם JPL.
אחרי שסיימתי לפתח, גיליתי שלמרות שכל הרכיבים של הפרוייקט (SWI-Prolog, Java) כוללים גרסאת חלונות – העסק לא עובד בחלונות, עקב בעיה בJPL שגורמת למערכת להתקע בחלונות.
במקום לנסות לפתור את הבעיה החלטתי לעקוף אותה בכך שאני אגיש את הפרוייקט על לינוקס.
מכיוון שההתקנה של הפרוייקט לא טריויאלית – צריך להתקין ג'אווה, את הגרסא המתאימה של SWI-Prolog, ואולי גם לשנות מסלולי קבצים בקובץ ההרצה בהתאם, החלטתי להשתמש בגרסא מותאמת של Live CD, שמכילה התקנה מוכנה של כל העסק.
בדקתי את DSL, אבל הוא היה בסיסי מדי ולא היו בו מספיק כלים כדי שאני ארגיש איתו בנוח.
ניסתי את KNOPPIX, שבהחלט היה עשיר מספיק, ונראה מתאים מאוד.
לKNOPPIX יש הוראות מפורטות להכנה של דיסק מותאם על בסיס הקיים (Remastering).
בגדול, התהליך הוא כזה:
מתאחלים את הCD, מעתיקים את התוכן שלו לכונן הקשיח, עושים את השינויים הדרושים, יוצרים ISO חדש, וצורבים אותו.
כמובן שזה יותר מורכב מזה, אבל ההוראות די טובות.
אפשר לקצר תהליכים על ידי שימוש במכונה וירטואלית (VMware, QEmu, Xen) שחוסכת איתחולים.
נתקלתי בבעיות מוזרות בבמהלך איתחול מהISO בהתחלה, לא ברור לי מה פתר אותן, אבל אלו השינויים שעשיתי:
1. התחלתי את התהליך כולו מחדש, הפעם על מערכת קבצים מסוג EXT3 (בהתחלה השתמשתי בReiserFS).
2. נתתי למכונה הווירטואלית ששימשה ליצירת הISO יותר זכרון.

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

תכנות ממוקד משימות – 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.

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

האתר שנדם

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

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

mtr

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

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

איך שורפים מודם ADSL וסוויץ' במכה אחת?

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

יש ימים כאלו שעדיף פשוט להשאר במיטה ולדלג עליהם.