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

23 מאי, 2013

Shlomi Noach

mycheckpoint revision 231 released

A new release for mycheckpoint: lightweight, SQL oriented MySQL monitoring solution.

If you're unfamiliar with mycheckpoint, well, the one minute sales pitch is: it's a free and open source monitoring tool for MySQL, which is extremely easy to install and execute, and which includes custom queries, alerts (via emails), and out of the box HTTP server and charting.

This is mostly a maintenance release, with some long-time requested features, and of course solved bugs. Here are a few highlights:

mycheckpoint is released under the BSD license.

Downloads are available from the project's page.

23 מאי, 2013 12:22 PM

22 מאי, 2013

Ram on Agmon

קצת על הסיסטם של הביג דאטא

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

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

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

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

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

 

הטקסט המלא

22 מאי, 2013 08:52 PM

21 מאי, 2013

Gabor Szabo

Perl, Python, Ruby, PHP and HTML5 on Google trends

Once in a while someone looks up some numbers regarding Perl and other languages, sees a downward graph, rings the warning bells, and then others start saying why is that not important, and there are more modules on CPAN anyway... As I have a lot of other urgent things to do, I decided a good way to procrastinate would be to look at some data. Some people and companies think that the number of pages having the term programming perl, is a good indication of language popularity. That certainly has some value, but I think seeing how many people are actually searching for a term has better indication for the interest in that term.... So I looked at the Google Trends for the above 5 terms and tried to understand what I see there.

For the full article visit Perl, Python, Ruby, PHP and HTML5 on Google trends

21 מאי, 2013 01:01 PM

20 מאי, 2013

Amir Aharoni

Always define the language and the direction of your HTML documents, part 02: Backwards English

In part 01 of these series, I showed why is it important to always define the language and the direction of all HTML content and not rely on the defaults: The content may get embedded in a document with different direction and be displayed incorrectly.

This issue is laughably easy to avoid: If you are writing the content, you are supposed to know in what language it is written, so if it’s English, just write <html lang=”en” dir=”ltr”> even though these seem to be the defaults. Nineteen or so characters that ensure your content is readable and not displayed backwards. Please do it always and tell all your friends to do it.

The problem is that you don’t only have to explicitly set the language and the direction, but, as silly as it sounds, you have to set them correctly, too. A more subtle, but nevertheless quite frequent and disruptive bug is displaying presumably, but not actually, translated content in a different direction. This happens quite frequently when a website supports the browser language detection feature, known as Accept-Language:

  1. The web server sees that the browser requests content in Hebrew.
  2. The web server sends a response with <html lang=”he” dir=”rtl”>, but because the website is not actually translated, the text is shown in the fallback language, which is usually English.
  3. The user sees the content just like this numbered list, which I intentionally set to dir=”rtl”: with the numbers and the punctuation on the wrong side, and possibly invisible, because English is not a right-to-left language.

Of course, it can go even worse. Arrows can point the wrong way and buttons and images can overlap and hide each other, rendering the page not just hard to read, but totally unusable.

This bug is also an example of the Software Localization Paradox: It manifests itself when Accept-Language is not English, but most developers install English operating systems and don’t bother to change the preferred language settings in the browser, so they never see how this bug manifests itself. The site developers don’t bother to test for it either.

The solution, of course, is to set a different language and direction only if the site is actually translated, and not to pretend that it’s translated if it’s not.

Here are two examples of such brokenness. Both sites are important and useful, but hard to use for people whose Accept-Language is Hebrew, Persian or Arabic.

Here’s how the Mozilla Developer Network website looks in fake Hebrew:

Mozilla Developer Network website, in English, but right-to-left

Mozilla Developer Network website, in English, but right-to-left

Notice how the full stops are on the left end and how the text overlaps the images in the tiles on the right-hand side. This is how it is supposed to look, more or less:

Mozilla Developer Network home page in English, left-to-right

Mozilla Developer Network home page in English, left-to-right

I manually changed dir=”rtl” to dir=”ltr” using the element inspector from Firefox’s developer tools and I also had to tweak a CSS class to move the “mozilla” tab at the top.

The above troubles are reported as bug 816443 – lang and dir attributes must be used only if the page is actually translated.

After showing an example of a web development bug from a site for, ahem, web developers, here is an even funnier example: The home page of Unicode’s CLDR. That’s right: Unicode’s own website shows text with incorrect direction:

The Unicode CLDR website, in English but right-to-left

The Unicode CLDR website, in English but right-to-left

The only words translated here are “Contents” (תוכן) and “Search this site” (חיפוש באתר זה), which is not so useful. The rest is shown in English, and the direction is broken: Notice the strange alignment of the content and the schedule table. A few months ago that table was so broken that its content wasn’t visible at all, but that was probably patched.

Here’s how it is supposed to look:

The CLDR home page in English, appropriately left-to-right

The CLDR home page in English, appropriately left-to-right

I tried reporting the CLDR home page direction bug, but it was closed as “out-of-scope”: The CLDR developers say that the Google Sites infrastructure is to blame. This is frustrating, because as far as I know Google Sites doesn’t have a proper bug reporting system and all I can do is write a question about that direction problem in the Google Sites forum and hope that somebody notices it or poke my Googler friends.

One thing that I will not do is switch my Accept-Language to English. Whenever I can, I don’t just want to see the website correctly, but to try to help my neighbor: see the possible problems that can affect other users who use different language. Somebody has to break the Software Localization Paradox.


Filed under: Firefox, Free Software, localization

20 מאי, 2013 05:31 PM

19 מאי, 2013

Hetz Ben Hemo

טאבלטים משולבים מבוססי אנדרואיד – הדור הבא

מי שעוקב אחרי הטאבלטים שיוצאים עם אנדרואיד, בוודאי מכיר את הסצינה: רוב הטאבלטים מבוססי אנדרואיד שישנם כיום זהים (פחות או יותר) בין יצרן ליצרן, כאשר החברה היחידה שעד היום הוציאה משהו שונה היתה ASUS עם סידרת ה-Transformer שלה, כאשר בחלק … להמשיך לקרוא

הטקסט המלא

19 מאי, 2013 08:23 PM

Ran Rutenberg

חשיבות מחיצת בית נפרדת

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

19 מאי, 2013 07:21 PM

Ido Kanner

גימגום השיחה בטלפון

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

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

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

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

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

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


Filed under: טיפים וטריקים, טכנולוגיה, טלפוניה, קוד פתוח, תקשורת Tagged: audio, cellular, jitter, jitter buffer, rtp, sip, telephony, voip

19 מאי, 2013 01:52 PM

17 מאי, 2013

Guy Rutenberg

spass-3.1 Secure Password Generator Released

Usually release announcements go together with the actual release. Somehow, I’ve postponed writing about the new release for quite some time, but better late than never.

spass is a tool that creates cryptographically strong passwords and passphrases by generating random bits from your sound card. It works by passing noise from the sound card through a Von Neumann process to remove bias and then uses MD5 to “distill” a truly random bit from every 4 bits of input.

The new version of spass, version 3.1, was released two months ago. The code should now compile easily on both Linux (ALSA, OSS and PortAudio backends) and Windows (only PortAudio is supported). There is some minor tweaks to the CLI, but the main part is a new Qt interface, screenshots of it available on the project’s SourceForge page. I’ve also migrated the build system to CMake (from automake) which should make it easier to build.

You can download the sources, 64bit Debian package and binaries for windows from here. If you use spass and create binary packages for more platforms, it will be great.

BTW as you can see I’ve migrated the code to SourceForge from GitHub. I know it not a popular move, but their lack of binary downloads is really frustrating.

17 מאי, 2013 04:12 PM

Ram on Agmon

הזמנה לסדנת ניתוח מידע, יום שני, ה-20.5.2013 בקמפוס גוגל בתל-אביב

הזמנה לסדנת לניתוח מידע.שתערך קמפוס גוגל, קומה 26, מגדל אלקטרה, יגאל אלון 98, ת"א. ביום ב', ה-20.5. בשעה 21:00.

במסדרת הסדנא יציג נמרוד קרת כלים לניתוח והצגת נתונים המאוחסנים בבסיסי נתונים גדולים לא טבלייים (להלן, big data). חלק מהכלים מבוססים על java script ומאפשרים גישות חדשניות להצגת מידע מורכב. כל הכלים הינם חופשיים. הסדנא תתבסס על ניתוח מידע שנאגר במסגרת פרויקט wiki leaks והאקו סיסטים שלו.

הטקסט המלא

17 מאי, 2013 12:27 PM