פלאנט תוכנה חופשית בישראל (Planet FOSS-IL)

19 June, 2018

ik

כיצד אני משווה טכנולוגיות

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

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

כיצד מתחילים?

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

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

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

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

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

ניסויים

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

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

עד כמה המידע שיש עדכני ומסייע לי להתעדכן?

אם אחזור לדגומא של React מול Vue.js. אז התיעוד של React מאוד מתפזר בתהחלה, ומנסה להסביר concept, בעוד שהתיעוד של Vue מאוד ממוקד מטרה – מה לצפות כאשר מתחילים לעבוד.
שימו לב, הדבר הראשון ש React עושים זה להציג Hello World. אנחנו לא מבינים כלום עוד, וכבר יש סוג של Tutorial כתיעוד, בלי קשר ל Tutorial.

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

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

אב טיפוס

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

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

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

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

דגשים שגויים

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

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

אבל מה זה משנה אם יש 10,000 כוכבים או 100,000,000 כוכבים בgithub?

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

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

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

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

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

סיכום

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

19 June, 2018 04:31 AM

18 June, 2018

Hetz Ben Hemo

מה קורה לתחום הסיסטם?

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

עד לפני מס' שנים, עוד לפני כניסת העננים לסצינה, תחום הסיסטם בחברות גדולות לדוגמא, היה די ברור: היו אנשי סיסטם מיקרוסופט, אנשי סיסטם לינוקס, אבטחת מידע היו אחראים על ה-Firewall ודברים אחרים שהיו קשורים לתחום, וצוות תקשורת שהיו אחראים על סוויצ'ים, כתובות IP, על VLAN וכל הדברים הקשורים לתקשורת, מרכזיות, WIFI וכו'.  אם היה צריך להתקין אפליקציות ושרתי אפליקציות (נניח Exchange, SharePoint ב-Windows, או MySQL/Oracle או שרת אפליקציות כמו Tomcat) – אז הצוות שאחראי על אותה מערכת הפעלה היה מתקין אותה והמשתמשים היו מוגדרים ברמת משתמש, לא ברמת Admin.

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

אם נסתכל בתחומים שאותו "איש Devops" צריך להכיר ולתפעל ולכתוב סקריפטים אליו (כן, הרבה פחות שימוש ב-GUI!) – אז הוא בעצם לוקח את תחום הסיסטם לינוקס הבסיסי, ומתרכז הרבה יותר בכלים שרצים על הלינוקס. זה מתחיל בניהול קוד, ממשיך לאוטומציה, סקריפטים, Python, JSON, YAML, ניהול חשבונות ומשאבים בענן כמובן, Jenkin/Travis/CircleCI וכו', והרשימה עוד ארוכה, תלוי בתחומים שהחברה עוסקת בהם, כלומר אם ניקח איש סיסטם לינוקס ממוצע שבחיים לא נגע ברוב הדברים שתיארתי לעיל חוץ מלינוקס, יש לו כיברת דרך ארוכה לעשות השלמות כדי להיות "איש Devops" מקצועי טוב. מה לגבי איש סיסטם מיקרוסופט? ובכן, רוב הכלים שתיארתי קיימים גם ל-Windows (היתרונות של קוד פתוח), אבל אחד הדברים הראשונים שהוא יצטרך להתרגל לרדת מהם, זה ה-GUI, לעבוד עם PowerShell באופן קבוע ומומלץ גם להכיר Python בדרך, ואז כמובן את הדברים שציינתי לעיל בתור התחלה.

אז מה, לכל אלו שההורים/סבתא/מענק שחרור מאפשר להם ללמוד סיסטם מיקרוסופט (MCSA) או לינוקס (RHCA, LPIC) – האם לוותר? בתחום מיקרוסופט לדעתי יש רוויה בשוק (ואשמח שהקוראים יתקנו אותי כי זה לא התחום שלי), בתחום הלינוקס לעומת זאת – יש דרישה, אבל בשתיהם מצפים שהמועמד ידע הרבה יותר ממה שהקורס מספק (ולא, קורס המשך כמו MCSE או RHCE לא יעזרו הרבה, מצפים יותר לידע שמגיע מתוך שימוש ונסיון, לא שתדקלם כמו תוכי). אם לדוגמא תפנה לסטארטאפים, אז הדבר האחרון שהם מחפשים – זה איש סיסטם (אני יודע כי אחרי 7 שנים של להיות פרילאנסר, קיבלתי סך הכל פעמיים בקשה לשרותי סיסטם או בקשות ל"שידוך" איש סיסטם שכיר ע"י חברות סטארטאפ).

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

לסיכום: אני מאמין שתחום הסיסטם יורד אט אט מהמכ"ם. כן, הוא בהחלט יהיה עדיין קיים בחברות שיש צוותי IT ושיש צוותים לכל פיפס, אך ככל שאותן חברות מכניסים ומטמיעים בעצם את מתודות ה-Devops, אותם אנשי סיסטם יהיו יותר ויותר מיותרים ומשם הדרך ל"רה-אירגון" ופיטורים (אחרי הכל, אם "איש ה-Devops" יודע לעשות מה שאתה עושה, למה צריכים אותך?)- אינה כה ארוכה ועלולה להגיע בהפתעה לסיום. לכן, אם אתם אנשי סיסטם והקריירה המקצועית שלכם חשובה, הגיע הזמן (אם לא עשיתם עד כה) לשדרג את עצמכם. קנו מחשב או 2, תקימו LAB (יש לי קטגוריה שלמה של פוסטים על כך פה בבלוג) ותתחילו ללמוד את הדברים הקשורים ל-Devops.

הטקסט המלא

18 June, 2018 06:32 PM

16 June, 2018

Gilad Ben-Yossef

ביל"ו Śūnyatā

מְתַרְגֵּל רֵיקוֹת בביל"ו סֶנְטֶר,
כָּל הָאֲ.נָשִׁים חוֹלְפִים עַל פָּנַי.

הַצְּבָעִים, הַקּוֹלוֹת, הַחֹם וְהָרַעַשׁ,
מְנַסִּים לִמְכֹּר לִי דְּבָרִים שֶׁאֲנִי לֹא צָרִיךְ.

זֶה יָפֶה וְחַם וְצִבְעוֹנִי וּמְתַעְתֵּעַ,
כְּמוֹ קִרְקָס שֶׁהִשְׁתַּגֵּע.

אֲנִי רוֹאֶה לָכֶם אֶת הַקַּרְטוֹן מֵצִיץ מֵהַתַּפְאוּרָה.
זְמַן לְשׁוּב בַּחֲזָרָה.

16 June, 2018 04:32 PM

15 June, 2018

Ilan Shavit

AppImage

בהמשך למאמר הקודם, הפעם אכתוב על AppImage:

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

דוגמא: אם תורידו את תוכנת Etcher מאתר המפתח תיווכחו שאתם מורידים קובץ דחוס (zip). חילוץ הקבצים יחלץ קובץ בודד: etcher-electron-1.4.4-x86_64.AppImage (שימו לב לסיומת AppImage). מתן הרשאות ריצה (במקרה הזה לא צריך) מאפשר הרצה מיידית של התוכנה.

מהיכן ניתן להוריד עוד קבצי AppImage? באתר של AppImage יש רשימה ארוכה של תוכנות שארוזות בפורמט AppImage.

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

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

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

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

15 June, 2018 05:34 AM

14 June, 2018

Hetz Ben Hemo

התחרות בין AMD לאינטל על ריבוי ליבות

תערוכת Computex שהיתה בטיוואן הסתיימה לפני מס' ימים. חברות הציגו כל מיני מוצרים או דיברו על מוצרים שעתידים לצאת. גם באינטל וגם ב-AMD דיברו על מעבדים שעתידים לצאת לשוק במהלך 2 הרבעונים הקרובים.

נתחיל מאינטל: היא הציגה את המעבד I7-8086K במלאת 40 שנה למעבד הנוסטלגי 8086 שהתחיל את כל מהפכת ה-PC. המעבד הזה הוא בעצם ה-I7-8700K רק שבתוכו יש פיסת סיליקון מובחרת שיכולה להיות מואצת למהירות 5 ג'יגהרץ (בחלק מהליבות, לא כולם) ואינטל דורשת עליו מחיר יותר גבוה מה-8700K.

אבל את עיקר הכותרות קיבלה אינטל מהצגת מעבד עתידי כלשהו שיכיל לא פחות מ-28 ליבות ושהודגם רץ במהירות 5 ג'יגהרץ. כל מי שקצת מבין בכמות ליבות פר מעבד ובמהירות שעון וראה את ההכרזה – חכך את ראשו כי המספרים לא ממש מסתדרים, ורק אחרי ההדגמה התגלה ה"טריק" של אינטל: הם לקחו בעצם מעבד מאוד יקר ממשפחת השרתים (השמועות מדברות על Xeon SP Platinum 8180 שעולה 10000$), ביטלו לו את נעילת ההאצה, והדגימו אותו על לוח אם סופר-מפלצתי והקירור היה קירור מאסיבי – Chiller שדורש 1000W בקירור מים. כל הטרראם הזה הוא אינו פתרון שאינטל יכולה למכור (זה לא פתרון שאתה יכול לרכוש הביתה או לחדר שרתים בחברה אלא אם יש לך מערכת הזנת חשמל מאוד גבוהה) וסביר להניח שאינטל גם לא תמכור מעבד כזה במהירות הזו (תזכרו – בשביל פתרון כזה צריך ספקי כח מיוחדים, לוח אם מיוחד וחתיכת פתרון קירור חיצוני). מדוע אינטל לא ציינו בהדגמה שמדובר ב-Overclock? כי הם "שכחו".

מדוע בעצם אינטל נכנסים לתחרות הזו? כי AMD המתחרים יכריזו למחרת על מעבדי Threadripper עם 32 ליבות (ולאינטל יש מחלקת ריגול שלמה כך שהם יודעים על הדברים מראש) אז הם יצאו בהכרזה מוקדמת על מעבד חדש. האם כדאי להתחיל להתלהב ואולי בהמשך לרכוש מעבד כזה? אני בספק. סביר להניח שכשאינטל תמכור מעבד כזה, המחיר שלו יהיה לא פחות מ-4000$, ועדיף לחברות שרוצות דבר כזה ורק מעבדים של אינטל – לרכוש מכונה עם 2 מעבדים עם 14 ליבות (כמו ה-i9-7940X או מה שאינטל תוציא בחודשים הקרובים), שם המחיר יהיה הרבה זול וצריכת החשמל תהיה נמוכה בהרבה. אינטל גם הכריזה לאחר הכנס כי יהיה גם מעבד עם 22 ליבות לצרכנים (שוב, כמו ה-Xeon SP Gold 6152).

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

נעבור מכך, אם כן – ל-AMD.

בכנס של AMD הכריזו על מספר מוצרים עתידיים (בלי יותר מדי פרטים) ועל מעבדי ה-Threadripper החדשים שיקבלו את ארכיטקטורת +Zen שתשפר ביצועים בכל הקשור לתקשורת פנימית בין הליבות ותקשורת עם הזכרון, וכאן AMD הכריזה על 2 מעבדים חדשים במשפחת ה-Threadripper: מעבד אחד עם 24 ליבות ומעבד שני עם 32 ליבות. AMD שמחו להציג את תוכנת Blender עם השוואה מול המעבד ה-i9-7980XE של אינטל שמכיל 18 ליבות וכמובן שהמעבד עם 24 ליבות של AMD ניצח. באותו הזדמנות AMD הציגו שוב את Blender עם 32 ליבות אולם הפעם ההשוואה היתה ללא תצוגה מהצד של אינטל.

הבעיה ב-2 המעבדים החדשים פשוטה וקשורה למשפחת ה-Threadripper שהוא בעצם גירסה קצוצה של מעבדי EPYC לשרתים של AMD. במעבדי EPYC, תצורת הזכרון היא 8 ערוצים (כלומר אם נניח אתם רוצים שיהיה בשרת 128 ג'יגהבייט זכרון, עליכם למלא את כל 8 התושבות במקלות של 16 ג'יגהבייט ולא 4 מקלות של 32 ג'יגהבייט כדי לקבל ביצועים אופטימליים). ב-Threadripper תצורת הזכרון היא כמחצית מכך (4 ערוצים) כי Threadripper במקור היה עד 16 ליבות והיה צורך על כל רביעיית ליבות למלא זכרון ב-4 תושבות. עם המעבדים החדשים לעומת זאת, תצורת הזכרון נשארת אותו דבר כך שמעבד עם 32 ליבות, כך שמחצית מהליבות לא מקבלים גישה ישירה לזכרון, מה שפוגע בביצועים. נוסיף את הנקודה ש-AMD מדגישה תאימות לאחור (כך שאם יש לך מערכת עם Threadripper ואתה רוצה לשדרג למעבד עם 32 ג'יגהבייט זכרון, כל מה שתצטרך לעשות הוא פשוט לשדרג BIOS/UEFI ולהחליף לאחר מכן מעבד, רק אל תנסו לעשות Overclocking, לשם כך תצטרכו לוח חדש יותר עם אותם חלקים אך עם ערכת VRM משופרת, המעבדים החדשים צריכים יותר מתח).

יוצא מכך שההכרזות של AMD על מעבדי Threadripper החדשים (שיצאו באוגוסט) הם לא משהו שכל כך שווה להתלהב ממנו. כן, סביר להניח ש-AMD ימכרו מעבדי Threadripper עם 32 ליבות ו-64 ניבים במחיר של פחות מ-2000$ (מעבד לשרתים EPYC 7551P עם 32 ליבות עולה כיום 2300$) ומי שרוצה מעבדי AMD עם 32 ליבות ומקסימום ביצועים למעבד, עדיף שירכוש את EPYC (כותב שורות אלו מתכנן להחליף מספר שרתים בפתרונות מבוססי EPYC, הביצועים בוירטואליזציה מעולים בהשוואה למחיר פר מעבד ובצריכת החשמל שלהם).

לסיכום: גם ב-AMD וגם באינטל הבינו – לקוחות תחנות עבודה מקצועיות ומשתמשים מקצועיים רוצים מעבדים עם יותר ליבות ואותן חברות ישמחו לספק זאת, אבל יחד עם זאת, כדאי מעט לצנן את ההתלהבות. כבר כיום ניתן לקבל מספר גבוה של ליבות מבלי לקרוע את הכיס. לגבי שרתים – מלחמת הליבות תתחיל בשנה הבאה, כאשר AMD תכריז על מעבדי EPYC עם 48 ליבות במעבד או 96 ליבות בתצורת מעבדים כפולים ונראה מה אינטל תציג.

הטקסט המלא

14 June, 2018 08:57 PM

11 June, 2018

Boris Shtrasman

מי צריך dualboot בכלל ?

לא ממש בטוח בשביל אנשי GNU ודביאן ...
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

זהו ? בטוחים ? אז הנה התמונה שתעלה  רגשות מעורבים :





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

המכונה המתארחת היא windows 10 תת גירסה 1803.


היופי הזה התקבל ע"י הסכמה להסכם השירות של virtualbox-ext-pack ושימוש ב vbox (שהוא לא בדיוק חופשי אבל נניח).

sudo apt install virtualbox virtualbox-dkms virtualbox-ext-pack

מה שהותקן אצלי הוא 5.2.10


בדיקת המחיצות שחלונות צריך לראות (כל מה שהיה לפניה) :

sudo fdisk -l /dev/sda
Disk /dev/sda: 238.5 GiB, 256060514304 bytes, 500118192 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xffffff

Device Boot Start End Sectors Size Id Type
/dev/sda1 63 80324 80262 39.2M
/dev/sda2 * 81920 25767935 25686016 12.3G 7 HPFS/NTFS/exFAT
/dev/sda3 25767936 500113407 474345472 226.2G 7 HPFS/NTFS/exFAT

יצירת דיסק שייגש לכונן ישירות :

sudo VBoxManage internalcommands createrawvmdk \
     -filename "/home/user/VirtualBox VMs/win10.vmdk"\
     -rawdisk /dev/sda -partitions 1,2,3      

וכמובן שינוי הרשאות בחזרה לכל מה שיש תחת 
/home/me/VirtualBox VMs/ 
לבעלות של המשתמש הנוכחי:

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

 לאחר מכן בVirtualBox צריך לייצר מכונת windows X64 אבל לבקש להשתמש בקובץ שייצרנו (win10.vmdk) להגיד תפילה ולקוות שלא נחטוף BSOD בפנים.

בדומה לבדיחה הרגילה, היו בעיות קול (קול מתכתי) אבל זה ככל הנראה בעיית הגדרה מקומית .

11 June, 2018 06:36 AM

10 June, 2018

Gabor Szabo

Craft Conf 2018 retrospective

For the full article visit Craft Conf 2018 retrospective

10 June, 2018 07:50 AM

ik

מחשבות על Github ומיקרוסופט

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

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

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

  1. מלחמה טובה לעסקים.
  2. שלום טוב לעסקים

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

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

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

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

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

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

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

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

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

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

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

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

10 June, 2018 05:17 AM

09 June, 2018

Ilan Shavit

AppImages, Snappy ו- Flatpak

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

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

09 June, 2018 02:06 PM

06 June, 2018

Itzik Kotler

Fixating On Vulnerabilities Is A Vulnerability

You almost have to admire the hackers. Almost. Technology research firm Gartner (via Forbes) estimates that companies will spend $93 billion on cybersecurity technologies in 2018. Yet, according to a recent study by security firm Norton (via MIT Technology Review), the relentless efforts of the global hacking community still netted $172 billion in ill-gotten gains. There’s no indication that things will be any different this year. Why do the hackers continue to succeed? What must industry do to make hacking a less profitable venture for the adversary?

To better understand and answer these questions, it’s useful to examine the hackers’ successes and look for consistencies. But first, let’s define a word that is often misused or misunderstood in cybersecurity discussions: vulnerability.


Read the full article at Forbes here

Full text

06 June, 2018 01:50 AM

03 June, 2018

Rabin Yasharzadeh

Convert certificate format with OpenSSL

Convert a PEM file to DER (crt etc)

$ openssl x509 -outform der -in certificate.pem -out certificate.crt

Convert a PKCS#12 file (.pfx .p12) containing a private key and certificates to PEM

$ openssl pkcs12 -in keyStore.pfx -out keyStore.pem -nodes

Convert a PEM certificate file and a private key to PKCS#12 (.pfx .p12)

$ openssl pkcs12 -export -out certificate.pfx -inkey privateKey.key -in certificate.crt -certfile CACert.crt

 

03 June, 2018 09:25 AM

01 June, 2018

Boris Shtrasman

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


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

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

לאחר ששלושה מחשבים ניידים עם כונני DVD נכשלו בקריאה  - שמעתי את המנוע משנה מהירות , אבל אין כלום ב dmesg ועגינה ידנית הוגיע שאין מדיה :

mount /dev/sr0 /media/cdrom
mount: no medium found on /dev/sr0

מכיוון שהתקשתי להאמין שכל המדיות תקולות הלכתי ורכשתי כונן DVD חיצוני (מזוהה כ):

CD-ROM            HL-DT-ST DVDRAM GP57EB40  PF00 PQ: 0 ANSI: 0

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

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

מרבית הדיסקים שנבדקו היו תקולים , היו גם  גם DVD-Rים וגם CDR-Rים, כמעט ולא היו מדיות DVD-RW/CDR-RW.

חלק מהתקלות היו בסגנון ה :

[10190.308097] sr 4:0:0:0: [sr0] tag#0 FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
[10190.308119] sr 4:0:0:0: [sr0] tag#0 Sense Key : Illegal Request [current]
[10190.308132] sr 4:0:0:0: [sr0] tag#0 Add. Sense: Logical block address out of range
[10190.308146] sr 4:0:0:0: [sr0] tag#0 CDB: Read(10) 28 00 00 03 30 96 00 00 01 00 00 00
[10190.308154] blk_update_request: critical target error, dev sr0, sector 836184


המדיות היו של  silver-line  , TDK , משהוא ללא שם  G-Platinum , office-depot  , GPT

3 דיסקים ככל הנראה בין השנים 1999 - 2000 היו תקינים (TDK) .

דיסקים של סילברליין ( CD-R ו DVD-R ) בין השנים 2002 - 2010 כמעט כולם  פרט לשניים היו תקולים כל הדיסקים שהיו לי משנת 2011 ומעלה כולם תקינים.


השמדתי וזרקתי את המדיות הפגומות , ומה שהצלחתי לקרוא גיביתי מחדש והשמדתי את הקודמים.
הגיבויים בין השנים 2002 ו 2010 הכילו קובץ בודד בד"כ.

אז חשוב לא רק לייצר גיבויים אלא גם לבדוק שהם לא עוברים לעולם שכולו טוב.

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

01 June, 2018 05:42 PM

27 May, 2018

Gabor Szabo

Flawed democracy

For the full article visit Flawed democracy

27 May, 2018 06:53 AM

22 May, 2018

Shlomi Noach

MySQL master discovery methods, part 5: Service discovery & Proxy

This is the fifth in a series of posts reviewing methods for MySQL master discovery: the means by which an application connects to the master of a replication tree. Moreover, the means by which, upon master failover, it identifies and connects to the newly promoted master.

These posts are not concerned with the manner by which the replication failure detection and recovery take place. I will share orchestrator specific configuration/advice, and point out where cross DC orchestrator/raft setup plays part in discovery itself, but for the most part any recovery tool such as MHA, replication-manager, severalnines or other, is applicable.

We discuss asynchronous (or semi-synchronous) replication, a classic single-master-multiple-replicas setup. A later post will briefly discuss synchronous replication (Galera/XtraDB Cluster/InnoDB Cluster).

Master discovery via Service discovery and Proxy

Part 4 presented with an anti-pattern setup, where a proxy would infer the identify of the master by drawing conclusions from backend server checks. This led to split brains and undesired scenarios. The problem was the loss of context.

We re-introduce a service discovery component (illustrated in part 3), such that:

In a failover/service discovery/proxy setup, there is clear ownership of duties:

Depending on the technologies used, we can further achieve:

We explain the setup using the following assumptions and scenarios:

A non planned failover illustration #1

Master M has died, the box had a power failure. R gets promoted in its place. Our recovery tool:

The proxy:

The app:

A non planned failover illustration #2

Master M gets network isolated for 10 seconds, during which time we failover. R gets promoted.

Everything is as before.

If the proxy kills existing connections to M, then the fact M is back alive turns meaningless. No one gets through to M. Clients were never aware of its identity anyhow, just as they are unaware of R's identity.

Planned failover illustration

We wish to replace the master, for maintenance reasons. We successfully and gracefully promote R.

Discussion

This is a setup we use at GitHub in production. Our components are:

As mentioned earlier, the apps need not change anything. They connect to a name that is always resolved to proxy boxes. There is never a DNS change.

At the time of failover, the service discovery component must be up and available, to catch the change. Otherwise we do not strictly require it to be up at all times.

For high availability we will have multiple proxies. Each of whom must listen on changes to K/V. Ideally the name (cluster1-writer.example.net in our example) resolves to any available proxy box.

See also:

Sample orchestrator configuration

An orchestrator configuration would look like this:

  "ApplyMySQLPromotionAfterMasterFailover": true,
  "KVClusterMasterPrefix": "mysql/master",
  "ConsulAddress": "127.0.0.1:8500",
  "ZkAddress": "srv-a,srv-b:12181,srv-c",
  "PostMasterFailoverProcesses": [
    “/just/let/me/know about failover on {failureCluster}“,
  ],

In the above:

See orchestrator configuration documentation.

All posts in this series

22 May, 2018 08:45 AM

MySQL master discovery methods, part 1: DNS

This is the first in a series of posts reviewing methods for MySQL master discovery: the means by which an application connects to the master of a replication tree. Moreover, the means by which, upon master failover, it identifies and connects to the newly promoted master.

These posts are not concerned with the manner by which the replication failure detection and recovery take place. I will share orchestrator specific configuration/advice, and point out where cross DC orchestrator/raft setup plays part in discovery itself, but for the most part any recovery tool such as MHA, replication-manager, severalnines or other, is applicable.

We discuss asynchronous (or semi-synchronous) replication, a classic single-master-multiple-replicas setup. A later post will briefly discuss synchronous replication (Galera/XtraDB Cluster/InnoDB Cluster).

Master discovery via DNS

In DNS master discovery applications connect to the master via a name that gets resolved to the master's box. By way of example, apps would target the masters of different clusters by connecting to cluster1-writer.example.net, cluster2-writer.example.net, etc. It is up for the DNS to resolve those names to IPs.

Issues for concern are:

As long as things are stable and going well, discovery via DNS makes sense. Trouble begins when the master fails over. Assume M used to be the master, but got demoted. Assume R used to be a replica, that got promoted and is now effectively the master of the topology.

Our failover solution has promoted R, and now needs to somehow apply the change, such that the apps connect to R instead of M. Some notes:

A non planned failover illustration #1

Master M dies. R gets promoted. Our tool instructs all DNS servers on all DCs to update the IP address.

Say TTL is 60 seconds. Say update to all DNS servers takes 10 seconds. We will have between 10 and 70 seconds until all clients connect to the new master R.

During that time they will continue to attempt connecting to M. Since M is dead, those attempts will fail (thankfully).

A non planned failover illustration #2

Master M gets network isolated for 30 seconds, during which time we failover. R gets promoted. Our tool instructs all DNS servers on all DCs to update the IP address.

Again, assume TTL is 60 seconds. As before, it will take between 10 and 70 seconds for clients to learn of the new IP.

Clients who will require between 40 and 70 seconds to learn of the new IP will, however, hit an unfortunate scenario: the old master M reappears on the grid. Those clients will successfully reconnect to M and issue writes, leading to data loss (writes to M no longer replicate anywhere).

Planned failover illustration

We wish to replace the master, for maintenance reasons. We successfully and gracefully promote R. We need to change DNS records. Since this is a planned failover, we set the old master to read_only=1, or even better, we network isolated it.

And still our clients take 10 to 70 seconds to recognize the new master.

Discussion

The above numbers are just illustrative. Perhaps DNS deployment is quicker than 10 seconds. You should do your own math.

TTL is a compromise which you can tune. Setting lower TTL will mitigate the problem, but will cause more hits on the DNS servers.

For planned takeover we can first deploy a change to the TTL, to, say, 2sec, wait 60sec, then deploy the IP change, then restore TTL to 60.

You may choose to restart apps upon DNS deployment. This emulates apps' awareness of the change.

Sample orchestrator configuration

orchestrator configuration would look like this:

  "ApplyMySQLPromotionAfterMasterFailover": true,
  "PostMasterFailoverProcesses": [
    "/do/what/you/gotta/do to apply dns change for {failureClusterAlias}-writer.example.net to {successorHost}"
  ],  

In the above:

See orchestrator configuration documentation.

All posts in this series

22 May, 2018 08:44 AM

20 May, 2018

Guy Rutenberg

Google Adsense for Wordpres – No Plugin Needed

Adding Google Adsense ads to your your WordPress blog was a tedious task. Either you needed to manually modify your theme, or you had to use a plugin, such as Google’s own Adsense plugin. Even then, placements were limited and handling both mobile and desktop themes was complicated at best. Recently, two things have changed: Google retired the Adsense plugin and introduced Auto Ads.

At first, the situation seemed like it turned for the worse. Without the official plugin, you had to resort into using a third-party plugin or manually placing ads in your theme. But Auto ads made things much simpler. Instead of having to manually place your ads, you can let Google do it for you. It works great on both desktop and mobile theme.

The easiest way to enable Auto ads is using a child theme. First, you need to get the Auto ads ad code. Nextg, in your child theme’s functions.php add the following lines, making sure to replace the javascript snippet with your own one.

// Add Google Adsense
function my_google_adsense_header() {
?>
<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<script>
     (adsbygoogle = window.adsbygoogle || []).push({
          google_ad_client: "ca-pub-4066984350135216",
          enable_page_level_ads: true
     });
</script>
<?php
}
add_action( 'wp_head', 'my_google_adsense_header');

20 May, 2018 06:11 PM

08 May, 2018

Rabin Yasharzadeh

Running Java GUI application in Docker

This is a more specific use case of running GUI application with Docker, the procedure is pretty simple (and most option are common for most GUI application), You mount the UNIX socket for the display server, and define the DISPLAY variable, mount any necessary volumes you need the application to have access to, and if you need any unique network access define this as well.

In my use case, I need to run a GUI application to manage a remote DB in a isolated environment which can only be reached via VPN or ssh tunneling, and so I need the container to have access to a tunnel I create, and this is why I’m using the host network option.

First building the running container

FROM docker.io/java

RUN /usr/sbin/useradd --comment Developer \
                  --home-dir /home/developer \
                  --non-unique --uid 1000 --user-group --system \
                  --shell /bin/bash developer && mkdir -p /home/developer

RUN chown -R developer:developer /home/developer && mkdir -p /opt/app && chown -R developer:developer /opt/app

RUN echo 'developer ALL=(ALL) NOPASSWD: ALL' >> /etc/sudoers

USER developer
ENV HOME /home/developer
VOLUME /opt/app

build it with

docker build -t java-app - < /path/to/Dockerfile

and now we can set a small bash script to run the application for us,

#!/bin/bash

CONTAINER='java-app'

docker run -ti --rm \
        -e _JAVA_OPTIONS='-Dawt.useSystemAAFontSettings=lcd -Dswing.defaultlaf=com.sun.java.swing.plaf.gtk.GTKLookAndFeel' \
        -e DISPLAY=$DISPLAY \
        -v /tmp/.X11-unix:/tmp/.X11-unix \
        -v /usr/share/fonts:/usr/share/fonts:ro \
        -v /opt/DbVisualizer:/app \
        -v /home/${USER}/.config/dbvis:/home/developer/.dbvis:z \
        --security-opt label=type:container_runtime_t \
        --network=host \
        "${CONTAINER}" /app/dbvis

In the above example I’m using DbVisualizer as I wanted to test the application without contaminating my system with all the Java runtime requirements.

I also mount my local fonts folder to the container, as I like to use some mono fonts I have in my system, and also exporting few JAVA_OPTIONS to enable anti-aliasing and having a better interaction with my desktop environment.

Resources

08 May, 2018 08:09 AM

07 May, 2018

Meir Kriheli

מצגת ההרצאה NoORM

למרות כותרת ההרצאה הפרובוקטיבית, ההרצאה שלי ב־PyWeb-IL 75 עוסקת במקרים בהם עלינו לעזוב את מחוזות ה-ORM/ODM.

מצגת ההרצאה NoORM זמינה בעמוד הרצאות ומצגות.

07 May, 2018 09:26 PM

05 May, 2018

Guy Rutenberg

Google Analytics for WordPress

To set up Google Analytics tracking for WordPress you don’t need any third-party plugin. It can be easily done using a child theme. A child theme, is a code that modifies the current theme in a way that won’t interfere with future upgrades. To enable Google Analytics, start by creating a child theme using the official documentation.

Now, you need to get you Google Analytics tracking code. Over the years the tracking code had a few different versions. You should make sure you are getting the latest tracking code, which currently looks like:

<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-380837-9"></script>
<script>
  window.dataLayer = window.dataLayer || [];
  function gtag(){dataLayer.push(arguments);}
  gtag('js', new Date());

  gtag('config', 'UA-380837-9');
</script>

To get the tracking code, follow the instructions on this page.

Now we add the tracking code to each page using the child theme. In your child theme’s directory, edit the functions.php file and add the following lines. Replace the tracking code with the one you acquired.

// Add Google Analytics tracking
function my_google_analytics_header() {
?>
<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-380837-9"></script>
<script>
  window.dataLayer = window.dataLayer || [];
  function gtag(){dataLayer.push(arguments);}
  gtag('js', new Date());

  gtag('config', 'UA-380837-9');
</script>
<?php
}
add_action( 'wp_head', 'my_google_analytics_header');

This adds the tracking code to the <head> of every page.

05 May, 2018 12:58 PM

27 April, 2018

Lev Meirovitch

Say hello to the new math!

Yesterday at my company, some of my department stopped work for a day to participate in an “enrichment” course. We are a large company that can afford such things, and it can be interesting and useful. We even have the facilities for lectures right at the office (usually used for instructing new hires) so it […]

27 April, 2018 08:34 AM

25 April, 2018

Arie Skliarouk

GRUB-based multiple iso booting flash drive

With huge USB flash drives of today it is sad that one can't easily put several bootable ISO images on it and have nice on-boot selection menu.

GRUB to the rescue!

Historically GRUB is being used for hard disks and syslinux for floppies and flash drives. But nothing prevents using GRUB for flash drives as well. Here are instructions for creating bootable GRUB-based USB flash drive (disk on key):

  1. Create vfat partition. For big drives you must use fat32 format.
  2. Unpack the http://skliarie.meshanet.com/skliarie_blog/boot.tar.gz onto it. It will create single directory boot on the drive.
  3. Customize boot/grub/grub.cfg file, put iso images accordingly
  4. On linux box, put bootable MBR onto the DOK (for example on /dev/sdf):
    1. mount /dev/sdf /mnt/dok
    2. grub-install --force --no-floppy --root-directory=/mnt/dok /dev/sdf
    3. umount /mnt/dok 

    Caveats:

    The ISO image must support GRUB-based booting. Specifically it must be smart enough to locate ISO image on the DOK using parameters specified in grub.cfg file.

    Latest Ubuntu and Debian based ISO images are known to work.

    Thanks to Jonathan Vollebregt there is a way to boot knoppix as well. You will need custom initrd, with your flash drive specific tuning. I built one for mine: knoppix_minirt.gz, you are free to take and modify it according to your DOK and filesystem parameters. Important commands here are:
    1. Unpack the initrd
      gzip -dc /mnt/dok/boot/knoppix/minirt_ska.gz | cpio -i
    2. Modify the init file (put sector numbers that are correct for your DOK)
    3. Compress back the initrd
      find ./ | cpio -H newc -o | gzip -9 -c > /mnt/dok/boot/knoppix/minirt_ska.gz
    Please send me GRUB stanzas for other ISO images and I will put them into the grub.cfg file.

    25 April, 2018 08:21 AM

    adaptec CLI management tool

    Recently I had to install adaptec CLI management tool on an ubuntu 8.10 amd64 server. Despite the fact that aacraid driver is present in kernel, it took me a lot of time to find the management tools that allow to see the RAID status and manipulate it from command line. There are several names for the tools: afacli, aaccli, afaapps, afa-apps-snmp, arcconf, hrconf... oh my!
    After I found the necessary tools (64bit arch), I packaged them into a tiny deb package adaptec-utils_0.0.1_amd64.deb, which can be downloaded from here: DELETED_AS_REDISTRIBUTION OF BINARIES_IS_PROHIBITED_BY_ADAPTEC

    Also, I wrote a simple monitoring script (included in the deb package) that checks the state of the Adaptec RAID system and sends out an email if any of the published indicators is wrong (battery, failed disks, etc). The script can be downloaded from here:
    http://skliarie.meshanet.com/skliarie_blog/adaptec-utils/adaptec_check.sh

    Note that the script requires proprietary binary files to be installed. See the beginning of the script for the details.

    25 April, 2018 08:20 AM

    17 April, 2018

    Diego Iastrubni

    כרומבוק – מחשב מיותר

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

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

    מבחינת חומרה. המסך מאוד בהיר, לא בעל רזולוציה טובה למדי… אבל הצבעים יחסית לא רעים, הרמקולים לא רעים (אני משווה אותם למחשב ThinkPad – אבל יותר מבריק וחזק). הסוללה מחזיקה בין (לפי הדיווח של מערכת ההפעלה) בין 9-13 שעות. המקלדת סבירה מינוס, הלחיצה היא יותר טובה מאשר במחשב HP שהיה לי פעם, אבל לא בגודל אמיתי (נניח 75%). אין מסך מגע, וה-trackpad נוראי וקטן.

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

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

    הטקסט המלא

    17 April, 2018 03:39 PM

    16 April, 2018

    Hamakor

    כנסים, כנסים, ופעילויות נוספות

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

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

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

    מלבד הארועים אותם אנו מארגנים, אנו לוקחים חלק גם בארועים נוספים העוסקים בקוד פתוח. כך למשל, נשתתף כמרצים בכנס Open Source World של אנשים ומחשבים, שיתקיים ב-30 באפריל.

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

    16 April, 2018 05:47 PM

    10 April, 2018

    Ilya Sher

    List of JSON tools for command line

    I am considering making a JSON parsing and generating command line tool. Started with looking around a bit. Below is a list of existing JSON command line tools. Numbers are [GitHub stars] at the time of writing this post. (… contributed by …) means that this post was updated with the item.

    Honorable mentions

     


    If you feel that some project is missing from the list, please let me know in comments below.

    10 April, 2018 06:22 AM

    08 April, 2018

    Ilya Sher

    Unix safety tip: use rmdir

    About to remove an empty directory? Use rmdir, not rm -rfrmdir will not remove the directory if it’s not empty. Make it a habit. Thank me once every 2 to 20 years when you don’t remove your stuff by accident.

    08 April, 2018 06:46 PM

    28 March, 2018

    Lior Kaplan

    Document Freedom Day

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

    אך בעוד מסמכי נייר אפשר לקרוא תמיד (למעט ענייני נזקים פיזיים), את המסמכים הדיגיטלים לא בטוח שנוכל לקרוא. יום חופש המסמכים מדבר בדיוק על החלק של "נגישים לחלוטין לכל אדם". האם נוכל לקרוא את המסמכים שהממשלה יצרה לפני 20 שנה עם Microsoft Word 6? מה לגבי מסמכים שנכתבו בשנות הש-80 וה-90 המוקדמות? (לדוגמה: מסמכי העלייה הרוסית, תיעוד שקשור למלחמת המפרץ). הבעיות כמובן גם קיימות בגרסאות מאוחרות יותר של התוכנה.

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

    לשמחתי, גם ב-Microsoft Word יש בשנים האחרונות תמיכה ב-ODF, כך שנשאר בעיקר להגדיר את הפורמט כמחייב לכל הרשויות. האם Israel State Archives – ארכיון המדינה ירים את הכפפה?

    (ה-28 במרץ הוא יום חופש המסמכים #OpenStandard #ODF )

    28 March, 2018 07:27 PM

    19 March, 2018

    Tom Bigelajzen

    Font Progress Update

    The Ubuntu Font Hebrew v0.8 Design PrototypeThere was some progress made this week, especially with fine tuning the letters and revising those letters I’m not so sure about.
    The one letter I’m struggling with is Aleph (א), I can’t seem to find the right balance.

    I got a lot of feedback and many good tips, thank you everybody 🙂
    I’m doing my best to take them all into account.

    I was trying to add some Hebrew glyphs to a font file, but the free font creation programs I tried (FontForge and the Demo of TypeTool) are not so friendly, it will take some more time to do.

    Links to v0.8:
    PDF file
    Illustrator CS4 File

    19 March, 2018 08:15 AM

    Ubuntu Font Hebrew Subset now has an issue on Launchpad

    The Ubuntu Font Hebrew v0.8 Design PrototypeI opened an issue on launchpad and it was added to the Ubuntu Font Family Wishlist queue.

    As an added bonus Mark Shuttleworth himself gave his blessing to this design effort (!)
    It was a fun mail to start the day with 🙂

    I want to quote one thing he wrote:

    It *would* be useful if you could start building up a Hebrew community that can provide early and accurate feedback to DM when they start the Hebrew design process.

    And later, Paul Sladen wrote:

    developing a typeface takes a very long-time (months and months), and although
    work on Hebrew won’t be incorporated until the Ubuntu 11.04 development cycle,
    it is very useful to start working on it now!

    So, I really want to start working on it seriously (too bad I didn’t start this before August Penguin…)
    This week I guess I’ll finish the initial design with the good tips I got from Paul Sladen and from Maxim Ioresh, but this is only the beginning:

    A real OpenType font must be created and refined, people need to test it, to find where it breaks.
    And there are more variants –  we have to do the Bold font, the Italic and Bold Italic, and by the time these will be finished there most likely be some Condensed variants too… so I need designers, typographers and testers to pitch in, we have a bit more than 6 months, it’s enough, but not a lot of time for a community project.

    Original post: http://tombigel.com/2010/08/26/hebrew-for-the-ubuntu-font/

    This is fun! I love Open Source.

    19 March, 2018 08:15 AM

    18 March, 2018

    Hamakor

    הודעה על אסיפה כללית של עמותת המקור – 28.3.2018

    בתאריך 28.3.2018 בשעה 19:00 תכונס אסיפה כללית רגילה של עמותת המקור – עמותה ישראלית לתוכנה חופשית ולקוד – מקור פתוח (ע"ר). אסיפת העמותה תתכנס במשרדי חברת מטיפיק, במגדל משה אביב קומה 51, דרך ז'בוטינסקי 7 רמת גן.

    על סדר היום:

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

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

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

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

    18 March, 2018 06:37 PM

    06 March, 2018

    Amir Aharoni

    The Curious Problem of Belarusian and Igbo in Twitter and Bing Translation

    Twitter sometimes offers machine translation for tweets that are not written in the language that I chose in my preferences. Usually I have Hebrew chosen, but for writing this post I temporarily switched to English.

    Here’s an example where it works pretty well. I see a tweet written in French, and a little “Translate from French” link:

    Emmanuel Macron on Twitter.png

    The translation is not perfect English, but it’s good enough; I never expect machine translation to have perfect grammar, vocabulary, and word order.

    Now, out of curiosity I happen to follow a lot of people and organizations who tweet in the Belarusian language. It’s the official language of the country of Belarus, and it’s very closely related to Russian and Ukrainian. All three languages have similar grammar and share a lot of basic vocabulary, and all are written in the Cyrillic alphabet. However, the actual spelling rules are very different in each of them, and they use slightly different variants of Cyrillic: only Russian uses the letter ⟨ъ⟩; only Belarusian uses ⟨ў⟩; only Ukrainian uses ⟨є⟩.

    Despite this, Bing gets totally confused when it sees tweets in the Belarusian language. Here’s an example form the Euroradio account:

    Еўрарадыё   euroradio    Twitter double.pngBoth tweets are written in Belarusian. Both of them have the letter ⟨ў⟩, which is used only in Belarusian, and never in Ukrainian and Russian. The letter ⟨ў⟩ is also used in Uzbek, but Uzbek never uses the letter ⟨і⟩. If a text uses both ⟨ў⟩ and ⟨і⟩, you can be certain that it’s written in Belarusian.

    And yet, Twitter’s machine translation suggests to translate the top tweet from Ukrainian, and the bottom one from Russian!

    An even stranger thing happens when you actually try to translate it:

    Еўрарадыё   euroradio    Twitter single Russian.pngNotice two weird things here:

    1. After clicking, “Ukrainian” turned into “Russian”!
    2. Since the text is actually written in Belarusian, trying to translate it as if it was Russian is futile. The actual output is mostly a transliteration of the Belarusian text, and it’s completely useless. You can notice how the letter ⟨ў⟩ cannot be transliterated.

    Something similar happens with the Igbo language, spoken by more than 20 million people in Nigeria and other places in Western Africa:

     4  Tweets with replies by Ntụ Agbasa   blossomozurumba    Twitter.png

    This is written in Igbo by Blossom Ozurumba, a Nigerian Wikipedia editor, whom I have the pleasure of knowing in real life. Twitter identifies this as Vietnamese—a language of South-East Asia.

    The reason for this might be that both Vietnamese and Igbo happen to be written in the Latin alphabet with addition of diacritical marks, one of the most common of which is the dot below, such as in the words ibụọla in this Igbo tweet, and the word chọn lọc in Vietnamese. However, other than this incidental and superficial similarity, the languages are completely unrelated. Identifying that a text is written in a certain language only by this feature is really not great.

    If I paste the text of the tweet, “Nwoke ọma, ibụọla chi?”, into translate.bing.com, it is auto-identified as Italian, probably because it includes the word chi, and a word that is written identically happens to be very common in Italian. Of course, Bing fails to translate everything else in the Tweet, but this does show a curious thing: Even though the same translation engine is used on both sites, the language of the same text is identified differently.

    How could this be resolved?

    Neither Belarusian nor Igbo languages are supported by Bing. If Bing is the only machine translation engine that Twitter can use, it would be better to just skip it completely and not to offer any translation, than to offer this strange and meaningless thing. Of course, Bing could start supporting Belarusian; it has a smaller online presence than Russian and Ukrainian, but their grammar is so similar, that it shouldn’t be that hard. But what to do until that happens?

    In Wikipedia’s Content Translation, we don’t give exclusivity to any machine translation backend, and we provide whatever we can, legally and technically. At the moment we have Apertium, Yandex, and YouDao, in languages that support them, and we may connect to more machine translation services in the future. In theory, Twitter could do the same and use another machine translation service that does support the Belarusian language, such as Yandex, Google, or Apertium, which started supporting Belarusian recently. This may be more a matter of legal and business decisions than a matter of engineering.

    Another thing for Twitter to try is to let users specify in which languages do they write. Currently, Twitter’s preferences only allow selecting one language, and that is the language in which Twitter’s own user interface will appear. It could also let the user say explicitly in which languages do they write. This would make language identification easier for machine translation engines. It would also make some business sense, because it would be useful for researchers and marketers. Of course, it must not be mandatory, because people may want to avoid providing too much identifying information.

    If Twitter or Bing Translation were free software projects with a public bug tracking system, I’d post this as a bug report. Given that they aren’t, I can only hope that somebody from Twitter or Microsoft will read it and fix these issues some day. Machine translation can be useful, and in fact Bing often surprises me with the quality of its translation, but it has silly bugs, too.

    06 March, 2018 07:39 PM

    05 March, 2018

    Lior Kaplan

    Running for OSI board

    After serving in the board of a few technological Israeli associations, I decided to run as an individual candidate in the OSI board elections which starts today. Hoping to add representation outside of North America and Europe. While my main interest is the licensing work, another goal I wish to achieve is to make OSI more relevant for Open Source people on a daily basis, making it more central for communities.

    This year there are 12 candidates from 2 individual seats and 5 candidate for 2 affiliate seats (full list at OSI elections wiki page). Wish me luck (:

    Full text

    05 March, 2018 09:37 AM

    25 February, 2018

    Amir Aharoni

    Wikimedia Strategy Phase 1: What Does It Mean for Me and (Maybe) for Language Diversity in Wikipedia

    The Wikimedia Foundation is leading a process to write a strategy for the Wikimedia movement. This process takes over a year. A few months ago, the conclusion of Phase 1 of this process was published: The strategic direction.

    Some central concepts in this document are “knowledge as a service” and “knowledge equity”. Some people said that it’s too vague and high-level, and that it can be interpreted in a lot of ways. This is true, especially in a movement that is as culturally and linguistically diverse as Wikimedia. Perhaps this is intentional, so that people will be able to interpret this in any way that feels right for them.

    Recently I was filling a registration form for Wikimedia Conference 2018. This form was very long, and it asked what do the concepts that appear in the strategic direction document mean to me. My answers were longish, and since there’s nothing secret about them, and they may (or may not) interest some people, I copied them from the form to this blog post. I edited them slightly for publishing here so that the context will be clearer, but the essence is the same as what I submitted.

    Knowledge as a service

    The knowledge that Wikimedia projects already contain is available through all common channels of communication: in addition to being available on the website, it must be findable on all search engines in all languages and countries, browsable on devices of all operating systems whether open or not, browsable as much as possible through social networks and chat applications, embeddable in other apps, etc.

    It must be easy for all people, whether they are knowledgeable about computers or not, to contribute their knowledge to Wikimedia sites, and humanity in general should know that Wikimedia sites is the place where they contribute their knowledge and not only learn it.

    Knowledge equity

    What it means to me is:

    • That all people, of all ages and all kinds of identities, of all countries, who speak all languages, must be able to read and write in their language.
    • That we will fight whenever it’s reasonable against censorship and against all kinds of chilling effects that deter potential contributors or threaten their well-being.
    • That we remain independent of commercial and political entities by strictly refusing to carry political and commercial advertising and to accept unreasonable limited grants.
    • That all the software that is useful for reading and writing on our sites must be easily usable in all languages, whether it’s core software, extensions, templates, or gadgets.
    • That we don’t depend on any non-Free or otherwise unethical software, even if it appears to make consuming and contributing knowledge easier.
    • That we set a goal of having good coverage for core content in all languages and actively pursue it and not leave it only to the community’s “invisible hand”.
    • That we set a goal that the most popular Wikimedia projects in each country are in that country’s most spoken languages and not in a foreign language.

    What kind of conditions do you need to realize these activities?

    Describe what you think would be good conditions for you to move forward in this direction. Think of conditions in the broadest sense; e.g., capacity, skills, partnerships, clarification, structures and processes, room for development or experimentation, financial resources, people, access to other means of support etc.

    We need to partner with academic institutions that work on topics that are not currently covered by our projects because of systemic bias.

    We need to partner more with organizations that have expertise in developing minorized and under-resourced languages, working on the ground in the countries where these languages are spoken.

    We need easy access to data about the social and political situations in poorer countries, and if such data doesn’t exist at all, we need to lead research that creates such data ourselves.

    We need a new attitude to developing software for our sites: we need to understand what do our communities actually do on the sites with gadgets and templates rather than just developing new extensions that may be shiny, but are hard to integrate into the sites, each of which is heavily customized.

    What I wrote in that form is a good description of my current attitude to what the priorities of Wikimedia movement should be, at least in terms of ideology and values. You can clearly see my interests: remembering that language support is important and that most people don’t speak English; remembering that we are not supposed to be an American non-profit organization, but an international movement that happens to have an office in the U.S.; remembering that we are also a part of the Free Software movement; remembering that good software engineering are important, even if engineering alone can’t solve all the problems.

    For people who have doubts: This post represents my own opinions, and doesn’t express the opinion of the Wikimedia Foundation or any of its employees or managers.

    25 February, 2018 06:21 PM

    Ira Abramov

    עוד פרויקט שלא אגיע אליו: עוזר חכם ובית חכם

    האם אתם רוצים מערכת כזו? התשובה מורכבת.

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

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

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

    1. יש מיקרופון והמחשב שמאזין לו, מנסה לבטל רעשי רקע ולהתמקד במה שעלול להיות דיבור.
    2. אח"כ תוכנה אחרת שבודקת אם זה אכן דיבור ומתרגמת אותו לטקסט. זה אולי הרכיב הכי מתוחכם במערכת ונחמד שיש אופציה או שתיים ברישיון חופשי (אבל כרגע אני די בטוח שזה עובד רק באנגלית, ולא יעבוד בעברית בקרוב. מקווה שלא תהיה בעיה עם זיהוי מבטא לא ילידי :)
    3. אחרי שיש לנו טקסט אפשר לפענח ממנו את הפקודה גם אם לא נאמרה בצורה תקנית אחת. כלומר "התראה עוד שעה" או "בבקשה כוון לי תזכורת בעוד שעה מעכשיו, תודה" הם שני משפטים שונים למדי אבל המחשב צריך לזהות את שניהם. הרכיב הזה והרכיב הקודם הם הרכיבים שקורים בענן של גוגל או אמאזון או מיקרוסופט שאותם אני רוצה להביא אל תוך הבית.
    4. בשלב הזה אפשר להפעיל מיני תוכנות וסקריפטים (מייקרופט למשל קוראים לזה "כשרונות" והקהילה פיתחה כבר כ-140 כאלו), כאן מגיעה ההתממשקות עם MQTT ורכיבי חומרת Sonoff השונים, או גישה לרשת כדי לדבר עם חשבון הגוגל שלכן כדי לבדוק איש קשר או לדחוף ארוע ליומן, וכיוצא באלו.
    5. לבסוף לאשר או להחזיר משוב למשתמש בצורת רכיב אחר שהופך תשובת טקסט לדיבור, מסנטזים כאלו יש הרבה בשוק – היה לי אפילו על אפפל ][ עם 64K זכרון, לצערי האיכות התפתחה מעט מאוד מאז בתוכנה פתוחה. מקווה שישתפר בעתיד.

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

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

    קריאה לעומק של תשובות מייקרופט לתומכי הקיקסטארטר ושל תנאי הפרטיות שלהם שכנעה אותי שהם לא עומדים בדרישות הפרטיות שלי בתצורה הנוכחית שלהם. בגדול הם "מתכננים" גרסא מקומית של רכיב ה־STT (דיבור לטקסט) שתרוץ על מחשב לינוקס או חלונות אבל זה עוד לא שם, ובתלות ברכיב שיבחרו, יכול להיות שזה ידרוש GPU חזק כדי לבצע את הניתוח בצורה מהירה ככל הניתן. מנתח ה־STT הנוכחי שלהם לא מספיק טוב והחדש שיכנס בסוף החודש צריך הרבה יותר כוח מחשוב. אז  כדאי לחכות. בעתיד זו תהיה אפליקציה או תמונת Docker מוכנה שנוכל להריץ על שרת PC כעזר לרספברי בלי להסתמך על שרתי החברה.

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

    25 February, 2018 03:50 PM

    21 January, 2018

    Kaplan Open Source Consulting

    תמיכה ב-PostgreSQL

    אנחנו שמחים להכריז על שירותי ייעוץ ותמיכה ב-PostgreSQL, אחד ממסדי הנתונים בקוד פתוח המועדפים על ארגונים. אנו תומכים בהתקנות על כל הפצות הלינוקס הגדולות, אצל הלקוח או בענן, כולל פתרונות PostgreSQL-as-a-service. בנוסף, אנחנו גם תומכים ב-PostGIS, תוספת עבור מידע מרחבי בתוך PostgreSQL. השירות שלנו מגובה ע"י מרכז הכשירות של credativ, אחת מחברות המובילות בתחום ה-PostgreSQL.

    בנוסף לשירות העסקי, אנחנו שמחים להצטרף לקהילת ה-PostgreSQL הישראלית, על ידי מתן חסות לכנס PGDay 2018 שיתקיים ב-19.3.2018 (פרטים נוספים באתר http://pgday.org.il )

    21 January, 2018 10:37 AM

    16 January, 2018

    Artyom Beilis

    CppCMS עובר מ-LGPLv3 ל-MIT

    היום עדכנתי רישיון של CppCMS ל-MIT. הגרסה הקרובה 1.2 תשוחרר עם רישיון מעודכן

    ההחלטה נובעת ממספר סיבות:

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

    הטקסט המלא

    16 January, 2018 09:47 AM

    04 January, 2018

    Levi Shahar

    איך לא להגן על הרשת אלחוטית שלכם

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

    Full text

    04 January, 2018 09:25 AM

    02 January, 2018

    Kaplan Open Source Consulting

    יעדי 2018

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

    היעדים הקהילתיים שלנו ל-2018:

    1. אימוץ מדיניות "כסף ציבורי? קוד ציבורי!" בגופי ממשלה, רשויות המדינה והשלטון המקומי
    2. שילוב נשים בעולם הקוד הפתוח
    3. מימון המונים לגיור מוצרי קוד פתוח
    4. הקמת חממה לעסקים מבוססי קוד פתוח
    5. שילוב סטודנטים בפרוייקטי קוד פתוח

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

    02 January, 2018 11:22 PM

    27 December, 2017

    Diego Iastrubni

    העדכון הכי משמעם שיש

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

    כמה שבועות אחרי – אני משתמש בדביאן ובאובונטו ב-wayland. והאמת? זה עובד בצורה שקופה ומשעממת כל כך שצריך ממש להתאמץ ולהבין שהיה שינוי מהותי במערכת. ולא רק זה – יש תמיכה מלאה לאחור תוכניות legacy (דוגמאות – AndroidStudio/IntelliJ או popcorntime שעובדות מעל X11 ולא Wayland).

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

    כל הכבוד לצוות הפיתוח.

    הטקסט המלא

    27 December, 2017 08:18 PM

    28 November, 2017

    Lior Kaplan

    AGPL enforced: The Israeli ICT authority releases code

    Data.gov.il was created in 2011 after the Israeli social justice protests as part of the the public participation initiative and started to offer data held by the government. Back then the website was based on Drupal. In 2016 it was changed to CKAN, a designated system for releasing data. This system is licensed under the AGPLv3 requiring source code availability for anyone who can access the the system over a network, de facto for every user.

    Since the change to CKAN, open source people asked the state to release the code according to the license but didn’t get a clear answer. All this time when it’s clear it’s violation.  This led Gai Zomer to file a formal complaint in March 2017 with the Israeli State Comptroller. Absurdly, that same month the ICT authority mentioned a policy to release source code it owns, while failing to release code it has taken from others and adapted.

    With the end of the summer break and Jew holidays, and after I wasn’t able to get the source, I decided to switch to legal channels, and with the help of Jonathan Klinger and my company, Kaplan Open Source Consulting, we notified they should provide the source code or we’ll address the court.

    Well, it worked. In 3 days time the CKAN extensions where available on the website, but in a problematic way, so users weren’t able to download easily. This is why we decided not to publish this code release and let them fix it first. In addition we made it clear all the source code should be available, not only the extensions. Further more, if they already release it’s recommended to use git format instead of just “dumping” a tarball. So we told them if they aren’t going to make a git repository we’ll do that ourselves, but in any case, would prefer them to do that .

    While this issue is still pending, the ICT authority had a conference called “the citizen 360” about e-gov and open government in which they reaffirmed their open source plans.

    A slide about open source from the Israeli ICT authority presentation

    A slide about open source from the Israeli ICT authority presentation

    Now, a month later, after our second letter to them, the about page in data.gov.il was updated with links to the ICT authority GitHub account which has the sources for the website and the extensions. A big improvement, and an important mark point as the commit to the repository was done by an official (gov.il) email address.

    Beyond congratulating the Israeli ICT authority for their steps forward and the satisfaction of our insisting on them became fruitful, we would like to see the repository get updated on a regular basis, the code being given back to the various CKAN extensions (e.g. Hebrew translation). In general, we hope they would to get inspired by how the how data.gov.uk is doing technical transparency. If we allow ourselves to dream, we would like to see Israel becoming a dominate member in the CKAN community and among the other governments who use it.

    We’re happy to be the catalyst for open source in the Israeli government, and we promise to keep insisted where needed. We know that due to other requests and notifications more organizations are on their way to release code.

    (This post is a translation from Hebrew of a post in Kaplan Open Source Consulting at https://kaplanopensource.co.il/2017/11/20/data-gov-il-code-release/)

    Full text

    28 November, 2017 09:07 AM

    08 November, 2017

    Lior Kaplan

    קוד פתוח בכנס האזרח 360 של רשות התקשוב הממשלתי

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

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

    מכל הדברים, שקף אחד עשה לי את היום:

    קוד פתוח ברשות התקשוב הממשלתי

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

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

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

    08 November, 2017 03:07 PM

    28 October, 2017

    Levi Shahar

    השורה הראשונה בסקריפט שלכם

    הפוסט הבא נכתב כתשובה למישהו שאמר לי “הטרמינל קורא את השורה הראשונה בקובץ (*sh), ומחליט כיצד להריץ אותו”. והאמת היא שזה לא נכון, כי הקרנל בכבודו ובעצמו מטפל בזה.

    Full text

    28 October, 2017 09:25 AM

    18 October, 2017

    Ram on Agmon

    אובנטו 1710 – גירסה ששווה להתקין

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

    הטקסט המלא

    18 October, 2017 05:06 PM

    09 October, 2017

    Guy Sheffer

    RealtimePi – out of the box real-time RaspberryPi Raspbian

    RealtimePi logo

    RealtimePi logo

    Hey all,
    So it started as a curiosity, and it looks like its working. I made a Raspbian-based distro that ships with a realtime kernel called RealtimePi. You can download the latest here.  It’s open source, sources are here.

    A realtime system means its deterministic, it means you should know how long things take to run. They way to do is is to apply a patch to the linux kernel that makes it non-preemptible. To explain – Preemption is the act of temporarily interrupting a task being carried out by a computer system, without requiring its cooperation, and with the intention of resuming the task later.

    This is useful for building hardware and robotics, low latency audio and other gpio because there are no surprises when it comes to timing. It seems like something good to try out with the RaspberryPi, because of the GPIO and IOT capabilities.

    Bundled with CustomPiOS you can build your customized realtime-kernel device.

    Features

    Steps to install

    1. Download the image here
    2. Unzip and flash it to an SD card (small enough to fit a 2GB card)
    3. Open newly flashed image and edit two files, one for the wifi, and one for the bot token:
    4. Put in realtimepi-wpa-supplicant.txt your wifi address (skip if using Ethernet cable). Here is how it should look:
      wifi

    You can test the realtime kernel is enabled, by running in the commandline

    uname -a

    You should see something like this, note PREEMPT RT which indicates its realtime:

     Linux realtimepi 4.9.52-rt37 #1 PREEMPT RT Fri Oct 6 22:29:28 UTC 2017 armv6l GNU/Linux

    The line should  look a little different for armv7

    I am not an expert with actually building realtime systems, so input on how it preforms, and examples would be appreciated!

     

    Full text

    09 October, 2017 10:05 AM

    03 October, 2017

    Meir Kriheli

    מצגת ההרצאה אודות Vue.js

    Vue.js החזירה את הכיף שנעלם לי בפיתוח פרונטאנד.

    ההרצאה אודות Vue.js שהועברה במסגרת PyWeb-IL 69 זמינה בעמוד הרצאות ומצגות.

    03 October, 2017 06:39 AM

    14 August, 2017

    Guy Sheffer

    How to reuse your old Raspberry Pi as a Telegram-controlled Alarm Clock – AlarmPi

    RaspberryPi Alarm clock

    RaspberryPi alarm clock

    Hey all,

    So do you have a RaspberryPi not doing anything at home? Got that 2GB class 4 SD card that you just don’t know what to do with it? Well this guide is for you! It will let you turn your Pi in to an IOT alarm clock, no code, no complicated commands, just flash, edit two text files and you are good to go. The alarm clock is controlled from Telegram, so you can set it and turn it off from your smartphone. I find that usually using my phone wakes me up. So it’s useful for me. You can also edit the alarm and use any mp3 file you want.
    The code is all available in github. AlarmBot is the Telegram Bot. An AlarmPi is the distro (built with CustomPiOS yet again).

    Steps to install

    1. Download the image here
    2. Unzip and flash it to an SD card (small enough to fit a 2GB card)
    3. While it downloads and flashes, let’s create a telegram bot and get a token for it!
      1. Send a message to bot father
      2. Send /newbot

        Setting a new bot

        Setting a new bot

      3. Copy the telegram token that is in the last message
    4. Open newly flashed image and edit two files, one for the wifi, and one for the bot token:
      1. Put in alarmpi-wpa-supplicant.txt your wifi address (skip if using Ethernet cable). Here is how it should look:
        wifi
      2. In config.ini,  paste the newly created bot token from step 3. This is where the token goes:
        token
      3. optionally, you can change the alarm.mp3 file to the sound of your choice.
    5. Boot your pi and connect it to speakers, wait a bit, because it will reboot internally twice. And send /start to your bot.
    6. You’re done! Let’s see how we can set alarm with telegram!

    How to use the telegram bot

    Once you got a reply to /start and you know the bot is working you can use “/help” to list all the available commands.
    Screenshot_2017-08-12-16-42-42~01.png

    First, set the /timezone to your location, and make sure you can see the correct time with the /time command.

    Now let’s set an alarm, type /new and you will get the option to pick an alarm that works daily or weekly (code contributions would be great to add more types of alarms).

    Screenshot_2017-08-12-16-44-42~01.png

    Once you have alarms, you can manage them in the /list command.

    Screenshot_2017-08-12-16-46-53.png

    You can disable, or delete commands using this menu. Selecting the bell will disable it, the X will delete an alarm, pressing on the alarm names would close the table.

    To stop an alarm that is going, send /stop to the bot.

    You can test the alarm using the /test command.

    There is no reason why any Pi on earth should not be doing something

    So this AlarmPi distro is usable, it lets you burn and flash a device within minutes and make it useful instead of lying and collecting dust in your house. The reason people are not using Pis is because making them do something requires “a guide”, aka list of instructions you are probably going to get wrong to do something simple. Building something as robust as this would take hours, and would be hell to maintain and receive code contributions. But AlarmPi is easy to read and modify. There is a repo for the bot, and a repo for the distro. If a new rapsberrypi comes out and there is a new Raspbian, all you got to do is rebuild and release. No manual editing. And takes less time to build and supports over 40 devices already which run Armbian.

    The code base of AlarmBot lets you control crontabs, it could be used for controlling

    As always, code contribute are appreciated!

    Full text

    14 August, 2017 11:01 AM

    31 July, 2017

    Ira Abramov

    כפתור פראנויה לכל כיס

    אמ;לק: סקירת מוצר שיוסיף לכם שכבת הגנה על חשבונות מקוונים וגם על המחשב האישי. זו תהיה כתבה ראשונה בסדרת פוסטים על אבטחת מידע בסיסית לישראלי המצוי, למרות שהפוסט הספציפי הזה אולי לא מיועד ממש לכולם כי הוא עוסק בחומרה יעודית שעולה בסביבות $50 (כולל משלוח) ולא תוכנה זמינה וזולה/חינם.

    יותר מחצי שנה לא כתבתי פוסט, למעשה כמעט 8 חודשים אני חושב. המון חדשות חולפות בקצב מסחרר ואי אפשר להתעמק בכלום, וגם החלפת מקום עבודה מוריד מהזמן הפנוי לכתיבה של יותר מציוצים בטוויטר. אם אתם לא עוקבים, חוק הזיהוי הביומטרי עבר והחל מיוני כולם חייבים לתת טביעות אצבע ופנים. מי שישלם כופר מיוחד יוכל להשאר מחוץ למאגר (אם אתם באמת מאמינים שלא ישמרו לכם את תביעת האצבע אחרי שיכתבו אותה לשבב בתעודה), אבל יצטרך לעשות את זה פעמיים בעשור במקום פעם אחת. ההמשך עכשיו יכול להיות אחד משלושה עיקריים: או שהפניה שלנו לבג"צ תצליח והמאגר יבוטל מתישהו ב-2018, או שיהיה מהפך בחירות וקואליציה חדשה תחליט למחוק את השרץ, או שהגזרה תשאר, ועד 2022 (2027 למי שרץ להחליף תיעוד במאי) כל הישראלים שישארו פה יאלצו להשתדרק למאגר. בינתיים כבר היו דליפות בהודו וסיפורים מסוכנים אחרים, אז נחיה ונראה. על עדכונים של פאדיחות הבית הלבן אני גם לא ארחיב, אתם בטח צופים כמוני בסטיבן קולבר ביוטיוב.

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

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

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

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

    משהו שיש לך – תעודה בלתי ניתנת לזיוף, אם ע"י שימוש בשיטות ייצור סודיות וייחודיות ואם ע"י חתימה דיגיטלית, או אולי מפתח כלשהו שלא ניתן לשכפל. כשאני אומר מפתח עולה לכם אולי בראש מפתח פלדלת או ייל, אבל את אלו כבר שכפלו כי הופיעו בטעות בתמונה. הסיפור הכי מצחיק היה כשסוכני TSA הצטלמו ברוב היבריס עם צרור המפתחות שלהם שפותח כל מנעול מזוודות בשוק, ואנשים מיהרו להעתיק את המבנה מהתמונות, וכמזה שנתיים אפשר להוריד את כל המפתחות מגיטהאב להדפסה בתלתפסת ביתית. לא, אני מתכוון למפתחות הצפנה פיזיים, כלומר מעין התקן USB עם מעבד קטן וזכרון שאי אפשר לקרוא, וניסיון למעקף פיזי של ההגנות אמור להרוס אותו ללא שוב. כאלו יש מספר מוצרים בשוק ואחד היצרנים הבולטים הוא Yubico. אני סוקר את המוצר שלהם כאן כי אחרי שלמדתי את הנושא ברשת הגעתי למסקנה שזה אחד משניים-שלושה הכי מעניינים, מגוונים ונגישים, ואין לי שום קשר איתם מעבר לזה (וכמובן לא קיבלתי מהם מוצר או טובות), ולכן קניתי אותו. יש להם אפילו יבואן רשמי בארץ אבל אחרי שקיבלתי מהם ספאם, העדפתי לשלם את המחיר המלא של הזמנה מחו"ל (אמזון או הריסלר הזה). שווה להציץ, לפעמים יש להם סייל 50% הנחה ליום-יומיים.

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

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

    שו"ת

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

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

    אני בונה היום אתר, להשקיע באימות כזה למשתמשים שלי?
    גם TOTP-2FA וגם U2F – לדעתי כן, במיוחד אם האתר שומר פרטים אישיים של כרטיסי אשראי, בריאות מטופלים ועוד כיוצא באלו. יש ספריות חופשיות שקל לשלב, ולמערכות כמו וורדפרס, דג'נגו, ג'ומלה, רובי-או-ריילז ואחרות יש כבר מודולים מוכנים לקטיפה מהעץ, אז חבל להתעצל!

    למה יוביקי 4 ולא גרסת הנאו?
    טעם אישי. היוביקי 4 תומך במפתחות טיפה יותר גדולים, הוא טיפה יותר זול, קוד ה-PGP שלו פתוח בגיטהאב. לרוב האנשים גם הנאו יהיה מצוין, והיתרון הגדול שלו הוא NFC שעובד עם אנדרואידים שיש להם רכיב תקשורת תואם. אם רוצים להשתמש ביוביקי 4 (ללא NFC) על אנדרואיד, אפשר בעזרת כבל OTG, או לטלפונים חדשים, חיבור ישיר USB-C בדקם יוביקי החדש).

    יש מתחרים ראויים?
    יש כמה. חלקם יתנו U2F בלבד בפחות מ$10-$20, חלקם יקרים מאוד אבל עושים דברים נוספים כמו לשמש כארנק קריפטומטבעות (למשל Trezor ואחרים) ויש גם אופציות "האקריות" פתוחות כגון OnlyKey שמוסיף שכבות הגנה כמו סיסמא, פיצ'רים כמו השמדה עצמית וכדומה. יש מצב שאקנה כזה בעתיד, למרות שהוא נראה פחות עמיד מכנית לשבירה ושפשופים.

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

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

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

    למה לא כתבת פוסט כבר המון זמן?!
    כי הייתי עסוק, וכי אף אחד לא שאל למה לא כתבתי כבר המון זמן, אז אולי מסתפקים בפרסונה הטוויטרית שלי…

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

    -------
    1. אפשר לדון פה פילוסופית אם ה־‏Google Authenticator שלי, שמגובה כל יום וניתן לשחזור במקום אחר הוא באמת משהו שיש לי או שהוא מידע ולכן משהו שאני יודע, אבל לצורך הפשטות, לרוב המוחץ של האוכלוסייה, זה נופל תחת משהו שיש לי.

    31 July, 2017 04:51 PM

    12 July, 2017

    Artyom Beilis

    אחרי תקופה ארוכה שוחררה בטא של CppCMS 1.1.0

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

    • תכנון מחדש של application pool לתיקון מספר בעיות מובנות שהיו קיימות בו עד כה
    • API חדש של פעולות non-blocking לשיפור משמעותי בביצועי אפליקציות אסינכרוניות
    • סיכון ועיבוד בזמן העלאה של התוכן (למשל עיבוד או בדיקה של קבצים תוך כדי העלאה)
    • תמיכה משופרת ב-RESTful API
    • מערכת לניהול plugin ושיפורים מערכת תבניות (templates) בהם.
    • אפשרות ניהול session ללא עוגיות (למקרה והמשתמש ממש צריך)
    • שילוב ניהול ה-session מול טכנולוגיות אחרות כולל מימוש עבור PHP, Java Servlet, ASP.Net ו-Python Django
    • שיפורי ביצועים רבים
    • ועוד...

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

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

    • ל-1.4 תמיכה מלאה ב-HTTP/1.1, ב-HTTPS ומימוש של websockets
    • ל-2.0 להעביר CppCMS ל-C++11 תוך ניקוי חלק מה-API שילקח מספריה סטנדרטית כמו std::shared_ptr

    אתם מוזמנים להתנסות בגרסת בטא האחרונה!

    הטקסט המלא

    12 July, 2017 09:01 AM

    11 July, 2017

    Oz Nahum

    Submitting patches to Python

    This is not my typical blog post style. So no "how to" or opinnions. Just some reflections on how I submitted a patch to Python's standard library. continue reading...

    11 July, 2017 06:56 AM

    18 June, 2017

    Amir Aharoni

    סיסמה

    אז לפתע פתאום האקדמיה ללשון שינתה את כללי הכתיב.

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

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

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

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

    אני מרוצה מהשינוי של „תכנה” ו„יזמה” ל„תוכנה” ו„יוזמה”. אני גם מרוצה למדי מהשינוי של מילות היחס „אתי, אתך” ל„איתי, איתך”, ושל „עתים” ל„עיתים”, אבל מוזר לי ביותר שלא נוספה בהזדמנות הזאת האות יו״ד למילים כמו „אִגרוף” ו„מִחזור”, כדי לא להתבלבל עם „אֶגרוף” ו„מַחזור”. זה היה יכול להיות כלל פשוט ושימושי, והוא ממש לא היה אמור להיות שנוי במחלוקת. חבל שזה התפספס.

    עוד משעשעים אותי ה„אישורים” שנינתו למילה „אומנם” וליו״ד בצורת הגוף הראשון בזמן עתיד בבניין נפעל, למשל „איכנס” במקום „אכנס”. אני תמיד כתבתי אותם בכתיב מלא. את „אומנם” כתבתי בווי״ו כי גם „אֻמנם” הוא ניקוד תקני ולא רק „אָמנם”, וצליל u תמיד אמור להיכתב בווי״ו (אם כי עכשיו גיליתי לראשונה שהניקוד „אֻמנם” מיועד לשאלות, לפחות לפי אבן־שושן). ובבניין נפעל כתבתי תמיד „איכנס”, „איזהר”, וכו׳, כי הניקוד בחיריק תקין כמו בניקוד בסגול (ר׳ למשל גזניוס 51p).

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

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

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

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

    18 June, 2017 11:03 AM

    17 April, 2017

    Oz Nahum

    Why I still persist on not using systemd

    The following screenshot of a systemd issue reported on github saysit all. I don't care if systemd is technically superior, the way it's being developed is truely bothering. It's leadership is insisting on being blunt ingoring users, misleading and even wrong. continue reading...

    17 April, 2017 02:36 PM

    15 April, 2017

    Lev Meirovitch

    Sneaking features through the back door

    Sometimes programming language developers decide that certain practices are bad, so bad that they try to prevent their use through the language they develop. For example: In both Java and C# multiple inheritance is not allowed. The language standard prohibits it, so trying to specify more than one base class will result in compiler error. […]

    15 April, 2017 05:24 PM

    16 February, 2017

    Itzik Kotler

    The Key To Cybersecurity: Shared Intelligence And Industry Cooperation

    Chicago in the 1930s was a hive of organized crime where the bad guys always had the upper hand. As dramatized by the film "The Untouchables," lawman Eliot Ness confides to Officer Jim Malone that he is prepared to do “everything within the law” to take down Al Capone. But streetwise Malone tells Ness that, to win, he must be prepared to do more. “He pulls a knife, you pull a gun. He sends one of yours to the hospital, you send one of his to the morgue. That’s the Chicago way.”

    Like ‘30s Chicago, the dark web is crawling with global crime syndicates, and everyone I've talked to says fighting the Chicago way sounds appealing. The problem is that the same laws that make hacking a crime also make it a crime to retaliate.

    Read full article at Forbes here

    Full text

    16 February, 2017 12:12 AM

    13 January, 2017

    Ram on Agmon

    סיכום שנה שנת 2016 + מצבה של התוכנה החופשית

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

    הטקסט המלא

    13 January, 2017 12:10 PM

    18 October, 2016

    PyCon Israel

    Pycon Israel 2016 wrap up

    A little less than six months ago, we held the first PyCon in Israel. To our dismay, it took us this long to post all the videos from the event, but now they’re finally up, and you can finally catch up on The Track Not Taken.

    We’d like to take this opportunity to clear the 2016 table and summarize the conference, to give it some closure.

    The conference was a lot of work and fun to organize, and truly wonderful to witness. We’ve had:

    Over and beyond the hard data, there was a great feeling of a community coming together.

    There’s a few points we want to discuss in more details:

    Diversity

    We made a conscious effort to make the conference more welcoming to diverse populations. This included a well-defined Code of Conduct, as well as reaching out to specific communities, which are usually underrepresented in technical conferences. This included, of course, the cooperation with Django Girls Tel Aviv, who were invited to the conference; we did not collect the statistics of visitor gender, but we have reason to believe it was significantly more balanced than usual. We also reached out to some other groups who were less clearly visible. By all the feedback we got, everybody felt very welcome.

    To our regret, we could not show the same level of diversity among the speakers. Only 3 of the 32 accepted talks were presented by women, and none of these were Israeli. Further, we did not have a travel-support plan for speakers, and partly as a result of that, we did not have any speaker from the less-privileged parts of the world. We still have some way to go there.

    We intend to keep pursuing diversity in future editions of PyCon Israel.

    Budget

    In the spirit of Open Source and transparency, we’re happy to share a summary of our budget (all numbers are thousands of Shekels).

    Income

    Sponsorship: 246

    Ticket sales: 54

    Total: 300

    Expenses

    Venue (incl. food): 134

    Conf. party (food+movie): 41

    Keynote speakers travel: 30

    Speaker’s dinner: 13

    Video recording & editing: 20

    T-shirts & other swag: 28

    Wireless internet: 5

    Various other: 3

    Total: 274

    As you can see, we ended with a positive balance of close to 26K ILS. This is more than we intended, a miss we attribute to over-cautiousness and inexperience. A small part of this surplus will go to support Hamakor, the Israeli F/OSS association which helped make the conference happen, and the rest will go into the budget of the next PyCon Israel.

    Community organizations

    We’d like to call out three special groups which could use your help — participation as well as sponsorship; groups whose ongoing work enabled this conference and will hopefully enable others like it in the future:

    2017

    Since so long has passed, we can also add a look to the future: Preparations for PyCon Israel 2017 have already started! You can join the organizing team, or just keep track of our progress via our different channels -

    Blog: https://medium.com/@pyconil

    Twitter: @pyconil, #pyconil

    YouTube channel: https://www.youtube.com/channel/UC8ApA9ibgkf0XK7lgTVZgEQ

    Facebook: https://www.facebook.com/pyconisrael/

    Google group: https://groups.google.com/forum/#!forum/pycon-israel (requires registration)

    Website: http://il.pycon.org/

    Final words

    Watching the months of preparations come to full fruition made our hearts burst with joy. We’d like to thank everyone involved — all CFP submission authors, the invited and accepted speakers, the sponsors (and in particular the Diamond sponsors, Red Hat & Cymmetria), the vendors (and in particular the helpful staff of our wonderful venue at Yes Planet), the Israeli Python community in general for making such an event possible, and you, the attendees, for making it a reality.

    See you in 2017,

    The PyCon Israel organizing team

    18 October, 2016 07:45 PM

    23 September, 2016

    Yosef Or Boczko

    GNOME 3.22 שוחרר !

    צהריים טובים.

    לאחר מחזור פיתוח בן שישה חודשים, שוחררה גרסה 3.22 של שולחן העבודה GNOME !

    GNOME 3.22 Hebrew

    גרסה זו מכילה 22980 שינויים שנרשמו ב־Git על ידי 775 תורמים, בהשוואה ל־28933 שינויים על ידי 837 תורמים ב־3.20.

    אחוז התרגום עומד על 80% (36912 מחרוזות מתורגמות, 3682 מעורפלות ו־49874 שאינן מתורגמות), בהשוואה ל־80% (36069 מחרוזות מתורגמות, 3702 מעורפלות ו־4937 שאינן מתורגמות) ב־3.20 ו־82% (37120 מחרוזות מתורגמות, 3326 מעורפלות ו־4675 שאינן מתורגמות) ב־3.18.

    על התרגום בעיקר אני אחראי, ולאחרונה הצטרף ניב באר ותרגם את חלק מהתיעוד למשתמש „צעדים חדשים ב־GNOME” (נקרא ‏gnome-getting-started-docs) ואפילו החל לתרגם ליישומים (טרם מצאתי זמן להכניס את התרגומים האחרונים שלו).

    להלן מוטמע סרטון המציג את GNOME 3.22. קריינות על ידי קארן סנדלר, לשעבר מנכ״ל קרן GNOME, ומייק טרנטינו. עריכה על ידי Bastian Ilsø, שעורך סרטונים אלו כבר למספר שחרורים.

    כרגיל, אוסיף כאן שיר. שיר יפה, שפשוט נהניתי לנגן על הפסנתר.

    בברכה,

    יוסף אור

    23 September, 2016 02:47 PM

    14 August, 2016

    Yosef Or Boczko

    מצב תרגום GNOME – לקראת 3.22

    ערב טוב.

    בשבוע האחרון תרגמתי ובכך צמצמתי פערים של חצי שנה ללא תרגום, והבאתי את GNOME לתרגום מלא (להוציא את gitg ואת gnome-builder, שלא תורגמו גם בגרסה הקודמת).

    אחוז התרגום עומד על 80% (36915 מחרוזות מתורגמות, 3727 מעורפלות ו־4987 שאינן מתורגמות), בהשוואה ל־80% (36069 מחרוזות מתורגמות, 3702 מעורפלות ו־4937 שאינן מתורגמות) ב־3.20 ו־82% (37120 מחרוזות מתורגמות, 3326 מעורפלות ו־4675 שאינן מתורגמות) ב־3.18.

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

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

    את השיר, הפעם, אקדיש ליום המיוחד, לגעגוע לירושלים.

    ערב טוב,

    יוסף אור

     

    14 August, 2016 04:05 PM

    12 August, 2016

    sml

    החלצות מעידכון כושל

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

    הטקסט המלא

    12 August, 2016 04:42 PM

    24 June, 2016

    sml

    טיפ: התקנת NX על OpenSUSE Leap 42.1

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

    הטקסט המלא

    24 June, 2016 09:35 AM

    27 May, 2016

    Shlomi Fish

    Tech Tip: Checking the Latest Build in Travis CI

    If you are using Travis CI, you can check the latest build after a failed build by going to the “Build History” tab in your project’s main page (= https://travis-ci.org/shlomif/fc-solve or equivalent), and selecting the new commit.

    Licence

    Copyright by Shlomi Fish, 2016.

    You can reuse this entry under the Creative Commons Attribution 3.0 Unported licence, or at your option any later version of it. See the instructions on how to comply with it.

    27 May, 2016 12:43 PM