יום שני, 28 במאי 2012

141 Object Pascal with Ido Kanner

  • אני מתכבד לפתוח בזאת את הכנס השמיני בנושא "אובייקטיביות ותכנות" של המחלקה לפילוסופיה. איתנו בפאנל פרופסור אורי להב ("האובייקט ואני", הוצאת מידן), דוקטור רן תבורי ("אובייקטיבי-סובייקטיבי: גילוי עצמי דרך תכנות מונחה עצמים", הוצאת עם עובד), ואורח הכבוד פרופסור אמריטוס עידו קנר ("כשסטרוסטרופ בכה: מסע לנבכי המחלקה", הוצאת זמורה-ביתן). באג'נדה היום: Free Pascal
  • עידו עצמאי, מתעסק ב-VoIP, Asterisk.
  • תורם גם ל-Free Pascal Compiler, סביבת פיתוח (IDE) בשם Lazarus ואוהב קוד פתוח. אנחנו כבר אוהבים אותו.
  • Delphi הוא ווריאנט של Object Pascal וכך גם Free Pascal. בורלנד טבעו את המושג. דקת דומייה לזכר המתים.
  • ישנם כמה תקנים של Pascal, אחד מהם של Apple. מי היה מאמין. הם אפילו השתמשו בשפה בשביל לכתוב את מערכת ההפעלה שלהם באותה תקופה.
  • עידו כותב קליינט לרדיס בפסקל. יש גם מפגש, ממש בקרוב, יום ד הזה (30.5.2012)
  • שם, בין C ל-++C, שם בדיוק תמצאו את פסקל.
  • הקומפיילר של פסקל יודע להסיק מתוך הקוד מה הוא צריך לעשות.
  • בפסקל כדאי להשתמש כאשר המשימה היא יותר High Level
  • לפסקל יש גם Objective Pascal שיודע לדבר עם Objective C (אותו ABI)
  • בגרסאות האחרונות של Free Pascal אפשר לקמפל את הקוד כך שירוץ על ה-JVM (כמה בדיחות של אורי ורן באות פה).
  • לרוב החברות הגדולות יש Delphi בארגון (שזה בעצם אומר שיש להם Pascal בארגון)
  • מפתחי iOS שלא רצו ++C, C או Objective C הלכו ל-Pascal
  • אפשר גם לפתח ל-ווב ב-Pascal
  • ה-ILTechTalks week יוצא לדרך זו השנה השניה. Outbrain מארחת.


הקובץ נמצא כאן האזנה נעימה
תודה רבה ליותם אורון על עבודה התמלול הנאמנה!

יום חמישי, 24 במאי 2012

140 Dart with Ido Green

  • ירדנו לבירה ובוטנים בפאב השכונתי. כטוב ליבנו באלכוהול קשקשנו עם הבעלים רן תבורי, הברמן אורי להב וה-Doorman עידו גרין על Dart ומשמעות החיים.
  • עידו עובד בגוגל כ-Developer Advocate ל-Chrome, ChromeOS ו-HTML5
  • Dart הושקה באוקטובר 2011. הניילונים עוד על הכיסאות.
  • מטרתה של Dart היא לאפשר למפתחים לבנות אפליקציות מודרניות ומורכבות בווב.
  • Dart היא אקוסיסטם שלם - ספריות, שפה, Editor, Virtual machine, כלים, קומפיילר (Dart2JS), הדרכות וסקירות וכו' (לעידו יש גם כמה דוגמאות שהוא רקח)
  • Dart היא Open Source במצב Pre-Alpha - ראו הוזהרתם (אבל דחיל רבאק - תנו פידבק !)
  • התלות ב-JS יכולה להגביל (Scoping, Annotation וכו').
  • אפשר בלי Types, אפשר עם. מה שיוצא - אני מרוצה.
  • הרבה קליברים נאספו להם יחדיו לבנות את השפה ואת הכלים שלה: האבא של ג'אווה גלעד ברכה, האבא של ווי-8 Lars Brunse (שכתב את ה-VM של Dart) ועוד כמה שיודעים.
  • יש גם Source Maps (אבל זה לא ממש קשור ל-Dart)
  • Single inheritance, class based, object oriented, interfaces, single threaded. נרשם רחש התעניינות בקהל.
  • יש כבר כמה סטארטאפים שמנסים את השפה.
  • בסוף אפריל היה אירוע של Hackathon עולמי של Dart. היה דיסקו.
  • Dart רצה גם בשרת וגם בקליינט. זה טוב או לא טוב ? אולי קצת טוב ?
  • המוטיבציה הגדולה של השפה היא לתת Structured webapp programming framework
  • ומה האינטרס של גוגל בכל העניין ? עולם טוב יותר לכולם.
  • Dart גם מכוונת ל-Mobile
  • אל תצפו מאפל לתמוך ב-Dart באופן מלא.
עוד כמה לינקים:

הקובץ נמצא כאן האזנה נעימה

תודה רבה ליותם אורון על התמלול המהוקצע.

יום שני, 21 במאי 2012

139 ember.js

  • בתא כתבי הספורט יושבים רן תבורי ופרשן הבית ישי סמית'. על המגרש מתחממת Ember. הישארו עמנו.
  • ישי הקים סטארטאפ חדש בתחילת השנה במסגרתו הוא עושה שימוש ב-Ember.js לצורך אפליקציית One page
  • ג'ף בזוס יודע מה הוא רוצה - One click checkout. בדגש על One.
  • Play 2.0 עושה את החיים קלים למי כותב אפליקציות לאינטרנט עם ג'אווה ו/או סקאלה.
  • Ember היא Javascript MVC framework, היא תהיה ברירת המחדל ב-RoR
  • ל-Ember יש Template engine
  • במצב שבו שדות רבים תלויים בתוכן של שדה מסוים בדף קשה מאוד לתחזק את הקשרים בקוד ללא עזרה של Framework
  • על מנת לייצר אובייקט יש להרחיב אובייקט של Ember
  • Ember התחיל בתור SprouteCore
  • אפשר לרשום Observers ו-Listeners על שדות
  • שדה יכול להיות גם פונקציה. החתול של שרדינגר מגרגר בהנאה. אין פה בעיה של ביצועים כי Ember יודעת לעשות caching
  • יהודה כץ, שמסתבר שהוא אושיה ידועה בעולם ה-JS, כתב (יחד עם עוד כמה שותפים) את Ember
  • ל-Ember יש תמיכה רחבה בקהיליית הקוד הפתוח
  • Ember יודעת לעבוד לא רע עם חתיכות קוד JS אחרות
  • Ember בנוי בצורה מודולרית, לא חייבים לקחת את כל ה-Framework
  • את ה-Template, שנראה כמו HTML (אבל הוא לא) מקמפלים ל-JS, שבתורו מורץ ומפיק HTML (אבל הפעם על אמת). כל זה יכול לקרות גם בצד השרת וגם בצד הלקוח. מבולבלים ? גם אנחנו.
  • A/B testing. זה טוב.
  • ואיזה החלטות קיבלו פייסבוק שעזרו להם להגיע ל-500 מיליון משתמשים ? עשו כמה דברים (אבל האמת היא שהם דאגו לכמה מהפכות עולמיות שבהן הפייסבוק שימש כלי מרכזי - אתה פשוט לא יכול לקנות PR כזה …)
  • Ember.js. השמיים הם הגבול - נסו ותהנו !


הקובץ נמצא כאן האזנה נעימה
ושוב תודה ליותם אורון על התמלול האיכותי!

יום ראשון, 20 במאי 2012

138 Final Class 18 - past, present, future

    • יומן הקפטן, תאריך כוכבי 87.417.2. ישיבת הצוות השבועית, על האג'נדה נושא רומנטי משהו - עבר, הווה ועתיד. נוכחים: הקפטן רן תבורי, סגנו גילי נחום, מהנדס ראשי יונתן, טכנאי מערכות נשק ראשי ערן הראל, קצין רפואה ורווחה ארז מזור וישות העל המסתורית ישי סמית'.
    • פעם לא היה Open source. כן ילדים, לפני מלאן שנים - הכול היה קוד סגור.
    • XT, Basic, Batch files, 8086, 80286, Atari 800XL (64K), Commodore, Floppy, Amiga, Sinclair Spectrum, Tape cassette, Apple IIc, Pascal - בשנות מחשב הם חיו מתישהו בין הדינוזאורים לממותות …
    • מג'יק. זה לא השחקן, אבל הם בערך בני אותו הגיל. איזה קסם.
    • יש שפה. יש עבודה. קשה, קשה
    • לעומת העבר, הכלים שיש היום מאפשרים פרודקטיביות הרבה יותר גבוהה לצוות מבוזר.
    • פעם היה מפל, היום אנחנו גמישים. הללויה.
    • TDD, Unit testing וכדומה - היום הם הסטנדרט, פעם הם אפילו לא היו בתכנון.
    • הרבה יותר קל היום להרים פרויקטי תוכנה (קוד פתוח, עושר של ספריות, התבססות של סטנדרטים, תשתיות ענן למיניהן וכו')
    • אז מה הכי טוב ללמד באוניברסיטה? שאלה טובה.
    • מעט אנשים יכולים להרים תוכנה בשביל מיליוני משתמשים, מה שיגרום (אולי) למין טבע שבו הטובים יותר יישארו. מצד שני, כלל התחום גדל ומוקמים הרבה יותר אתרים הפונים למיליוני משתמשים. לך תבנה מדינה.
    • האם השפות הולכות ונהיות יותר ויותר High level ?
    • האם העתיד של סביבות העבודה שונה ממה שאנחנו מכירים?
    • שפות פונקציונאליות הרבה יותר קל למקבל והן פותרות לא רע את עניין התכנות המקבילי.
    • Scala מצוינת בהרבה תחומים - ישי ממליץ.
    • XML כבר יצא מכל החורים - תנו לנו defaults וקונפיגורציה בתוך הקוד ואנחנו מרוצים.
    • האם שינוי משמעותי בכלי הפיתוח בשנים הקרובות יגרור שינויים משמעותיים בתרבות הארגונית של חברות ?
    • לאן הולך הקוד הפתוח ? מה המודל הכלכלי הנכון שייקח ? ימות או יחיה ? ומי רצח את ארלוזרוב ?
    • Github הם סגניו של אלוהים. לפחות.

    Shorts

הקובץ נמצא כאן האזנה נעימה
ותודה רבה ליותם אורון על הטיקסטוקסט.

יום שבת, 5 במאי 2012

137 binpress

אירחנו את אדם לשיחה על binpress

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

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

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

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

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

עד כה יש כ-400 קומפוננטות ב-binpress, כ-30% מהן מוצעות בחינם. כמו כן יש למעלה מ-12,000 מפתחים רשומים במערכת אשר מתוכם כ-300 מפתחים מוכרים קטעי קוד (אחד או יותר).

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

תהליך ה-review נעשה על ידי מומחים לשפה הרלבנטית.
שימו לב: binpress מחפשת reviewers (בתשלום). אז אם אתם מחשיבים את עצמכם למומחים בפלטפורמה כלשהי, זו הזדמנות לעשות כמה ג'ובות מהצד.

האתר מאפשר למפתחים להציע מספר אופציות תמחור לרשיונות ברמות שונות כאשר האתר גובה 30% עמלה מערך המכירה תוך שימוש ב-paypal וב-debit card.

Binpress פועלת בשני איזורים גיאוגרפיים (מלבד לקיום האתר באינטרנט). האחד בתל-אביב והשני ב-Mountain View. החברה פועלת על בסיס השקעה ומימון עצמי כאשר יש לה הכנסות הגדלות ב-30% מחודש לחודש עם צפי לרווחיות בחודשים הקרובים.

-         לינקים:
o       http://www.binpress.com/
o       http://www.lionite.com/


הקובץ נמצא כאן האזנה נעימה

תודה רבה לגל על התקצור!

יום רביעי, 2 במאי 2012

137 Nir Katz


  • והפעם - קרחנה ! בעמדת הדי ג'יי - רן תבורי. שומר הסף הקשוח - אורי להב. על הבר - ניר כץ. יש גם כתבה בוואינט.
  • ניר בא בימים (בכל זאת -בן  43 !), נשוי, אבא לשלושה.
  • מתכנת ומאוהב בתחום מגיל מאוד צעיר.
  • וכן, תמיד בסוף יש אישה. איך הן מצליחות לעשות את זה ?!
  • ניר עבד במיקרוסופט משנת 1995, בפרויקט של messaging queue שנקרא MSMQ.
  • לא רוצים פאדיחות במסיבת העזיבה שלכם ? אל תעלו תמונות עירום שלכם לרשת.
  • הכתיבה נכנסה בהדרגה, בתחילה כתחביב, מאוחר יותר כעיסוק.
  • משבר גיל ה-40, הלחץ בעבודה, משבר בעבודה - כל אלו צעקו "רד מהסוס!"
  • כתיבה של תוכנה דומה מאוד לכתיבה של תסריט.
  • למוזיקאים ומתכנתים יש הרבה במשותף. האם מוצרט התבלבל במקלדת ?
  • יצירתיות בתוכנה - קל, זמין, מיידי - טוב או לא טוב ?
  • אז איך עוזבים את כל הטוב הזה במיקרוסופט ? צריך גב כלכלי. או אישה עם משכורת טובה. או שניהם. בכל מקרה - מלאך המוות לא לוקח שוחד, אי אפשר פשוט לקנות עוד זמן.
  • הספר הכי טוב בעולם ? אתם תופתעו.
  • לא רק חתולים מחשבים את קיצם לאחור. המוות של כולנו אורב מעבר לפינה, אבל לא צריך להיבהל מזה.
  • מה הדבר הכי נוראש יקרה אם תעשה שינוי גדול בחיים ? כנראה שלא כזו קטסטרופה.
  • אבקת מרק עושה את כל ההבדל, אבל רק אם אתם עושים קוסקוס.
  • ניר כתב תקופה לאתר סטנד-אפ אבל בסוף נפרדו דרכיהם. זה לא מצחיק.
  • לאורי יש אבא מגניב. באמת.
  • אם הכתיבה לא תלך, חוזרים לתוכנה - אבל באיזי.


הקובץ נמצא כאן האזנה נעימה

ןשוב תודה ליותם על התקצור הצבעוני.

135 final class 17 Software Deadlines

  • להלן פרוטוקול ישיבת הוועדה המסדרת שנערכה ביום שני ה-23 באפריל.
  • נוכחים: יו"ר רן תבורי, סיו"ר אורי להב, וכן ראשי הסניפים ערן הראל, יונתן, ארז מזור, איתי ממן, ישי סמית'. גם גילי בא.
  • על הפרק היום: דד-ליין בעולם התוכנה.
  • הערכות זמנים, בדומה לתכניות עסקיות של סטארטאפים, הן תת-ז'אנר בסוגת המדע הבדיוני, מאוד תלוי כמה המתכנת רוצה לבצע את המשימה וכמה היא מעניינת. בכל מקרה - לא טריוויאלי.
  • ישנן כל מיני שיטות להעריך זמני ביצוע: לתת שלושה זמנים (נמוך, צפוי, ארוך), לתת הערכה של הזמן ואז להוסיף פקטור כלשהו (30 אחוז, כפול שתיים וכו'). צעירים משלמים כפול - פה זה לא סלקום.
  • גם ב-Quora שאלו. בקצרה, המרחק בין סן-פרנסיסקו ללוס אנג'לס הוא לא בדיוק מה שנראה בהסתכלות ראשונית.
  • האם חוסר היכולת להעריך זמנים נובע מחוסר בגרות של המקצוע ? חוסר מקצועיות של המתכנתים ?
  • כל פרויקט תוכנה הוא ייחודי, גם אם יש לו מאפיינים דומים לפרוייקטים אחרים.
  • לעומת תחומי הנדסה אחרים, העלות של טעות בתוכנה היא לא קטסטרופאלית ולכן אפשר להרשות לעצמנו לטעות.
  • מה עושים עם דד-ליין שבאמת - אבל באמת - קשה להזיז ? נגיד, יום שבו יהיה ליקוי ירח?
  • משולש הזהב הוא משאב-תוכן-איכות, כנראה שהתוכן ייפגע אם הדד-ליין מתקרב.
  • ההגדרה של מה נכנס ומה לא למוצר עד הדד-ליין הוא פונקציה של מה מטרת הדד-ליין (לבדוק היתכנות, A/B testing, להשוויץ בעומסים הגבוהים שאפשר לעמוד בהם וכו').
  • כדי לעמוד בדדליין, לפעמים חותכים פינות (קוד ספגטי, פחות עמיד וכו'). החוכמה היא לתקן את מה שמקולקל (או שדורש שיפור) בהמשך.
  • ומה עושים עם מתכנתים שלא נותנים הערכות זמנים ? מחלקים לחתיכות קטנות יותר ומעריכים אותן (לדוגמה).
  • בני אדם נוטים לצרוך את כל הזמן שהוקצה לביצוע משימה. מישהו כבר אמר את זה קודם.
  • הערכות זמנים לא מתאימות לכל אחד, יש כאלה שזה יעשה להם רע - ולהיפך.
  • אורי מדבר על יק. ועל סכיני גילוח. ועל גילוחים. מחלקה סגורה כבר אמרנו ?
  • הערכות זמנים יכולות לשמש להערכה של הכדאיות העסקית של העבודה.
  • דדליין יכול להכניס אנשים ללחץ. כן, זה קורה.
  • "Your lack of planning is not my emergency". לחן - עממי. וגם: אם הכול הוא חירום, אז בעצם שום דבר הוא לא חירום.
  • אוהבים תכנות ? מתכננים קריירה בתחום ? נהדר. יש לכם 40 שנה לעשות את זה, תעשו את זה בכיף, קחו את הזמן. קנת בק אמר (גם) את זה.
  • למנהלים יש חומר קריאה מיוחד. אחת המסקנות - תן למתכנת לקבוע את הדדליין.
  • מה שיכול להניע אנשים לקצר את לוחות הזמנים הוא הידיעה שמעט אחרי שהקוד ייכנס מישהו (ובשאיפה - הרבה אנשים) ישתמש בקוד.
  • אנשים שונים מייצרים פיתרון שונה לאותה בעיה ולכן הערכת הזמן תלויה מאוד באדם שיממש בסופו של דבר.
  • דדליין זה כמו חסה: בריא לאללה - אבל לאכול את זה כל יום בצהריים ?!
קצרצרים:

הערת המשורר: אם לא קראתם עד עכשיו, לכו ותקראו מה הם חמשת הנושאים בראש רשימת ה-TODO של פול גראהם.


הקובץ נמצא כאן האזנה נעימה

ותודה למשורר יותם אורון :)