Category Archives: software development

running rust on raspberry pi zero

in my previous post I’ve described my first rust project. when i finally got everything working I went on to deploy my app on the raspberry pi zero host. and it wasn’t easy at all.

for reasons I didn’t quite understand it’s impossible to compile rust on the zero. the rust toolchain only support the new arm7 architecture and not the older arm6 used on the zero.

I found plenty of articles describing how to perform the cross compilation, and after a couple of days downloading linkers and building virtual machines, I gave cross a try. while it requires docker to be installed, I found it as a small price to pay considering the ease of use.

as per the instructions, I’ve typed the following line and watch the magic happen

Continue reading running rust on raspberry pi zero
Pin It

rust for the regular human being

some time ago I wrote about the poor run-time performance of python. I recently wanted to use that same piece of code and thought it might be a good exercise to rewrite that program in rust.

rust is a new system programing language focused on safety without sacrificing performance.
So I could have the advanced features I easily implemented on python with the speed of C, and figure out what’s behind the hype over rust.

Continue reading rust for the regular human being
Pin It

קוד בירושה (לגאסי)

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

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

Continue reading קוד בירושה (לגאסי)
Pin It

speeding up python on the raspberry pi

As a young engineer I was writing image processing real-time embedded software for a living. we used the DSP chips for all they could offer, and used to rewrote parts of the algorithms in assembly so we can shave off a few cycles per pixel and squese out a bit more of proccessor power.

recently i’ve been writeing a piece of software for my High Altitude Balloon. the original code was written in C and bash, but was hard to manage. so for this release I used python as the programming language. for most used this is a great choise. it’s robust, easy to write and debug, and a pleassure to use it’s flexible data stractures.

while python it not concidered a “fast” language due to the use of an interpreter, it was quite all right for most of my not-so-ergent needs.

but then I got a piece of code that converts a data stream to audio file that is transmitted back to ground. when I needed to send a large image file, this modem took several minutes to do the jobs. this was not ok. so I started to dig into the code to see what’s going on.

Continue reading speeding up python on the raspberry pi
Pin It

SSDV over APRS

one of the good things that worked during my last balloon launch was the transmission of images from the balloon using SSTV.

Due to the geography of my country, it’s very difficult to catch the balloon after it lands. so up until now I wasn’t able to recover the memory stick from the camera. so, it was great fun to finally see some pictures from up there.

it was especially important as the GPS broke down 5 minutes into the flight. but I was able to identify some landscape features and draw a rough map of its heading.

but the technology did start to show it age.

Continue reading SSDV over APRS
Pin It

מודול מונדאל ל MagicMirror

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

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

את הנתונים אני לוקח מאתר כאן 11

המעוניינים יכולים להוריד ולנסות MMM-Mondeal

Pin It

why i decided to write yet another ham radio logbook software

TL;DR It’s all about the User eXperience, design and making software fit you, and not the other way around.

I’m an amateur radio operator. as all hams, we are required to save a log of our contacts with other people. besides the legalities, it’s nice to have a record of places & people I’ve talked with. when I’ve started my hobby, some 30 years back, I received a paper logbook which I’ve been using untill recently, and I’ve been very happy with it.

I’ve been thinking of using a computerized logbook software, but to be honest, I really had no incentive. pen and paper were good enough for me. plus, the ones I’ve tried to use (out of the thousands out there) left me with a horrible experience. i consider my self as a savvy computer user, but most of the programs I’ve tried had a “designed by an engineer” look and feel, which in this day and age is simply a crime.

Continue reading why i decided to write yet another ham radio logbook software

Pin It

ריבוי משימות בארדואינו

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

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

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

Pin It

a few home made, MagicMirror² Modules

I’ve been playing around with MagicMirror², and ended up jotting down a few modules of my own.

first was MMM-DailyWeather – which is the missing link between the default CurrentWeather and WeatherForecast. it shows the upcoming weather for the next 24 hour in 6 hour intervals and helps the fashion aware people in the house better prepare their look to the temperature outside.

Continue reading a few home made, MagicMirror² Modules

Pin It

שיחותי עם אלכסה

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

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

Continue reading שיחותי עם אלכסה

Pin It