והוא חזר!

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


Filesystem Size Used Avail Use% Mounted on
/dev/hde2 20G 6.0G 15G 30% /

מחר הסבר על למה זה היה טוב, ואיך זה הלך.

מעשה לולינות אימתני

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


# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/hde2 186G 6.0G 180G 4% /

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

פרולוג וצבים אחרים.

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


parent(popo, koko).
parent(mima, koko).
parent(baba,mima).
parent(bebe,mima).
female(bebe).
female(mima).
male(koko).
male(popo).
male(baba).

אחרי שהם הוגדרו, אפשר לשאול דברים כמו:


?- female(koko)
no

?- male(koko).
yes

parent(X,koko).
X = popo ? ;
X = mima ?
yes

חוקים נראים ככה:


mother(Mother,Child) :-
female(Mother),
parent(Mother,Child).

father(Father,Child) :-
male(Father),
parent(Father,Child).

grandfather(Grandfather,Child) :-
make(Grandfather),
parent(Grandfather,X),
parent(X,Child).

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

אחרי שהחוקים האלו הוגדרו אפשר לשאול דברים כמו:


?- father(X,koko).
X = popo

?- mother(mima,X).
X = koko

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


predecessor(X,Y) :-
parent(X,Y).

predecessor(X,Y) :-
parent(Z,Y),
predecessor(X,Z).

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

?- predecessor(baba,koko).
true

?- predecessor(baba,X).
X = mima
X = koko

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

פיירפנג, מי זה פיירפנג?

פיירפנג הוא השרת שמריץ את הבלוג הזה.
התוכנית המקורית בשבילו היתה שהוא יהיה מחשב טלויזיה, כלומר, מחשב שיתחבא ליד הטלויזיה, ויאפשר לי לראות סרטים וסדרות שאני מוריד מהאינטרנט במסך הגדול, בנוחות של הסלון.
הוא מריץ מערכת דביאן (לינוקס), שתופסת סך הכל 1.1 ג'יגה, אם אני לא מתייחס לנתונים שמאוכסנים שם (סרטים, מוסיקה וכו').
מהר מאוד החלטתי להשתמש במחשב הזה בתור שרת, לא כי הוא כזה חזק (הוא לא, סמפרון 2000 בערך, די עגלה), אלא כי קל לי לשמור אותו פועל בלי הפסקה.
המחשב הראשי משמש אותי גם למשחקים (למרות שפחות לאחרונה), ומשחקים מחייבים בדרך כלל שאני אבצע ביעוט (Reboot) ואפעיל את החלונות. מכיון שכך, המחשב הראשי לא מתאים ממש להיות שרת.
אז הפכתי את פיירפנג לשרת, ולאט לאט האצלתי עליו יותר ויותר סמכויות:
שרת אינטרנט שמריץ את הבלוג הזה, ומאפשר גישה לסרטים ולמוסיקה שלי, לי ולכמה נבחרי/ות גורל בעלי/ות סיסמא.
בנוסף הפכתי אותו לשרת דואר לכל דבר, ועכשיו הדואר שלי מאוכסן אצלי, ואף אחד לא תוקע לי בו פרסומות כשאני קורא אותו.
באופן טבעי, צריך הרבה מקום כדי לשמור את הסרטים, אז, נכון לכרגע, יש בפיירפנג שני דיסקים של 200 ג'יגה, אחד מהם בן שבוע בערך.
נוח מאוד שמחשב כזה ישמש כשרת קבצים, כי הוא זמין תמיד, ויש לו הרבה מקום, אז הגדרתי לו גם סמבה וNFS כדי שהמחשב השני יוכל לגשת לקבצים בכל מצב (גם כשהוא בחלונות).
בנוסף, הוא משמש כשרת הCVS שלי, ככה אני יכול לגשת לקוד שלי מכל מקום, מה שיכול להיות נוח לפעמים).
פעם בלילה יש גיבוי מבוסס rsync, שמגבה למעשה את כל המערכת למחיצה בדיסק השני (ההנחה שלי היא שלא סביר ששני הדיסקים יתקלקלו בו זמנית).
כמובן, אני רואה עליו סרטים וסדרות, באמצעות תוכנה חביבה בשם פריבו (עוד על פריבו פה)
זה פיירפנג, שרת השעשועים שלי.