יום שישי, 30 בדצמבר 2022
יפו של ערב שבת
יום רביעי, 28 בדצמבר 2022
כתיבת shell בפייתון
יום שלישי, 27 בדצמבר 2022
בחירת אלמנט אקראי מ list בפייתון
יום שני, 26 בדצמבר 2022
כתיבת שפת תכנות בפייתון - חלק ראשון
החלטתי לצלול לרעיון של לכתוב שפת תכנות. למה? כי אני יכול וכי למה לא?
השפה תהיה להיות פשוטה ובסיסית ככל האפשר. המטרה היא לימודית ולהנאה ולא כדי להחליף שפות פיתוח אחרות, אין כאן יומרה כזו.
בבלוג אני אעקוב אחרי התקדמות כתיבת השפה.
לשפת הלימוד אקרא cozi על שם החתול שלי (קוזי הוא שם חיבה של קוזמו).
בית הקפה EAZY פלורנטין - ביקורת (ארוחת בוקר טבעונית)
משחק מילים בפייתון
כתבתי משחק לניחוש מילים בפייתון, כרגע בגרסת טרמינל בלבד, בהמשך אולי אכתוב גם ממשק גרפי לדסקטופ ו/או web.
המשחק זמין בכתובת הבאה: https://github.com/barakbl/guess_the_word
זו כמובן רק ההתחלה כשיש המון מה לשפר ולהוסיף אבל חייבים להתחיל איפשהו, לא? :)
יום ראשון, 25 בדצמבר 2022
הפונקציה zip של פייתון.
הפונקציה zip נראית לחלקנו במבט ראשון לא ברורה, אבל האמת שזו פונקציה מאוד פשוטה ובעיקר מאוד שימושית, והיא ברורה בעיקר כשרואים אותה בפעולה.
מבט על החוף ביפו.
ציור שלי שצויר ב procreate הנהדרת (אפליקצית ציור משובחת לאייפד) מהתבוננות בתמונה שצילמתי בחוף הים שבצפון יפו.
יום יבוא ואשוב אליו למקצה שיפורים (ולא חסר מה לשפר ברוך השם :)).
גרפיטי שכל חתולאי יעריך.
לפעמים ציור גרפיטי לא צריך להיות מתוחכם או מורכב, לפעמים בהכי פשוט האמן מצליח להעביר סיפור, מסר או הומור בצורה הכי טובה, ובעיני זו דוגמה טובה לכך.
היש בעלים של חתול שלא מכיר את הזווית הזו ושהגרפיטי הזה לא מעורר בו חיוך? :)
סיני / כאן 11
סיני היא מיני סדרה בשני חלקים שזמינה לצפיה ישירה בכאן 11 תאגיד השידור הציבורי. ניתן לצפות בה כאן (no pun intended)
הסדרה עוקבת אחרי ההתיישבות הישראלית בסיני. בחלק הראשון אנחנו נחשפים בעיקר להקמת הישובים, כשאופטימיות ואווירה של חופש, מרחבים ושמחה הם העיקר. אבל לקראת תום החלק הראשון אנחנו זוכים להתחלת השינוי עת פורץ תהליך השלום עם המצרים.
החלק השני ברובו עוסק בהליך הפינוי הדרמטי, כשסוף החלק ישאיר לנו טעם מריר ואולי מעט מתוק בפה.
לענ״ד יוצרי הסדרה לא ניסו לבקר צד זה או אחר, לא ניסו לדבר בזכות או בגנות הצדדים, יוצרי הסדרה הזו פשוט רצו לספר לנו את הסיפור האנושי שמאחורי ההתיישבות בסיניי. אין כאן טובים ורעים, יש כאן אנשים, חלקם חלוצים לתפיסתם וחלקם מנצלי הזדמנות לשפר את הדיור ואיכות החיים שלהם במרחבים העצומים של חצי האי היפהפה והבתולי עם החופים המדהימים. וגם על הדרך למצוא דרך להתפרנס (מחקלאות, ובהמשך גם מתיירות).
הסרט כולל לא מעט קטעי ארכיון של ההתיישבות בסיני, צילומים שהזמן הניכר בהם על הפילם (דהויים, עם המון שריטות שמתבטאות בלכלוכים אופייניים של התמונה) רק עושה חסד עם הערך הנוסטלגי והאנושי שבהם, וגם ראיונות, שיש בהן מרירות לצד זכרונות ולצד תקווה.
בחלק הראשון תפס את עיני קטע ארכיון שהוא הברקה, בקטע הזה, ילדות של הישוב רוקדות ג׳אז (ככה על פי הקריין) לקולות השיר ״כסף כסף״ (ככה הקרייםן גם כאן, עדות לימים שבהם שמות השירים והלהקות תורגמו לעברית). לא זמן רב אחרי הסצינה הזו, החלוצים בעיני כולם עד לאותו הזמן, יואשמו על על ידי הממסד ורבים בארץ באמצעות כלי התקשורת כחמדנים ורודפי בצע.
אל תפספסו את סוף החלק השני, שבי לפחות הצליח לעורר רגש רב, ואני לא יכול אפילו לחשוב מה הוא גורם לאנשים שגרו בסיני דאז.
לסיכום, אצטט את מנחם בגין המנוח: "עדיפים קשיי השלום על ייסורי המלחמה."
אני חושב שזה מסכם הכי טוב את הסכמי השלום עם מצריים. מנחם בגין זיקק בצורה הכי טובה את ההחלטה שלו לחתום על ההסכם.
יום שני, 19 בדצמבר 2022
טיפ למתחילים - היפוך מחרוזת ומעט על סלייסינג מחרוזות בפייתון
יש המון דרכים להפוך מחרוזת. זה לא מאוד מסובך לעשות את זה עם לולאה בכל שפה (גם בפייתון), אבל לפייטון יש דרך קלה יותר, באמצעות שימוש ב slice.
יום ראשון, 18 בדצמבר 2022
סיכום מונדיאל
אין מילים שיתארו בעיני את המונדיאל הזה. מונדיאל שהחל עם חמיצות רבה, כשכולם דיברו על פיפ״א, הבחירה בקטאר וסימני השאלה על זכויות האדם בהקשר למונדיאל.
יום שבת, 17 בדצמבר 2022
המנדט - סדרה בכאן - יש תמורה בעד האגרה?
עבודה עם Numba - חלק 2 [פייתון]
בהמשך לחלק הראשון כאן
אז רציתי לעשות עוד בדיקה של עבודה עם Numba,
במקרה הזה רציתי לבדוק איך Numba תעזור לנו בעבודה עם רקורסיה, לקחתי כדוגמה קוד שפותר את שאלת ״מגדלי הנוי״. שאלה מאוד קלאסית שהתשובה עליה רקורסיבית, בעבר היתה נחשבת לתרגיל קלאסי בכניסה למקומות עבודה ובקורסי מבוא במדעי המחשב.
הקוד שלקחתי (וגם ההסבר על מגדלי הנוי והאלגוריתם) נמצאים כאן
במקרה של האלגוריתם המדובר, לא צריך לשנות כלום בקוד להתאמה ל Numba - חוץ מהוספה של הדקורטור של Numba, לא רע!
את קוד הבדיקה שמתי ב GitHub, אפשר לראות אותו כאן https://github.com/barakbl/numba_test/blob/main/hanoi.py
הנה תוצאות ההרצה:
הפונקציה id ומעט על פייתון, משתנים וזכרון. [פייתון]
אנחנו חיים בעולם שאנחנו משתמשים המון במשתנה ששמו id, כי מה לעשות אנחנו עובדים המון עם ids
לפייתון יש פונקציה מובנית בשם id שהיא פונקציה שכל מטרתה היא להראות לנו איזו כתובת בזכרון מאכסנת את האובייקט, לדוגמה:
יום שישי, 16 בדצמבר 2022
Mutable Default Argument - [פייתון]
אם אתם חדשים עם פייתון יתכן ויום יבוא ותיפלו בענין הזה. למזלכם אם תקראו את הפוסט הזה אתם מסודרים :)
יום חמישי, 15 בדצמבר 2022
מתי ואיך נשתמש במשתנים מסוג set בפייטון.
קצת מונדיאל (רגע לפני הגמר).
כמה ביקורת ספג המונדיאל הזה, על הסיבות שהובילו לבחירת קטאר כמארחת, אבל האמת חייבת להאמר: מונדיאל משובח שמספק לנו את כל מה שהיינו רוצים ממונדיאל: דרמות, נבחרות עילית שמודחות בתחילת הדרך (דנמרק, ברזיל שהודחה מוקדם מהצפוי), אבל לא פחות מכך, איזה סיפור היתה מרוקו הנהדרת, שהעפילה עד לחצי הגמר והרטיטה לבבות של מיליוני אפריקאים, ערבים ואחרים (כמוני!).
וארגנטינה? מה נגיד, אחרי הפסד סנסציוני במשחק הפתיחה לערב הסעודית, מוצאת את עצמה בגמר כשליאו מסי סופסוף מגיע בענק למונדיאל, בהזדמנות האחרונה שלו. איזה סיפור מדהים. סיפור שעושים ממנו קולנוע הוליוודי.
ועוד לא דיברתי על צרפת אנגליה שהיה משחק משובח בכל קנה מידה, רונלדו יורד בוכה בהופעה האחרונה שלו במונדיאל, המשחק המרהיב של ארגנטינה מול הולנד שסיפר לנו רגעים מותחים ושערים מדהימים.
תספורת חדשה
לאחרונה ״האחים אסרף״ הירושלמים פתחו את המספרה שלהם במיקומה החדש, בתל אביב. רצה הגורל והיא נמצאת ממש ליד ביתי הקטן.
המספרה מעוצבת כמו מיליון דולר, ומתקתקת טכנולוגית משל מדובר בחברת טק (זימון תורים דרך בוט בוואטסאפ, קבלות מגיעות אוטומטית לטלפון הנייד ועל כך תודה מכדור הארץ).
חישוב של מספרים ראשונים בשפות שונות
לפני כ 7 שנים, במשרד קטן בסטרטאפ בתל אביב רצינו כמה חברים לבדוק ביצועים של שפות פיתוח שונות. המטרה לא היתה לבדוק לעומק את השפות אלא סתם להריץ קוד פשוט עם לולאות ולראות את הביצועים ועד כמה הקוד קריא בכל אחת מהן.
סטנלי קובריק ו selfie לפנתאון [צילום]
כולנו מכירים את סטנלי קובריק, אחד מגדולי הבמאים בהיסטוריה, האדם שביים יצירות מופת כמו התפוז המכני עם הפסקול המהפנט והסצינות עוכרות השלווה, 2001: אודיסיאה בחלל שנעשה הרבה לפני שלעשות אפקטים היה באמצעות לחיצות על כמה קליקים בחדר העריכה, ולמרות זאת הוא עדיין נראה עתידני ומהמם ויזואלית (יותר מחלק מהסרטים המודרניים בז׳אנר) וסררטים אחרים, שגם בהם קובריק דן בנפש האדם ומבקר בצורה מאוד נוקבת את האנושות ובחלקם גם מציע לנו הצצה לעתיד שבינו הוא צפוי להיות אפל ומטריד.
טיפ זריז - דוקומנטציה בפייתון של מודולים ופונקציות [ פייתון]
טיפ זריז - יצירת מחרוזות ארוכות בטסטים [פייתון]
כשאנחנו כותבים טסטים בפייתון, ולמעשה בכל שפת פיתוח, נפוץ שנרצה לבדוק ואלידציה של אינפוטים. אחת הואלידציות שיש לנו תמיד באינפוט הוא בדיקה של מקסימום תווים חוקיים. למשל אם הגדרנו בדאטה בייס שדה שם באורך 128 תווים ואז בקוד שמנו ואלידטור שמוודא שיש עד 128 תווים בשדה, מן הסתם נרצה לכתוב טסטים שיבדקו את הלוגיקה.
יום חמישי, 8 בדצמבר 2022
קצת על numba - הדגמה על קוד פשוט ממבחן נפוץ למועמדים לעבודה.
רציתי לכתוב פוסט על Numba והחלטתי להשתדל לצמצם אותו ככל הניתן עם דוגמה איך numba יכולה לשפר את הביצועים של סקריפט פייטון על קוד עולם אמיתי (ובכן לא ממש, התרגיל הזה לא מאוד שימושי אבל שיהיה).
ראשית מה זה Numba.
מהאתר של הפרוייקט הכותרת הבומבסטית מכריזה על:
״Numba is an open source JIT compiler that translates a subset of Python and NumPy code into fast machine code.״
אני לא ארחיב על המבנה הפנימי של הספריה ואיך היא מבצעת את הקסמים שלה, כשאם נודה על האמת אני כמובן גם לא מומחה בזה, אבל כל מה שאנחנו צריכים לדעת כדי להתחיל להשתמש ב Numba הוא שבאמצות שימוש ב decorators פשוטים על פונקציות פייטון מתאימות*, הספריה תדע לבצע לנו אופטימיזציה של הקוד בזמן הריצה על אותה הפונקציה.
* מתאימות לא במקרה נרשם עם כוכבית- לא כל פונקציה תעבוד היטב עם Numba. פונקציות שכדאי להריץ עם numba הן פונקציות שמבצעות חישובים רבים, כשסימן נוסף לכך שאולי יש סיבה להשתמש ב numba היא ריבוי לולאות משמעותיות כלומר עם איטרציות גדולות (מה שיכול גם להעיד במקרים מסוימים על אימפלמנטציה לא יעילה אבל זה כבר דיון אחר), ולא פחות חשוב הקוד צריך במקרים רבים לעבור התאמה מסוימת על מנת לרוץ בצורה מיטבית:
מעט על סקרייפינג ופייתון
סקרפינג, ולא אנחנו לא נשתמש בתרגומים הנפוצים למילה, הוא הבסיס להמון דברים מועילים שאנחנו יכולים לעשות עם האינטרנט.
אם נרצה להגדיר בפשטות מהו סקרפינג, נוכל לומר שבגדול מדובר בפעולה של לקיחת מידע מאתרי אינטרנט, על ידי כלי אוטומטי. מעבר לשאלה המשפטית (שאני כמובן לא מתיימר לייעץ בה) שבלקיחת מידע מאתרים אחרים, כדאי שנבין שחברות רבות משתמשות בסקרייפינג למוצריהן, החל מגוגל (סורקת אתרים כדי לאנדקס אותם) דרך חברות שעושות השוואות של מחירים במוצרי אונליין ועד לחברות שזקוקות ל datasets גדולים על מנת לאמן מודלים של למידת מכונה וכו׳.
יום רביעי, 7 בדצמבר 2022
חומוס ביירות - ביקורת אוכל
יום שני, 5 בדצמבר 2022
רשימת האפליקציות שאני לא יכול לחיות בלעדיהן ב OSX כמפתח ולא רק!
לפני מעל ל 20 שנה גיליתי את לינוקס ונטשתי את חלונות.
הפכתי לממש מאמין במערכת ההפעלה לינוקס והגעתי לשליטה אני חושב לא רעה בה. קימפלתי קרנלים ואפילו הפצות שלמות (למשל את Linux From Scratch שזו חוויה שאני ממליץ לכל מפתח), ובסוף התקבעתי על Debian המצוינת.
לפני מעל לעשור התנסתי לראשונה עם מחשבים של אפל. ההתחלה היתה לא קלה ולא התחברתי. אבל עם הזמן התאהבתי ובשנים האחרונות אני עובד בעיקר עם מחשבים של אפל עם מערכת ההפעלה OSX, בעיקר בזכות האינטגרציה המעולה עם שאר המוצרים של אפל, כשלי אישית יש אייפון, מסך טלויזיה שתומך בפרוטקול airplay, שעון של אפל ויש לי אייפדים שבאמצעותם אני בעיקר לומד לצייר. האינטגרציה בין המוצרים הללו פשוט מופלאה.
יש מספר כלים מצומצם שאני לא יכול לחיות בלעדיהם במערכת ההפעלה של אפל. אלו הכלים הראשונים שאני מתקין תמיד.
סמטאות תל אביב
כתל אביבי כבר מעל לעשור, אני מופתע כל פעם מחדש לגלות מקומות חדשים, סמטאות חדשות, מבנים מעניינים. תל אביב היא בעיני עיר שלרוב כיף ומענין לשוטט בה.
כתושב פלורנטין אין שבוע שאני לא מגלה גרפיטי מעניין שלא הכרתי.
בבלוג זה מדי פעם אשתף תמונות שבהן אנסה לגלות את העיר בנקודות שאולי פחות מוכרות, אנסה לשים זרקור על מקומות נשכחים או סתם להציג את העיר כמו שהיא: לא נקיה במיוחד, אבל תמיד מרתקת.
בתמונה: סמטה קטנה המתחברת לדרום רחוב אלנבי הסואן.