יום חמישי, 18 בפברואר 2016

291 Raspberry Pi

בפרק מס' 291 (12.1.2016). אנחנו אורי להב ורן תבורי שנמצאים באולפן ההקלטות המשוכלל שלנו.
אלינו היום מצטרף עידו רן. מתכנת שנים רבות, כיום עובד בחברת Seebo, שבונה פלטפורמה לפיתוח מוצרי IoT. הנושא שלנו היום הוא Raspberry Pi, שהוא מחשב שלם שעולה $20 בלבד. ה-RPi יצר שוק מדהים גם לכל המוצרים בתחום של IoT וגם לחובבים שמעוניינים לפתח פרויקטים מעניינים.
אנחנו מזכירים לכולם שאנחנו עדיין בבלוג, בטוויטר, בפייסבוק וב-RSS. למרות שאפשר לחלק היום מחשבים בדולרים בודדים, אנחנו מחלקים לכם כוסות יוקרתיות ששוות הרבה יותר. כל מה שאתם צריכים לעשות זה פשוט להשתתף בדיונים בפייסבוק בצורה מעניינת ומחכימה, ואנחנו נבחר את המשתתף שיזכה בכוס.

הנושאים שדיברנו עליהם הפעם:
  • ה-RPi מגיע "ערום" לחלוטין, אבל יש לו יציאות של HDMI, USB, אודיו וגם GPIO שאליה ניתן לחבר מגוון התקנים. יש לו כניסה לכרטיס זכרון שעליו נמצאת מערכת ההפעלה. (2:00)
  • היתרון הוא שבעלות נמוכה אפשר להתחיל לבנות מוצרים, אפשר גם להריץ פייתון או NodeJS. שימוש אחר הוא בתור מזרים מדיה באיכות HD מצוינת. (3:53)
  • לפני חודש הושק RPi Zero שעולה $5 בלבד. הוא לא כולל מעבד וידאו, אבל כולל רשת אלחוטית, ועדיין מריץ לינוקס. פרויקט מקביל הוא CHIP שעולה $9. (7:52)
  • שימוש עיקרי הוא בתור נגן וידאו פשוט. יש חברות שמשתמשות בו בתור שרת אינטרנט או שרת להצגת נתונים בתוך החברה. יש פרויקט שמשתמש בו בשביל ללמד ילדים תכנות. (10:33)
  • Arduino לעומתו חלש יותר, אבל אפשר להגיע איתו לפעולות יותר מדויקות בגלל שהוא לא מריץ מערכת הפעלה. הוא מבוסס על ++C אבל מגיע עם סביבה עבודה נוחה לתפעול. (13:36)
  • פרויקט בולט שמישהו עשה חיבר 15 יחידות ביחד, בשביל להדליק LED בצורה מגניבה. יש אתרים כמו Instructables שאפשר למצוא שם פרויקטים מדליקים. (17:57)
  • למי שרוצה להתחיל אפשר למצוא ערכות באיביי עם כל הכבלים שצריך. אתרים נוספים כמו Adafruit או Element14 שהם משווקים מורשים. (21:29)
  • ל-Arduino יש אינסוף תוספים שנקראים Shields ומאפשרים לקבל יכולות חדשות. חידה למאזינים מאין קיבל ה-RPi את שמו? (22:58)
  • Seebo עוזרת לחברות שהן לא טכניות לבנות מוצרי IoT שיתחברו לאינטרנט באופן ישיר או עקיף. יש לנו פלטפורמה וסימולטור שמקצר את תהליכי הפיתוח.(25:55)
  • כרגע Seebo מגייסת מפתח Full Stack עם דגש על Front End. אנחנו מפתחים ב-MongoDB, NodeJS, ו-Angular. החלק המעניין הוא הפיתוח של הסימולטור שמבוסס Web ומתקשר עם הרכיבים ועם סביבות פיתוח שונות. אנחנו צוות של 33 עובדים ויושבים בתל אביב. (28:34)

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

יום שלישי, 16 בפברואר 2016

290 Bumpers 27

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

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

רן (1:00)
  • Cayley - זה Graph Database שכתוב ב-Go ופותח על ידי עובד גוגל, למרות שהוא לא רשמית של גוגל.
  • Graphub - פרויקט שקשור לחברה שלי ובשבילו הייתי צריך לנתח את הקשרים ב-Github, ו-Graph Database היה מאוד יעיל בשביל זה. בשביל הפרויקט השתמשתי ב-Neo4j.
  • מדריך ל-GraphQL - הזכרנו את GraphQL באחת התוכניות לפני מספר חודשים, וזה פרוטוקול שאמור להחליף את REST ודומיו. המדריך בקישור הוא מדריך טוב ומוצלח לנושא.
  • הצב של פייתון - מסתבר שלפייתון יש משהו מובנה שמזכיר מאוד את שפת לוגו, שפה לימודית מאוד ויזואלית למי שלא מכיר. מאוד נחמד לילדים.

דותן (5:25)
  • שפות למתחילים - אני התחלתי לאסוף אתרים/פרויקטים שמתאימים למתחילים. ויש כאן פייתון, רובי ועוד דברים מעניינים.
  • CodeMonkey - אתר של חברת ישראלית מבאר שבע, שעושה אתר ללימוד תכנות ב-CoffeeScript.
רן (7:23)
  • ניתוח ביצועי שרת לינוקס ב-60 שניות - נטפליקס פרסמו מדריך מאוד מסודר עם סדר פעולות מובנה, כדי לאתר בעיות בשרת שיש עליו עומס חריג.
  • Google Cloud Vision - גוגל משיקה את ה-API לתמונות שכולל זיהוי תמונה (OCR), זיהוי תמונה שיש בה אלמנטים למבוגרים, זיהוי האם יש בני אדם בתמונה, זיהוי פרצופים ועוד.
  • TLDR Pages - הפקודה man מציגה את כל האפשרויות לגבי פקודה מסוימת, אבל יכולה להיות מאוד ארוכה. הפקודה tldr מציגה לכם רק את מקבץ של האפשרויות השימושיות ביותר עם הסברים מאוד קצרים.
  • AWS Shell - גם ה-CLI של אמזון נהיה כבר מאוד מורכב, אז לקחו ועטפו אותו בתוך Shell, והוא הופך למאוד נוח. יש גם שיפורים כמו השלמה אוטומטית של פקודות ושירותים, חיפוש, היסטוריית פקודות ועוד.

דותן (14:58)
  • Duckling - ספריה מבוססת Clojure שעושה המרה מתאריך בשפה טבעית כמו "מחר בשתיים", לתאריך אמיתי. יש כאלו ספריות ברובי וב-NodeJS, אבל זאת הראשונה שזאת ספרייה שמובנית על עקרונות יותר אקדמיים.
  • פתרון אנליטיקס בזמן אמת ל-Postgres - הרצאה מאוד "מציאותית" לגבי איך אפשר לעשות אנליטיקס כולל הבעייתיות. יש דוגמאות לכמה טריקים, אבל המסקנה הסופית היא שאין באמת פתרון קסם.
  • Beginners RE - התהליך של לקחת קוד מקומפל ולהחזיר אותו לקוד רגיל הוא Reverse Engineering. ספר בחינם ואתר שמיועדים למתחילים בתחום.
  • מיקום פנימי עם סמנים - השימוש ב-Beacons (סמנים) הולך וגדל, וטכנולוגיות מאפשרות למצוא את המיקום של אדם בחלל פנימי (כמו חנות או חדר) בתוך מרחב דו מימדי. מאמר על יסודות הטכנולוגיה וגם קצת על המדע מאחורי הסמנים האלה.
  • חברה ללא מנהלים - אתר הבלוגים האישיים מדיום מנסה שיטת ניהול חדשה לגמרי. בין היתר הם ממליצים להפוך את השיחות אחד על אחד לשיחות על החיים ולא על עבודה.
  • כלי A/B יותר משוכלל - כלי הבדיקות היום מבוססים על ההנחה שיש לך תוכן סטטי, ודורשים לזהות את הקטע שאתה רוצה לבחון. הכלי הזה משלב בין React לבין Optimizely, מזריק קוד JS וכך אפשר לזהות באיזה בדיקה הוא נמצא.
  • SQL Tabs - במקום כל כלי השאילתות של היום, כלי מאוד נוח בקוד פתוח. אפשר גם לייצר גרפים בצורה אוטומטית מהשאילתות האלה.
  • Taucharts - בתוך ה-SQL Tabs אפשר להשתמש ב Taucharts שנותן לך ספריית JS לתצוגה גרפית של הנתונים.
  • אוטומציה עם Siri - פרויקט של שרת NodeJS שמדמה את ה-API של HomeKit, ואז אפשר לחבר אליו מוצרי בית חכם של צד שלישי.
  • ספר על אנימציה ב-React - ספר שהוא עדיין בכתיבה וכולל לא מעט דוגמאות.
  • Cliquet - ספרייה להטמעת מיקרו-שירותים מבוססת פייתון, מבית מוזילה.
  • אפולו - פרויקט של ספוטיפיי, מבוסס ג'אווה למיקרו-שירותים. בנוסף יש שם רכיבים שאפשר להשתמש בהם מיידית.
  • Brewfile - אתם רושם את כל החבילות שאתה רוצה והוא מתקין את כל התוכנות שלך מאפס. פותר הרבה בעיות.
  • dotfiles - מאגר של קבצי הגדרות להכל, מאוד שימושי למי שמתחיל מאפס וגם בשביל לראות קונפיגרציות שאפשר ללמוד מהן.
  • שאילתות מתוך Atom - אתה מסמן שאילתה בתוך העורך שלך, וזה מריץ אותה על Postgres ומחזיר את התוצאה בתוך העורך.
  • DataGrip - כלי לניהול כל בסיסי הנתונים שלך. פרויקט של JetBrains שהיא החברה מאחורי סביבות הפיתוח הפופולריות כמו  PyCharm ואחרות.
  • כתיבה ללא הפרעות - תוספת ל-vim שמאפשרת לך לכתוב במסך בלי הפרעות ויזואליות על המסך.
  • Power Mode - תוספת חביבה ל-Atom שמוסיפה אנימציה לכל פקודה שאתה מקליד בעורך. אם אתם רוצים להרגיש כוכבי על…

אלון (48:55)
  • עדכון חודשי למשקיעים שלך - מה יזמים צריכים לשלוח בעדכון החודשי שלהם למשקיעים. שווה קריאה לכל סטרטאפיסט.
  • למה Math.Random לא יעיל - סיפור שעשה קצת רעש, לגבי הפונקציה הרנדומלית ב-V8 שמתברר שהיא לא ממש רנדומלית.
  • איך לייצר זהויות ייחודיות - מאמר של מי שכתב את Redis לגבי איך לייצר Unique ID's, עם הסתברות להתנגשות כמעט אפסית. טיפ של דותן: אם רוצים משהו רנדומלי אמיתי אז לא להשתמש בספריה הסטנדרטית  של שום שפה. אם צריך משהו להצפנה אז ללכת לספריות הצפנה, ואם משהו רנדומלי בשביל UUID אז להשתמש במשהו לזה.
  • אחת ולתמיד: טאבים או רווחים? - ניתוח של פרויקטים בשפות שונות, כולל מה שפופולרי בכל שפה לגבי שימוש בטאבים או ברווחים.
  • Angular 2 vs. React - דיון בהבדלים בין שתי השפות. יש הרגשה שהעולם הארגוני יילך ל-Angular 2, אבל רק ימים יגידו.
  • דו"ח מצב RoR לשנת 2016 - ניתוח של מה נמצא בשימוש מבחינת גרסאות של Rails ו-Ruby. נראה שהגרסאות החדשות מככבות בניגוד להצהרות של חברות גדולות.

וכמה דברים משעשעים נוספים לסיום:
  • Hacker Scripts  - התחיל מתוך סיפור על איש IT שאהב לעשות אוטומציה לכל דבר ומאז המאגר הזה התרחב להמון דברים. אחד הסקריפטים למשל בודק אם בתשע בערב יש עדיין SSH פתוח לאחד השרתים שלו, אז נשלחת הודעת טקסט אוטומטית לאשתו.  
  • סטטוס 7XX ל-HTTP - הצעה להרחיב את הקודים שמחזיר HTTP עם הודעות כמו המפתח שיכור, כל מיני ממים, סטטוס שזאת שגיאות של מישהו אחר כמו QA או הנהלה ועוד הרבה דברים משעשעים.
  • הרשת של היום בדפדפנים של פעם - אתר שנותן לכם לגלוש לאתרים בתאריך בעבר באמצעות דפדפנים שלא קיימים כיום.

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

יום ראשון, 14 בפברואר 2016

289 Fogcast 22 Graph Databases

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

אנחנו מתחילים:
  • ב-Yodas מעניינים אותנו גרפים של קשרים מקצועיים, מי עבד עם מי על איזה פרויקטים, Github היא מקור מצוין לידע הזה. (1:50)
  • במתמטיקה יש מושג שנקרא מספר ארדש, על שם מתמטיקאי הונגרי מאוד פופולרי שכתב הרבה מאמרים. לארדש עצמו קיבל את המספר 0, למי שכתב איתו מאמר את המספר 1, למי שכתב איתם מס' 2 וכו'. וזה בעצם בונה גרף של קשרים של מתמטיקאים. (2:45)
  • בקטע יותר משעשע גם בעולם הקולנוע יש מקביל: קווין בייקון.לא ברור למה דווקא הוא נבחר. אז לעולם הקוד הפתוח בחרנו את לינוס טורבלדס וניסינו לחשב את זה. (4:15)
  • המגבלה של Github ל-API שלהם היא 5,000 קריאות והיה קשה לבנות מזה את הגרף. אז מצאתי את GithubArchive שעוקב אחרי כל האירועים שקורים ב-Github ומאפשר לנתח אותו בלי מגבלה. (7:25)
  • Graph Database מאפשר להפעיל אלגוריתמים ישירות בבסיס הנתונים, ולחסוך קריאות לשרת. Neo4J הוא בסיס נתונים כזה, וגם כולל את השפה Cipher שמאוד נוחה לעבודה מולו, ובנוסף כלי שאילתות שמייצר גרפים יפים. (10:08)
  • Graphub זאת התוצאה של הפרויקט, אתם יכולים לראות מה המרחק שלכם מטורבלדס ואושיות Github אחרות. עדיין יש מה לעשות כדי להבין את המשקלים בין הקשרים הללו. (12:17)
  • בסיסי נתונים אחרים שיש אלו: Titan, יש לו מנוע אחסון מודולרי ואז אפשר לשים אותו מעל MySQL או DynamoDB. גוגל משתמשים פנימית ב-Pregel ואפשר לקרוא עליו מאמר (PDF), אבל הוא לא שוחרר בקוד פתוח. פרויקט חדש יחסית הוא Cayley שמבוסס GO וגם גמיש במנועי האחסון שלו. (18:04)
  • מבחינת בשלות Neo4J עדיף, אבל צריך לראות אם הוא מתאים לאלגוריתם שלך. מבחינת הביצועים יש שאילתות שהביצועים שלהן טובים, אבל יש דברים שעובדים טוב רק דרך ה-REST API ועדיין לא בשלים. (19:58)
  • אפשר לבצע גם שאילתה ב-Neo4J ולקבל תשובה ב-D3 ואז אפשר לעשות שאילתה ולקבל גרף בסוף. (22:20)
  • ה-Logs של Github עדיין לא מושלמים, ולכן צריך להשלים אותו במידע באמצעות ה-API. בגלל זה לפעמים צריך לעשות רפרש ולקבל נתונים מעודכנים יותר. (23:40)
  • כרגע נראה שלהרבה אנשים יש קשר מס' 2, ואני עדיין בודק את זה. מצד אחד הגרף של Github כנראה מאוד קשיר, ועדיין צריך לקחת בחשבון את העוצמות בין הקשרים. (28:36)
  • אם אתם רוצים לעשות מודל לגרף עם שאילתות פשוטות אפשר לעשות את זה עם כל בסיס נתונים, אבל Graph Database יעזור לכם בשביל להריץ אלגוריתמים בגרפים. (34:15)

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