ארכיון חודשי: פברואר 2010

קישור ל Qt

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

מה זה תכנות מונחה עצמים ? להמשיך לקרוא

2,000 תגובות מאושרות

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

חגיגות ה2,000 התחילו ויסתיימו בתגובה ה3,000 🙂

עידו

חיוג מהיר ל OpenMoko חלק ראשון

מאז העדכון האחרון, בנתיים FPC בגרסה 2.5.1 מכיל bootstrap שעובד במוקו -> ניסיתי עם shr, אז החלטתי לבנות תוכנית לניסוי עם לזרוס עבור OpenMoko.

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

0.1+0.2 = ?

חידה קטנה: אם אני עושה בשפת מחשב (כולל מסדי נתונים) את החישוב הבא:

0.1+0.2

מה תהיה התוצאה ?

התשובה היא שזה תלוי.

במה זה תלוי ? ובכן זה תלוי במהדר/מפרש, וזה תלוי בסטנדרט שאותו מפרש/מהדר משתמש בו.

למעשה השפה היחידה עם 2 מהדרים שניסיתי שנתנה את התשובה 0.3 היתה פסקל על FPC (אין לי דלפי לנסות עליו).

מבחינת מסדי נתונים כל מה שניסיתי (שזה Firebird, MySQL, PosgreSQL) כולם נתנו תשובה זהה לFPC.

שאר השפות החליטו שמדובר בתוצאה של 0.30000000000000004

מהם שאר השפות ?

ובכן

C (gcc), Perl, Ruby, Python, Javascrupt (Firefox), PHP

מי צודק בתשובה שלו ? ובכן כולם, או יותר נכון תלוי איך כל אחד מממש את העבודה עם נקודה צפה ומה אתם מצפים שתהיה התשובה…

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

התכוננו לביאת הציפור 2.5

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

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

העבודות צריכות להיות מוגשות עד ל15 למרץ וצריכות להיות מוגשות בפורמט ווקטורי או ברזולוציה גבוהה, כאשר הרזולוציה הנמוכה ביותר שתתקבל היא 300dpi.

העבודה חייבת לכלול את הלוגו של Firebird (אין כוונה ליצור לוגו חדש), אלא לציין את חגיגות העשור.

העבודה צריכה להיות מוגשת ב2 סגנונות:

  • סגנון צבע (עם כל הפרטים האפשריים של העבודה)
  • מונוכרום (engraved, laser burned וכו')

כמו כן, האומן צריך להסכים שעבודתו תתפרסם ותהיה נגישה לכל דורש על ידי הכללת העבודה כ public domain.

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

את העבודות יש לשלוח ל: contest at firebirdnews.org
לעוד פרטים, וכן למידע על עדכונים תוכלו לגשת לדיווח החדשה.

מי מפחד מהקוד הפתוח ?

יש בג'ונגל העסקי שלושה חוקי ברזל:

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

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

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

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

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

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

ועל זה פינק פלויד אמרו פעם חזירים.

אורנג' איפה הערך המוסף ?

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

קיבלתי למשל מעטפה עם מגנט ודף יתרונות של Black Barry, ממש אהבתי את ההשקעה והעבודה שמחלקת השיווק ומחלקת האומנות עשו, אבל הגרגרים האלו לא מתאימים לי.

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

התחלתי להתעניין ב2 מהמכשירים שהוצאו לי, והעלות שלהם אחרי הנחה (בגלל שאני לקוח ותיק וללא התחייבויות ולכן נמצא בתוכניות שימור לקוחות) עולה בערך (הבדל של 30 ש"ח פחות או יותר) כמו מכשיר שאני אקנה עכשיו בחנות רגילה, רק ההבדל הוא ששם אני לא צריך להתחייב לבין 16 ל36 חודשים, אני לא אהיה נעול ב SIM כך שאוכל להשתמש בכל SIM אשר מספק את תדר השידור המתאים לי, ואני גם לא אהיה חייב לקבל USIM עבור דור 3, כך שלא אחויב להשתמש בדור 3 לשנה וחצי. שאלתי את האיש הנחמד ממחלקת המכירות, והוא הסביר לי בטוב ליבו כי זה לא נכון שאין להם ערך מוסף, אלא אני יכול לפרוס את תשלומי המכשיר ליותר זמן, ובנוסף במידה ואדבר במחיר (שאני לא רוצה לשלם כל כך גבוה עבור השיחות שלי) מסויים ומעלה אקבל החזר חלקי בחודש על המכשיר.

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

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

התפוגגות העננים

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

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

זו לא שאלה תאורטית, אלא משהו שקורה מידי פעם לגוגל, קורה ל github ואפילו קורה ל wordpress.com.

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

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

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

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

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

הבנתי סוף כל סוף

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

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

ואז קראתי את המאמר הבא שמסביר כמה נקודות על רובי לאנשי פיתון ופתאום הבנתי !

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

import self

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

בעיית אבטחה לוגית באסטריסק

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

הבעיה היא מאוד פשוטה לתאור, ומאוד לא פשוטה לפתרון.

במידה ויש לי בתכנית החיוג דבר כזה:

exten => _X.,n,Dial(SIP/${EXTEN})

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

exten => _X.,n,Dial(SIP/123@context&SIP/0123456789@anothercontext&DAHADI/g1/03123456789@anothercontext)

ואז במקום שהתכנית תחייג רק ל 123 בפרוטוקול SIP היא תחייג גם ל SIP עם המספר 123456789 וגם תצא לכרטיס טלפוניה בקבוצה 1 עם המספר 03123456789 ובכך הזרקנו עוד מספרים לחיוג.

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

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

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

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

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

ההודעה המקורית ברשימת הדיוור.