קטגוריה: שולחן עבודה

מימוש RDP טבעי בשפת רובי

על רגל אחת, RDP הם ראשי תיבות של Remote Desktop Protocol. אך השם מעט מטעה. זוהי למעשה אסופה של הרבה מאוד פרוטוקולים, חלקם אפילו לא של מיקרוסופט, אלא של ארגון ITU. למעשה הוא מבוסס על סדרה של פרוטוקולים שהחלו את דרכם בארגון ה ITU אשר נועדו לאפשר לתוכנות לשתף מידע ותכנים בניהם.

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

כל זה נעשה תחת מערכת שמבצעת הזדהות מול מערכת כדוגמת Active Directory בפרוטוקולים כדוגמת NTLM ו spnego, אשר האחרון, הוא מימוש הזדהות התומך גם בקרברוס למשל, כאשר התעבורה אמורה להיות מוצפנת בגישות שונות, בהתאם לתמיכה של שני הצדדים. על כל זה מופעל סוג של compression למידע.

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

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

כתובת הפרויקט: https://github.com/Safe-T/rdp-rb

Firebird וליברה אופיס

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

אישית, הוא תמיד ההתלבטות שלי לבין PostgreSQL, כי למעשה שניהם מתחרים, בניגוד לMariaDB/MySQL אשר לדעתי אינם באמת מספקים את הסחורה.
עד עכשיו הוא זכה להמון התעלמות דווקא מקהילת קוד פתוח ותוכנה חופשית, בניגוד לעולם הקנייני, אך נראה כי זה משתנה.

ביולי 2013, פרסמתי כי Base מקבל תמיכה בFirebird כחלק מפרוייקט SOC.

החל מגרסה 4.2, במידה ומפעילים תמיכה ביכולות נסיוניות, ניתן לקבל תמיכה בFirebird כמסד נתונים embedded עבור Base.
libreoffice base firebird בשביל לקבל תמיכה בדברים ניסיוניים בליברה, פשוט הולכים בתפריט ל Tools משם ל LibreOffice, משם ל Advanced ולוחצים על Enable experimental features.

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

ישנם המון סיבות לבצע את זה, כמו הצורך לגרום למנוע מבוסס ג'אווה לעבוד עם ++C, וכן התנהגות ומהירות אשר נפגמת בשימוש.

לאחרונה, גם נראה כי מפתחי Kexi כבר מדברים על הוספת מנוע  embedded של Firebird, אפילו ניתן לראות כי זה מופיע ברשימת הדריברים במימוש.

Firebird פוגש את ליברה אופיס

פרוייקט הפיתוח GSOC מבית גוגל כמובן, הביא לכך שנכון לשבוע שעבר, יש דריבר רשמי לFirebird בתוך LibreOffice Base.

הדריבר כרגע לא עושה כמעט כלום, כי זו רק התחלת הפיתוח, אבל הוא נבנה בעצם לאפשר לעבוד עם Firebird בתצורת Embedded כחלק מBase של ליברה.
כרגע אין תמיכה בקובץ חיצוני, או שרת חיצוני, אך מדברים על להוסיף תמיכה שכזו.

על מנת לגרום לו לעבוד בקובץ odb, יש לשנות הגדרות של

EmbeddedDatabases/DefaultEmbeddedDatabase/Value

מהערך של

sdbc:embedded:hsqldb

לערך:

sdbc:embedded:firebird

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

הבלוג המקורי בנושא. קוד המקור בgit.
 

הפצת לינוקס מול תוכנה

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

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

אז מה הן הבעיות ? הנה רשימה חלקית:

  • עדכון דחוף מידי של ספריות שזקוקים להם
  • חוסר עדכון של ספריות שזקוקים להם
  • תיקוני באגים של הפצה, השוברים אפליקציה
  • צורך בלשמור גרסאות כלים מסויימת
  • שימוש במספר גרסאות שונות של ספריות לביצוע עבודה (למשל שרת המחזיק מספר אתרים)
  • שוני בין הפצות שונות, קצב ההתקדמות שלהם, ניהול הקבצים בתוכם וכיוב' …
  • שינוי ABI/API בספריות שונות תלוי בגרסאות הספריה. להמשיך לקרוא

Windows 8 לפי סמי

זוכרים ששאלתי האם Windows 8 מציג סוף עידן למיקרוסופט ?

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

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

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

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

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

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

מיקרוסופט ו PC – סוף עידן (?)

מיקרוסופט השיקה את Windows 8. מערכת ההפעלה הזו מראש הגדירה ממשק אשר מתאים למערכות בעלות מסכי מגע, והחברה הגדירה כי זו הגישה שלה.

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

ms-surface - windows 8אני חייב לציין כי למעט מספר בעיות קטנות יחסית, כאשר מתעסקים עם Microsoft Surface בחומרה שאליה החברה כיוונה, המערכת מתפקדת מצויין ונוחה מאוד (כאמור למעט בעיות קטנות).

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

שלום גנום שלוש

הרבה שנים שאני עובד עם KDE 4. בגדול מאוד, זו אחת הסביבות הכי נהדרות שנבנו לעבודה.

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

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

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

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

אבל דווקא לאנשים שגולשים הרבה, או משתמשים ב IM (שגם כאן ארץ' שברו דברים בייחד עם עוד כמה דברים הקשורים לגנום 3), הגישה הנוכחית לדעתי הרבה יותר נוחה, מאשר הגישה הקלאסית. לפחות עבורי.

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

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

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

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

Display Quote ההמשך

עברו כבר 10 חודשים מאז שהפסקתי לעבוד על Display Quotes, אבל לאחרונה בגלל מספר סיבות, חזרתי לפרוייקט כסוג של מנוחה ורגיעה מסויימת.

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

display_quote_navigation_mode

החלטתי עכשיו לשים לעצמי 2 מטרות לגרסה שאני יוצר:

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

הבעיה עם פייסבוק, היא שאסור לי לפרסם את הסיסמה שהפרוייקט קיבל, ובנוסף אני צריך ליצור או להתחבר למימוש של OAuth2, אשר שונה מ OAuth1 למשל …

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

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

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

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

display_quote_edit_mode

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

לאחר שאסיים את 2 השלבים האלו, כנראה שהשלבים הבאים יהיו:

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

עוד רעיונות ממכם יתקבלו בברכה.

הקוד עצמו, ד"א כרגיל נמצא ב github.

זה ציפור, זה מטוס, זה kde 4 לא זה Windows 7

יצא לי אתמול פעם ראשונה לראות ולעבוד על Windows 7 במציאות.  טעם הWindows שעבדתי עליו היה Home Premium בעברית, ואני חייב לציין שידידות זו לא התוכנה הבולטת שלו.

הוא ממש מזכיר את KDE 4x אבל יש כמה דברים ממש בעייתיים בו שאני לפחות לא הצלחתי לגלות ולהבין למה הם עובדים כמו שהם עובדים ועוד יותר, איך לשנות אותם.

למשל ALT+SHIFT לשינוי שפה, שאישית זה אחד הדברים שהכי אהבתי בווינדוז וגם מוגדר אצלי בלינוקס, לא עובד. מה שכן עובד זה CTRL+SHIFT, אלא אם המחשב הנישא שעבדתי איתו החליף בין הכיתוב על המקשים שלו… אני גם לא רואה ומוצא איך להגדיר מציין שפה שיהיה גלוי .

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

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

ב W7 יש גם אפשרות למצוא ערכות נושא שממש מזכירות את Gnome, ובכלל כל המערכת והסביבה מזכירה כאילו לקחו את KDE 4 ואפילו כמה פיטצ'רים שהיו קיימים ב KDE3 והוסיפו אותם לסביבה הגרפית וקראו לזה Microsoft Windows 7. אולי היו צריכים לקרוא לזה "טעם KDE 4" ולסיים עניין 🙂

בשורה התחתונה, נראה כי מיקרוסופט עשו copy paste לסביבות לינוקס ואח"כ עוד אומרים שלינוקס לא ידידותית…

סוני ואיו ולינוקס

Sony VAIO vgn-nr498e

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

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