My Thunderbird went on a diet, and lost all its thunder!

נכתב ב-22 באוקטובר 2007, 11:57 | על-ידי לירון | קטגוריות: כללי

4

אני קם בבוקר, רואה שהציפור קרסה בלילה. פותח מחדש, אין הודעות באינבוקס. אומר לו לבנות מחדש את האינדקס, ומגלה שהוא השאיר לי רק את ההודעות שלא נקראו (יש שם איזו הגדרה דיפולטית שצריך לשנות, ואז לעשות אוקיי, ואז לפתוח מחדש את החלון כדי שהיא תישמר. נורא חכם). אז עכשיו אני צריך לפתוח את הקובץ בעורך טקסט ולשנות את כל שדות ה-X-Mozilla-Status כדי שלא יהיו מחוקים… וזה קובץ עצום! כל עורך טקסט שניסיתי התפגר תחת 2 ג'יגותיו. אז פניתי לכלי שאני יודע שלא מכזיב: HIEW! זאת תוכנת דוס בת לפחות עשור (למרות שנראה שיש לה גרסה חדשה), שיודעת לעשות חיפוש והחלפה של מחרוזות בלי לטעון את כל הקובץ לזיכרון. הבעיה שלי היא שאני לא יכול להסתפק בזה, לדעתי. אם תסתכלו בטבלה בלינק, אני לא צריך למצוא מחרוזת ספציפית אחת ולהחליף אותה, אלא למצוא כל הודעה שיש לה את הביט של המחיקה (0x0008) ולהעיף אותו… אז אני הולך לכתוב איזה סקריפט שיעשה את זה, ואז לפרסם אותו כאן. למורת רוחם של הלינוקסאים, זה כנראה יהיה VBScript, אבל הם בדיוק האנשים שיכולים לכתוב סקריפט כזה בשורה אחת עם grep ו-awk ו-regexpים, אז אני לא דואג. :)

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


(הכותרת היא פראפרזה על בדיחה החנונית העבשה "My hard drive went on a diet and lost all its FAT!". זה היה מצחיק יותר כשמישהו עדיין השתמש ב-FAT…)

תגובות (4)

להזכירך – יש sed/awk/grep/whatever גם על ווינדוס.

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

אני יודע שיש גם לווינדוז. אבל אני לא יודע awk, ואני לא יודע פייתון, ואני לא יודע פרל.

בסוף כתבתי את זה ב-VB6. הכי מהר, הכי פשוט. כרגע זה רץ…

מהר – לא.
פשוט – אני לא בטוח (ג'אווה־סקריפט יותר קריא מבייסיק־סקריפט).
רץ – כנראה שכן.

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

מהר לכתוב את זה, לא להריץ…
בסוף כתבתי ב-VB.net. מסתבר ש-VB6 מתחרפן עם קבצים של 2GB.

VBScript מאוד קריא, האמת. אם יש שפה שהתחביר שלה קריא, זו VB. אני למדתי VB מקריאה של קוד של מישהו אחר ושינוי שלו. זה מאוד דומה ל-pseudocode. :)

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