הבלוג של ארתיום
בלוג על לינוקס, תוכנה חופשית, מוזיקה, סלסה, ומה לא!
מאמרים בנושא תכנה ומחשבים.
שכפול התוכנה זה טוב או זה רע?
למה אני מתכוון? למשל, לפני לא כל־כך הרבה שנים בלינוקס לא היה תחליף ל־Mirosoft Office כשהיום, יש לו תחליף מוצלח שנקרא OpenOffice. כל משתמש MS Office יוכל ללא בעיות גדולות לפתוח מעבד תמלילים ולהרגיש "בבית" עם ממשק משתמש זהה עד כדי פרטים קטנים. השאלה היא אם זה טוב או אם זה רע? למעשה, גרסה 1.x היתה שונה. לדברי שושנה פורבס, ממשק משתמש החדש שמהווה חיקוי של MS Office, דווקא הרחיק אותו בגרסה 2.x מגישה יותר בריאה: גישה סמנטית.
העליתי נושא דומה בעבר, בהקשר טיפה שונה: חיקוי ממשק של Gnome ב־Xubuntu, במקום שמירה על מקוריות של Xfce.
האירוע האחרון שגרם לי לחזור לנושא, הוא שדרוג של Octave מגרסה 2.x ל־3.0.0. בגרסה הזו הם "שיפרו" את פונקציית ה־plot, כך שעכשיו היא תואמת יותר את הפונקציה המקבילה ב־matlab.
המשך...להתראות WordPress.
החלפתי את מערכת התוכן של הבלוג שלי למערכת שכתובה ב־C++. היו לזה הרבה סיבות, והעיקריות הן:
- וורדפרס הפך ליותר שמן ופחות נוח. ממשק הניהול שלו הפך לכבד, כבר היה לי קשה לסבול את המורכבות שלו, גם כל מיני באגים ונקודות קטנות הציקו לי. למרות שמאוד אהבתי את מערכת התוכן הזו (בסה"כ היא עזרה לי להקים בלוג ב־10 דקות עבודה), החלטתי שמספיק... צריך להתקדם.
- הסיבה השניה והעיקרית היא הרצון להשתמש בכלים שפיתחתי "בבית". אם אני מנסה לקדם טכנולגיה לפיתוח אתרי־איטנטרנט, אז ראוי שהבלוג שלי ישתמש בה. לכן, החלטתי להגר.
הבעיה של הקישורים היפים
אני התחלתי להבין, שרעיון של "הקישורים היפים" כמו http://site.com/article/about_cats לא הרבה יותר טוב מקישורים עם מספר הכתבה כמו http://site.com/article/234... למה? כי בכל מקרה אף אחד לא קורא את הקישור אלא סתם מדביק אותו במקום כלשהו.
אז מה? בכל מקרה, זה יותר קריא כשמופיע about_cats במקום 234... זה נכון למעט המקרים בהם זה לא עובד. כשיום אחד בטעות תכתוב about_kats, כל מי שינסה להקליד את הקישור לכתבה מהזיכרון, ככל הנראה לא יצליח. מה שעוד יותר גרוע, שגיאת הכתיב הזו תישאר לאורך כל חיי הבלוג ותעיד על הבורות של הכותב, כי פשוט אתה תצטרך לשמור עליה, על מנת לא לשבור קישורים נכנסים...
דוגמה טובה מהבלוג הזה: web_filtering_low --- כנראה הסינון שלי תמיד יישאר נמוך ;)
מחשבות: פרויקטים גדולים, גם אם יתרסקו ישארו משהו אחריהם...
לא מזמן יצא לי לקרוא על olpc -- בעיקר דעות שונות: האם זה רע? האם זה סוף או אולי הסוף היה כבר בהתחלה?
מה שגרם לי לחשוב אופן כללי על פרויקטים עם "אגו" גדול ותהיות לגבי עתידו של CppCMS שגם לו יש "אגו גדול", אם כי בממדים הרבה יותר קטנים. יש לא מעט המצאות ורעיונות גדולים שמתרסקים בשלב היישום, אולי הטכנולגיה עדיין לא בשלה, העיתוי לא מתאים, סתם השיווק כושל או בעיות אחרות. מה שברור שפרויקטים "עם אגו גדול", גם אם נכשלים, יכולים להוריש טכנולוגיות או רעיונות שימצאו שימוש במקומות אחרים.
לאחרונה, אני תוהה, מדוע אני משקיע כל־כך הרבה מאמץ יושב עד 1:00 בלילה, כותב תיעוד, מדבג עבור פרויקט שאני יודע שאולי שתיים וחצי אנשים ישתמשו בו?
כשהעולם דווקא מתקדם בצעדי ענק לכיוון BloatWare, או לכיוון של פיתוח מאוד מהיר בשפות קלות כי מחירי החומרה יורדים, אני עומד כנגד ואומר: "אתם טועים". הרי גם אם אני צודק, הסיכוי שאשכנע מישהו הוא זניח... מה הסיכוי שהטכנולוגיה שנשמעת כמשוגעת, מזוכיסטית תשמש מישהו ועוד יותר מה הסיכוי שייצא לי מזה משהו (למעט למידה).
אחרי מחשבה שנייה, אני מתחיל להבין... גם אם זה לא יצליח, יש רכיבים שיכולים לשרוד. גם אם OLPC ייכשל, יישאר Sugar עם רעיונותיו המהפכניים (שאולי אפילו אני לא מעכל). כך גם אם הפרויקט שלי ייכשל, כי לא יהיה לו שום ביקוש בשוק, אני כבר רואה מספר דברים שיישארו אחריו:
- מערכת תבניות שאפשר להשתמש בה בהמון מקומות בלי קשר ל־HTML
- מעטפת C++ עבור libdbi שאני בטוח שיימצא לה שימוש.
- מערכת cache גמישה ומתוחכמת שהתכנון שלה נמצא כרגע בעיצומו, תוכל לשמש כל פרויקט webי שלאו דווקא כתוב ב־C++.
כך שאני מקווה שלא בזבזתי שעות שינה לשווא. למען האמת, למדתי מכל הפרויקט הזה כל־כך הרבה, שאין צורך להצטער.
התנצלות: אני ידוע שזו חוצפה להשוות CppCMS עם OLPC, אבל בכל זאת, צריך להיות טיפה חוצפן ;)
לבנות את CppCMS.
בזמן האחרון, התחלתי לקבל שאלות "כיצד לבנות את CppCMS" או "האם יש לך חבילות עבורה". לכן, פרסמתי הוראות בניה" של המערכת.
(אגב, מישהו יודע תרגום נכון של מילה framework לעברית?)
כך שכל מי שרוצה להתנסות, יכול במאמץ סביר לבנות את המערכת ולהסתכל עליה. חייב לציין, שהמערכת עדיין בשלבי בנייה מוקדמים כך ששום דבר לא יציב, וייתכן ויהיו רגעים בהם לא תצליחו לבנות אותה בכלל.
למרות שרשימת התלויות שהצגתי נראית מפחידה, למעשה, לא תהיה שום בעיה לבנות אותה על Debian Lenny או Ubuntu Hardy. למעשה, אני אפילו הצלחתי לבנות אותה על cygwin, אם כי הייתי צריך לקמפל כמה ספריות צד ג'.
כל מי שרוצה לנסות, מוזמן. אני אשמח לקבל תגובות.