Archive for the ‘קוד פתוח’ Category

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

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

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

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

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

Ars Technica כתבו על הנזקים שחוסמי הפרסומות גורמים

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

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

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

HipHop לPHP, המחשבות שלי בנושא

צריך היה להיות ממתכנת מנותק מאוד בשביל לא לקרוא על הHipHop, כלי ששיחררה Facebook שלוקח קוד PHP בגירסה 5.2 פחות כמה פיצ'רים, וממיר אותו לקוד C++ שאפשר לקמפל באמצעות g++ לקוד מכונה שרץ באופן טבעי על השרת. Facebook טוענים שHipHop מסוגל להביא לביצועים טובים בכ50%, שהוא כשלעצמו מספר מרשים מאוד מחד, ומפתה מאוד בחשיבה על צריכת הCPU שיורדת משמעותית מאידך.

מה זה למעשה?

  • HipHop ממיר קוד PHP לקוד C++ שיכול להתקמפל לקוד מכונה טבעי. HipHop תומך ברוב מוחץ של האפשרויות בPHP 5.2 מלבד פונקציות כמו eval() למשל.
  • הכלי מתיימר ליצור את קוד הC++ היעיל ביותר האפשרי, הוא יבדוק מגמות כלליות ודברים שעשיתם בקוד הPHP שלכם ולפיו יכין את קוד הC++ המותאם ביותר.
  • לאחר שקומפל, HipHop מהווה בעצמו את שרת הרשת. הוא איננו צריך תוכנות שרת כמו Apache ואחרות.
  • כרגע, HipHop לא תומך בכלל בווינדוס. מפתחי PHP, אם עוד לא עברתם, זה הזמן לנסות את לינוקס.
  • כרגע אתר Facebook כולו משתמש בכלי הזה לייעול הקוד ולהתמודדות עם עומס המשתמשים.

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

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

HipHop הוא בהחלט כלי מרשים, אבל לפני שרצים להשתמש בו חייבים לקחת בחשבון את ה"עלות-תועלת" פה. האם האתר שלך באמת צריך ייעול דרסטי בשימוש בכוחות החישוב שלו? או שמה שהוא עושה בעיקר זה להציג דפים שלא מתעדכנים לעיתים קרובות מאוד (כמו בפייסבוק) ומתמקד בעיקר בשליפת נתונים ממסד והצגתם, נניח בלוג, פורום וכו' וכו'. ללמוד להשתמש בכלי כזה, ולהתחיל להתעסק עם C++ והדיבגר של g++ יכול להיות סיוט לא קטן למתכנת ווב. תחשבו על זה.

עוד מילה על CppCMS

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

למה שימוש בAdBlock זה לא ממש מוסרי

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

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

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

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

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

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

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

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

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

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

אבל… מה עם אנדרואיד?

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

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

אנחנו אוהבים את החופש שלנו – למה המכירות של ספרי O'Reilly השתפרו ב104%

לפני 18 חודשים החליטה חברת ההוצאה לאור הגדולה בעולם לספרי טכנולוגיה, O'Reilly להפסיק את השימוש בDRM בספרים האלקטרוניים שלה. מאז ההחלטה הזאת השתפרו המכירות של הספרים האלקטרוניים בO'Reilly ב104%! נתון מפתיע מאוד, במיוחד לאור טענות המגננה של המצדדים בDRM באותה תקופה ש"מדובר בספרי טכנולוגיה והמשתמשים בהם הם טכנולגים, להם יותר מלמשתמש הרגיל יהיה קל להפיץ עותקים של הספרים ברשת להורדות פירטיות.". למען האמת, אני מניח שזו הייתה יכולה להיות ההנחה המיידית של כל אחד כשהיה שומע על זה.

אז מה קרה? איך המכירות השתפרו ביותר מפי 2? אני מאמין שזה קשור לחופש. דווקא בגלל שמדובר בחברת הפצה שהלקוחות העיקריים שלה הם טכנולוגיים השינוי כל כך ניכר, אנחנו הלקוחות הטכנולוגים של O'Reilly יודעים מה זה DRM ומבינים את המשמעות שלו, לעיתים קרובות, מבינים יותר משמשתמש המיינסטרים מבין, לכן אנחנו נכנסים למעין מגננה כשלוקחים ממנו את החופש שלנו. אנחנו מבינים את האבסורד שבקניה רוחנית שאפילו הקניין הרוחני לא ממש שלנו, ודוחים את העניין. אנחנו אוהבים להיות בעלים יחידים של משהוא שרכשנו, והDRM מונע מאיתנו את התחושה הזאת. הפחד שאנחנו לא יכולים לעשות מה שאנחנו רוצים מניע אותנו לא לקנות. באופן כללי, אני מאמין שבתור בני אדם אנחנו מעדיפים להשאיר את כל הדלתות פתוחות, אנחנו לא רוצים לסגור לעצמינו אופציות אלא רק אם אנחנו מוכרחים. אז לותר על האופציות שלנו ללא שום תמורה? סליחה, אבל כמו שהמנטליות הישראלית אומרת, ופה היא תופסת לגבי כל העולם, "אנחנו בטח לא פראיירים".

האם גוגל צריכה לפחד מ2011? או 2017?

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

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

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

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

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

איך גוגל היכתה את מוזילה עם התמיכה בHTML5 ביוטיוב

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

התמיכה בHTML5 ביוטיוב נעשית עם קודק הוידאו H.264/AVC, הקודק נתמך בכרום ובספארי ובIE עם chrome frame, אך לא בפיירפוקס, שכן מוזילה החליטה ללכת על התקן הפתוח OGG.

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

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

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

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

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

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

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

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

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

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

איך לטפל במצב של memory underrun בC++

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

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

אני חושב שהקוד ידבר בעד עצמו:

    void main( )
    {
    void outofMemory( );
    set_new_handler(outofMemory);

    char *pointer = new char[..Huge value here..];
    }
    void outofMemory( )
    {
    cout<<"System ran out of memory";
    exit(1);
    }d

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