(פוסטים בתיוג קוד פתוח ותוכנה חופשית.)

תיוג מיקום במצלמת DSLR

💬 2 23 באפריל 2022 Geotaggingקוד פתוח ותוכנה חופשית

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

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

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

כדי לפתור את הבעיה, פיתחתי תהליך עבודה פשוט (יחסית...). התהליך כולל שלושה שלבים:

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

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

  3. הורדת קבצי ההליכה והתמונות (כולל תמונת ה QR) למחשב והפעלת סקריפט שמתייג את המיקום תוך כדי ההתחשבות בהפרש הזמנים. לשם כך אני משתמש בשתי תוכנות בקוד פתוח: zbar שיודעת לחלץ את השעה מקוד ה QR, ו-ExifTool שיודעת לחלץ את שעת הצילום מתמונת שעון ה-QR ולתייג מיקום ע״פ קובץ GPX והפרש זמנים. את הסקריפט עצמו (גרסה למק, יתכן שלא יעבוד as-is בלינוקס) אפשר למצוא ב GitHub שלי.

    בהנחה שהקלטת המסלול נשמרה בקובץ: track.pgx, תמונת שעון ה QR נשמרה בקובץ qr.jpeg, וכל התמונות מהמסלול הזה נשמרו בתיקיה הנוכחית, הפעלת הסקירפט נעשית ע״י שורה אחת:

geotag.sh qr.jpeg track.gpx

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

עוברים דירה

18 ביולי 2020 DockerHostingוורדפרסלינוקסקוד פתוח ותוכנה חופשית

Docker אחרי שלוש שנים שבהן האתר הזה רץ מעל שרות האחסון של Scaleway, קיבלתי מהם הודעה שהחומרה שעליה אני רץ (dual core ARM CPU, 2GB RAM, 50GB SSD) תפסיק לעבוד בעוד מספר חודשים. הם הציעו לי לעבור באותו מחיר לשרת VPS מבוסס אינטל, אלא שעוד לפני שהספקתי להגיב, קיבלתי את המכתב שזו כותרתו: We’re evolving our Instances prices, או בתרגום חופשי: נמאס לנו להיות הכי זולים בשוק, אז נעלה את המחיר ב 66%.

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

השרת שלי מריץ בנוסף גם שני שרתי node קטנים, כך שהעברת כל הטוב הזה היא לא פשוטה, ולכן החלטתי הפעם ללכת על Docker. למי שלא מכיר את Docker, מומלץ לקרוא את סדרת המאמרים באתר של רן בר-זיק. שם הוא גם מדגים התקנת WordPress. אני בחרתי לעקוב אחרי המדריך של Michael J. Stealey ב GitHub, שממנו גם עשיתי פורק לריפו משלי. המדריך הזה קצת יותר מתאים לסביבה הנוכחית שלי שכוללת MariaDB במקום MySQL, וגם סקריפטים מוכנים לתמיכה ב https, דרך השרות של Let’s Encrypt.

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

אז נשארו לי כמה קצוות לסגור, כמו חידוש אוטומטי של הסרטיפיקטים ב Let’s Encrypt, והפעלה של גיבויים, אבל בסך הכל נראה שדוקר עושה עבודה טובה, והמעבר הבא יצריך ״רק״:

sudo docker-compose up -d

php 7.4

1 במרץ 2020 nanophpviוורדפרסקוד פתוח ותוכנה חופשיתלינוקס

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

את הגיבויים אני מבצע לאחרונה בעזרת restic, כאשר הקבצים מועלים לאכסון (הזול יחסית) של Backblaze B2.

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

#!/bin/bash
d=$(date +%Y-%m-%d)
mysqldump -u *** -p *** > ~/backup/sql/yehudab-${d}.sql
gzip ~/backup/sql/*.sql
tar -czf ~/backup/site/yehudab.com-${d}.tar.gz yehudab.com
restic backup ~/backup

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

אה, וכמובן, להשתמש ב vi, כי nano זה לחלשים.

אחרי השדרוג, אני מנסה לשמור את הפוסט הזה ובום error 500. בדיקה מהירה בלוג של nginx על השרת מגלה ששכחתי להתקין את php7.4-memcache שהמדריך הנ"ל לא מחשיב כ common extension. הרצת:

sudo apt install php7.4-memcache

וריסטרט לשרת פתרו את הבעיה.
שדרוג

וורדפרס 5.0

8 בדצמבר 2018 וורדפרסקוד פתוח ותוכנה חופשית

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

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

חם יותר מיולי

💬 5 7 ביולי 2017 אישיקוד פתוח ותוכנה חופשית

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

Hotter then July album cover

זה היה בתחילת שנות השמונים של המאה שעברה. אני ועוד תלמיד מהתיכון שלמדתי בו נהגנו לבלות בחדר המחשבים של בניין רוס באוניברסיטה העברית. באותה תקופה שודרה ברדיו תוכנית חידונים שנקראה ״עד 120״. הרעיון היה פשוט: הקריין שואל 10 שאלות, שהתשובה לכל אחת מהן היא מספר. המאזינים צריכים להתקשר לתחנה והראשון שעונה את התשובה הנכונה מקבל תקליט מתנה. אחרי שהצטברו 10 מספרים, מגיע השלב שעניין אותי: צריך היה לקחת את עשרת המספרים ובאמצעות 4 פעולות חשבון בינהם להגיע למספר 120. הראשון שהתקשר לאולפן עם התרגיל הפתור קיבל 10 תקליטים. בדרך כלל, היה די קשה להגיע בדיוק למספר, ולכן ניתן היה לעגל תוצאות של חילוק. על תשובה מעוגלת חילקו פרס קטן יותר (2-4 תקליטים, תלוי במספר הפותרים).

אחרי מספר נסיונות לפתור את החלק המתמטי בעזרת נייר ועפרון, החלטנו לנצל את מחשבי האוניברסיטה לטובת הפרס הנחשק. תכנית מחשב שתעבור על כל האפשרויות הייתה מחוץ לתחום במשאבים שהיו זמינים לנו אז (נדמה לי שזה היה מחשב VAX-11/780, שהריץ גרסת יוניקס של ברקלי), וכנראה גם לא היום – מדובר בכטרליון תרגילים אפשריים – אבל בעזרת יוריסטיקה פשוטה יחסית הצלחנו לכתוב תוכנית שתמצא פתרון בזמן סביר. העניין היותר מורכב בשלב הזה היה החלק הלוגיסטי: להביא רדיו למעבדה, להקשיב לתוכנית, להזין את המספרים ואז לרוץ לטלפון הציבורי בקומה השניה ולהתקשר לאולפן.

בסופו של דבר עליתי לשידור מספר פעמים וצברתי בסה״כ כ-10 תקליטים, בינהם התקליט Hotter then July של סטיבי וונדר.

HTTP/2

💬 1 7 ביולי 2017 וורדפרסלינוקסקוד פתוח ותוכנה חופשית

עוד שדרוג קטן לבלוג.
הפעם העברתי את השרת מ apache ל nginx, ועל הדרך הפעלתי HTTP/2.
זה אמור לשפר את הביצועים, למרות שאני לא ממש מרגיש בזה בנתיים.

Hex dump of nginx logs

למעוניינים, המדריך הזה מסביר על התקנת nginx, והגדרות HTTP/2. כאן תמצאו הסבר על ההגדרות הדרושות ב nginx לטובת הפעלת WordPress במקום mod_rewrite של apache.

התוצאה הסופית של כל ההגדרות האלה, כפי שנשמרה בקובץ ‎/etc/nginx/sites-available/default היא זו:

server {

listen 443 ssl http2 default_server;
listen [::]:443 ssl http2 default_server;
include snippets/gzip.conf;

ssl_certificate /etc/nginx/ssl/live/yehudab.com/fullchain.pem;
ssl_certificate_key /etc/nginx/ssl/live/yehudab.com/privkey.pem;
ssl_dhparam /etc/nginx/ssl/live/yehudab.com/dhparam.pem;

root /var/www/yehudab.com;

index index.html index.htm index.php index.nginx-debian.html;

server_name yehudab.com;

location / {
try_files $uri $uri/ =404;
}

location /blog/ {
try_files $uri $uri/ /blog/index.php?$args;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php7.0-fpm.sock;
}

location ~ /\.ht {
deny all;
}
include snippets/expires.conf;
}

server {
listen 80;
listen [::]:80;
server_name yehudab.com;
return 301 https://$server_name$request_uri;
}

לאחר סיום ההגדרות, ניתן לוודא את תמיכת האתר ל HTTP/2 באמצעות דף הבדיקה של KeyCDN.

רק שניה

💬 8 1 ביולי 2017 זמןלינוקסקוד פתוח ותוכנה חופשית

רק שניה מפרידה בין השעה 03:14:07 ל 03:14:08 בתאריך: 19 בינואר 2038. לכאורה, זה לא צריך לעניין אף אחד. אבל אם אתה יוניקס/טיים גיק כמוני, התאריך הזה מייד אמור להדליק לך נורה אדומה.
למה? כי בשניה הזאת יעברו בדיוק 2,147,483,648 (או 2 בחזקת 31) שניות מתאריך 1.1.1970 בשעה 00:00:00. מחשב לינוקס בארכיטקטורת 32 ביט לא יכול להציג את הזמן הזה.
נסו להריץ את הפקודה הבאה על מחשב הלינוקס הקרוב:

date --date='@2147483647'

או במערכות מבוססות BSD (כמו macOS), את הפקודה הזאת:

date -r 2147483647

זה אמור לעבוד בלי בעיה. אבל אם תוסיפו שניה נוספת (כלומר להחליף את ה-7 ב-8), אתם עלולים לראות משהו כזה:
2038 on 32 bit Linux

לעומת זאת, על מחשב 64 ביט, התוצאה תקינה:
2038 on 64 bit Linux

אז למה זה מעניין עכשיו, ומה איכפת לי ממשהו שיקרה בעוד קצת יותר מ-20 שנה?

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

צילום המסך העליון, לדוגמה, נלקח ממחשב Raspberry Pi שמחובר למערכת ההשקיה בגינה שלי.
Raspberry Pi with Open Sprinkler
האם הוא ישרוד עד 2038? אולי. עד עכשיו, החלפתי בממוצע מחשב השקייה כל 10 שנים: הראשון בגלל הבטרייה שזלגה, והשני עדיין עבד, רק שרציתי להחליף אותו בדגם שמאפשר תכנות דרך הרשת במקום ממשק לא ידידותי. למזלי, ה 19 בינואר יוצא בחורף, כך שיהיו לי כמה חודשים טובים לדאוג למחליף במידת הצורך.

ולמה נזכרתי בכל זה עכשיו? כי מחר (2 ביולי 2017) יעבור מספר השניות את סף ה 1.499 מיליארד, ובעוד שבועיים (14 ביולי) הוא יעבור את סף ה 1.5 מיליארד.

השעון מתקתק…


שוב שדרוג לבלוג

💬 2 24 ביוני 2017 וורדפרסלינוקסקוד פתוח ותוכנה חופשית

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

בלוג

דבר ראשון, בקטנה, שדרוג מתחייב לגרסה האחרונה (4.8).

חוץ מזה, תוסף חדש: Yoast SEO, כי פייסבוק דורש מטה תגיות, וזה הכי קל.

אבל הכי חשוב, החלפתי את שרות האירוח מאכסון משותף על NearlyFreeSpeach לשרת וירטואלי פרטי של Scaleway. בחרתי בשרת מבוסס ARMv8 כך שהמחיר יוצא כמעט אותו דבר (3$ בראשון, 3€ באחרון), כשכאן אני מקבל שרת פרטי, יכול להריץ עליו מה שאני רוצה, וגם הביצועים טובים הרבה יותר. כמובן, אני צריך לדאוג לבד לשדרוגי תוכנה, אבטחה, גיבויים וכד׳, אבל זה חלק מהעניין. המדריך ב LinuxBabe יכול לעזור כאן.

Scaleway לא כ״כ אוהבים ששולחים מייל מהשרת שלהם (כדי שלא ישמשו לספאם), אז נרשמתי לשירות mailgun שמאפשר לשלוח עד 10,000 מיילים בחודש בחינם. הוא עובד יחד עם התוסף המקביל ב WordPress. באתר wpbeginner יש הסבר מפורט איך להשתמש בשניהם.

דבר אחרון, העברתי את האתר לעבוד דרך https, כי בכל זאת 2017. המדריך הנ״ל מ LinuxBabe מסביר איך לעשות את זה בחינם דרך Let's Encrypt.

מדריך למתחילים בסקראץ׳

💬 5 16 באוגוסט 2014 סקראץ׳קוד פתוח ותוכנה חופשית

[פוסט זה הוא תרגום של מדריך המשתמש הרשמי של Scratch. תוכלו להוריד את המדריך באנגלית מדף העזרה באתר. הזכויות למקור שמורות ל Lifelong Kindergarten Group, MIT Media Lab. מופץ ברשיון CC-BY-SA 2.0]

Scartch Cat

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

מסך לדוגמה מסקראץ׳

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

ליצירת פרויקט חדש, גשו לאתר: http://scratch.mit.edu. אם האתר נפתח באנגלית, ניתן לשנות את שפת הממשק מהתפריט בתחתית הדף. לאחר מכן, לחצו על הכפתור צור.
צור

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

1 – התחילו לזוז

לבנת זוז

גררו לבנת זוז לאזור התסריטים.

לחצו על הלבנה

לחצו על הלבנה כדי לגרום לחתול לזוז.

2 – הוסיפו צלילים

לבנת נגן בתוף

גררו לבנת נגן בתוף וחברו אותה ללבנת הזוז.

לחצו והקשיבו

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

החלפת צלילים

תוכלו לבחור סוג אחר של תופים מהתפריט.

3 – התחילו ריקוד

הוספת לבנת זוז חדשה

הוסיפו לבנת זוז חדשה. לחצו בתוך הלבנה והוסיפו סימן מינוס.

לחצו להפעלה

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

לבנת נגן בתוף נוספת

הוסיפו לבנת נגן בתוף חדשה, והחליפו את סוג התוף מהתפריט. לחצו להרצה.

4 – שוב ושוב

לבנת חזור

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

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

שינוי מספר החזרות

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

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

5 – אמרו משהו

לבנת אמור

לחצו על קטגוריית המראה וגגרו החוצה לבנת אמור.

שינוי טקסט

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

חברו לראש הערמה

אחר-כך, חברו את לבנת האמור להתחלה.

6 – דגל ירוק

כאשר לוחצים על הדגל הירוק

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

הפעלת הדגל הירוק

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

7 – שנו צבע

עכשיו, נסו משהו שונה…

לבנת שנה אפקט

גררו לבנת שנה אפקט.

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

8 – לחיצה על מקשים

לבנת כאשר נלחץ מקש

חברו לבנת כאשר נלחץ מקש

עכשיו, לחצו על מקש הרווח במקלדת שלכם.

בחירת מקש

תוכלו לבחור מקש שונה מהתפריט

9 – הוסיפו רקע

תוכלו להוסיף רקע לבמה.

בחירת רקע

לחצו כפתור רקע כדי לבחור רקע חדש.

בחרו רקע מהספריה (למשל "spotlight-stage").

ספרית הרקעים

לחצו אישור.

הרקע החדש מופיע כעת על הבמה.

הרקע החדש

10 – הוסיפו דמות

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

כפתורי הוספת דמות

כפתורי הוספת דמות:

דמות מהספריה בחרו דמות מהספריה

צייר דמות ציירו דמות משלכם

דמות מקובץ העלו דמות/תמונה מקובץ

דמות ממצלמת רשת צלמו תמונה (ממצלמת רשת)

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

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

11 – חקרו!

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

הוסיפו צליל:
צלילים

לחצו על לשונית הצלילים. תוכלו לבחור צליל בחר צליל. (בפורמט AIF, MP3 או WAV)

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

שנו תלבושות:
תלבושות

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

צרו אנימציה:
אנימציה

תוכלו ליצור אנימציה ע"י החלפת תלבושות.
לחצו על לשונית התסריטים.
צרו תסריט שמחליף בין התלבושות.

12 – טיפים!

שם לפרויקט
תנו שם לפרויקט שלכם.

לרעיונות נוספים, לחצו על טיפים:
טיפים

חלון טיפים

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

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

שמור ושתף

כדי לשמור את הפרויקט ברשת, הקפידו להתחבר לאתר. התחבר

(אם תרצו לשמור את הפרויקט במחשב שלכם, לחצו על תפריט קובץ ובחרו באפשרות: ״הורד למחשב שלך״.)

כאשר אתם מוכנים, לחצו על ראה דף פרויקט

דף פרויקט
דף פרויקט

לחצו מסך מלא לקבלת מסך מלא.

לחצו שיתוף כדי שאחרים יוכלו לצפות ולשחק בפרויקט שלכם. כאשר אתם משתפים, אחרים יכולים לבקר ולשחק בפרויקט שלכם.

הוסיפו הערות לפרויקט.

מה עכשיו? תוכלו לצור לקבלת רעיונות.

כדי ללמוד עוד, לחצו עזרה או גלשו אל http://scratch.mit.edu/help (אנגלית).

למי שרוצה להעמיק עוד יותר, מומלץ לקרוא את הספר בעברית: עקרונות ומושגים במדעי המחשב דרך Scratch, מאת מיכל ארמוני ומוטי בן-ארי. ניתן להוריד את הספר בחינם. שימו לב: הספר נכתב לגרסה 1.4 של סקראץ׳. ניתן להוריד מאותו קישור דף הסבר על השינויים בגרסה 2.

השרות הנסיוני לתכנון נסיעה בתח"צ עלה לאויר

💬 21 20 במאי 2012 קוד פתוח ותוכנה חופשית

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

שימו לב! השרות מוגש as-is. אין שום הבטחה לתקינות הנתונים מבחינת האפשרות לנסוע במסלול, יעילות המסלול, זמנים, מספרי הקוים, או מחיר הנסיעה (אם וכאשר יפורסם).
שוב תודה לחברי ומנהלי עמותת המקור על התמיכה בפרויקט.

חישוב מסלול נסיעה בתחבורה ציבורית

💬 8 18 במאי 2012 קוד פתוח ותוכנה חופשית

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

עד להקמת שרת ציבורי, ניתן להתרשם מצילומי המסך:

מסלול שלם:
מסלול שלם

התמקדות על מקטעים:
התמקדות על מקטעים

גרסה להדפסה:
גרסה להדפסה

ההסבר בהמשך מיועד למי שרוצה להקים שרת. לא למי שרוצה לחשב מסלול !! (מה שנקרא: Don't try this at home).

להקמת השרת, יש לבצע את הפעולות הבאות: (זה הרקע. הקוד בפסקה הבאה מבצע את הפעולות)

לוודא שאזור הזמן של השרת הוא Asia/Jerusalem.
להוריד ולפתוח את הקוד של OpenTripPlanner (גודל הקובץ כ 90MB) וליצור קישור סימבולי ל / .
להוריד ולפתוח קובץ Open Street Map של ישראל מהאתר cloudmade.com (גודל הקובץ 22MB).
למצוא את כתובת קובץ ה GTFS מאתר מאגרי המידע של הממשלה, ולהוריד אותו. מכוון שהקובץ מוגש (זמנית?) משרת ftp ולא http, צריך לארח אותו מחדש על שרת אחר. בדוגמאות הקוד בהמשך האירוח הוא בשרת מקומי

$ date
# Make sure timezone is correct. If not, run the command:
# $ sudo ln -sf /usr/share/zoneinfo/Asia/Jerusalem /etc/localtime
# make sure ntp is installed and running. if not, follow these instructions: <a href="http://www.ehow.com/how_8251011_sync-time-centos.html">http://www.ehow.com/how_8251011_sync-time-centos.html</a>
$ mkdir ~/GTFS
$ cd ~/GTFS
$ curl -L -O "http://maps5.trimet.org/otp-dev/otp.zip"
$ curl -L -O "http://downloads.cloudmade.com/asia/western_asia/israel/israel.osm.bz2"
$ curl -L -O "ftp://199.203.58.18/israel-public-transportation.zip"
# !! replace IP above with correct IP
$ unzip otp.zip
$ bunzip2 israel.osm.bz2
$ sudo ln -s ~/GTFS/otp /
$ ln -s ~/GTFS/israel.osm /otp/cache/osm/

יש לערוך מספר קבצי הגדרות:

$ vi /otp/graph-builder.xml
# Line 13, change properties to 'name="path" value="/home/yehuda/GTFS/israel-public-transportation.zip"'
# (or whatever path you placed the file in)
# Line 40, change file name of OSM from or-wa.osm to israel.osm (just file part)
$ vi /otp/bin/build-graph.sh
# Line 1, change -Xmx2048m to -Xmx6114m. If you have more memory, put as much as possible
$ vi /otp/bin/start-server.sh
# Line 1, change -Xmx2048m to -Xmx4096m. If you have more memory, put as much as possible

בניית הגרף (משלב נתוני OSM עם נתוני תח"ץ)

$ cd /otp
$ bin/build-graph.sh >& ~/GTFS/build-graph.err
# might take 15-30 minutes depending on processor power and memory
$ ls -l /otp/Graph.obj
# should be around 1GB

אחרי הריצה חשוב לוודא בלוג שאין תעופה בגלל חוסר זכרון !!

עכשיו אפשר להריץ את השרת האפליקטיבי:

$ cd /otp
$ bin/start-server.sh
# Wait for line: "Winstone Servlet Engine v0.9.10 running..."

עכשיו אפשר לפתוח דפדן לכתובת : http://localhost:8080/opentripplanner-webapp/index.html (אם השרת אינו מקומי, להחליף localhost בכתובת השרת). ולנסות לחשב מסלול.

תרגום לעברית:
לבדוק האם הקובץ ‎/otp/webapps/opentripplanner-webapp/js/otp/locale/Hebrew.js‏ קיים. אם לא, להוריד אותו מכאן ולשמור בנתיב הנ"ל. אחר-כך, יש לבצע מספר תיקונים בקוד:

$ vi /otp/webapps/opentripplanner-webapp/index.html
# line 2, add 'dir="rtl"' to html tag
# line 53, duplicate this line and change file name to "js/otp/locale/Hebrew.js"
$ vi /otp/webapps/opentripplanner-webapp/js/otp/config.js
# line 12, change otp.locale.English to otp.locale.Hebrew (at end of line)
# line 175, change value of 'enabled' to 'true'
# line 177, add this to end of string:
# + '<div style="margin:10px auto;width:205px"><a href="http://www.opentripplanner.org/"><img src="images/logo-otp.png" title="OpenTripPlanner" /></a>' + '<a style="margin:0 10px" href="http://www.hamakor.org.il/"><img src="images/logo-hamakor.png" title="עמותת המקור" /></a>' + '<a href="http://www.hetz.biz/"><img src="images/logo-hetz.png" title="חץ ביז" /></a></div>'
$ vi /otp/webapps/opentripplanner-webapp/js/otp/locale/Hebrew.js
# line 28, change title to: "אודות האתר"
# line 29, change content to:
# 'אתר זה הוקם ע"י יהודה ב. על בסיס נתוני "לו"ז ומידע גאוגראפי בתחבורה הציבורית" הזמינים מאתר <a href="http://data.gov.il/">data.gov.il</a> ועל בסיס תוכנת הקוד הפתוח <a href="http://www.opentripplanner.org/">OpenTripPlanner</a>.' + '<br>' + 'תרגום התוכנה לעברית בוצע ע"י ירון שהרבני. אירוח אתר זה בחסות <a href="http://www.hamakor.org.il/">עמותת המקור</a> ובאדיבות <a href="http://www.hetz.biz/">חץ ביז</a>.' + '<br>' + 'תנאי שימוש: עמותת המקור עושה כמיטב יכולתה בכדי לספק שירות זה על בסיס נתונים מדוייקים ועדכניים אולם ייתכנו טעויות. המידע ניתן כפי שהוא ללא אחריות. ראו גם <a href="http://data.gov.il/dataset/383">תנאי שימוש של משרד התחבורה</a>.'

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

משתלם להיות בטא טסטר של פיירפוקס 4

💬 8 7 בינואר 2011 דפדפניםקוד פתוח ותוכנה חופשיתחולצהפיירפוקס

הנה מה שהגיע אלי במתנה היום בדואר:
FF4 beta tester shirt

וזו הכתובת על הצד האחורי:
FF4 beta tester shirt back

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

כרום ואופרה זהירות: פיירפוקס 4 מאחוריכם! (ולפעמים גם משיג)

💬 8 30 באוגוסט 2010 דפדפניםקוד פתוח ותוכנה חופשית

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

בתור התחלה, חזרתי על מבחן ה SunSpider שביצע CHAOS6, כאשר המטרה היא לבחון את פיירפוקס מול המתחרים העיקריים (כרום ואופרה), אבל גם להשוות את גרסת החלונות מול גירסת לינוקס. הגרסאות שנבדקו הן: פיירפוקס 3.6.8, פיירפוקס 4.0b4, כרום 5 (כרומיום בלינוקס), ואופרה 10.61. מערכות ההפעלה הן XP SP3 ו – Xubuntu 10.04. התוצאות הן די טובות מבחינת פיירפוקס, כאשר שיפור הביצועים הוא קצת פחות מפי 2 על חלונות ופי 2.3 על לינוקס. ולא פחות חשוב: הפערים בין גרסאות הלינוקס וחלונות של פיירפוקס 4 מבחינת ביצועים צומצמו בהרבה, והם אפילו טובים יותר מהפערים בין גרסאות כרום על פלטפורמות אלה. במבחן זה פיירפוקס עדיין לא שובר את השוק, אבל בהחלט חזר להתחרות בליגה של הגדולים. התוצאות המלאות בגרף המצורף (ערכים קטנים יותר טובים יותר)
SunSpider firefox4 firfox3.6 chrome opera

בשלב השני הרצתי השוואה שונה לגמרי. כאן לא מדובר על מבחן סינטטי, אלא דף שלם, שכל מטרתו להציג אזורים יפים של קבוצת מנדלברוט. את הדף המקורי כתב Kostas Symeonidis ואני שכללתי אותו כך שיכלול אופטימזציות נוספות מצד אחד, אבל גם הגדלה של רוחב אזור הציור, ו"העמקה" של החישוב (הגדלה של מספר האיטרציות המקסימלי לפני הכרזה על צבע שחור). בנוסף, הכנסתי אפשרות לשימוש ב Web workers, שמאפשרת ניצול טוב יותר של מחשבים עם מספר מעבדים (או ליבות) לטובת החישוב הכבד, וגם מונעת הודעות מעצבנות על סקריפטים תקועים. לטובת המבחן נבחר האזור המוצג למטה (וגם להרצה אצלכם), המתאפיין בכך שיש לו אזורים שחורים רבים (יותר חישובים), וגם האזורים הצבעוניים שלו "עמוקים" למדי. תודה לסיימון על הקורדינטות.
Mandelbrot speed test

את המבחן הרצתי רק על סביבת חלונות (אין לי מחשב לינוקס מרובה ליבות), והתוצאות מפתיעות ביותר, כאשר כרום נמצא הרחק מאחור (פער של פי 8 על מעבד אחד ופי 5 על שניים) ואופרה אולי נותן פייט יפה על מעבד אחד מול פיירפוקס 3.6, אבל נכשל לחלוטין במבחן ריבוי המעבדים ובוודאי מול פיירפוקס 4.0.
Floating point speed test firefox4 firefox 3.6 chrome opera

אז נכון, זה רק מבחן אחד, אבל איזה יופי של מבחן…

הו-הו-הו-הו, איך שגלגל מתהפך לו...

💬 5 24 באוגוסט 2010 דפדפניםקוד פתוח ותוכנה חופשיתחלונותמקפיירפוקס

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

מאז, זרמו הרבה מים בירקון, גרסה 3.0 תוקנה לתמיכה בעברית (בין השאר בזכות פצ'ים ששלחתי) והיום יצאה גרסת בטא 4 של פיירפוקס 4 (הראשונה עם תמיכה בממשק עברי). וראו זה פלא, מי לא מופיע בגרסאות להורדה בעברית? נכון, חלונות. אז לא שיש לי משהו נגד משתמשי חלונות (some of my best friends…), ואני בטוח שהבטא הבאה תעבוד כמו שצריך על חלונות ובעברית, אבל תרשו לי בכל זאת להגניב חיוך קטן.

למי אין גרסה?

ie8‏ (2) מיקרוסופט‏ (2) דפדפנים‏ (11) כללי‏ (6) אורנג'‏ (1) אתרים בארץ‏ (1) שמישות‏ (5) BlogDay2008‏ (1) habari‏ (1) הבארי‏ (1) CSS‏ (3) פיירפוקס‏ (10) נגנים‏ (4) Flip4Mac‏ (1) מק‏ (4) אופרה‏ (2) ספארי‏ (3) גראצ'ו מרקס‏ (1) ogg‏ (1) video‏ (1) שטויות שמוצאים באתרים‏ (5) אתרים תומכי פיירפוקס‏ (1) לאומי-קארד‏ (1) ie6‏ (1) וורדפרס‏ (13) acid2‏ (1) אינטרנט אקספלורר‏ (1) Google wave‏ (2) בלוגיה‏ (1) תפוז‏ (1) gps‏ (2) ביקורת מוצרים‏ (1) garmin‏ (2) ווידג'טים‏ (10) רכבת ישראל‏ (2) speedtraps‏ (1) מזג אויר‏ (2) קוד פתוח ותוכנה חופשית‏ (14) חלונות‏ (1) wordpress‏ (1) שעון קיץ‏ (1) חולצה‏ (1) סקראץ׳‏ (1) לינוקס‏ (5) אישי‏ (1) iPhone‏ (2) זמן‏ (2) מכוניות‏ (1) nano‏ (1) php‏ (1) vi‏ (1) SSG‏ (1) 11ty‏ (3) בלוג‏ (1) Docker‏ (1) Hosting‏ (1) Nunjucks‏ (1) Comments‏ (1) staticman‏ (1) Geotagging‏ (1) שביל ישראל‏ (8) postsAndPagesWithoutDrafts‏ (74)