הכוח של perl

שורת קוד אחת מוחקת את כל התיקיות הריקות, בצורה רקורסיבית, החל מהמיקום הנוכחי ומטה… לא צריך להדביק את השורה בקובץ מסויים אלא רק להדביק ב- shell המועדף וללחוץ Enter

שימושי למי למעוניין לנקות קצת זבל במחשב (אם כי הייתי מאוד נזהר ומריץ את הפקודה רק מתיקיית הבית ולא מ- root)

בהפוכה: גרסה 0.7

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

להל"ן המכתב שמאיר שלח לי (שמסביר את השינויים שהוא עשה):

"היי אילן,

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

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

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

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

– אין צורך בלולאה או list comprehension, מחרוזות ויוניקוד מכילות method
בשם translate שבהינתן המילון עם ה-ord המתאים יבצע את ההמרה.

– שינוי לוח המקשים הוא מתכון לאסון (תתי פריסות, כמו lyx אצלי, יותר
מפריסה אחת וכד')

– אין למשתמש אפשרויות שליטה (מה אם רוצים שייכתב ל-stdout במקום
ל-clipboard, לדוגמא בתור filter ל-vim וכד'), מה אם לא רוצים לבצע paste
אלא רק שישב ב-clipboard ? עם אפשרויות כאלה, ניתן לדוגמא למפות מקשים
שונים לתכונות שונות

– הכל כתוב בבלוק הראשי, כך שאי אפשר לבצע:

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

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

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

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

– לפני ההמרה קוראים ל-lower כך שאין צורך באותיות גדולות בטבלת ההמרה

– במקום לשנות פריסות מקשים ולהסתבך עם צירופים, פשוט שמים את ההמרה
ב-clipboard ושולחים CTRL+V (לבצע paste).

– קוד הועבר לפונקציות והקוד הראשי מורץ רק במקרה של __main__ (מה שלא
יתבצע במקרה של import).

– פועל יוצא של השינויים הנ"ל הוא שהקוד קצר וקריא יותר

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

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

מאיר: ברור שלא איכפת לי ששמך מופיע ברשימת המחברים. האמת היא שאם נעשה diff בין מה שאני ומשה כתבנו ובין מה שאתה כתבת נקבל שרק שתי השורות הראשונות זהות:

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

הורדה, הערות ותלונות כאן

fsck מאולץ

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

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

איך יוצאים מהתקלה המוזרה? מריצים fsck. ניתן להריץ את הפקודה מדיסק הצלה (אסור להריץ את הפקודה במערכת "חיה") וניתן להנחות את מערכת ההפעלה להריץ fsck בתהליך האתחול הבא (כך: sudo touch /forcefsck).

fsck פתר את הבעיה וכולי תקווה שאירוע כזה (במערכת ext4) לא יקרה יותר.

הערה: קראתי מאמר שניתן לכפות הרצת fsck (לאחר אתחול) ע"י הפקודה shutdown -rF now, אך הדגל F לא קיים, משום מה, באובונטו.

טכנולוגיית lightscribe בלינוקס

לאחרונה התקלקל צורב ה- DVD במחשב שלי וכהרגלי (לפני קניית חומרה חדשה) חיפשתי ברשת חומרה מומלצת. למרות שבהתחלה תכננתי לרכוש צורב רגיל החלטתי לבסוף לרכוש צורב lightscribe (פער המחירים בינהם ממש מצחיק: צורב רגיל עולה 100 ש"ח וצורב lightscribe עולה כ- 130 ש"ח).

מה מיוחד בטכנולוגיה?
טכנולוגיית lightscribe מאפשרת לצרוב כיתוב/תמונות על מדיית CD\DVD

דוגמא:

Knoppix

חסרונות:

  • ה- CD נוטה לדהות ולכן צריך לשמור אותו במקום מוצל ובקופסא נפרדת
  • רגיש לשריטות
  • מדיות יקרות (CD בודד עולה כ- 3 שקלים, DVD כ- 4 שקלים)
  • יש מדיות במבחר צבעים אבל ההדפסה היא בגווני אפור/חום (כמו בדיסק התחתון בתמונה)

יתרונות:

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

התקנה:

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

סרטון: תהליך יצירת CD  בטכנולוגיית lightscribe

[youtube KTEuibhjnb8]

הרחבה מומלצת לשועל: lastpass

אני מעריך שתיכף כולם ירדו עלי אבל אני חושב שבכל זאת כדאי שאסקור את ההרחבה העונה לשם lastpass.

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

אז נכון: לא מומלץ לשמור מידע רגיש ב- lastpass (חשבונות בנק, קופ"ח וכו') אבל לאתרים "פשוטים" (פורומים, בלוגים ועוד…) התוכנה מאוד מומלצת (וזוכה לכ- 45,000 הורדות בשבוע).

תכונות ההרחבה:

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

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

  • dropbox – לסנכרון קבצים
  • Xmarks – סנכרון מועדפים (וגם סיסמאות)
  • ו- lastpass – לסנכרון סיסמאות ומידע השמור בטפסים.