מדוע Asp.Net/Mono לעולם לא ירוץ על לינוקס...

ב־יום שבת, 24 בינואר 2009, מאת ארתיום; פורסם תחת: תכנה חופשית, לינוקס, תכנה ומחשבים; ‏6 תגובות

זאת הסיבה:

http://www.tapuz.co.il/forums2008/forumpage.aspx?forumId=156
http://www.tapuz.co.il/forums2008/forumPage.aspx?forumId=156
http://www.tapuz.co.il/Forums2008/ForumPage.aspx?ForumId=156

(לא אל תיכנסו לקישורים, תסתכלו בהם)

מחשבות על המלחמה, או כל עם זוכה לממשלה שמגיעה לו...

ב־יום שני, 19 בינואר 2009, מאת ארתיום; פורסם תחת: מצב בטחוני, הכל מלבד מחשבים, פוליטי; ‏3 תגובות

נגמרה המלחמה

האמנם? התוצאות החיוביות של המלחמה הזו הם:

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

אבל, זהו בערך.

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

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

מתי ערוצי תקשורת יפסיקו לשתף פעולה עם האויב?

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

איזה יופי... רק אני מתבלבל? זה אל־ג'זירה או ערוץ 2?

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

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

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

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

האם ידענו שזה יבוא?

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

האם ידענו אז שנחזור לעזה? התשובה היא כן.

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

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

מסתכלים לעתיד

מה אומרים היום?

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

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

כפי שכתבתי לעיל: "כל עם זוכה לממשלה שמגיעה לו" (אני חייב להיזכר מאיפה הציטוט הזה). נראה שגם אנחנו, עם שאוהב אשליות --- זכינו לממשלה שמגיעה לנו. ממשלה של אשליות.

מחשבות לעתיד

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

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

שוחררה CppCMS 0.0.2!

ב־יום שישי, 16 בינואר 2009, מאת ארתיום; פורסם תחת: תכנה חופשית, לינוקס, פיתוח, תכנה ומחשבים, CppCMS, C++‎‏; ‏0 תגובות

אחרי תקופה ארוכה של פיתוח מאומץ שוחררה גרסה 0.0.2 של CppCMS -- תשתית פיתוח יישומי אינטרנט ב־C++‎.

הגרסה כוללת

  • CppCMS תשתית הפיתוח.
  • DbiXX --- ספריה לעבודה מול בסיסי נתונים שונים.
  • WikiPP מערכת ויקי מובססת CppCMS.‏
  • Examples --- דוגמאות שונות כחלק מתיעוד של CppCMS.

שינויים במדיניות

ישנם מספר שינויים חשובים במדיניות שחרור הגרסאות:

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

השינויים העיקריים

  • מערכת תבניות חדשה מבוססת על טיפוסים סטטיים. היא נשענת על קימפול התבניות לקוד המכונה וטעינתן כ־shared objects.
  • מערכת תבניות הישנה, מבוססת על טיפוסים דינאמיים לא תיתמך יותר.
  • השיפורים השונים במערכת התבניות כוללים בין השאר:

    1. ירושת תבניות בסגנון Django.‏
    2. הרחבת תבניות ע"י השתלת קוד C++‎ לתוכן.
    3. תבניות הן חלק מהתשתית ולא מהוות ספריה נפרדת.
  • פותחה מערכת חדשה ליצירה ובדיקה של טפסים. היא משולבת עם מערכת התבניות.

  • פיתחה מערכת ניהול sessions חדשה.
  • שיפורים ב־API של מערכת caching לתמיכה יותר טובה ב־cache העובד ללא טריגרים.
  • התיעוד של המערכת הועבר ל־WikiPP‏ מערכת ויקי שפותחה על בסיס של CppCMS.
  • נתמכות מערכות הפעלה חדשות: FreeBSD ו־OpenSolaris, בנוסף ל־Linux ו־Cygwin.
  • מערכת ויקי WikiPP שוחררה תחת רישיון GPLv3.

ימי הביניים של Unix או FreeBSD 7.1.

ב־יום שלישי, 13 בינואר 2009, מאת ארתיום; פורסם תחת: תכנה חופשית, לינוקס, פיתוח, תכנה ומחשבים, CppCMS; ‏2 תגובות

כידוע, אני רוצה לוודא כי cppcms ירוץ על מספר מרבי של פלטפורמות תואמות POSIX. כשהפיתוח נעשה לרוב על Linux, אני רוצה לוודא כי הוא ירוץ על כל פלטפורמת POSIX חופשית: שכרגע הן: Linux,‏ OpenSolaris, ‏‎*BSD ו־Cygwin.

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

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

אחת ההפתעות הראשונות שהייתה לי --- pthread_mutexattr_setpshared לא נתמך. ידעתי שהוא לא נתמך ב־cygwin אבל מ־FreeBSD 7.1 ציפיתי לטוב יותר.

הסבר: זאת אופציה שמאפשרת לשים mutex בזיכרון משותף של שני תהליכים שונים. כל UNIX בוגר תומך באופציה הזו. Linux תומך בזה החל מ־2.6 עם כניסת NPTL והופיע לראשונה ב־RH9.

טוב, מאחר ויש לי תמיכה של "אי־שימוש" במחיר של ביטול רכיבים מסוימים, לא נורא.

המערכת התקמפלה ועבדה יפה. ברגע שניסיתי להפעיל אותה ב־mod_prefork היא עפה עם unsupported system call...

או קיי? מה זה אומר.

מסתבר, ש־sem_init גורם לתופעה כזו. אני קורא man -- הכל אמור לעבוד. כותב תוכנת ניסוי פשוטה -- היא עפה. התחלתי לגגל וגיליתי: תמיכה ב־POSIX Semaphores היא ניסיונית מאוד ולא יציבה. צריך לקמפל kernel עם אופציה ספציפית כדי שזה יעבוד!

אם כך, למה להעיף תוכנה? אולי עדיף ש־sem_init יחזיר שגיאה? או קיי, אז אולי נשתמש במנגנון אחר? נגיד flock? אהה... לפי man של FreeBSD הוא אפילו לא יוצא עם EINTR במקרה של סיגנל (שזאת הסיבה העיקרית שהשתמשתי ב־Posix Semaphores.

היו כמובן עוד כמה נפלאות של עבודה על BSD עצמו: כמו המערכת קבצים ברירת מחדל בכלל לא עובדת עם journaling, תהליך fsck הוא איום. הגדרות בסיסיות על הפנים, pkg_add הנותן שגיאות מאוד "עוזרות וממצאות" "קל מאוד" להגדרה ועוד. תיעוד... לא אכנס לזה. התחושה שאני עובד על איזה Debian Potato... או בעצם גם אז הוא היה קצת יותר טוב.

בקיצור --- אני אומנם אמשיך ואגרום ל־CppCMS לעבוד על FreeBSD כי זה לא מי יודע מה מסובך, אבל...

Free BSD Sucks!!!‎

חד וחלק!

אני OpenSolaris,‏ VirtualBox והרבה כאב ראש...

ב־יום שבת, 10 בינואר 2009, מאת ארתיום; פורסם תחת: תכנה חופשית, לינוקס, פיתוח, תכנה ומחשבים, CppCMS; ‏0 תגובות

החלטתי לבדוק את CppCMS על מערכות הפעלה נוספות מלבד Linux, לכן, החלטתי להתקין OpenSolaris על VirtaulBox. אני מזהיר מראש, הסיפור של CppCMS כאן הוא מינורי --- התיקונים האמתיים שקשורים ל־OpenSolaris לקחו בדיוק 5 דקות, ש־4 מתוכן היו קומפילצייה של הקוד מחדש.

ובכן, נתחיל -- החלטתי להתקין OpenSolaris. כהרגלי, הורדתי LiveCD עדכני, הפעלתי VirtualBox ו־... גיליתי ש־OpenSolaris לא עולה. גיגלתי, בדקתי, הבנתי שצריך לעדכן גרסת VB. בסדר, לא מסובך נעשה.

בשלב הבא, כשההתקנה הושלמה, גיליתי שאין לי אינטרנט, חיפשתי גיגלתי, שיחקתי עם דרייברים ועם מודולים, ifup/down שיניתי הגדרות "חומרה וירטואלית" --- nada, אין אינטרנט... אחרי עוד מספר שעות בגוגל, גיליתי שאני חייב לעשות 2 אתחולים של מחשב וירטואלי לאחר התקנה כדי שהאינטרנט יעבוד(?!)

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

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

המשך...

העמוד הקודם

העמוד הבא

דפים

נושאים