ארכיונים עבור קטגוריה: תכנות

היום עשור לוויקיפדיה העברית.

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

מתוך הריאיון (ציטוט לא מדויק מזיכרון):

בן כספית (פונה אליי): „אם אני רוצה להיכנס לערך של אריה אלדד ולכתוב „מדובר בפשיסט ימני סהרורי הזוי המהווה סכנה לציבור…”

אריה אלדד: „אתה לא תצטרך לתקן כלום, זה מה שכתוב.”


איך הגעתי לוויקיפדיה? זה מתחיל בשנת 1997 הרחוקה. סיימתי בית ספר ועם או בלי קשר ההורים קנו לי מחשב חדש עם חיבור לאינטרנט. חיפשתי דברים שמעניינים אותי: מוזיקה ותכנות. אחרי זמן מה מצאתי אתר של איזה פרויקט בשם JOS – קבוצה של אנשים שרצו לכתוב מערכת הפעלה שלמה בשפת ג'אווה. לא הבנתי הרבה דברים על הפרויקט עצמו, אבל עניין אותי דבר אחר: היה כתוב שם שהאתר הזה הוא „ויקי”, כלומר כל גולש יכול גם לשנות את התוכן. ניסיתי לשנות שם איזה פסיק, וזה באמת עבד. בפרויקט ההוא לא נתקלתי שוב, אבל נשאר לי הזיכרון הזה על העיקרון המעניין של „ויקי”.

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

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

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

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

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

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

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


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

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

גדול – וורדפרס.קום לקחו את התרגום לעברית מפרויקט וורדפרס בעברית.

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

ומה היה צריך לעשות בשביל זה? רק לבקש!

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

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

שלום,

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

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

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

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

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

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

תודה.

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

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

0 0 0
0 0 1
0 1 0
0 1 1
1 0 0
1 0 1
1 1 0
1 1 1

זה מה שכתבתי. זה בסדר או בושה?

use strict;
use warnings;

# That's right, upgrade to Perl 5.10.
# If you can't, comment out this line.
use 5.010;

my $digits = $ARGV[0] // 3;

# /If you don't have Perl 5.10, use this:
# my $digits = defined $ARGV[0] ? $ARGV[0] : 3;

my @matrix = ();
my @number = map { 0 } (1 .. $digits);
my $last = 0;

NUMBER:
while (not $last) {
    push @matrix, [ @number ];

    my $digit_index = $digits;
    DIGIT:
    while ($digit_index) {
        $digit_index--;
        $last = 1;

        if ($number[$digit_index]) {
            $number[$digit_index] = 0;
        }
        else {
            $last = 0;
            $number[$digit_index] = 1;
          next NUMBER;
        }
    }
}

foreach my $number (@matrix) {
    print "@{$number}\n";
}

הערה – והיא הבושה האמתית, אבל אני לא יודע של מי: תצוגת קוד המקור בוורדפרס לא יודעת להציג Perl כמו שצריך. אבל אם אומרים ruby במקום perl אז זה עובד די טוב…