לחיות עם גרסה יציבה של דביאן

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

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

המשך »

מימוש thread safe של gettext.

אחת המגבלות החשובות של gettext היא יכולת העבודה עם יותר משפה אחת בתוך אותו יישום או ליתר דיוק, אפשרות עבודה עם שני תרגומים שונים מ־Threadים שונים.

כתבתי מימוש משלי של פונקציוליות של GNU Gettext שתואם לו, יודע לעבוד עם קבצי תרגום שלו ומאפשר בחירה שקופה של מנוע gnu gettext או מנוע חלופי שהוא thread safe.

ראה פירוט כאן.

לא כל העולם כותב באנגלית

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

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

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

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

מפת הדרכים לגרסת בטא הראשונה של CppCMS.

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

היא תכלול:

  • מערכת תבניות עם פילטרים והורשה בסגנון Django
  • מערכת cache עם ריבוי מפתחות
  • שיפורים שונים בבלוג עצמו כמו, מימוש מלאה של Markdown, תמיכה בנוסחאות LaTeX ועוד.
  • כתיבת תיעוד
  • הסבה של הבלוג הזה מ־WordPress בעברית ל־CppCMS.

לתיאור מפורט יותר, תקראו כאן.

תכנה חופשית, תיעוד ומה שביניהם

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

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

המשך »

חוק סינון אתרים, דעה.

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

הועלו טענות רבות נגד החוק כמו:

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

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

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

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

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

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

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

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

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

ניקוד ב־OpenOffice בלינוקס

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

בלינוקס קיימים גופנים עבריים איכותיים מסוג Type1: גופני קולמוס. הם באים יחד עם כל המידע הדרוש למקם את הניקוד בצורה המושלמת. למשל, מנוע Pango ב־Firefox יודע להסתדר איתם בצורה מושלמת. לדוגמה המשך »

שוחררה גרסה 0.0.8 של BiDiTeX — תיקון של באג

שוחררה גרסה 0.0.8 של BiDiTeX. הגרסה מכילה מעקף לבאג בספריית fribidi שגרם למסמכים מקודדים ב־cp1255 וכוללים סימני LRM/RLM לא להתקמפל ב־LaTeX.

הבעיה היא בפונקציות שממירות מקידוד cp1255 ל־Unicode ולא מתייחסות לשני הסימנים האלו. בגלל שבאופן פנימי fribidi עובדת עם unicode אז המרה של מסמכים האלה הייתה לא תקינה והם לא עבדו כראוי, בנוסף לזה הם לא הוסרו בטקסט שמועבר ל־LaTeX וגרמו להודעות שגיאה. הבאג הזה לא רלוונטי לאלו שהטקסט המקורי שלהם שמור ב־UTF-8 והמסמך מומר ע"י BiDiTeX ל־cp1255.

הורדת גרסת 0.0.8.

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

תוסף "Markdown Extra" ל-WordPress שלך.

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

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

יותר מזה, בגלל ששדה העריכה הופך לטקסט רגיל במקום HTML אז ניתן במקרים מסובכים פשוט הפוך את כיווניות טופס ע"י (קליק ימני switch text direction ב-Firefox או Clrl+Shift פשוט בקונקי).

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

כיצד להתקין?

תורידו את ה-תוסף ותשימו את קובץ markdown.php בתיקית plugins. תבטלו את העורך העשיר ב"משתמשים->פרופיל שלך->עורך ויזואלי", תפעילו את התוסף וזהו. עכשיו ניתן לעבוד עם markdown.

אולי טיפ קטן לסוף: תערכו את style.css של ערכת הנושא שלכם ותוסיפו שורה

 pre { direction: ltr }

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


  1. תזכרו שאני באופן כללי לא אוהב WYSIWYG ועובד עם LaTeX אפילו בעברית. 

Quo vadis, WordPress?‎

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

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

נתחיל מהדברים הטובים: Konqueror

העובדה ש-Konqueror היה נתקע בכניסה ל-WordPress היה אחד הגורמים העיקריים שמנעו ממני להשתמש בו. לקונקי יש הרבה מה לתת למשתמש עברי: תמיכה בשינויי כיווניות עם ctrl+shift, בדיקת איות, קיצורי מקשים שעובדים וקלילות — בעיקר האחרון. כמובן, עדיין נשארת הבעיה ש-TinyMCE לא עובד בו, אבל גם ככה לא הייתי מרוצה ממנו והחלפתי אותו בתוסף Markdown. בסופו של דבר, בממשק הפך להיות (כמעט) שמיש עם קונקי.

אבל בזה, כל ה"שבחים" שלי בערך ייגמרו.

המשך »