סופו של חור?

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

בנק פועלים ופיירפוקס 2

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

טיפים ללינוקס

כמה טיפים קטנים ללינוקס.

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

netstat -antp | grep LISTEN | grep 80

רצוי להריץ כroot כדי לקבל מידע מלא על כל התהליכים (אחרת יהיו חסרים השמות של תהליכים שלא הורצו על ידי המשתמש הנוכחי).

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

lsof | grep cdrom

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

כדי לדבג בעיות http, אפשר להשתמש בשרות של web-sniffer שמציג בפירוט את הבקשה והתשובה שחוזרת משרת http שתבחרו.

משאל YNET

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

קנס ענק על רוגלה!

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

האתר של ביטוח לאומי

בפוסט זה אתעד את נסיונותי לשלם באתר של ביטוח לאומי תוך שימוש בפיירפוקס (על לינוקס).
דבר ראשון שעשיתי היה לכתוב "ביטוח לאומי" בגוגל.
לחצתי על הלינק הפרסומי, והגעתי לאזהרת אבטחה, שהחתימה הדיגיטלית של האתר בעייתי.
אחר כך היתה על המסך הודעה קצרה שאומרת שהאתר בודק את התאמת הדפדפן, התחלתי לקוות לטוב – ואז הגיע דף לבן.
הסתכלתי בקוד וראיתי את שהוא נוצר על ידי ויז'ואל סטודיו 6, ואת השורה הלא תקנית הזו:
window.navigate ("../b2b/framesetlogonanonymous.asp")
שמח וטוב לבב, הזנתי לשורת הכתובת של הדפדפן את הכתובת המתוקנת:
https://b2b.btl.gov.il/B2B/../b2b/framesetlogonanonymous.asp
והגעתי סוף סוף למשהו שנראה כמו אתר שלא נכתב על ידי בן שש מוכשר.
אהבתי את זה שהאתר עובד 24 שעות ביממה, שישה ימים בשבוע. זה שירות!
טוב, כדי להכנס צריך להזין את הכתוב בקפצ'ה, לא ברור למה צריך דבר כזה בכניסה לאתר.
הקלדתי את המילה ולחצתי על כניסה.
כלום.
לחצתי שוב, עדיין כלום.
מבט חטוף לשורת המשימות הראה שFireBug מדווח על 12 שגיאות ג'אווה סקריפט.
יופי ממשלה, מי לימד אותכם לתכנת אתרים, הבן של ביל גייטס?
מבט חטוף בקוד האתר הראה שהפעם הם התעלו על עצמם והכניסו קוד VBScript לדף.
מי לעזזל מכניס VBScript לדף?!
FireBug התלונן שאין כזה דבר Go, אז חיפשתי בקוד ומצאתי את זה:

IF Len(Trim(document.all("textSisma").value))=5 or
Len(Trim(document.all("textSisma").value))=8 THEN

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

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

בועז דולב? ממשל זמין? הממשל שלכם שבור ולא זמין!

לא ראינו דם!

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

פוסט עדכון שכזה

לא יצא לי לכתוב יותר מדי לאחרונה, אז הנה פוסט עדכון.
בשלושת החודשים האחרונים אני עובד על FireStats, כמו שאני בטוח שאפשר היה לשים לב מאחוז הפוסטים הגבוה בנושא.
FireStats התחיל כנסיון לשפר את Counterize, שדי קפא על שמריו, והפך לפרוייקט בפני עצמו די מהר, כשהבנתי שהקוד של Counterize הוא בעייתי למדי.
למי שלא בעניינים, FireStats זו מערכת סטטיקסטיקות לאתרי אינטרנט, שהתחילה כפלאגין לוורדפרס, אבל גדלה ועכשיו תומכת במדיה-ויקי, דרופל, טראק גרגריוס ובדפי PHP כלשהם באופן כללי. המערכת תומכת בריבוי שפות, וכבר יש תרגומים לספרדית, צרפתית והולנדית, וכמובן עברית ואנגלית – שנתרמו על ידי משתמשים.
למעשה למדתי תכנות ווב בPHP, Javascript, HTML וCSS תוך כדי שפיתחתי את FireStats, עד אז לא ממש התעסקתי בתכנות ווב.
הפרוייקט מצליח, מקבל תגובות חיוביות, ומורד די הרבה – הגרסא האחרונה הורדה מעל 1000 פעמים, וסך הכל יש קצת יותר מ3000 הורדות.

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

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

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

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

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

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