
8 בספטמבר, 2009
אתמול העברתי את ההרצאה שהבטחתי בחייפוקס. קודם כל, תודה למי שהגיע. שנית, סליחה שזה התארך כל כך… שעתיים הרצאה… רק בסוף הבנתי כמה ארוך זה יצא. מצד שני, בגלל ההשתתפות של הקהל אני מבין שלא היה כזה נורא (וגם מישהו מהקהל אמר לי שזה היה ארוך, אבל זה בגלל כמות החומר, זה לא הרגיש כאילו נמתח אלא היה “במקום”).
בקשר לשאלות שנתתי:
שוב, תודה למי שהגיע! העלתי את ההרצאה לכאן:
http://qtedit4.googlecode.com/files/Introduction%20to%20Qt4.pdf
http://qtedit4.googlecode.com/files/Introduction%20to%20Qt4.odp
4 תגובות
מאת elcuco, נושאים: כללי, עברית בלינוקס, אני שונא לינוקס 

4 בספטמבר, 2009
אני מקבל הרבה שאלות אודות
QHOCR, ואני רוצה להסביר מה המצב של התוכנה נכון לרגע זה
.
קובי שיחרר לפני כארבע שנים את גרסה 0.8 של libhocr (אפריל 2006, גרסה ראשונה לפני כ־4 שנים), עליה אני ביניתי את הגרסה העדכנית ביותר של QHOCR. זאת הגרסה שזמינה להורדה באתר.
לפני כשנה (מרץ 2008), קובי שיחרר גרסה חדשה לגמרי של libhcor - גרסה 0.10. אני התחלתי להמיר את הקוד שלי שיעבוד מול הגרסה החדשה ודי מהר נתקלתי בבעיות: הקוד של קובי זולג זכרון בצורה משמעותית. ביישום שלו אין בעיות, הוא כותב ממשק מבוסס שורת פקודה שמבצע את ה-OCR ואז היישום נסגר, ומערכת ההפעלה משחררת את הזכרון. לא קריטי. ביישום הגרפי שלי, מתבצע ה־OCR ואז משתמש משאיר את התוכנה פתוחה, ואז מבצע עוד OCR … והתוכנה תופסת את כל הזכרון הפיזי של המחשב.
כדי לפתור את הבעייה יש כמה אפשרויות: או שאני מתקן את הקוד של libhocr-0.10 ואז אני לא מתעסק בממשק של QHOCR, או שאני עוקף את הבעייה. בתור פיתרון ביניים אני מנסה קצת משניהם (אבל מושך יותר לכיוון של מעקף…). שלחתי לקובי כמה תיקונים שמתקנים בעיות של זליגת זכרון, וכדי לעקוף את הבעייה אני שואף לעשות את אותו טריק שיש ב־Google Chrome. אני רוצה לעשות את ה־OCR בתהליך (process) שונה, ואז באמצעות IPC להעביר את הנתונים של ה־gui process. ככה התהליכים יכולים לזלוג כמה שהם רוצים וזה לא אמור להשפיע על ה“תוכנה עצמה“.
אני צריך לפתור שתי בעיות כדי להגיע לתוכנה עובדת:
- אני צריך לכתוב יישום שורת פקודה מלא, שיודע לעשות OCR. הבעייה שאני נתקל פה היא שאני צריך ספרייה טובה לפיענוח של ארגטמנטים של שורת פקודה. פתחתי שאלה ב-StackOverflow וקיבלתי תשובות טובות. כעת רק צריך ליישום.
- הבעייה השנייה, היא איך לממש את ה־IPC בין שני התהליכים. אני עדיין לא משוכנע מה הדרך הכי טובה.
- קריאה של stdout: השיטה היוניקסים הוותיקה תעבוד די טוב פה, אבל בחיאת… לא עברו 30-40? אולי אפשר יותר טוב?
- שימוש ב־shared memory. בשיטה זו, ה־OCR process יכתוב ישירות במרחב הזיכרון של ה־GUI process. יש מחלקות מסודרות לזה ב־Qt4, אבל זה נראה לי בעייתי (התהליך הראשי קורס, הזכרון לא יהיה ניתו לשיחרר כלל).
- אפשרות אחרת, כגון tcp/ip פנימי, או אחת האפשרויות האחרות שיש ב־Qt4.
אני לא אשתמש ב־D-Bus, כי זאת תלות שלא קיימת ב־win32 ואם אני מבין נכון גם ב־Mac.
למעשה זה אומר שנכון לעכשיו אין גרסה שמישה של QHOCR. נקווה שזה ישתנה בעתיד אם “מישהו” יעזור. נראה שיש המון ביקוש ליישום כזה, לא רק על לינוקס, אלא גםעל חלונות.
3 תגובות
מאת elcuco, נושאים: עברית בלינוקס, דברים בלינוקס עובדים 

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

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

29 במאי, 2009
מי שלא מכיר, ישנו דפדפן בשם Arora הבנוי ב־Qt4 ומבוסס על המנוע של WebKit (המנוע שGoogle chrome משתמש בו, שSafari משתמשים בו גם ועוד הרבה. עידו כבר כתב עליו פעם, מומלץ לקרא מה שהוא כתב.
אני כעת משתמש בו שוב. המטרה שלי היא ניצול חכם יותר של הסוללה בנייד שלי. ידוע ש־Firefox הוא זולל משאבים גדול (אבל הוא מביא איתו הרבה פי’צרים חכמים). מצד שני, האם אני צריך את המפלצת הזאת באופן קבוע? או האם אפשר להסתפק ביום יום בדפדפן פשוט יותר, קליל יותר (והאמת? נראה יותר כיפי…).
כדי לבנות אותו, אנחנו צריכים Qt 4.5 (לא לנסות לבנות אותו מעל Qt 4.4 כי אז לא תהיה תמיכה בתוספים (למשל פלאש). אם ההפצה שלך לא כוללת Qt 4.5, אפשר להוריד מהאתר של QtSoftware הפצה מיוחדת של הספרייה + כלי פיתוח (מה שאני עשיתי במחשב שלי). אני הורדתי את Qt SDK: Complete Development Environment שכולל גם את סביבת העבודה QtCreator מהכתובת: http://www.qtsoftware.com/downloads
שלב שני הוא להוריד את הקוד. אני השתמשתי ב־gith כדי להיות מעודכן בגרסת פיתוח האחרונה (ואולי לחזור לצוות הפיתוח של הדפדפן). כל מה שצריך לעשות זה לכתוב את הפקודה הבאה במסוף:
git clone git://github.com/Arora/arora.git
לאחר כמה דקות, הקוד ירד ופקודות הבנייה היא:
[elcuco@pinky arora]$ ~/qtsdk-2009.02/qt/bin/qmake
[elcuco@pinky arora]$ make
כיוון שאני משתמש ב־SDK של Qt4 הייתי צריך לתת נתיב מלא לפקודת qmake. אם אתם משתמשים ב-Qt4.5 שמגיעה עם ההפצה, מספיק לכתוב qmake. ההפעלה של דפדפן יכולה להיעשות ישירות מספריית הקימפול. בעקרון, אפשר להתקין את זה על המחשב (ואז לקבל תרגום עברי למשל, אם כי לא בדקתי אותו כמה חודשים…).
באתר של התוכנה יש גם חבילות בינאריות לכמה הפצות/מערכות הפעלה. זה יכול לחסוך כמה דקות ומקום בדיסק.
החסרונות הם די גדולים:
- העורך של Wordpress לא עובד פה (אני משתמש בשיטת לולי ועורך את זה ב־OpenOffice, בינינו? די נוח).
- אני לא מצליח להיכנס לחשבון שלי ב־Stackoverflow (וגם לא ל־Serverfault).
- התמיכה שלו בעברית פשוט נוראית. פקדי הטקסט לגמרי שבורים (זאת בעייה של WebKit, ולא של Qt4).
- האתר של הספאמרים נראה שבור לגמרי, בעצם זה דבר טוב לא?
עדיין אין לי מסקנות חותכות, אבל הדפדפן פחות או יותר שמיש. הוא לא יחליף את פיירפוקס (במיוחד עבור משתמשים ישראלים שצריכים עברית). בכל מיקרה אני משתמש בו, ואני די מרוצה. וזה מה שחשוב באמת לא?
2 תגובות
מאת elcuco, נושאים: עברית בלינוקס, גרסאות חדשות 

9 במאי, 2009
אני זוכר לפני שניים, או שלושה עידנים שהיה כזה אירוע בשם אוגוסט פנגווין 2008. אני זוכר איזה אחד בשם קובי שדיבר על יישום שהוא כתב שיודע לזהות תווים עבריים, בשם hocr. הוא גם מזכיר אותי המון בתור המתחזק של היישום qhocr, וזה לצערי מה שרב האנשים שצריכים את היישום רואים - יישום חלונאי ממש מקרטע. ממש לא מגיע לי התואר של מתחזק של יישום כזה… אני באמת גורם לו עוול.
השבוע החלטתי לשחק קצת עם הקוד החדש של קובי (מבוסס על גרסה 10 של הספרייה). כרגע אני נמצא בשלב שבו יש לי מחלקה קטנה וחמודה שיודעת מצד אחד לקבל QImage ומצד שני להחזיר QString. זה מאוד נחמד… הבעייה שלי כרגע היא זליגות הזכרון הענקיות שיש לספרייה של קובי.
עבור תמונה קטנה, התוכנה צורכת בערך 200 מגה זכרון, ועבור תמונות קצת יותר מעניינות בערך 800 מגה, וזמן הריצה הוא בערך שתי דקות. מה שהופך את הבעייה ליותר מעניינת הוא שבנוסף, הספרייה זולגת את כל הזכרון הזה ולא משחררת אותו. זה אומר שאם אני בונה יישום מסביב לספרייה הזאת לא יהיה ניתן לבצע זיהוי אותיות יותר מפעם או פעמיים לפני שיהיה צריך להפעיל את התוכנה מחדש. “יש, איזה כיף”.
מצד שני, אני עכשיו באמת מבין למה הוא התכוון כשהוא אמר שהשורות הראשונות יושפצו בזליגות זכרון, והם הם לא התקלחו מאז יש להם שאריות של hocr_layout_analysis על הפרצוף. לא הכי כיף.
יש לי כמה רעיונות איך לעקוף את זה, אבל אף אחד מהם לא באמת יעיל. מה שצריך זה לעזור לקובי לתקן את הספרייה שלו.
3 תגובות
מאת elcuco, נושאים: עברית בלינוקס, דברים בלינוקס עובדים 

15 באפריל, 2009
לפני כמה שבועות התחלתי לדבר עם המנהלים של הפורום העולמי של KDE. המטרה שלי הייתה להוסיף פורום עברי לאתר. הבעייה היא די קשה - מבחינתם הדבר היחיד שצריך לעשות זה לתרגם את הממשק… אבל לא. צריך לדאוג שהתוכן של הגולשים יהיה מיושר בהתאם לתוכן של הפוסט ולא לפי השפה של הממשק (למה אני בממשק עברי צריך לראות אנגלית מיושרת ימינה?).
היום ישבתי עם המפתחים של הפורום, דיברנו קצת על הבעייה ויש פתרון זמני שעובד די טוב בתור איטרציה הראשונה: התוכן של כל הפוסט מיושר ימינה (גם כיווניות וגם יישור, לא לדאוג) אם התו הראשון של ההודעה של השולח. בעתיד אני רוצה שזה יקרה בכל שורה באופן עצמאי, אבל בתור התחלה זה לא רע.
הקוד משתמש ברעיון של זוהר סטולר מלינוויט (הוא כתב מודול של דרופל שעושה את זה בצורה ממש יפה). מחזור של קוד זה תמיד דבר מבורך
יש עוד כמה בעיות ויש מלא מה לעשות, אבל יש עם מה להתחיל, ולכן אני די מרוצה מהעבודה שנעשתה.
הפורום נמצא כאן ואני מוגדר המנהל שלו, ככה שאני יכול לענות לשאלות שם אם יש לכם!
http://www.youtube.com/watch?v=WYJ0_542Lc4
2 תגובות
מאת elcuco, נושאים: עברית בלינוקס, גרסאות חדשות, KDE 

29 במרץ, 2009
בזמן האחרון התחיל לקרות משהו שתמיד רציתי שיקרה ולא קרה.
משום מקום, ככה לאט לאט התחילה לה קהילה קטנה של מתרגמים עבור KDE לעבוד בשקט. הם עושים מה שתמיד רציתי - ביקורת. הם יושבים ובודקים מה שאר חברי הקבוצה עושים מתקנים אחד את השני ומתדיינים על התרגום הנכון במקום הנכון.
זה אומר שיש בקרת איכות. פשוט “יש”.
דרך אגב, נראה שהסמלים של פלסמה ייושרו לימין בגרסה הבאה של KDE4, זה אומר בגרסה 4.3.0. עוד “יש”: https://bugs.kde.org/show_bug.cgi?id=172560
http://www.youtube.com/watch?v=hT5eJwgAtvY
5 תגובות
מאת elcuco, נושאים: עברית בלינוקס, KDE 

3 בינואר, 2009
אני זוכר באיזה דיון ב־whatsup שבו שוש היא הסבירה שהשיטה העדיפה לבדיקה של כיווניות של פסקאות טקסט היא לספור את התווים ולהחליט לפי מירב התווים במקום להחליט לפי התו החזק הראשון בפסקה. אני כל כך אהבתי את הרעיון שהתחלתי לממש אותו והוא נמצא ב־konversation 1.1 בהפצה החביבה עליכם. כשהתחלתי לעבוד על KDE 4.1 תפרתי את אותה התנהגות ב־katePart. כמו כן, ההתנהגות הזאת גרמה לבעיות אחרות, וגם שכנעתי את המפתח של KWord לעשות את אותו דבר, והאמת? אני הייתי מאוד מרוצה מההתנהגות הזאת.
עד שהתחלתי להשתמש ב־kate כדי לתכנת קוד שכולל מחרוזות בעברית. במיקרה שלי זה היה php אבל זה ממש לא רלוונטי. מה קורה? אני פתאום רואה שהטקסט (הקוד!) מיושר ימינה ומקבל כיווניות… “לא נכונה”… הינה דוגמה:

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

גם מקרה זה הוא לא אופטימאלי - הסוגריים של הקוד מיושרים לפי הכיווניות של הממשק במקום להיות מיושרים שמאלה תמיד
אז הוא גם נפסל. כעת הקוד שייכנס אל KDE 4.2 יבדוק את התווים שיש בפסקה עד שימצא את החזקה הראשונה ויחליט לפיה. אם אין, הכיווניות היא LTR. המטרה הראשית של kate/kwrite היא כתיבת קוד (ואני ראשון כי אני משתמש בכזה כדי לתכנת!) ולכן חייבים להקפיד ששום דבר לא יהרס בהקשר הזה.
אבירם, עם כל הכבוד… לקח לי כמה שעות לתקן את הבעייה הזאת. (כי משום מה QString::isRightToLeft() לא עובד במיקרה זה אז שכתבתי קוד לטובת ביצועים גם כן). וזה אני עושה בסופ”ש, כי באמצע השבוע לא היה לי זמן לתקן את התקנת KDE4/trunk שהפסיקה לעבוד לפני כמה שבועות..וביום שישי הלכתי לבקר לקוח של רואי ממנדריבה שנתקל בבעייה ובאמצע השבוע אני עובד פול טיים ואני גם עבדתי עם מתרגם חדש (הוא תרגם את כל k3b - המון עבודה!)… אתה מבין לקראת מה אני חותר?
בניגוד לתחום השרתים שאתה תמיד יכול להגיד “עזוב, עוד שנייה מישהו מתקן את זה”, ומדי פעם אתה באמת מתקן לפני “מישהו” והכל סבבי. הבעייה בתחום הדסקטופ העברי היא שכמות ה”מישהו” מאוד מצומצת, תופעת ה”אין קהילה” המאוד מוכרת (1) של מפתחים בארץ. מה שאני אומר זה: עד שלא תהיה חברה מסחרית מסודרת שתתעסק בדסקטופ בארץ, שיהיה לה מספיק משאבים לשרוף על מתכנת שיתקן באגים עבריים ב־KDE - אתה תישאר בגנום. סופ”ש הבא - אני ממשיך לתקן תרגומים במקום לתקן קוד שלא עובד. על קוד אני אעבוד לקראת KDE 4.3. אולי, אם יהיה זמן… (2)
http://il.youtube.com/watch?v=1JynBEX_kg8
(1) האמת יש קהילת משתמשים מאוד גדולה באופן יחסי בארץ. אני מתלונן על קהילת המפתחים שנעלמה.
(2) וזה ילמד אותך!
10 תגובות
מאת elcuco, נושאים: עברית בלינוקס, אני שונא לינוקס, KDE 

25 בדצמבר, 2008
ברשימת דיוור של kde-i18n-doc המפתח של הפלסמואיד שמציג את הקומיקסים שאל אם יש איזה קומיקס מקומי.
יש חיה כזאת? יש חיה כזאת שתרצה שנבנה לי הגדרות כדי שכל העולם יראה את זה? אני מתנדב לעשות את העבודה אם אין בעיות רישוי והקומיקס מתוחזק מספיק. עם קצת מזל ואם ממהרים זה יכול להיות חלק מ־KDE 4.2.0.
2 תגובות
מאת elcuco, נושאים: עברית בלינוקס, גרסאות חדשות, KDE 