קטגוריה: YouTube

רמזור תנועה פשוט – עוד ניסוי בארדואינו

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

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

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

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

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

ריקוד המכונה

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

למשל בעולם האינטל/AMD יש לנו חיים מאוד קלים. אנחנו עובדים עם אינדיאנים קטנים (Little Endian). מי שמתעסק במעבדי ARM, עדיין עם חיים קלים, אינדיאנים קטנים והוראות מעבד ממש דומות, אבל לא זהות. ההתעסקות עם המעבד המתמטי של ARM ועוד כמה הוראות שונות לגמרי מאשר מעבדי Intel.

זו הסיבה שיש שפות עיליות, אשר נועדו להוריד מאיתנו כמה שרק ניתן את הצורך לטפל בפרטים ה"קטנים" האלו של שינוי המעבדים. אבל רובן אינן באמת מגנות עלינו מזה. כלומר בשפות כמו פסקל או C/++ עדיין יש השפעה על גודל האינדיאנים, או כמה ביט שהקוד רץ בו, ועוד כל מיני דברים קטנים ומעצבנים. הן רק לוקחות מאיתנו את הצורך לחשוב בצורה של drop down rules אל תוך שיגרות, אובייקטים (לפחות בפסקל ו ++C) ויכולות הקצאה דינמיות בצורה ידידותית יותר מאשר ברירת המחדל בשפות האסמבלר השונות.

אז לפני ראש השנה, הגיע טרול לא חשוב מאיזו עדה, והחליט לתת לי פקודות של "כתוב תוכנית שממירה בין מספר לתו, בצורה עצמאית", ועוד כמה דברים מעצבנים כאלו כמו לשתף זיכרון של משתנה אחד לכמה טיפוסים, חלוקת כתובת IP שהיא longint למערך של 4 בתים וכו' הכל כמובן אני צריך לכתוב בשפת פסקל…

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

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

אני חייב לציין שזו הפעם הראשונה מלמעלה מ13-15 שנה (עצוב שאני יכול להגיד דברים כאלו) שאני פיזית כותב קוד בשפת אסמבלר (תחביר att במקרה הזה), והיה נחמד להיזכר, אבל הטרול הזה הצליח לגרום לי להבין משהו שאני לא הבנתי לפני זה. אני כל הזמן מסביר שבשפת פסקל אפשר לרדת לרמה הנמוכה ביותר, ואפשר לעלות לרמות מאוד גבוהות, שלפעמים מזכירות יותר שפות דינאמיות (אבל השפה עצמה היא לא), מאשר שפה "עילית" כדוגמתה, והדוגמא הזו מוכיחה שגם כאשר יורדים לרמה הכמעט נמוכה ביותר (לפני שפת מכונה), עדיין היא ידידותית וקלה יותר לפיתוח מאשר שפת C, או בשפה המתמטית: מ.ש.ל.

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

ההקדמה מאוד הזכירה לי את השיר של משינה בשם ריקוד המכונה, שהוא בעצם חיקוי (כמו כמעט כל השירים של הלקה) של השיר של madness בשם One Step Beyond.

מפתחות זרים ללא מפתחות

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

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

כאשר צריך לפתח סביבה גרפית המשתמשת במפתחות זרים (או פשוט לייבא מידע מטבלה אחרת), אז TDataSet וכמו כן TDBLookupXXXXX נחלצים לעזרתנו ומספקים עבורינו את היכולת הזו ללא קשר אם יש לנו תמיכה ב foreign key או לא, וכאמור גם אם מדובר ב2 מסדי נתונים לגמרי שונים, למשל אחד SQL Server והשני PostgreSQL זה עדיין יעבוד.

לצורך ההדגמה, בואו נבנה באמצעות SQLite3 טבלאות:

DROP TABLE IF EXISTS "Authors";
CREATE TABLE Authors (ID AUTOINC_INT , Author VARCHAR(255));
DROP TABLE IF EXISTS "Comments";
CREATE TABLE Comments (ID AUTOINC_INT , Author INTEGER , Comment TEXT);

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

אז יצרנו 2 טבלאות:

  1. טבלת יוצרים
  2. טבלת הערות

עכשיו נבנה ממשק פשוט מאוד ל 3 חלונות: להמשיך לקרוא

אז למה לי פוליטיקה עכשיו

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

שם הלהקה הוא משינה. למרות שהלהקה התפרקה ב1995, הם חזרו להיות יחד מ2003 והם שוב קיימים, רק מעט יותר בשקט מפעם.

בהתחלת ההיסטוריה של הלהקה יובל בנאי ושלומי ברכה אשר נפגשו בשירות הצבאי שלהם בייחד. חבר משותף בשירות הצבאי הציע לתת את השם "מכונת הזמן" ברוסית (Машина Времени) על שם להקה רוסית שהיתה מאוד פופולרית, אבל הוחלט לקצר את השם למשינה. ברכה ובנאי רבו והלכו כל אחד בדרך משלהם, וחזרו רק ב1984, ומאז עד 1995 היו בייחד בלהקת משינה שהם הקימו מחדש.

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

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

את השיר הבא החלטתי לשים היות ויש היום בחירות (השיר הוא של משינה, ולא גרסת ההתנקשות של קרן פלס), אז תהנו:

http://www.youtube.com/watch?v=5wERkL2Q9W4

פרצופה של המדינה

"Politics have no relation to morals."  Niccolo Machiavelli

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

למי אני לא מוכן להצביע (בגלל הצורה שהם מנהלים את מסע הבחירות שלהם) ? ובכן,

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

למי אני שוקל לא להצביע ?

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

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

  1. תצביע ותפעל נגד החוק לזיהוי ביומטרי וסינון אתרים
  2. תפעל לקידום הקוד הפתוח בארץ על חשבון הענק מרדמונד אשר צריך לחזור לגודל שהשם שלו מתיימר להיות
  3. אלו שאין להם אנסים, עברייני מין (שהם לא אנסים), גנבים, מושחתים או סתם טיפשים (טוב זה כבר יותר מידי לדרוש)
  4. כל מי שינסה לקדם את הגישה של חופש הביטוי שבלוגים כאלו וטובים יותר ימשיכו להתנוסס באינטרנט
  5. אלו שיחנכו פחות בשיטה הפרוסית
  6. אלו שיקדמו יציבות שילטונית שבחירות יהיו כל 4 שנים (ולא פחות)
  7. אלו שיקדמו משטר נשיאותי במדינה, בו בוחרים בבעלי תפקידים בצורה נורמלית ולא לפי סחטנות פוליטית
  8. אלו שיבטלו את הטיפשות הזו של משכן ראש הממשלה החדש
  9. אלו שיש להם אופן מוקו או כל מחשב כף יד/טלפון סלולרי אחר מבוסס קוד פתוח (יתרון)

טוב נו אני לא ריאלי בשיט, וזה לא מעניין כאן אף אחד, למה לעזאזל כתבתי אותו בכלל ?! טוב אני חוזר לתכנת ולהתעסק בקוד פתוח, ובנתיים תקשיבו לשיר הבא (לפני שאתם בוחרים):

http://www.youtube.com/watch?v=KK8ftkJKokM

מי מפחד משיתוף ?

האתר Slashdot מדווח שמאז שמונטי פיתון שיחררו חלק מהקטעים שלהם לחופשי ב youtube, חלה עליה דרמטית בקניית ה DVD של הקבוצה באתר Amazon.

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

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

Looking for someone

את הלהקה הבאה, פגשנו כבר אצלי בבלוג. שמה הוא Genesis. השיר הבא הוא השיר הפותח של התקליט Trespass.

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

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

http://www.youtube.com/watch?v=8tOJXW2w9-E

SEVEN LIVES MANY FACES חלק שני

לפני חודש שיחררו אניגמה את האלבום החדש של Seven Lives Many Faces.

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

הפעם האלבום מחולק ל4:

  1. מוזיקה אלקטרונית שמושפעת מ Dance, אבל בניגוד למוזיקת Dance רגילה, אני מסוגל ואפילו נהנה להקשיב למה שהוא עשה.
  2. התרפקות קלה לעבר (זה מאוד מורגש ב"שיר" העשירי : Déjà Vu, אבל ניתן למצוא את זה בעוד שירים)
  3. ניסיון לגשת ל R&B באמצעות מוזיקה אלקטרונית
  4. השפעה קלה ממוזיקה אפריקאית

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

הקישור הבא הוא לשיר ה7 בדיסק הראשון. אני מקוה שתהנו ממנו כמו שאני נהנה. שם השיר הוא La Puerta Del Cielo (מצטער על האיכות):

http://www.youtube.com/watch?v=cWzU1zyvo4Q

Ecstasy Of Gold

את הלהקה הבאה כבר פגשנו אצלי בבלוג. שמה של הלהקה הוא כמובן Metallica.

היצירה הבאה במקור נוצרה לסרט The good, the bad and the ugly, אשר נעשה באיטליה ומוכר בשם Buono, il brutto, il cattivo, Il .

היצירה נכתבה ע"י Ennio Morricone האיטלקי ב1966.

הלהקה ביצעה את גרסת הכיסוי ליצירה עם נגיעה מטאלית, בתקליט S&M אשר מבצע כיסוי ליצירות קלאסיות לשירים השונים של הלהקה.

את המוזיקה ניתן למצא כאן.