ארכיון חודשי: אוקטובר 2008

הברזלים של הרובוט

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

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

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

את הקבצים מורידים באמצעות GIT.

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

את קוד המקור כולל הוראות הורדה ניתן למצוא בכתובת:

http://source.android.com

הגישה של KDE

אם אתם עדיין לא יודעים, אז KDE שיחררו את עץ 4 של שולחן העבודה ליוניקס.

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

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

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

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

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

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

סקר בנושא FPC/Lazarus ותוכן בבלוג

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

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

חיבור לרשת

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

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

MySQL vs PostgreSQL

במידה ואתם מעוניינים לבחור בין MySQL לבין PostgreSQL או סתם אתם רוצים לראות אם הדעות שלכם לגבי אותם מסדי נתונים נכונים, אני ממליץ בחום לבדוק את ה wiki הבא:

http://www.wikivs.com/wiki/MySQL_vs_PostgreSQL

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

אני ממליץ לכם לקרוא את הwiki (אני קורא אותו יותר מפעם אחת) בשביל ללמוד יותר על 2 מסדי הנתונים, גם אם מהירות זה לא הדבר החשוב עבורכם.

לזרוס 0.9.26 שוחררה

לאחר הציפייה הדרוכה (מאוד), שוחררה היום הגרסה 0.9.26 של לזרוס.

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

חלק מהשינויים העיקריים (על חלקם כבר דיווחתי בעבר) בגרסה זו הינם:

  • תמיכה ב UTF-8 ומעבר אל הקידוד הזה בתור ברירת מחדל בסביבת העבודה עצמה והרכיבים של לזרוס.
    המעבר כולל תיעוד (בעיקר ב wiki) על איך להמיר תוכנות ישנות אל הקידוד המבוקש.
  • המערכת הגרפית (יחידת Graphics וכל הדברים המבוססים עליה) של לזרוס שוכתבה מחדש, ומספקת תאימות טובה יותר מבחינת API, תמיכה טובה יותר מבעבר לדלפי, תמיכה טובה יותר ברישום פורמטי תמונות למערכת, יותר גמישות בעבודה ותמיכה מובנת בצלמיות.
  • ריצה טבעית בMac OS X במערכות Carabon.
  • ניתן לגשת לחיבורים למסד הנתונים שנמצאים ב DataModule .

לרשימה גדולה יותר של השינויים ניתן לגשת לכאן:

http://wiki.lazarus.freepascal.org/Lazarus_0.9.26_release_notes

להורדה:

http://sourceforge.net/project/showfiles.php?group_id=89339

הקודקס של ארכימדס

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

מזה חודש שאני קורא (ברוטו) ספר בשם "הקודקס של ארכימדס". המחברים של הספר הם רויאל נץ וויליאם נואל. הספר פורסם במקור באנגלית בשם The Archimedes Codex.

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

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

כתבה על הספר בהארץ (תתעלמו מהכותרת הלא קשורה):

http://www.haaretz.co.il/hasite/spages/944932.html

יצירת רכיב חדש בלזרוס חלק ראשון

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

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

בפוסטים הקרובים, אני אנסה להסביר כיצד בעצם מרחיבים פקד קיים (אני לא הולך ללמד אותכם ליצור ממש מ0, כי זה דורש מאיתנו הכירות טובה יותר של ה FCL [הספרייה שמגיעה עם FPC ומספקת תמיכה בהרבה מחלקות, שיגרות ופונקציות לא גרפיות המרחיבות את הRTL. ראשי התיבות של הFCL הינם Free Component Library] בנוסף ל LCL [הרכיבים הגרפיים של לזרוס. ראשי התיבות הינם Lazarus Component Library] ובהרחבה של פקד רגיל, בד"כ לא נהיה צריכים להכיר לעומק את התמיכה הזו). במקרה הזה נרחיב את הפקד TCustomEdit שאחראי על 2 פקדים אחרים: הראשון הוא TMemo שזה בעצם סוג של עורך טקסט לקבצי טקסט "רגילים" ללא תכונות מיוחדות מעבר. הפקד השני הוא TEdit והוא הפקד שמאפשר לנו לקבל שורה של טקסט לרשום בה.

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

עד כאן להקדמה, אז בואו נתחיל: להמשיך לקרוא

DRM או לכלא

הקומיקס של XKCD מציג הסבר בצורה הכי טובה שניתן לבעיה שנקראת DRM או Data Rights Managment אשר מנסים לדחוף לנו כל הזמן. את הקומיקס ניתן למצוא בכתובת הבאה:

http://xkcd.com/488