ארכיון חודשי: דצמבר 2007

Two months of big mess

The following post is going to be written only in the English language. This is the short version of the story, and is missing few things, so this is one of the reasons you will not find any of the names of anybody involved in this post.

I’m a freelancer at the field of VoIP and Asterisk industry. When I find the time, I also contribute to some open source communities.

At October, after several clients of mine started to request a client side applications on specific platform to be used instead of web applications (due to several reasons I will not get into), I decided to order a development license to that specific platform.

להמשיך לקרוא

האם אפשר לסמוך על תוכנות מבוססות דפדפנים ?

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

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

להמשיך לקרוא

סיבוכיות המערך ביעילות חלק 2

בחלק הקודם דיברתי על קוד PHP אשר גרם לי להרבה שקט. ואז הצגתי בעיה:

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

אז מה עושים ?

  1. להשתמש בהרצת הפקודה ls עם glob (למי שלא מכיר, glob זה ההוראות לאיזה תוכן להחזיר לנו, למשל סימן שאלה, כוכבית וכו'…).
  2. לרוץ על כל קובץ וקובץ ולהתחיל לפרק אותו לתווים. אני לא זוכר איך נקרא האלגוריתם, אבל משתמשים בו בד"כ בביצוע מילון.
  3. ריצה על מערך מלא בקבצים, ובכל קובץ, להתחיל לראות אם יש איבר במערך אשר מכיל כמה שיותר תווים מהקובץ שנמצא. אם הכל היה שווה עד שהגענו לסוף המחרוזת באיבר, אז כנראה שמצאנו.
  4. אפשרות נוספת היא לעשות אותו הדבר, כמו אפשרות 3, תוך שימוש בפונקציות של PHP.
  5. ואתם מוזמנים לחשוב על עוד כמה ….

אני בחרתי באפשרות הרביעית וכתבתי את הדבר הבא:

 

foreach ($files as $index => $value) {

foreach ($list as $key => $name) {

if (strncmp($name, $value, strlen($name)) == 0) {

$list[] = $value;

break;

}

}

}

 

פשוט 🙂

רה-ארגון בבלוג

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

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

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

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

בכל מקרה, כל הערה והארה בנושא מתקבלת בברכה 🙂

עידו

סיבוכיות המערך ביעילות חלק ראשון

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

יצרתי "לקוח" ב Lazarus עבור עבודה עם xml-rpc, כאשר אני יכול לערוך את הXML עם צביעת התחביר וכמובן לקבל את התשובה שגם היא צבועה. כל זה גם מכיל log כמובן של כל דבר שהתרחש. והכי חשוב, זה כתוב בצורה מותאמת להיות cross platform.

כל הדבר הזה לקח שעה וחצי של תכנות (הייתי צריך להיזכר איך כותבים תוכנה גרפית רצינית, ולחשוב בצורה חוצה פלטפורמות זה לא דבר קל למי שלא רגיל). התוצאה היא 300 שורות קוד אשר אני כתבתי שנותנות לי את כל התוצאה הזו (בנוסף לעוד כמה תכונות נוספות שלי די מקלות על החיים, ולמרות שהן פשוטות מאוד, התכנון שלהם לקח הרבה אנרגייה). הבעיה היא ששעתיים וחצי טיפלתי בבעיות כמו חוסר תמיכה של gdb ב"חברים" (members) של FPC, אם זה במחלקות או ברשומות דחוסות (בפסקל כל הרשומות דחוסות, רק צריך להגיד למהדר איך לדחוס). היו גם כמה באגים נוספים שמצאתי בספריית lnet שתיקנתי ושלחתי patch שהתקבל ונכנס ל svn. ועוד כמה באגים שאני צריך ללמוד אותם יותר לעומק בשביל לדעת איך לדווח עליהם נכון.

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

להמשיך לקרוא

Old Man

הזמר הבא הוא Neil Young. הזמר הוא זמר מחאה, אשר התחיל את דרכו בשנות ה60.

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

[gv data="Vef03k5i8VI"][/gv]

Kiss from a Rose

הזמר הבא מוכר בשם Seal , או בשמו המלא Seal Henry Olusegun Olumide Adeola Samuel.

השיר הבא נכתב עבור הסרט Batman Forever וזיכה את Seal בפרס גרמי, ואף היה מעומד לפרס MTV 1996.
Bat-man או Batman לקוח מקומיקס של היוצרים Bob Kane וBill Finger. הקומיקס יצא בשנות ה30 של המאה הקודמת, ומתרחש בעיר Gotham. האדם Bruce Wayne ראה בילדותו את הוריו נרצחים ע"י שודדים, ומאז החל להתאמן ולמצוא דרכים להילחם בפשע. כאשר גדל, יצר לעצמו את הדמות של Batman, ובתור כיסוי, נראה האדם בתור הולל, וכן תורם גדול בעיר. בניגוד למרבית "גיבורי העל", Batman אינו בעל יכולות לא אנושיות, ובעצם כל הצורות בהם הוא נלחם, משתמשות בטכנולוגיות וביכולות הגופניות של Bruce Wayne.
[gv data="ateQQc-AgEM"][/gv]

Smooth Operator

השיר הבא שייך לזמרת Sade. הזמרת נולדה בשם Helen Folasade Adu בניגריה.

הישר לקוח מהתקליט הראשון של הזמרת הנקרא Diamond Life אשר יצא ב1984, למרות שהביצוע הראשון של השיר היה אשר הזמרת שרה בקבוצת המוזיקה Arriva אשר ניגנה בעיקר מוזיקת נשמה במקצב לטיני.

את השיר ניתן לשמוע כאן.

Exile

את הזמרת הבאה כבר פגשנו בבלוג שלי. שמה הוא Eithne Patricia Ní Bhraonáin או בשם היותר מוכר – Enya.
הזמרת שרה בעבר בלהקה Clannad ביחד עם אחותה Moya Brennan.

[gv data="1yNgH5vX_Bs"][/gv]

הברק נעלם

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

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

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

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

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