All posts by ido

פרויקט חדש – חלק 1 : טכנולוגיה

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

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

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

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

הappengine מאפשר שימוש במספר שפות. כשהתחלתי את העבודה היו שתי אפשרויות : JAVA ו PYTHON. היום נתווספו גם PHP ו GO. GO היא שפה נחמדה מבית היוצר של GOOGLE, ועדיין לא נראית לי בשלה עד כדי לבנות מזה מוצר מסחרי. את JAVA אין צורך להציג, ולמרות הפופולאריות שלה אני אף פעם לא הצלחתי להתחבר לסביבת העבודה שהיא יוצרת, עניין של טעם אישי כנראה. השפה היחידה שממש הכרתי מהניסיונות הבייתים שלי לתכנת אתרים (תמיד הקפדתי ללכלך את היידים בעצמי כדי שאוכל להבין מה התכנתים שלי מדברים) הייתה PHP. ולו הייתי מתחיל את הפרוייקט היום כששפה זו אפשרית, יכול להיות שהייתי בוחר בה כדי לחסוך זמן. לשמחתי זו לא הייתה אפשרות ולכן בחרתי בPYTHON. ואני מאוד שמח שכך בחרתי, ושכר הלימוד היה בהחלט שווה את זה.

אז יש לנו שרת ובחרנו שפה. צריך להדליק את הEDITOR ולכתוב “HELLO, WORLD” לא ? אומנם אפשר להשתמש ב(הכנס את שם העורך טקסט החביב עליך) אבל רציתי תמיכה יותר ממנימאלית בשפה, ויכולת שימוש בדיבאגר, אז הבחירה היתה בין pycharm לבין eclipse + pydev. אז למרות שהראשון ממש מוצלח וכאמור אני נרתע מהעולם של JAVA, עניין המחיר דחף אותי לכיוון של הבחירה השניה.

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

כל מי שכתב תוכנה אי פעם, יודע שאין צורך להמציא את הגלגל מחדש (למרות שעדיין לא ראיתי תכנת שקרא קוד של מישהו אחר ולא הכריז “צריך לכתוב את זה מחדש”). במקרה של אפליקציות רשת המרכיב החוזר המשמעותי הוא הweb framework. פייטון מציע מגוון שלם של סביבות עבודה כאלו בכל גודל וצבע. גוגל עצמה מציעה את webapp2 כברירת המחדל, ולכן התחלתי שם. זו מערכת קלת משקל ופשוטה, אך ברגע שהאפליקציה גדלה מעט זה התחיל להרגיש צפוף והרגשתי שאני צריך לעבוד קשה כדי לשמור על הסדר ושדברים יעבדו כשורה. מהצד השני של הסקאלה ישנה את האלופה במשקל כבד django. ג’נגו מעניקה סביבה בשלה ומלאה לתכנת. וחשבתי שיכולת האבסטרקציה שלה תהיה יתרון במידה ואצטרך לעבוד לפלטפורמה אחרת. החסרונות שלה היו עקומת למידה תלולה ובעיות התאמה לבסיס הנתונים של גוגל שבזמנו הציעו רק גרסאת non-relational.

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

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

ההיסטוריה חוזרת

משתמשי מק משתמשים בו כל יום

ה-dock

Screen Shot 2015-01-19 at 17.08.08

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

כמובן שגם בos xהחדש הדוק נהיה שטוח

OS_Yosemite+desktop

לי זה הזכיר משום מה את העיצוב המקורי מהגרסאות הראשונות של המערכת

AM_MacOSX_Panther

כנראה שיש דברים שלא משתנים

 

 

aquarium controller

I’m a geek and I own an saltwater aquarium. it was just a matter of time before I’ll start building my own DIY aquarium controller.

party

the basic rule in saltwater aquarium keeping is : patience, patience, patience. so I took the same principle building the controller.

the core of the system is a Raspberry PI B+ computer with a WiFi dongle.

the first thing I Implemented is a thermostat. I used ds18b20 chip I had. a piece of plastic tube and a lot of silicone glue made it pretty much waterproof.

Photo 11-02-15, 16 51 31

the second peripheral was a 8-relay board (from ebay) hacked together with a power extension cord with multiple sockets (careful, do it only if you know your way around electricity)

sockets

next came ביקקפ  Ph probe with a miniPh adapter that still needs to be calibrated.

future plans are to add a homemade salinity probe (measuring water conductivity), and a webcam so I can check my fish while away.

server software is written python (source code here)

screenshot

the software features:

  • view and control all peripherals via a mobile web interface
  • turning lights and wave maker on and off at desired times
  • turning off wave makers for 5 minutes while feeding
  • daily upload of xml data to aquarium log site

מתלה פרספקס למחשב

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

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

מתחילים מחתיכת פרספקס
fiber1
מנסרים לצורה הנכונה
fiber4
מחממים את הלוח. יש הרבה כלים וגישות לנושא. אני פשוט הנחתי מעל הטוסטר לשתי דקות
fiber2

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

קודחים חורים ותולים על הקיר
IMG_6462

voila !

iOS7

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

ios7 icons

 

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

 

my QFH antenna

מבוססת די בדיקנות על התכנון שלו http://www.g4ilo.com/qfh.html

רק ששלי לא קולט כלום

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

SDRSharp Serial Port Remote Control

I’ve been working on receiving NOAA APT (until now with very little success). since a satellite passes only even few hours, I wanted to leave the rig unattended. since each sat uses different freq I needed a way for the software I was using to control sdrsharp. wxtoimg already have a feature to control hardware receivers using a serial port, so I wrote a plugin that implemented the protocol and connected them using com0com (a virtual null cable).
it then occurred to me that this could be usefull for many other kind of softwares, like unitrunker and other, so I added (for now) a very basic subset of the uniden scanner protocol. source code and dll download can be found at https://bitbucket.org/roseman/sdrsharp.serialportcontrol
enjoy

TMPS

עקב חיבתי הרבה לצעצועים לא שימושיים התקנתי ברכב מערכת למדידת לחץ צמיג.

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

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

וזה מאוד לא בטוח. לכו לבדוק את שלכם.

google glass

I know it is a bit too late to win a pair, but I just had a revelation.

You know those moments in which you realized that what just happened in front of your eyes was a moment that already gone? It’s not just the fast reflexes of pulling up the phone and unlocking it. It might be something you caught while driving a car. Or something your brain didn’t realize that you just saw, something that is worth being immortalized until 5 minutes into the scene. It happens to me all the time while driving my car. You just spot something interesting in the corner of your sight scene,  and before your brain process the scene, it’s already gone. It’s just happened to me in a ricksha in Mumbai. My friend was arguing with the driver about the price. It was so surreal I was just overwhelmed. It’s only later that I was thinking “nobody would believe me, I wished I had shut  a video of it”.

Later at the hotel I was still thinking about it. Then it struck me. What if I could mix google’s glass with my DVR? Have it always record the live action, and letting me rewind when I realize I’ve missed on something! Save a picture of what passed in front of my eyes for a blink of an eye.  Save a scene in video in retrospect. How cool it would be ? To me it would be very helpful. Or at least, double the number of pictures I upload on instagram