קטגוריה: תלונות

דברים מציקים בגו

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

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

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

אם ההתנהגות הזו היתה זהה למשל ל uint16, אז הייתי אומר "אוקי, כל slice שהוא מספרי, ייחשב כמידע". אבל כאן רק אם זה byte, או uint8 אשר הם למעשה זהים אני אקבל המרה ל base64.

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

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

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

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

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

וזה כרגע הדבר הכי מעצבן שמצאתי ב golang. זה לא מונע ממני להמשיך לעבוד, אבל זה בעיני מאוד מעצבן.

העתיד של שפות התכנות, או לראות שונה מאת ברט וויקטור

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

ממליץ בחום לצפות בה:


 

עייפות הIT

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

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

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

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

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

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

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

מוקדש כחומר למחשבה

ספאם פוליטי – רשויות מקומיות

לפי חוק הספאם, לפוליטיקאים מותר לשלוח לנו ספאם.

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

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

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

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

דברים שמעצבנים אותי ב PHP ו MySQL

הקדמה

זה לא סוד שאני לא סובל את PHP. בראש ובראשונה זו לא שפה, אלא אוסף פאטצ'ים ליצור templates עבור עולם הweb. ההתחלה של "תכנות" עם PHP מאוד פשוטה, אבל ליצור משהו שעובד טוב, יעיל ובטוח, ובכן זה כבר סיפור אחר.

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

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

Beware of Amazon AWS

Last year I'ved tested AWS with small server that is "free" for a year (unless you exceed the usage).
When the testing was done, I removed the server, and on my account, there was not even one type of service to remove or delete anymore.

Recently I'ved discovered charges of AWS in my credit card, that I gave them last year, but I haven't used any of their services anymore.
So I'ved email them and now, after two weeks, I still have no answer from them, so I removed my account completely and left them feedback at the web site on this issue.
Furthermore, I've also added a complaint at the Facebook page of AWS.

Taking from you money without giving you any service is theft, and as such, it is a criminal act.
I don't know exactly why the company stole from me, but they did, it was in a very small amount, but still they took money without giving me anything in return, or me asking them for anything, and they took it without my knowledge.

So before you are going to open any cloud service with Amazon, please beware, you might find yourself paying them even after you long stopped using it.

דרושה חשיבה חדשה לחקיקת מזיקים

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

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

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

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

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

כל מה שצריך זה לנסח בצורה ברורה את הרשימה של מה רוצים למנוע.

הממשל אינו זמין כעת, אנא נסה במועד מאוחר יותר

כל מי שצריך לעבוד מול מדינת ישראל, מוצא את עצמו צריך תמיד להתמודד עם בעיות (בירוקרטיות).

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

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

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

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

מדוע להגביל דפדפנים, ופשוט לא לעבוד לפי תקנים ?

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

שקר הטסט

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

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

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

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

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

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

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

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

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