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

לא יצא לי לכתוב יותר מדי לאחרונה, אז הנה פוסט עדכון.
בשלושת החודשים האחרונים אני עובד על 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, משחק אסטרטגיה בזמן אמת שנראה ממש ממש משובח.
מדובר בעוד משחק על מלחמת העולם השניה, והוא מדהים – יש מצב שהוא יגרום לי לנער את האבק מהחלונות ולשחק שוב בשבועות הקרובים.

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

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

Facebook Comments

91C

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

לחץ לצפיה ברזולוציה גבוהה (מאוד)
91c

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

Facebook Comments

hcoop

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

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

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

Facebook Comments

שוחרר Easy IP2Country

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

Facebook Comments

ערב אחד

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

איך אומרים הסינים?
שתחיו בזמנים מעניינים..

Facebook Comments

IP2C

שחררתי ספריה חדשה למציאת המדינה שאליה שייכת כתובת IP.
הספריה, IP2C – משוחררת תחת רשיון GPL2, ותומכת בJava, PHP ושורת פקודה.
הביצועים מצויינים:
250 חיפושים בשניה בPHP, ו330,000 חיפושים בשניה בג'אווה (זה ממש טוב מדי מכדי להיות אמיתי, אבל אלו התוצאות שלי) זה באמת טוב מכדי להיות אמיתי, כתבתי תוכנית בדיקת ביצועים והתוצאה היא ש100,000 כתובות אי פי אקראיות לחיפוש לוקחות 14.7 שניות, מה שנותן כ7140 חיפושים לשניה בג'אווה.
הספריה עובדת על קובץ בינארי, ככה שלא צריך להתעסק עם בסיס נתונים כדי להשתמש בה.

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

Facebook Comments

עורך הקס

אני מכניס לFireStats תמיכה בזיהוי מדינה לפי כתובת IP, ומשיקולים שונים אני לא אשתמש בבסיס הנתונים כדי לאכסן את המידע על תחומי הIP, אלא בקובץ בינארי.
אז כתבתי תוכנית שממירה את קובץ הCSV שמגיע חינם מפה לקובץ בינארי דחוס ורב תחכומים, רק מה, כצפוי בהתעסקות עם דברים כאלו לא הכל עובד חלק.
בדיבוגי, הזדקקתי לHex editor חזק ונוח.
חיפוש קצר בנבכי apt-get הניב את KHexEdit, עורך ההקס של KDE
KHexEdit הוא סבבה לגמרי, עושה את העבודה טוב, ומציג את הנתונים בצורה ברורה מאוד.
הגדרתי את המקש F5 לטעון מחדש את הקובץ, וככה יכלתי לראות איך הקובץ נוצר בזמן שאני מדבג צעד צעד בתוכנית שיוצרת אותו.
מומלץ אם אתם צריכים תצוגה נוחה של קובץ בינארי.

KHexEdit

khexedit

Facebook Comments

פיירפנג.רשת תחת התקפת גוגלבוטים!

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

Facebook Comments

תרגום לצרפתית נתרם לFireStats

הודעה לעשרות אלפי דוברי הצרפתית שגם קוראים את הבלוג וגם התקינו את FireStats:
תרגום לצרפתית נתרום לFireStats על ידי Arnaud.
התרגום מצטרף לרשימה המתארכת שכוללת כרגע עברית, אנגלית, ספרדית וצרפתית.
התרגום כלול בזיפ של 0.9.9.
FireStats french

Facebook Comments