» «
שפת תכנות
מהן שפות תכנות?



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

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

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

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

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

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

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

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

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

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


הכוח והיופי שבתכנות (מתורגם):

https://youtu.be/crw_U-UgvcY


על המצאת שפת התכנות:

https://youtu.be/Wchru8alhaE


מתכנת מסביר על שפות תוכנה שונות (עברית):

https://youtu.be/7Baq_Xw4azM


שפות התכנות הפופולריות ב-50 שנה האחרונות ועד היום:

https://youtu.be/Og847HVwRSI


וקורס מלא לשפת פייתון הפופולרית, קלה ומצליחה מאוד (מתורגם):

https://youtu.be/rfscVS0vtbw?long=yes
סוס טרויאני
מהם סוסים טרויאניים בעולם המחשבים והרפואה?



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

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

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

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

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


הנה סרטון שממחיש את מה שעושה תוכנת הסוס הטרויאני במחשב:

https://youtu.be/CvRIZHQMgco


ההשראה ההיסטורית - סוס העץ מטרויה:

https://youtu.be/YbiR6IMf5KQ


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

https://youtu.be/n8mbzU0X2nQ


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

https://youtu.be/ZLaubULnFu8
תכנות
למה כדאי ללמוד תכנות?



תכנות (Programming) הוא כתיבת קוד לתוכנה, או למה שאנו מכנים "תוכנות". בתכנות בונה המתכנת את התוכנה. לתכנות משתמש המתכנת בשפות תוכנה שונות.

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

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

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

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


הנה מה שבתי הספר, וזה חמור - לא מלמדים ילדים:

https://youtu.be/nKIu9yen5nc


הסברים לטוב שבתכנות (בעברית):

https://youtu.be/hyCqL_lLDOQ
מתכנת
איך עובד המתכנת?



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

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

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


הנה מתכנתים בחברות סטרטאפ שעובדים ביחד (עברית):

http://youtu.be/iAyfMSmxKoQ


זה פירושו של קוד תוכנה:

http://youtu.be/cKhVupvyhKk


כאן ההבדל בין תיכנות כמו שמציגים אותו בסרטים ובסדרות טלוויזיה ובין המציאות:

https://youtu.be/HluANRwPyNo


לינוס טורוולדס, מי שפיתח את מערכת ההפעלה לינוקס, מספר על התחלת לימוד התיכנות שלו:

https://youtu.be/S5S9LIT-hdc


וכמה חשוב הוא קוד תוכנה:

http://youtu.be/QdVFvsCWXrA

הנדסת תוכנה

זיהוי תווים אופטי
מה זה OCR וטכנולוגיית זיהוי התווים האופטי?



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

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

המושג הוא בעצם ראשי תיבות של "Optical Character Recognition" או בעברית: זיהוי תווים אופטי.

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


הנה OCR:

https://youtu.be/jO-1rztr4O0


קטע מתכנית מחשבים בעברית, שבה מסבירים לקיציס מה זה OCR:

https://youtu.be/j87b_fOo8EE?t=5m28s&end=11m13s


כיום יש OCR מובנה במכונות צילום משוכללות שונות:

https://youtu.be/Gq8usubMZgE?t=22s


ואפילו באפליקציה של גוגל תרגום, שמתרגמת שלטים משפה לשפה מיד:

https://youtu.be/Ro-HfETpzhc
עוגייה (אינטרנט)
מה זה קוקי, או עוגיה באינטרנט?



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

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

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

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

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


הנה ההסבר של קוקיז:

https://youtu.be/I01XMRo2ESg


ופירוט באנימציה:

https://youtu.be/IPQhME1UYQU
פירורי לחם
מהם פירורי לחם באתרי אינטרנט?



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

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

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

מחשבים >> אינטרנט >> אתרים >> אנציקלופדיות


כך יוצרים את הברד-קראמבס:

https://youtu.be/4s8qb8sK8vY


וניווט אינטרנט בעזרת "פירורי הלחם הממוחשבים":

https://youtu.be/YMiXPJE2NSo
תרגום מכונה
איך פועלות תוכנות תרגום?



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

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

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

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

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

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


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

https://youtu.be/LKB3FdgjexU


כך מתרגמות תוכנות תרגום בזמן אמת, על המקום:

https://youtu.be/X4BmV2t83SM


וזו הדרך שבה פועלת תוכנת תרגום של גוגל:

https://youtu.be/_GdSC1Z1Kzs


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

https://youtu.be/oaVQxtzSkp4


רשת CDN
איך מקלה רשת CDN על גולשי האינטרנט?



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

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

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

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

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

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


כך פועלת רשת CDN ברשת האינטרנט:

http://youtu.be/fiTY74JWDNI


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

http://youtu.be/P67qQNY5FJI


הסבר בעל פה על רשתות CDN:

http://youtu.be/nle1q0qSYmA


יש יתרונות רבים לרשת CDN כזו:

http://youtu.be/7cgSVAaLYec


רשת ה-CDN אמורה להיות זולה ויעילה יותר ממרכזי נתונים שיוקמו לבד:

http://youtu.be/tNGTOenxDp8
מהם בוטי הכתיבה שכותבים חדשות ומייצרים אותן?



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

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

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

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

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

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

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

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

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


מוצר של חברת "Automated Insights" שמנתח נתונים רבים ומספק מאמרים בלשון אנושית, שקל לקרוא ולהבין:

http://youtu.be/hx1SMxgxKnc


על פרק נוסף ומדהים של הארי פוטר שנכתב על ידי בוט כתיבה:

https://youtu.be/XFYckCslt74


בוט כתיבה שלומד את כתב היד שלך וכותב בשמך:

https://youtu.be/LsZH7SS_lfQ


ועוד רובוט כתב יד:

https://youtu.be/BqgT_Nu0QnY
מהו תכנות מונחה עצמים?



תכנות מונחה עצמים (Object Oriented Programming) הוא תחום במדעי המחשב בו המתכנתים מבצעים פעולות באמצעות עצמים ממוחשבים, אובייקטים.

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

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

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

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

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


#בשיטת ה-Object Oriented Programming כל דבר הוא אובייקט.

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

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

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

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

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

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

הפעולות באובייקט ייקראו "שיטות" או מתודות (methods). השיטות מתארות את מה שאובייקט מסוגל לעשות.

ההודעות (Messages) הן מה שמניע את הפעולות. כי השיטות הן בגדר פוטנציאל ובלי הודעה לא תופעל שום שיטה.


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

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

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

עוד על המחלקה בתגית "מחלקות".


הנה הסבר התכנות מונחה העצמים (עברית):

https://youtu.be/l6M3qp5Ykus


ההבדל בין תכנות פרוצדורלי של פעם לתכנות מונחה עצמים (מתורגם):

https://youtu.be/OEfSFrk_KEI


4 עמודי התכנות מונחה העצמים:

https://youtu.be/pTB0EiLXUC8


ויסודות התכנות מונחה העצמים עם הדגמות בשפת פייתון (עברית):

https://youtu.be/odRYxQLGb2U?long=yes
מהו וירוס מחשבים?



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

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

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


הנה סרטון שממחיש את מה שעושה וירוס מחשבים למחשב:

http://youtu.be/bRdMpVH7bIg


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

http://youtu.be/c34QwtYI40g
מהי רקורסיה?



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

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

רוצים דוגמה:
"אם הבנת מהי רקורסיה, חזור אל הדף ממנו הגעת. אם לא – קרא בדף זה מהי רקורסיה".

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

גם מתכנתים משתמשים ברקורסיה והם מתארים פונקציה רקורסיבית כ"פונקציה שקוראת לעצמה". נכון היה יותר לומר שפונקציה כזו קוראת לעותק של עצמה. לרוב נותנים לרקורסיה כזו את הדוגמה של חישוב n-עצרת במתמטיקה (=מכפלת 1 כפול 2 כפול 3… עד כפול n).

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


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

http://youtu.be/ghZKKaZkzrE


כניסה פנימה לפרקטל - צורה גרפית שנקראת "משולש סירפינסקי" שנבנתה בפונקציה רקורסיבית:

http://youtu.be/P5EkdJRtF-4


והסבר למתכנתים (עברית):

https://youtu.be/B19qH3XFnxY?long=yes
מהם קודק, אנקודר ודיקודר?



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

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

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

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

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


הנה ההסבר של הקודקים:

https://youtu.be/7YQ1mikDhIo


יש לנו את זה ביותר מסובך...

https://youtu.be/_nPsBwMivCk


ופיתוח של קודק משוכלל וחדשני יותר:

https://youtu.be/kbUpKpbiyBs
מה זה ביטורנט?


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

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

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

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

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

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

המשתמשים שמורידים או משתפים קבצים נקראים "עמיתים" (Peers). כל אחד מהם יכול למלא אחד משני תפקידים:

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

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

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


כך פועל הביטורנט - הסבר מילולי קצר:

https://youtu.be/OFswNCU5CKA


תולדות הביטורנט:

https://youtu.be/6PWUCFmOQwQ


הקשר בין P2P לזכויות יוצרים:

https://youtu.be/y306vJ-TAAo


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

http://youtu.be/tNGTOenxDp8
מהו צ'אטבוט ואיך הוא מקדם טיפול אישי?



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

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

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

יש החוזים שצ'אטבוטים עשויים להחליף חלק ניכר מהשימוש באתרי שירותים שונים ולייתר אותם בעתיד.

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


הנה עולם הצ'אטבוט:

http://youtu.be/iE9LtfQAYYU


עוד על השימוש בצ'אטבוטים ברשת:

http://youtu.be/G8z--x5tFOI


ההכרזה על הצ'אט בוט במסנג'ר של פייסבוק:

http://youtu.be/EOYnFUJyOlQ


כשהושק הצ'אטבוט של מיקרוסופט הוא "הסתבך" עם ביטויי גזענות קשים:

http://youtu.be/LA49GBcbudg
מהי השיטה הבינארית?



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

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

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

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


הנה השיטה הבינארית (מתורגם):

https://youtu.be/wgbV6DLVezo


סרטון על הדרך להמרה של מספר עשרוני לבסיס הבינארי (עברית):

http://youtu.be/2pr8mkRZIfg


היום כבר מנסים להתקדם ממנה לשיטת החישוב הבאה (עברית):

https://youtu.be/tWBEaaTuz3A


ותכנית לימודית על הבסיס הבינארי (עברית):

https://youtu.be/aKZYHUmYG_M?long=yes


מי המציא את הדואר האלקטרוני?



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

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

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

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


על המצאת המייל:

http://youtu.be/XhXk3wzemR4


סיפורו של ממציא הדוא"ל מפיו:

http://youtu.be/kJp0NHkBIAY


ובצרפתית זה אפילו משעשע:

http://youtu.be/aKbsodGeDCE
איך הופך הצ'אטבוט לרובוט האינטרנט החדש?



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

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

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

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

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

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


הנה הסבר של הצ'ט בוטים החדשים:

https://youtu.be/mmmaLe8KM-o


מארק צוקרברג מנכ"ל פייסבוק מציג את הצ'אטבוטים ומדגים:

https://youtu.be/EOYnFUJyOlQ


הסבר איך הצ'ט-בוט עובד:

https://youtu.be/MT4JWtm5n5M


ובפינת ההומור שלנו - זה מה שקורה כשמדענים נותנים לשני בוטים אינטליגנטיים לשוחח זה עם זה:

https://youtu.be/WnzlbyTZsQY
מהו אלגוריתם?



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

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

אבל רגע, מה הם אלגוריתמים בכלל?

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

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

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

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

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

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

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

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


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

http://youtu.be/6hfOvs8pY1k


האלגוריתם הוא המלך בעולם המחשבים ולכן התכנות חייב להתחיל ממנו:

https://youtu.be/MRPpYX8SOA8


אלגוריתמים לפתרון הקוביה ההונגרית:

http://youtu.be/RQo8WoHQIz8


בחיוך מסוים - מסתבר שיש אלגוריתם אפילו לתרמילאים שרוצים לשרוד:

https://youtu.be/PQKOpvypN2Y


ותכנית חינוכית על אלגוריתמים (עברית):

https://youtu.be/nMJ8R9K9EQw?long=yes


אֵאוּרִיקַה - האנציקלופדיה של הסקרנות!

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

אלפי נושאים, תמונות וסרטונים, מפתיעים, מסקרנים וממוקדים.

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

בואו לגלות, לחקור, ולקבל השראה!

אֵאוּרִיקַה - האנציקלופדיה של הסקרנות!

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