הזהרה קטנה לגבי Ubiquity

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

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


Ubiquity for Firefox from Aza Raskin on Vimeo.

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

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

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

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

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

מפתחי וורדפרס מציגים – איך להפחיד אנשים בזול

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

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

אז בקיצור, לכו לשדרג, אבל אל תרוצו 🙂

בינתיים, הובטחו לנו שיפורי מהירויות פנטאסטיים, אבל אני לא מרגיש אותם כי השרת שלי כבד לאחרונה. כבר שבועיים ששרת MySQL כורע תחת העומס. שיפצרתי לו הרבה מהפראמטרים כדי שיעבוד יותר מול הזכרון ופחות מול הדיסק, הוספתי אינדקסים בעדינות איפה שנראה שהם דרושים ושיפור המצב בטבלאות שונות, אבל נראה שיש אפליקציות שפשוט מתנהגות מולו בצורות מאוד לא אחראיות (PHPnuke) ואחרות בצורות קצת בזבזניות (פלאגים מסוג FireStats, Popularity contest), וזה מאיט בין השאר את קליקי ואת הבלוגים של חנית ושלי בין השאר, למרות שאכלן הביצועים הגדול הוא D-Spot על השרתית הזו. עם הגולשות הסליחה, אנחנו עדיין בודקים מה אפשר לעשות.

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