פלאנט תוכנה חופשית בישראל (Planet FOSS-IL)

13 יוני, 2013

Ram on Agmon

איזה מזל שלא התקבלתי לעבוד בוויז

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

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

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

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

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

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

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

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

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

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

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

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

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

 

הטקסט המלא

13 יוני, 2013 09:27 PM

11 יוני, 2013

Hetz Ben Hemo

מחשבות על מק פרו 2013 החדש

לאחר 6 שנים וערימות של תלונות מצד צרכני אפל המקצועיים, מדוע אפל לא מעדכנת את סידרת ה-Mac Pro שלה, אפל אתמול הכריזה (חלקית) על הגירסה החדשה של מק פרו, כפי שאתם יכולים לראות משמאל. מה מחיר? אפל לא אמרה מילה … להמשיך לקרוא

הטקסט המלא

11 יוני, 2013 08:57 PM

09 יוני, 2013

Ido Kanner

מה צריך להבין בפיתוח אפליצקיות לסלולר

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

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

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

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

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

למשל, פיתוח מבוסס רשת – תקשורת סלולרית של data יקרה יותר מאשר תקשורת בwifi למשל, אם כי כל פעולת רדיו מאוד יקרה בסלולר – כן, גם bluetooth ו GPS.

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

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

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


Filed under: אינטרנט, חומרה, טכנולוגיה, טלפוניה, סלולרי, פיתוח, קוד פתוח, תוכנה, תכנות, תקשורת

09 יוני, 2013 08:53 AM

08 יוני, 2013

Shlomi Noach

Easy SELECT COUNT(*) with split()

The two conservative ways of getting the number of rows in an InnoDB table are:

Get a good estimate using chunks

You can get a good estimate by calculating the total number of rows in steps. Walk the table 1,000 rows at a time, and keep a counter. Each chunk is its own transaction, so, if the table is modified while counting, the final value does not make for an accurate account at any point in time. Typically this should be a far better estimate than TABLE_ROWS.

QueryScript's split() construct provides you with the means to work this out. Consider this script:

set @total := 0;

split(SELECT COUNT(*) FROM world.City INTO @chunk) {
  set @total = @total + @chunk;
}

select @total;

split() breaks the above SELECT COUNT(*) into distinct chunks, like:

SELECT COUNT(*) FROM world.City WHERE ((((`City`.`ID` > '3000'))) AND (((`City`.`ID` < '4000')) OR ((`City`.`ID` = '4000')))) INTO @chunk

You can make this a one liner like this:

call common_schema.run("set @total := 0;split(SELECT COUNT(*) FROM world.City INTO @chunk) set @total = @total + @chunk; select @total;");

If you like to watch the progress, add some verbose:

call common_schema.run("set @total := 0;split(SELECT COUNT(*) FROM world.City INTO @chunk) {set @total = @total + @chunk; select $split_step, @total} select @total;");

QueryScript is available via common_schema.

08 יוני, 2013 04:41 AM