The rookie

אני לא אוהב ספורט.
כשכולם רצים לראות איזה משחק כדורגל או כדורסל גדול, ועושים פקקים מהגהנום, אני רק מתעצבן שלא זכרתי לצאת לפני שהטירוף התחיל.
פוטבול עוד פחות מעניין אותי מכדורגל וכדורסל, ולכן כשסקוט סיגלר, המחבר של Infection, Earth core וAncestor, פודקסטים משובחים אחד אחד, התחיל את הפודקסט החדש שלו, The rookie, לא התלהבתי.
שמעתי את הפרק הראשון, והיו בו כל כך הרבה מונחים מעולם הפוטבול שלא הבנתי יותר מדי, מה שכמובן פגע בהנאה שלי ממנו.
החלטתי לשמוע אותו שוב אחר כך, מה שקרה בערך אחרי חודשיים.
בשמיעה השניה יותר אהבתי אותו, והורדתי את הפרק השני – שהיה קצר, אבל הכיל הרבה פחות מונחים מעולם הפוטבול.
כשהגעתי לפרק השלישי כבר היה לי ברור שאני שומע את זה עד הסוף.
הסיפור מתרחש בעתיד, כ600 שנה מעכשיו, ביקום שנשלט על ידי חייזרים ששולטים ביד רמה בכל החייזרים האחרים – בולל בני האדם, ומספר את הסיפור של שחקן פוטבול אנושי צעיר שעובר לליגה של הגדולים.
לא סיפור טיפוסי של סיגלר, אבל בינתיים הוא עושה רושם טוב.
מומלץ.

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

Company of heroes

הרבה זמן לא ניערתי את האבק מהחלונות, כל הסימסטר קיץ לא שיחקתי, ולפני זה הדבר האחרון ששיחקתי היה Prey המאכזב למדי.
בגיחה האחרונה למצפה, ראיתי אצל חבר את Company of heroes, למרות שמהשם הייתם מנחשים שמדובר במשחק יריות מגוף ראשון, מסתבר שהוא בכלל אסטרטגיית זמן אמת.
מדובר בעוד משחק בתקופת מלחמת העולם השניה (יש המון כאלו לאחרונה), והוא אחד ממשחקי הRTS הטובים ביותר שראיתי.
הגרפיקה והסאונד שלו משובחים, ולמרות שהבינה המלאכותית קצת אדיוטית, רמת הקושי משביעת רצון (ואני משחק על רמה קשה).
המשחק מרגיש מאוד מציאותי, חיילים תופסים מחסה, זורקים רימונים, מסתתרים בבניינים, בונים ביצורים משקי חול, מטמינים מוקשים ואפילו מרימים נשקים כבדים כמו בזוקה או מקלע כבד.
עוד דבר שאני אוהב במשחק זה שהמשימות הם כולן משימות היסטוריות, והפלוגות המדוברות כיכבו בסרטים רבים (מי זוכר את פלוגות Able וBaker?).
המשימה הראשונה היא, באופן לא מפתיע, הנחיתה בחוף אומהה, וכשהיא מתחילה השחקן ההמוצע יחשוב שהוא נקלע בטעות למטחנת בשר.
כשבאתי להתקין את המשחק, חשכו עיני – הוא דרש חלונות XP! מכיוון שכבר ראיתי את המשחק אצל אותו חבר, החלטתי שהוא שווה שדרוג, והנה אני, משדרג לחלונות XP שבוע לפני שהפיתוח של וויסטה הסתיים.
מכיוון שהחלונות אצלי היא מערכת למשחקים בלבד, לא היתה לי שום בעיה לפרמט אותה ולשדרג.
נראה שCompany of heroes יספק את הסחורה עד שיצא C&C3.

יריות מסך

לחצי להגדלה:




מנוע חיפוש לממשקי תכנות

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

פניה נוספת לבנק פועלים

במשך למסורת המפוארת, בה אני מנג'ס לבנק פועלים פה ופה, הנה ניג'וס נוסף.

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

עמרי ידן.

גולשי פיירפוקס מוזמנים להצטרף ולהעיק על הבנק.

נינג'ה קיד נגד תרנגול השטן

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

איך ללמוד לתכנת

למה בכלל ללמוד תכנות?

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

אבל איך?

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

ג'אווה

ג'אווה היא שפת תכנות נוחה למתחילים, עם Garbage collector מובנה, שחוסך את הצורך להתעסק בשחרור זכרון.
עוד יתרונות למתחילים:
* סביבת הריצה (JRE) מאוד יציבה, ובדרך כלל מקבלים הודעות שגיאה בעלות משמעות ולא סתם קריסות על טעויות.
* פשוטה הרבה יותר מ++C.
* השפה כוללת ממשקי תכנות לריבוי נימים (Threads), ממשקי משתמש גרפיים, ובאופן כללי, כמעט כל מה שתצטרכו בשביל לכתוב תוכניות מורכבות. (פחות ספריות חיצוניות ללמוד).

איך מתחילים:

1. הורד את הJDK, אני ממליץ על JDK 1.5 Standard edition בלי Netbeans, שאפשר למצוא פה.
2. הורד את Eclipse, שהיא סביבת פיתוח מעולה לג'אווה.
3. עבור בשיטתיות על הטוטוריאלים של סאן, תוך שאתה מנסה לכתוב כל דוגמא בעצמך.
רצוי לעבור על כל הקורסים שם, למעט אולי כמה ספציפיים שמתעסקים בדברים מאוד מסויימים שפחות רלוונטיים לכם (כמו 3D, סאונד או בסיסי נתונים).
אם אין לכם נסיון בתכנות, קחו בחשבון שאתם מסתכלים על בין שלושה חודשים לשנה של לימוד, תלוי באינטנסיביות של הלימוד שלכם.

ספרים מומלצים:

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

C++

C++ היא שפה קשה למתחילים, שליטה מלאה בשפה יכולה לקחת שנה או שנתיים.
למרות זאת, C++ היתה השפה הראשונה שאני למדתי, ובהחלט נהנתי מהתהליך.

איך מתחילים:

1. לא מומלץ להתחיל ללמוד תכנות חלונות, יש הרבה מאוד דברים רעים בממשקי התכנות של חלונות, ואם לא רוצים שהם ישפיעו לרעה על נפשכם הרכה.
2. להתאפס על קומפיילר, גם וויזו'אל סטודיו טוב, בתנאי שאתם לא מפרים את תנאי מספר 1 – כלומר, להתרחק ממשקי התכנות של חלונות (לתכנת ישומי מסוף – קונסול)
3. למצוא טוטוריאל טוב למתחילים, עם דגש על מתחילים. C++ נותנת הרבה מאוד חבל למי שרוצה להטביע את עצמו.
חיפוש קצר בגוגל העלה את זה, שנראה מתאים למתחילים, אבל יש המון אחרים.
4. לעבור על הטוטוריאל בשיטתיות, תוך שאתה מנסה כל דבר חדש (ראית const? תכניס const לאפליקציה שלך. ראית exceptions? תכניס לאפליקציה וכו').

ספרים מומלצים:

הספרEffective C++ של סקוט מיירס.
הספר של סטראוסטרופ – The C++ programming language הוא ספר מצויין, אבל לא למתחילים.
עוד ספר שאני נעזר בו לפעמים הוא Thinking in C++, אבל לא קראתי אותו ממש אלא רק נעזרתי בו מפעם לפעם.

סופו של חור?

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

בנק פועלים ופיירפוקס 2

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

טיפים ללינוקס

כמה טיפים קטנים ללינוקס.

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

netstat -antp | grep LISTEN | grep 80

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

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

lsof | grep cdrom

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

כדי לדבג בעיות http, אפשר להשתמש בשרות של web-sniffer שמציג בפירוט את הבקשה והתשובה שחוזרת משרת http שתבחרו.

משאל YNET

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