יום חמישי, 28 בינואר 2021

יעד מן העבר: על האש

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

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

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

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

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

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

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

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

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

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

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

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



יום שבת, 16 בינואר 2021

שיר הלל לחצי מרתון


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

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

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

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

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

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

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

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

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

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

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

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

יום שבת, 9 בינואר 2021

זמן משחק

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

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

המחשב הראשון שלי היה Apple II plus וקיבלתי אותו בשנת 1981, בגיל 6, אולי קצת לפני. לא היה הרבה מה שיכולתי לעשות איתו, אבל כבר אז למדתי תכנות בשפה גראפית שנקראה LOGO. כמה שנים אחרי זה, בבית הספר היסודי, למדתי שפת Basic בעזרת החוברות של חברת "מחשבת". בחטיבה כבר היו לי שיעורי תכנות בשפת פסקל וגם נבחנתי בבגרות 5 יחידות במדעי המחשב. מכאן התחילה קריירה לא מפתיעה, של שירות צבאי בתפקיד שכלל פיתוח תוכנה, שלושה תארים אקדמיים בתחום (ועוד כמה בתחומים אחרים) ומספר שנים בהיי טק.

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

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

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

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

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

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

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

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

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

משחק הלגו

לחצו כאן ותוכלו לשחק במשחק, על גבי מחשב נייד / נייח בלבד, ולא בסמארטפון / טאבלט (אני מתנצל מראש, כל הקישורים בפוסט הזה לא יעבדו על סמארטפון. קראו את הפוסט הזה במחשב רגיל). השליטה בדמות היא עם מקשי החיצים, ואפשר לקפוץ עם מקש הרווח. לחיצת כפולה על הרווח נותנת קפיצה כפולה. המצלמה עוקבת אחרי השחקן, אבל לא מסתובבת יחד איתו. הזזה של העכבר תסובב את המצלמה. אם הדמות לא מגיבה ללחיצות על המקשים, הקליקו על המסך עם העכבר וזה יסתדר. המטרה במשחק היא לאסוף 15 קוביות מרחפות לאורך מסלול מכשולים. אני מזכיר ש-95% ממה שאתם רואים היה שם גם קודם ואני רק שיניתי והוספתי דברים בשוליים.

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

"עבודת הגמר" של ההכשרה הבסיסית


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

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

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

סומו כדורים. אחד מהמשחקים שפותחו בלומדה

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

הדמיית פצ'ינקו. אחד מתרגילי החובה בקורס.

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

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

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

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


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

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

אם תרצו (ואתם רוצים), תוכלו להוריד את המשחק מהקישור הזה. אני מזכיר, מחשבים בלבד, לא מובייל. אם האנטי וירוס שלכם מתרה בכם לא לפתוח את הקובץ, תסמכו עלי ותתעלמו ממנו בהפגנתיות. הרצת הקובץ תתין ספריה על המחשב וממנה יש להריץ את הקובץ Personal Project - Amaze Me. לעצלנים, יש סרטון שמדגים את פתרון הלוח הראשון של המשחק (הרמה עולה, הלוח השלישי והאחרון כבר קצת מאתגר). 

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



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

תהנו.

יום שישי, 1 בינואר 2021

ריצות חופים - סוף מסלול

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

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

אשדוד עד זיקים


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

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

החוף בזיקים

חלק מהמעקף. יותר קשה ממה שזה נראה

הגישה לחוף בזיקים. ממש יפה, אבל אחרי 30 ק"מ רק רציתי שיגמר

הנקודה הדרומית ביותר בחוף. אגלה שחלק מאיתנו ויתרו ועצרו מעט לפני

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

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

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

כמו ריצה במדבר

נוף טיפוסי לריצה מדברית

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

סוף הטיילת (כמעט) בחיפה


המנוחה שבין שני הקטעים

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

מפת המסלול



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

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

נקודת תצפית באזור נהריה (אולי, בלי נדר)

דקה אחרי הסיום

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