הבלוג של ארתיום
בלוג על לינוקס, תוכנה חופשית, מוזיקה, סלסה, ומה לא!
מאמרים בנושא כללי.
למה נטשתי את Boost אפילו שתרמתי אליו שתי ספריות בעבר
בעבר השתמשתי הרבה ב־Boost לטובת פרוייקטים שונים ב־C++. במיוחד לפני ש־C++11 הפך לנורמה. אבל לאט־לאט עם בעיות שבירת API השונות התחחתי להתרחק ממנו במיוחד כש־C++11 ויותר נתן מענה למרבית הבעיות הקריטיות ש־Boost פתר בעבר.
אז שנים רבות הסתדרתי בלי Boost. אפילו שתרמתי שתי ספריות בעבר Boost.Locale ו־Boost.Nowide - הן עכשיו מתוחזקות בצורה יוצאת דופן ע"י מפתח אחר.
עכשיו אני עובד על פרויקט גדול OpenLiveStacker שגם בו לא השתמשתי ב־Boost וגם היה לי מענה לבעיות נוספות דרך CppCMS שאני משתמשו בו בפנים לטובת UI. הוא מיועד בעיקר לאנדרואיד ולינוקס אבל הבנתי שיהיה שימושי גם בחלונות ואז התחלתי לעשות הסבה לחלונות.
בגדול הקוד גם ככה היה כמעט ולא תלוי בפלטפורמה אז לרב זה היה חלק ואז הגעתי לבעיה פשוטה של להריץ תהליך חיצוני, להרוג אותו אם צריך, לקבל סטטוס. בלינוקס ואנדרואיד פשוט עשיתי fork/exec/kill/wait. ואז הגעתי לחלונות. טוב אז מה עושים? אמרתי למה להמציא גלגל פשוט אקח Boost.Process - גוגל זריז - הוא בדיוק נותן מענה למה שאני צריך. אולי הייתי צריך להשתמש בו מלכתחילה? טוב נו. הסתכלתי במדריכים כתבתי, הורדתי גרסה אחרונה 1.88 של Boost לחלונות מקמפל ו־... לא עובד.
השגיאה bp::child לא מוגדר! טוב מוודא שאני פותח את הגרסה אחרונה של התיעוד (גוגל לא תמיד מביא אותה) והפלא הפלא אין יותר bp::child יש bp::process! מה קרה? אכן API השתנה. מתי זה קרה? לפני כשנה באוגוסט 2024. כלומר אם הייתי משתמש ב־Boost.Process מלכתחילה הקוד היה נשבר. (כדי להשתמש ב־api ישן צריך לעשות include וליצור aliases וכד)
שורה תחתונה - הם שברו API לגמרי. לא הוסיפו API חדש עם bp::process אלא מחקו את הקיים והחליפו. זה הזכיר לי לגמרי למה הפסקתי להשתמש ב־Boost. אז עשיתי אחורה פנה, ופשוט תחת ifdef כתבתי קוד עם שימוש ב־CreateProcess של חלונות ו... זה זה עבד ללא דופי.
עצוב. איך מפתחי תוכנה פשוט לא מבינים את המשמעות של תאימות API לאחור.
שביתת נשק עם מחבל מתאבד
לפני מספר ימים קפץ ב־YouTube קטע מוכר מהרצאה של ג’ורדון פיטרסון המדברת על ההגיון ומעשי הזוועה. שורת המחץ בתרגום חופשי הייתה: אם אתה לא יודע מה המטרה, תסתכל לאן המעשים מובילים ואז תסיק שהתוצאה היא בעצם היא המטרה.
התוצאה והמטרה של מעשי הטרור היא מאוד פשוטה – רצח, מוות, הרס, גהנום עלי אדמות.
חשבנו לתומנו כי האוייב מורתע. כי אפשר להגיע עם חמאס הסכם חודייביה – כלומר לגרום לו לחשוב שאין לו כל סיכוי לנצח.
הרי לכל אדם שחושב בהיגיון ברור שהטבח הזה הוא למעשי סופו של חמאס. לא היום. לא מחר, אבל הארגון כבר בן־מוות. הוא עדיין קיים, מסוכן ופעיל, אבל זה נגמר. כמו שאל־קאעידה נגמרה אחרי פיגועי 11 בספטמבר ודאע"ש אחר מעשי הזוועה שלהם.
המעשה ההגיוני היה יכול להיות להיכנס לבסיס צבאי ולחטוף קבוצת חיילים ולהכריז עליהם כשבויי מלחמה. מעשה כזה היה יכול להיות גם קלף מיקוח חזק וגם הייתה לו לגיטימיות צבאית.
אבל זאת לא המטרה שלהם! המטרה שלהם היא אחת והיחידה – הרס, רצח וזוועה – וגם לפגוש את אללה בדרך. לכן, זה מה שהם עשו. לכן, אי אפשר להגיע אפילו לשלום חודייביה עם ארגון כזה. כמו שאי אפשר להגיע להסכם שביתת נשק עם מחבל מתאבד.
פשעי 7 באוקטובר הם מעשי של הרס והתאבדות ברורים. ובעזרת השם וצה"ל הם יפגשו את אללה בהקדם.
שתפו... אל תסתכלו
לאחרונה שמתי לב לתמונה שמסתובבת אי שם ברחבי פייסבוק...
הינה הקישור
היא זכתה לכ־3.5 אלף שיתופים. מעניין כמה מתוכם טרחו להסתכל על התמונה ולזהות שזה פוטושופ, אפילו לא כל־כך איכותי:
- חתיכת צינור נעלמה
- אפשר להבחין בקלות צבע רקע טיפה שונה מסביב "גיל חצי שניה"
עצוב שכל־כך הרבה אנשים משתפים בלי לחשוב אפילו שתי שניות אם זה הגיוני.
We con the word!
צפיה מהנה: http://www.youtube.com/watch?v=FOGG_osOoVg
הודעה לקוראי הבלוג
שלום,
האתר לא יהיה זמין במשך מספר הימים, עםכם הסליחה.