12 בספט׳ 2010

Vala סודוגואי

טוב אז ככה

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

עכשיו כל איבר כזה ברשימה צריך להיות לו ארוע של איבר נבחר בדומה לארוע onselect .
העניין הוא שלא ממש הצלחתי למצוא וידג'ט שיתן לי את הפונקציונליות הזאת
הדבר הקרוב ביותר שהצלחתי להשיג הוא בעצם הצגת נתונים תוך שימוש במבנה אובייקט ListStore בערך בדומה לדוגמת השימוש ב TreeView באתר של ואלה... לא מצאתי איזה שהיא פונקציה מקושרת לארוע לחיצה באובייקטים האלה על איברים מהרשימה שהם בעצם אובייקט שנקרא TreeIter כאשר האובייקט ListStore משמש להגדרת הצורה של TreeView.


http://live.gnome.org/Vala/GTKSample


אפשר היה ליישם את מה שצריך בצורה שונה עם שימוש בדברים אחרים אבל לא בא לי להתפשר על העיצוב.

עדיין בחיפושים אחר וידג'ט מתאים שיש לו גם ארועים מתאימים.

29 באוג׳ 2010

VALA ההתקנה


בוא נחסוך את המילים על היחס למתכנת המתחיל...

הנה התקנה נניח באבונטו של הגירסה החדשה שיש להוריד מכאן:
http://live.gnome.org/Vala/Release

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

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

טוב אז יש להוריד את הסורס
לפני הקונפיגרציה לעשות
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
ולהכניס את זה ל .bashrc במקומי או לא מקומי

אפשר גם לא לעשות את זה ואז לראות אחרי ההתקנה הכושלת נניח שעושים ל ldd vala שהוא לא מקושר בכלל כמו שצריך.
להסיר עם make uninstall ולהתקין מחדש בצורה הזאת:

./configure
make
make install
הפרוצדורה הידועה

אחרי זה אפשר לעשות איזה אליאס

alias valac="/usr/local/bin/valac"

זהו בערך




22 באוג׳ 2010

כלי המרה לסוגים שונים של iimage-ים לצריבה

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

כלי שיוצא לי להשתמש כרגע ליצירת כוננים וירטואלים לקבצי ISO הכלי GUI ששמו gisomount עובד לא רע בגנום

sudo apt-get install gisomount

זה בכללי. הבעיה עם הכלי הזה שהוא לא עוגן פורמטים אחרים של אימג'ים שמיועדים לצריבה:
BIN - קובץ תמונה בינארי.
IMG - כנ"ל
CUE - מכיל מידע על IMG
MDF - קובץ של התכנה אלכוהול
MDS - כנ"ל
CCD - שייך לתכנה CloneCD
NRG - שייך לנרו

אני אציין כרגע את המקרים שהיו לי יותר פרקטיים מהפורמטים האחרים. היה צורך לבצע המרה של הפורמטים האלה לפורמט של ISO כדי שאפשר יהיה לעגון קובץ אימג' של תקליטור מבלי לצרוב אותו בפועל.

קבצי nrg של נרו בהמרה ל iso יש את הכלי nrg2iso
sudo apt-get install nrg2iso

קבצי BIN ל ISO יש את הכלי bchunk
sudo apt-get install bchunk
usestyle:-$ bchunk file.bin file.cue file.iso

לקבצי CCD יש את הכלי ccd2iso אבל לא ניסיתי אותו עדיין
לקבצי MDF יש את הכלי mdf2iso שגם לא ניסיתי

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

אגב בעיה שמצאתי בויין זה עגינה של כונני CD וירטואלים שנוצרו עם gisomount.

אם יש אימג'ים נוספים שלא ציינתי לא נורא
מה שיוצא אני מרוצה...

11 באוג׳ 2010

הכנת פלייר לחלוקה המסביר מה זה תכנה חופשית

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

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

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

1. מה ההבדל בין תכנה רגילה לתכנה חופשית?
2. מה הקשר בין תכנה חופשיות לזכויות אדם ואזרח?
3. למה שימוש בתכנה חופשית עדיף על שימוש בתכנה רגילה?
4. איך מגיעים לתכנה חופשית? (איפוא זה נגיש| היכן להשיג או להוריד| היכן יש מידע מרוכז באינטרנט)

חשבנו גם על סלוגנים כמו:
"לינוקס כבר כאן"
"תכנה חופשית היא העתיד"
"העתיד בתכנה חופשית"
"LINUX IN WINDOWS OUT"
"FIREFOX IN EXPLORER OUT
"USE LINUX NO VIRUS"
"יודע לינוקס? עולם ההיטק רוצה אותך"

______________________________________________
______________________________________________

טיוטה ראשונה של החומר הסברה לתכנה חופשית:

1. מה ההבדל בין תכנה רגילה לתכנה חופשית?

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


2. מה הקשר בין תכנה חופשית לזכויות אדם ואזרח?

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

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

3. מדוע שימוש בתכנה חופשית עדיף על שימוש בתכנה רגילה.

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

4. איך מגיעים לתכנה חופשית?

ישנם באינטרנט אתרי מדריכים לתוכנות חופשיות ואתרים המסבירים על שימוש במערכות הפעלה שהן תכנה חופשית בעברית
קישורים לאתרים אלה ניתן למצוא בכתובת: www.linux.org.il שם ימצאו אתרי מדריכים קישורים לאתרי כתבות ובלוגים על תוכנות חופשיות ואפילו פורומים וקהילה ששם ניתן לשאול שאלות בנוגע לתוכנות חופשיות וקוד פתוח והפניות לאתרים תומכים מתאימים.

8 באוג׳ 2010

חויות מאוגוסט פינגוין 2010


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

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

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

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

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

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

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

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

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

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

נהניתי



2 באוג׳ 2010

ארגון יום חופש התכנה הבין לאומי 2010


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

בתכנית:
תהלוכה עד לקניון גבעתיים:
17:30 נפגשים בכיכר נוח בגבעתיים רחוב כצנלסון (על יד עובד מהסביח מי שמכיר)
קווי אוטובוס להגעה: 63, 67, 45, 57 מקניון איילון למשל.
חניה יש חניון בתשלום על יד עיריית גבעתיים
ניתן לחנות גם בקניון גבעתיים מי שלא מתכוון לעשות את התהלוכה.

במקום נצטרך להעמיד דוכן עם חומרי הסברה
יהיה גם בלון עם גז הליום שצריך להספיק ל 200-300 בלונים צבעוניים שעליהם מודפסים שמות של תוכנות חופשיות שונות לסירוגין שנמצאות במיינסטרים כזה (גנום בלנדר VLC VIM וכל מיני מונחים GPL LINUX TOTEM וכאלה של דסקטופ אולי אפילו שמות של שרתים סנדמייל פוסטפיקס אפצי... אפשר כל מיני תוכנות ומונחים...)
שיהיה קצת חומרי הסברה לעוברים ושבים.
דוכן אחד אפשר להעמיד במדרכה ואחד בצומת.
יהיו דרושים שני מתנדבים לדוכן שאחד יהיה עם רכב כדי לאסוף ציוד ולבוא לפעילות בסוף התהלוכה.

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

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

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

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

זהו באשר לארגון התהלוכה....

תכנית המשך אם נהיה מספיק חזקים:

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

אפשר גם לשאת דברים
אם ראש העיר יבוא לשאת דברים זה יכול להיות אחלה

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

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

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





25 ביולי 2010

מה לתכנה חפשית וקומוניזם


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

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

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

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

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

גם כל מה שאתה מייצר הוא לא נחשב שלך אלה נחשב של כולם ונחלת הכלל השייכים לקומונה כמובן.

אפשר לתמצת את רעיון הקומוניזם כשיתופיות קיצונית והייתי אומרת אף חולנית

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

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

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

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

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

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

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

הוא מאפשר יותר חופש בחירה שמבחינתי זה יותר חופש גם אם האפשרות לסגור קוד ולהפוך קוד לסגור

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

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

בתכנה חופשית ופיתוח שלה אין פרטיות.

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

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

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

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

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

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

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

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

בקיצור קוד סגור הוא הרבה פחות חופשי.

מדד החופש קובע:
1. קוד פתוח
2. תכנה חופשית
3. קוד סגור

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

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

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

12 ביולי 2010

עוד פינגוין וקצת מחשבות על GNU GPL


הנה עוד פינגוין שעיצבתי
הפעם זה אותו פינגוין שעשיתי פעם קודמת
רק שהפעם זה הפינגוין מלאך עם עיניים ירוקות שונות וצבעתי אותו ב GIMP
גם אותו אני משחררת ברשיון FAL.


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

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

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

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

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

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

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

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

מי שלא רוצה להיות במקום ההוא מרצון אמיתי שלא יהיה שם בכלל.

8 ביולי 2010

קצת פינגוינים שציירתי





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

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



ציירתי כמה פינגוינים שאני מקוה שיוכלו להשתמש בהם כלוגואים לתכנה חופשית למשל אם ירצו



ואני משחררת אותם ברישיון של Free Art Licence שזה בערך דיי דומה לרעיון של GPL רק באומנות נניח...



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









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






5 ביולי 2010

סוף הכשלונון בהפעלת Rayman2 בלינוקס








טוב הנה זה מתחיל


הצלחתי להפעיל את המשחק דרך הסידי.
בפוסט הקודם כתבתי שלא היה אפשרות להפעיל עכבר ומקלדת
מסתבר שזה באג שקיים הרבה זמן לחלונות XP ו 2003 אז היה צורך לשנות ל WIN98
קישור לבאג:
http://www.pubbs.net/200912/wine/62104-bug-21147-new-safedisc-v135000-and-rayman-2.html

היה גם צורך להגדיר את Dinput למצב native


הרצה של המשחק

carmit@carmit-desktop:~/.wine/drive_c/UbiSoft/Rayman2$ XMODIFIERS='' wine RAYMAN2.EXE

זהו


הכשלונון בהפעלת Rayman2 בלינוקס המשך2



טוב הפעם החלטתי לשחק קצת עם הרזולוציה וגם לנסות להגדיר כונן אחר כסידירום
חיפשתי פקודה בשם isomount ואבונטו מצא לי חבילה עם GUI נחמד של תכנה בשם gisomount
השתמשתי בGUI הזה לעגון קבצי ISO אבל אז התברר לי שבחלונות שמרתי בכלל את הקובץ של ריימן2 בצורת NRG.

אז עשיתי לו המרה לISO בעזרת הפקודה nrg2iso. בדקתי קצת את המניואל לראות את התחביר ויצא לא רע.
הוא עגן לי את זה לספריה /media

עכשיו winecfg בלשונית graphic יש לשנות רזולוציה למינימום 768 על 1024 וגם להריץ gxsetup דרך הדיסק ולהגדיר רזולוציה זהה. עכשיו יש לסמן בצקבוקס Emulate a Virtual Desktop

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

בתוך הלשונית דרייבר עשיתי autodetect

הצלחתי להתחיל להריץ את המשחק שזה דיי התקדמות מהפעם הקודמת
שמעתי את המוזיקה של המשחק אבל מאיזה שהיא סיבה הוא נתקע
השתמשתי בפקודה wineserver -k
על מנת לסגור כל ישום שרץ ב wine
וניסיון נוסף להריץ את המשחק הפעם מהסידירום ישירות אחרי שהרצתי שוב את gxsetup ובחרתי באפשרות האחרת של הגרפיקה...

רציתי להעלות תמונה נוספת לפוסט אבל אני ממשיכה לכתוב אותו ממקום אחר

בסופו של דבר הצלחתי להפעיל ולהריץ את המשחק אך ללא אפשרות להשתמש במקלדת.

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

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

to be continue...

נ"ב

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

וגם לבדוק את האפשרות בקישור הזה לטיפול במקלדת ועכבר שלא עובדים:



http://ubuntuforums.org/showthread.php?t=843630



XMODIFIERS='' wine myapp.exe



ולדרך קישור


env XMODIFIERS='' WINEPREFIX="/home/jyaan/.wine" wine "C:\DeusEx\System\DeusEx.exe"


4 ביולי 2010

טוב מה נסגר עם SUDI GUI


בסוף החלטתי לעשות איזה פרוייקטון קטן כזה של יצירת GUI ל sudo. אף על פי שיש כאלה שחושבים שצריך ויש כאלה שחושבים שלא... בא לי לעשות את זה.

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

חבר שלי חשב שזה יראה משהו כמו חלון כזה שרואים את התוכן של מה שכתוב ב /etc/sudoers אבל אז חשבתי שזה לא רעיון טוב משום שאין כל כך הבדל בין זה לבין לערוך את הקובץ דרך הטרמינל ואז אפשר במילה לשנות מה שצריך ובאמת בישביל דבר כזה לא ממש צריך GUI כי כל אחד שמכיר את התחביר של הקובץ שמבוסס על EBNF שזה איזה שהוא תחביר שמבוסס על שפה ADA יכול לערוך את הקובץ והוא לא צריך בכלל בישביל זה GUI ואז יוצא שזה בעצם לא תורם בכלום.

אז לקחתי נייר ועט והתחלתי לעצב ממשק שימוש ואיך זה אמור להיראות...

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

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

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

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

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

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

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

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

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

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

טוב המשך יבוא...


30 ביוני 2010

סודו בכללי

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

יש שני סוגי הגדרות: הגדרת אליאסים והגדרה למשתמשים.

4 סוגי אליאסים::=משתמש, רונס, הוסט (שם המכונה), פקודה.

כל אחד מסוג האליאסים האלה יכול לקבל שם ולהכיל רשימה על פי מאפיין האליאס:

התחביר להגדרת אליאס הוא:
Alias_Type NAME = item1, item2, item3 ...

Alias_Type NAME1 = a, b, c : NAME2 = x, y

התחביר להגדרה עבור משתמשים:
username machine(ex: localhost) = pathToCmnd

ניתן להוסיף לפני רשימת הפקודות למשתמש מאפייני תגים מיוחדים למשל:
PASSWD or NOPASSWD לחובת שימוש בסיסמא או אפשרות להריץ ללא סיסמא
EXEC or NOEXEC אפשרות להריץ משהו או שלא לאפשר להריץ בכלל
SETENV or NOSETENV אפשרות להריץ באותה סביבה או בסביבה של משתמש אחר.

ניתן להשתמש במילה ALL בכל אחד מהחלקים בתחביר למשל כדי לאפשר את זה לכל המשתמשים או בכל ההוסטים או לאפשר את כל הפקודות האפשריות למשל:

ALL ALL=ALL

דוגמא לשימוש

myusername localhost = NOPASSWD: /bin/ls

זה מאפשר להריץ צפיה בקבצים כמשתמש על ללא סיסמא עבור משתמש בשם myusername במחשב עם הוסט בשם localhost.

אפשר גם לאפשר את זה לכל המשתמשים במחשב למשל אם משנים את myusername ל ALL

ואפשר לאפשר למשתמש להריץ כל פקודה ללא סיסמא אם משנים את /bin/ls ל ALL.

ניתן גם להגדיר את הפקודה באליאס מסוג פקודה למשל

Alias_Cmnd LSALIAS = /bin/ls

ואז לתת למשתמש עם שימוש באליאס

myusername localhost = NOPASSWD: LSALIAS

זה בכללי

נ"ב
פרטים חשובים ששכחתי לציין

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

באליאסים זה נראה לי קייס סנסטיב ואלה שמות סוגי האליאסים: User_Alias, Runas_Alias, Host_Alias, Cmnd_Alias.

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

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

זהו

קישור למדריך טוב של אבונטו https://help.ubuntu.com/community/Sudoers


___________________________
בחיפוש אחרי איזה GUI לסודו מצאתי איזה פרוייקט ביפנית בסורספורג'
http://en.sourceforge.jp/projects/sfnet_sudoersgui/

ואיזה דיון על זה שזה לא נחוץ לדעת מישהו כי לדעתו זה "לא בעיה" אז ...
http://brainstorm.ubuntu.com/idea/3193

ובא לי גואי לסודו...
אז זה בינתיים מה שרשמתי

עכשיו בא לי לפתח את זה קצת ...

שוב מתחיל התסכול של העיצוב.... איפוא פינקית כשצריך אותה?

to be continue...

27 ביוני 2010

הכשלונון בהפעלת Rayman2 בלינוקס המשך






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

זה תוכן הודעת השגיאה בריצה באבונטו כאשר מקליקים הקלקה חופשית הוא חושב שמדובר בארכיב.
Archive: /media/RAYMAN2/setup.exe
[/media/RAYMAN2/setup.exe]
End-of-central-directory signature not found. Either this file is not
a zipfile, or it constitutes one disk of a multi-part archive. In the
latter case the central directory and zipfile comment will be found on
the last disk(s) of this archive.
zipinfo: cannot find zipfile directory in one of /media/RAYMAN2/setup.exe or
/media/RAYMAN2/setup.exe.zip, and cannot find /media/RAYMAN2/setup.exe.ZIP, period.

זה תוכן ההודעה כאשר מריצים דרך wine
חלון המשחק עולה דרך הסידירום עם אפשרות להתקנה ולהפעלת המשחק דרך הסידירום




כאשר בוחרים ב play מתקבלת הודעת שגיאה שזה תוכנה:


בקיצור הרצה דרך הסידירום לא עבדה טוב

היה גם ניסיון להריץ דרך הדיסק עצמו ב .wine/drive_c
על מנת לראות את פלט השגיאה בצורה יותר מפורטת ולמעשה התקבל חלון עם הודעת שגיאה דומה.
רק שהפעם ראיתי את הפלט:

carmit@carmit-desktop:~/.wine/drive_c/UbiSoft/Rayman2$ wine RAYMAN2.EXE
fixme:ddraw:DirectDrawEnumerateExA flags 0x00000007 not handled
fixme:win:EnumDisplayDevicesW ((null),0,0x32ef44,0x00000000), stub!
wine: Unhandled page fault on read access to 0x00000001 at address 0x1 (thread 001c), starting debugger...
Unhandled exception: page fault on read access to 0x00000001 in 32-bit code (0x00000001).
Register dump:
CS:0073 SS:007b DS:007b ES:007b FS:0033 GS:003b
EIP:00000001 ESP:0032fc9c EBP:0032fdf4 EFLAGS:00210202( R- -- I - - - )
EAX:00000002 EBX:00129126 ECX:00000001 EDX:00000000
ESI:00129127 EDI:004e0da1
Stack dump:
0x0032fc9c: 0042049c 00000002 00000001 00000000
0x0032fcac: 0042046c 00000000 00000003 0040105c
0x0032fcbc: 00000000 00401f54 00517042 00129126
0x0032fccc: 7b883ff4 775c3a43 6f646e69 552f7377
0x0032fcdc: 6f536962 752f7466 692e6962 6800696e
0x0032fcec: 68416ff4 0032fd20 7bc35b91 684325c0
Backtrace:
=>0 0x00000001 (0x0032fdf4)
1 0x0045fe16 in rayman2 (+0x5fe15) (0x0032fe90)
2 0x7b8556ac call_process_entry+0xb() in kernel32 (0x0032fea8)
3 0x7b8578bb in kernel32 (+0x478ba) (0x0032fee8)
4 0x7bc6fd90 call_thread_func+0xb() in ntdll (0x0032fef8)
5 0x7bc6ff60 call_thread_entry_point+0x6f() in ntdll (0x0032ffc8)
6 0x7bc4b6aa in ntdll (+0x3b6a9) (0x0032ffe8)
0x00000001: -- no code accessible --
Modules:
Module Address Debug info Name (71 modules)
PE 400000- 519000 Export rayman2
PE 10000000-10029000 Deferred glidx6vf
ELF 20000000-200c4000 Deferred libgl.so.1
ELF 200c4000-216d4000 Deferred libglcore.so.1
ELF 22755000-227ad000 Deferred ddraw
\-PE 22760000-227ad000 \ ddraw
ELF 23c57000-23d8f000 Deferred wined3d
\-PE 23c60000-23d8f000 \ wined3d
ELF 4946d000-4946f000 Deferred libnvidia-tls.so.1
ELF 68000000-68140000 Export libwine.so.1
ELF 68140000-68159000 Deferred libpthread.so.0
ELF 68159000-6815d000 Deferred libdl.so.2
ELF 6815d000-68183000 Deferred libm.so.6
ELF 68183000-6819a000 Deferred libnsl.so.1
ELF 6819a000-682cb000 Deferred user32
\-PE 681b0000-682cb000 \ user32
ELF 682cb000-68356000 Deferred gdi32
\-PE 682e0000-68356000 \ gdi32
ELF 68356000-683b1000 Deferred advapi32
\-PE 68360000-683b1000 \ advapi32
ELF 683b1000-68433000 Deferred msvcrt
\-PE 683c0000-68433000 \ msvcrt
ELF 68433000-68606000 Deferred shell32
\-PE 68440000-68606000 \ shell32
ELF 68606000-68668000 Deferred shlwapi
\-PE 68610000-68668000 \ shlwapi
ELF 68668000-68753000 Deferred comctl32
\-PE 68670000-68753000 \ comctl32
ELF 68753000-6878c000 Deferred dinput
\-PE 68760000-6878c000 \ dinput
ELF 6878c000-6888c000 Deferred ole32
\-PE 687b0000-6888c000 \ ole32
ELF 6888c000-68901000 Deferred rpcrt4
\-PE 688a0000-68901000 \ rpcrt4
ELF 68901000-68916000 Deferred libz.so.1
ELF 68916000-68946000 Deferred libfontconfig.so.1
ELF 68946000-6896d000 Deferred libexpat.so.1
ELF 6896d000-68a0f000 Deferred winex11
\-PE 68980000-68a0f000 \ winex11
ELF 68a0f000-68a18000 Deferred libsm.so.6
ELF 68a18000-68a31000 Deferred libice.so.6
ELF 68a31000-68b4e000 Deferred libx11.so.6
ELF 68b4e000-68b53000 Deferred libuuid.so.1
ELF 68b53000-68b6d000 Deferred libxcb.so.1
ELF 68b6d000-68b71000 Deferred libxau.so.6
ELF 68b71000-68b77000 Deferred libxdmcp.so.6
ELF 68b77000-68b99000 Deferred imm32
\-PE 68b80000-68b99000 \ imm32
ELF 68b99000-68b9d000 Deferred libxinerama.so.1
ELF 68b9d000-68ba3000 Deferred libxxf86vm.so.1
ELF 68ba3000-68bad000 Deferred libxrender.so.1
ELF 68bad000-68bb5000 Deferred libxrandr.so.2
ELF 68bb5000-68bbb000 Deferred libxfixes.so.3
ELF 68bbb000-68bc5000 Deferred libxcursor.so.1
ELF 68bc5000-68bf9000 Deferred uxtheme
\-PE 68bd0000-68bf9000 \ uxtheme
ELF 69dc1000-69dd1000 Deferred libxext.so.6
ELF 6b052000-6b05a000 Deferred libnss_compat.so.2
ELF 6b76b000-6b7f3000 Deferred winmm
\-PE 6b770000-6b7f3000 \ winmm
ELF 6e5eb000-6e745000 Deferred libc.so.6
ELF 7208a000-720a7000 Deferred ld-linux.so.2
ELF 72f06000-72f7c000 Deferred libfreetype.so.6
ELF 76762000-76766000 Deferred libxcomposite.so.1
ELF 779e2000-779ec000 Deferred libnss_nis.so.2
ELF 791f8000-79204000 Deferred libnss_files.so.2
ELF 7b800000-7b952000 Export kernel32
\-PE 7b810000-7b952000 \ kernel32
ELF 7bc00000-7bcb8000 Export ntdll
\-PE 7bc10000-7bcb8000 \ ntdll
ELF 7bf00000-7bf04000 Deferred
Threads:
process tid prio (all id:s are in hex)
0000000e services.exe
00000014 0
00000010 0
0000000f 0
00000011 winedevice.exe
00000018 0
00000017 0
00000013 0
00000012 0
0000001b (D) C:\UbiSoft\Rayman2\RAYMAN2.EXE
0000001c 0 <==
0000001d explorer.exe
0000001e 0
Backtrace:
=>0 0x00000001 (0x0032fdf4)
1 0x0045fe16 in rayman2 (+0x5fe15) (0x0032fe90)
2 0x7b8556ac call_process_entry+0xb() in kernel32 (0x0032fea8)
3 0x7b8578bb in kernel32 (+0x478ba) (0x0032fee8)
4 0x7bc6fd90 call_thread_func+0xb() in ntdll (0x0032fef8)
5 0x7bc6ff60 call_thread_entry_point+0x6f() in ntdll (0x0032ffc8)
6 0x7bc4b6aa in ntdll (+0x3b6a9) (0x0032ffe8)

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


26 ביוני 2010

הכשלונון בהפעלת Rayman2 בלינוקס


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

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

זה פחות או יותר תמצית העלילה.

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

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

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

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

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

ההתנגדות שלי למיקרוסופט ושימוש במוצרי מיקרוסופט היא התנגדות עקרונית ולא שנאה אישית כלפי מיקרוסופט אלה

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

אז מה טוב בהתקנה של המשחק הישן הזה על לינוקס?

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

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

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

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

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

הניסיון היה להריץ את המשחק דרך wine במערכת אבונטו לינוקס גירסת לוסיד.

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

בניסיון להריץ דרך הקישור ש
env WINEPREFIX="/home/carmit/.wine" wine C:\\windows\\UbiSoft\\SetupUbi.exe -play\ rayman2

זה לא עבד. אבל הצלחתי להריץ דרך הקובץ המקורי שנתקבלה הודעת שגיאה כנראה בגלל שמדובר במזוייף.

החלפתי אותו עם התוסף והרצתי והפעם זה לא הצליח
וזה תוכן ההודעה

carmit@carmit-desktop:~/.wine/drive_c/UbiSoft/Rayman2$ wine RAYMAN2.EXE
fixme:ddraw:DirectDrawEnumerateExA flags 0x00000007 not handled
err:winediag:X11DRV_WineGL_InitOpenglInfo Direct rendering is disabled, most likely your OpenGL drivers haven't been installed correctly
fixme:d3d_caps:wined3d_guess_card No card selector available for GL vendor 4 and card vendor 0000.
X Error of failed request: BadRequest (invalid request code or no such operation)
Major opcode of failed request: 153 (GLX)
Minor opcode of failed request: 179 ()
Serial number of failed request: 1233
Current serial number in output stream: 1234

שחבר שלי חיפש בווין הוא גילה שהצליחו להריץ את המשחק בגירסה ישנה יותר של ווין..

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

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

שיהיה לי בהצלחה