‫אוגוסט פינגווין 2012‬

ביום שישי ה3/8/2012 ייערך כנס אוגוסט פנגווין – הכנס השנתי לתוכנה חופשית וקוד פתוח.
הכנס יתקיים באודיטוריום חיפה -אולם רפפורט, שד' הנשיא 138, מרכז הכרמל, חיפה.
שעות הכנס: 9:00 עד 14:00. 

אתר הכנס:
http://august.penguin.org.il
עמוד בוויקי

מרצים המעוניינים להעביר הרצאה בכנס מוזמנים לשלוח הצעה לוועד המקור board@hamakor.org.il או לוויקי בקטגוריה "תוכן הכנס".

מחיר הכניסה לכנס הוא 50 ש״ח (תשלום באמצעות PayPal). חברי וידידי העמותה זכאים להיכנס בחינם (בתנאי שחברותם בתוקף). עבור צעירים מתחת לגיל 18, סטודנטים וחיילים, מחיר הכניסה זהה למחיר התשלום השנתי של ידידות בעמותה, כך שנשמח לקבל אתכם כידידי העמותה.

Share

סגור לתגובות

adaptec CLI management tool

Recently I had to install adaptec CLI management tool on an ubuntu 8.10 amd64 server. Despite of the aacraid driver present in kernel, it took me a lot of time to find the management tools that allow to see 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 state of the Adaptec RAID system and sends out email if any of the published indicators is wrong (battery, failed disks, etc). The script can be downloaded from here: http://t11.mine.nu/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.
סגור לתגובות

‫Refugees and Jewish Legacy‬

My Spidey Sense (actually a Google alert) notified me that a photo I took was used and credited with my name. It's an article talking about African migrants collectively declared criminals by Eli Yishai.

I just had to reply. Sadly the reply was over twice the length limit allowed. Instead of posting it split three ways, I'll just post it here.

Thanks for the photo credit, but I wish the report was a bit more complete.

1. Some of the Africans are Sudanese and some are not, it's true. some are was refugees and others are climate refugees.

2. Israel refuses to review their cases, and so none of them is declared a refugee and treated according to international refugee treaties, instead they are vilified and attacked. see the Molotov bottles thrown into houses where they live reported in the last few weeks, right after our local holocaust memorial day.

3. up until this last bust, the police and human rights organizations where actually in agreement – the refugee population is actually a very decent bunch and does not break any laws…

4. …other than crossing the border illegally of course, but do you know what's waiting for them in Sinai? Rapes and murders by Bedouins are abundant. The stories collected by our local social workers are truly horrible.

In sum, the migrants' problem is a global one. whether they are escaping the climate changes or turf wars for mineral mining, I blame the developed world for abusing the locals, and Israel should ask for help from the UN or at least the EU. either way, the Passover Haggadah tells us that in every generation Jews must see themselves as if they were the refugee, running from Egypt and looking for sanctuary. Eli Yishai should be ashamed for this racist, unethical and un-Jewish decision to declare them all criminals and make all Israelis accomplices to the injustice, rather than use help from the world to take care of this problem the humane way.

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

‫מגנזיום במים‬

אהבתם את הפלואוריד? הנה בא המגנזיום.

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

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

תגים: , , , , , , ,
קטגוריות: ynet, אנרגיה, ביקורת, בריאות, טרוניות, כסף, מים, ממשלה, סביבה, צרכנות, קטנים, קיימות | תגים: , , , , , , , | סגור לתגובות

‫הצפון ובחזרה, ופרטיות של הסלולר שלך‬

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

‫אז מה יש לחרדים להגיע על הועדה לגיוס בני ישיבות – התרשמויות‬

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

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

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

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

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

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

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

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

‫להתחבר לנטסטיק של סלקום/אורנג' באובונטו 12.04‬

שלום לכולם,

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

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

כל שעליכם לעשות הוא לערוך את הקובץ /etc/modules עם הרשאות root, במסוף (Alt+Ctrl+T) הדביקו את השורה הבאה:

sudo gedit /etc/modules

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

usbserial
option

כדי להחיל את ההגדרות הפעילו מחדש את המחשב (מישהו מכיר פתרון נכון יותר?)

דור.

סגור לתגובות

Blogging for the .NET framework

A system I've been working on is based on the .NET framework. It seems that Mono and Apache on a web server is a pretty good combo, and I recommend everyone with a spare day or two to give it a try.

Anyway, I needed to run a blogging engine on that same server and have that blog support Hebrew and right-to-left languages. While there are several good blogging engines for .NET, not all would run on Mono and most doesn't do the RTL part good enough.
My first attempt was to use SubText, but getting rid of the SQL Server dependency and adding the RTL support became too much of a hassle. I picked SubText for it being notorious for its simplicity and elegance, but while I was ready to invest some customization time, it demanded too much of it.
My second attempt was BlogEngine.NET. What can I say - I fell for it almost immediately. The platform is versatile enough to support not only many RDBMS's, but it also allows storing the posts in XML files. Nonetheless, the translation to Hebrew wasn't complete and there was no RTL native theme for it. So I made one.

BlogEngine.NET is hosted on CodePlex and uses Mercurial for its source control. I had a fork of the project in no time, so I started making the required changes and created a new theme based on the default one. Since I don't want to maintain a fork of the project for eternity and since I want others to enjoy this new feature, I've sent a pull-request which was accepted yesterday. So starting from version 2.5.0.6, you can enjoy BlogEngine.NET for your Hebrew blog.

As always, it feels good to contribute back and to know that my code can be further enhanced by other developers.

Happy blogging.
סגור לתגובות

Impact of foreign keys absence on replicating slaves

In this post I describe what happens when a slave's Foreign Key setup is different from that of the master. I'm in particular interested in a setup where the slave has a subset of the master's foreign keys, or no foreign keys at all. I wish to observe whether integrity holds.

Making the changes

Which foreign keys do we have and how do we drop them? If you want to do this by hand, well, good luck! Fortunately, common_schema provides with quite a few handy views and routines to assist us. Consider viewing the existing foreign keys on sakila:

master> SELECT create_statement FROM common_schema.sql_foreign_keys WHERE TABLE_SCHEMA='sakila';
+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| create_statement                                                                                                                                                                                |
+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| ALTER TABLE `sakila`.`address` ADD CONSTRAINT `fk_address_city` FOREIGN KEY (`city_id`) REFERENCES `sakila`.`city` (`city_id`) ON DELETE RESTRICT ON UPDATE CASCADE                             |
| ALTER TABLE `sakila`.`city` ADD CONSTRAINT `fk_city_country` FOREIGN KEY (`country_id`) REFERENCES `sakila`.`country` (`country_id`) ON DELETE RESTRICT ON UPDATE CASCADE                       |
| ALTER TABLE `sakila`.`customer` ADD CONSTRAINT `fk_customer_address` FOREIGN KEY (`address_id`) REFERENCES `sakila`.`address` (`address_id`) ON DELETE RESTRICT ON UPDATE CASCADE               |
| ALTER TABLE `sakila`.`customer` ADD CONSTRAINT `fk_customer_store` FOREIGN KEY (`store_id`) REFERENCES `sakila`.`store` (`store_id`) ON DELETE RESTRICT ON UPDATE CASCADE                       |
| ALTER TABLE `sakila`.`film` ADD CONSTRAINT `fk_film_language` FOREIGN KEY (`language_id`) REFERENCES `sakila`.`language` (`language_id`) ON DELETE RESTRICT ON UPDATE CASCADE                   |
| ALTER TABLE `sakila`.`film` ADD CONSTRAINT `fk_film_language_original` FOREIGN KEY (`original_language_id`) REFERENCES `sakila`.`language` (`language_id`) ON DELETE RESTRICT ON UPDATE CASCADE |
| ALTER TABLE `sakila`.`film_actor` ADD CONSTRAINT `fk_film_actor_actor` FOREIGN KEY (`actor_id`) REFERENCES `sakila`.`actor` (`actor_id`) ON DELETE RESTRICT ON UPDATE CASCADE                   |
| ALTER TABLE `sakila`.`film_actor` ADD CONSTRAINT `fk_film_actor_film` FOREIGN KEY (`film_id`) REFERENCES `sakila`.`film` (`film_id`) ON DELETE RESTRICT ON UPDATE CASCADE                       |
| ALTER TABLE `sakila`.`film_category` ADD CONSTRAINT `fk_film_category_category` FOREIGN KEY (`category_id`) REFERENCES `sakila`.`category` (`category_id`) ON DELETE RESTRICT ON UPDATE CASCADE |
| ALTER TABLE `sakila`.`film_category` ADD CONSTRAINT `fk_film_category_film` FOREIGN KEY (`film_id`) REFERENCES `sakila`.`film` (`film_id`) ON DELETE RESTRICT ON UPDATE CASCADE                 |
| ALTER TABLE `sakila`.`inventory` ADD CONSTRAINT `fk_inventory_film` FOREIGN KEY (`film_id`) REFERENCES `sakila`.`film` (`film_id`) ON DELETE RESTRICT ON UPDATE CASCADE                         |
| ALTER TABLE `sakila`.`inventory` ADD CONSTRAINT `fk_inventory_store` FOREIGN KEY (`store_id`) REFERENCES `sakila`.`store` (`store_id`) ON DELETE RESTRICT ON UPDATE CASCADE                     |
| ALTER TABLE `sakila`.`payment` ADD CONSTRAINT `fk_payment_customer` FOREIGN KEY (`customer_id`) REFERENCES `sakila`.`customer` (`customer_id`) ON DELETE RESTRICT ON UPDATE CASCADE             |
| ALTER TABLE `sakila`.`payment` ADD CONSTRAINT `fk_payment_rental` FOREIGN KEY (`rental_id`) REFERENCES `sakila`.`rental` (`rental_id`) ON DELETE SET NULL ON UPDATE CASCADE                     |
| ALTER TABLE `sakila`.`payment` ADD CONSTRAINT `fk_payment_staff` FOREIGN KEY (`staff_id`) REFERENCES `sakila`.`staff` (`staff_id`) ON DELETE RESTRICT ON UPDATE CASCADE                         |
| ALTER TABLE `sakila`.`rental` ADD CONSTRAINT `fk_rental_customer` FOREIGN KEY (`customer_id`) REFERENCES `sakila`.`customer` (`customer_id`) ON DELETE RESTRICT ON UPDATE CASCADE               |
| ALTER TABLE `sakila`.`rental` ADD CONSTRAINT `fk_rental_inventory` FOREIGN KEY (`inventory_id`) REFERENCES `sakila`.`inventory` (`inventory_id`) ON DELETE RESTRICT ON UPDATE CASCADE           |
| ALTER TABLE `sakila`.`rental` ADD CONSTRAINT `fk_rental_staff` FOREIGN KEY (`staff_id`) REFERENCES `sakila`.`staff` (`staff_id`) ON DELETE RESTRICT ON UPDATE CASCADE                           |
| ALTER TABLE `sakila`.`staff` ADD CONSTRAINT `fk_staff_address` FOREIGN KEY (`address_id`) REFERENCES `sakila`.`address` (`address_id`) ON DELETE RESTRICT ON UPDATE CASCADE                     |
| ALTER TABLE `sakila`.`staff` ADD CONSTRAINT `fk_staff_store` FOREIGN KEY (`store_id`) REFERENCES `sakila`.`store` (`store_id`) ON DELETE RESTRICT ON UPDATE CASCADE                             |
| ALTER TABLE `sakila`.`store` ADD CONSTRAINT `fk_store_address` FOREIGN KEY (`address_id`) REFERENCES `sakila`.`address` (`address_id`) ON DELETE RESTRICT ON UPDATE CASCADE                     |
| ALTER TABLE `sakila`.`store` ADD CONSTRAINT `fk_store_staff` FOREIGN KEY (`manager_staff_id`) REFERENCES `sakila`.`staff` (`staff_id`) ON DELETE RESTRICT ON UPDATE CASCADE                     |
+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+

Most of the foreign key constraints use RESTRICT for DELETE (meaning you are not allowed to delete a parent row when children exist), and CASCADE for UPDATE (meaning changes to parent will propagate to children). This is good, since I want to test behavior of both RESTRICT and CASCADE.

OK, we wish to remove these constraints from the slave. To see what we are going to do, consider:

slave1> select drop_statement from common_schema.sql_foreign_keys where table_schema='sakila';
+-----------------------------------------------------------------------------------+
| drop_statement                                                                    |
+-----------------------------------------------------------------------------------+
| ALTER TABLE `sakila`.`address` DROP FOREIGN KEY `fk_address_city`                 |
| ALTER TABLE `sakila`.`city` DROP FOREIGN KEY `fk_city_country`                    |
| ALTER TABLE `sakila`.`customer` DROP FOREIGN KEY `fk_customer_address`            |
| ALTER TABLE `sakila`.`customer` DROP FOREIGN KEY `fk_customer_store`              |
| ALTER TABLE `sakila`.`film` DROP FOREIGN KEY `fk_film_language`                   |
| ALTER TABLE `sakila`.`film` DROP FOREIGN KEY `fk_film_language_original`          |
| ALTER TABLE `sakila`.`film_actor` DROP FOREIGN KEY `fk_film_actor_actor`          |
| ALTER TABLE `sakila`.`film_actor` DROP FOREIGN KEY `fk_film_actor_film`           |
| ALTER TABLE `sakila`.`film_category` DROP FOREIGN KEY `fk_film_category_category` |
| ALTER TABLE `sakila`.`film_category` DROP FOREIGN KEY `fk_film_category_film`     |
| ALTER TABLE `sakila`.`inventory` DROP FOREIGN KEY `fk_inventory_film`             |
| ALTER TABLE `sakila`.`inventory` DROP FOREIGN KEY `fk_inventory_store`            |
| ALTER TABLE `sakila`.`payment` DROP FOREIGN KEY `fk_payment_customer`             |
| ALTER TABLE `sakila`.`payment` DROP FOREIGN KEY `fk_payment_rental`               |
| ALTER TABLE `sakila`.`payment` DROP FOREIGN KEY `fk_payment_staff`                |
| ALTER TABLE `sakila`.`rental` DROP FOREIGN KEY `fk_rental_customer`               |
| ALTER TABLE `sakila`.`rental` DROP FOREIGN KEY `fk_rental_inventory`              |
| ALTER TABLE `sakila`.`rental` DROP FOREIGN KEY `fk_rental_staff`                  |
| ALTER TABLE `sakila`.`staff` DROP FOREIGN KEY `fk_staff_address`                  |
| ALTER TABLE `sakila`.`staff` DROP FOREIGN KEY `fk_staff_store`                    |
| ALTER TABLE `sakila`.`store` DROP FOREIGN KEY `fk_store_address`                  |
| ALTER TABLE `sakila`.`store` DROP FOREIGN KEY `fk_store_staff`                    |
+-----------------------------------------------------------------------------------+

To actually make the DROP, we use common_schema's eval():

slave1> call common_schema.eval("select drop_statement from common_schema.sql_foreign_keys where table_schema='sakila'");

eval() is a handy routine which invokes statements generated by the given query.

This concludes the setup part.

Tests will include:

  1. Attempting to delete a parent row
  2. Attempting to add an invalid child row
  3. Attempting to update parent row

I was thinking there would be a difference between the two binary log file formats: STATEMENT and ROW. But the tests I produced showed no difference.

Tests

Attempting to delete parent row:

master> delete from actor where actor_id=1;
ERROR 1451 (23000): Cannot delete or update a parent row: a foreign key constraint fails (`sakila`.`film_actor`, CONSTRAINT `fk_film_actor_actor` FOREIGN KEY (`actor_id`) REFERENCES `actor` (`actor_id`) ON UPDATE CASCADE)

slave1> select * from actor where actor_id=1;
+----------+------------+-----------+---------------------+
| actor_id | first_name | last_name | last_update         |
+----------+------------+-----------+---------------------+
|        1 | PENELOPE   | GUINESS   | 2006-02-15 04:34:33 |
+----------+------------+-----------+---------------------+

Good: the master refused the DELETE, and no DELETE occurred on slave. Integrity is intact.

Attempting to add an invalid child row:

master> insert into film_actor (actor_id, film_id, last_update) values (9999, 1, NOW());
ERROR 1452 (23000): Cannot add or update a child row: a foreign key constraint fails (`sakila`.`film_actor`, CONSTRAINT `fk_film_actor_actor` FOREIGN KEY (`actor_id`) REFERENCES `actor` (`actor_id`) ON UPDATE CASCADE)

slave> select * from film_actor where actor_id=9999;
Empty set (0.00 sec)

Integrity is still intact.

Attempting to update parent row: there is nothing invalid about this operation. I'm wondering whether changes are CASCADEd on slave as well as on master:

master> update actor set actor_id=999 where actor_id=199;

master> select count(*) from film_actor where actor_id=999;
+----------+
| count(*) |
+----------+
|       15 |
+----------+

The 999 value wasn't there before on the master, so this verifies the CASCADE works on master. As for slave:

slave> select count(*) from actor where actor_id=999;
+----------+
| count(*) |
+----------+
|        1 |
+----------+

slave> select count(*) from film_actor where actor_id=999;
+----------+
| count(*) |
+----------+
|        0 |
+----------+

Bummer! The actor's row was updated, but cascading did not work on slave.

This is actually documented. However, the documentation only relates to the issue of slave tables being MyISAM. The problem occurs even when the slave tables are InnoDB, and have no foreign key constraints.

Conclusion

My personal interest in the scenario is due to something I'm working on, I'll elaborate on a future post. People sometime hope to get rid of foreign keys, and might wonder whether replication performance would boost having constraints removed on slaves.

When slave does not enforce foreign keys, you cannot rely on integrity with cascading constraints. An ugly patch might be to use triggers so as to simulate their behavior. Performance wise this is very bad.

סגור לתגובות

sip

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

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

לכן מי שכבר רוכש חשבון SIP בשביל להוציא שיחות (דרך אגב פיטצר מצויין זה שינוי מזהה שיחה יוצאת) ממליץ לו לחבר את החשבון הזה לאחד מהחשבונות שמחוברים ל sipbroker.
הרווח שלך הוא שאתה יכול לקבל שיחות מכל נקודה בעולם ועבור חלק מהאנשים בחינם.
הסבר:
  • כל לקוח בשרת אחר יכול להתקשר עליו בחינם ניתן לחייג עליו מטלפון רגיל בחלק מהחברות.לדוגמה יש לי מספר טלפון 9XXXX בopensips אז בשביל לחייג אלי מחברה מסויימת יחייגו :
    *7789XXXX
  • במידה ויש שיחת חינם למספרי גישה ניתן להשתמש ברישמה הבאה (ויש גם ישראלים) בשביל לחייג בחינם למספר טלפון SIPי.
    (מספרים של סלקום , הוט ובזק) - אדם מתקשר מהטלפון הקווי שלו למספר גישה ודרכו מגיע למרכזיה שאיתה יכול להגיע לשיחה אליכם.
    צחוק צחוק אבל זה זול יותר מחלק מהשיחות של נייד-לנייד דרך נייד->קו בזק->VoIP.

  • וכמובן בשביל להתקשר בSIP מחייגים פשוט account@fqdn או ה enum שלכם.

מה שלי היה חסר ב sipme זה חוסר תמיכה ב SIMPLE (אני אשמח לראות שאני טועה), ובכללי חוסר תיעוד על שימוש ב P-headers.

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

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

עלויות - 
שיחה לוקחת בין 8K ל 24K לפי קצב הדגימה והפרוטוקול שאתם משתמשים בו, 
אם אתם מחייגים לרוב לקווים נייחים אין ממש סיבה לדגום מעל 8 (לא ניתן להשמיע widesample על קוו טלפון אנגלוגי).
סגור לתגובות

‫הבהרות בקשר לפוסט "שרתים"‬

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

‫תוכנה חופשית, תרבות אירגונית וההצלחה של הקוראינים.‬

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

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

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

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

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

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

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

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

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

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

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

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

 

 

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

Turkic Wikimedia Conference 2012, Almaty: Other Highlights and Summing Up

Other highlights

Of course, the Turkic Wikimedia Conference had many other highlights except my talks and workshops. Jonas Öberg from Creative Commons delivered a keynote speech about the importance of letting people freely share their works, especially with regards to cultures which are not as known as the American or the Western European, such as that of Kazakhstan. Basically, anybody who is curious about the culture of Kazakhstan will only be able to know about it the things that are freely posted online. If it’s gathering dust in the library or locked behind a password in a pay-to-read website, nobody will read it.

Jonas Öberg. By: Ashina. License: CC-BY-SA 3.0.

Jonas Öberg. By: Ashina. License: CC-BY-SA 3.0.

The Wikimedian Daniel Mietchen, who is an advocate for Open Science, convincingly explained why opening up academic articles and experiments will not just make them cheaper, but also more correct scientifically.

Daniel Mietchen

Daniel Mietchen

Daniel also impressed lots of people with his Russian speaking skills: Apparently, he grew up in East Germany, where all children had to study Russian in schools, and he was one of the few children who actually bothered to learn it well. He said that at first he didn’t like to be forced to learn a language that wasn’t useful to him, but when he had to read a book of prose – The Tales of the Late Ivan Petrovich Belkin – as homework, he found it very satisfying, even though it was very hard in the beginning.

Another highlight was a book about editing Wikipedia given to me by one of its authors Irada Alakbarova, a participant from Azerbaijan. It is similar in content and scope to the book written by the French Wikimedians Guillaume Paumier and Florence Devouard, but it’s impressive that Irada is not just an enthusiastic Wikimedian, but also a department head in the Information Technology Institute of the Azerbaijan Academy of Sciences, and the book’s other author Rasim Aliquliyev is the Institute’s director. (In precise Azeri spelling their names are İradə Ələkbərova and Rasim Əliquliyev. The letter Ə is a part of Azerbaijan’s Latin-based writing system, but looks too weird to many English readers.)

İradə Ələkbərova

İradə Ələkbərova

Irada also told me that some time ago she gathered any information that she could about Wikipedia’s server configuration and used it as an example for teaching configuration of high-performance websites. She was very happy when I told that the Wikimedia server configuration became even more transparent recently.

Summing up

I participated in many conferences lately, and this one was unusually satisfying in many ways.

As usual, meeting the people was the best part. This refers both to the people from places like Bashkortostan and Sakha, with whom I communicated by email for many years, hardly imagining how do they look, and also to people whom I had not known before and who came from countries that I could hardly imagine of ever visiting, like Kyrgyzstan and Turkmenistan. The international press mostly reports bad and weird news from these countries, but as it often happens, the image created by the media has little to do with the real people – I was stunned by the talent, the originality and the vigor that they demonstrated.

I was not the only one who felt that the conference was a great success, so we already started to throw around ideas for the location of another one. The names of Bishkek, Ufa, Baku and Istanbul were suggested, and I would certainly be very happy to go to any of these cities or to meet these wonderful people elsewhere.

Most importantly, this conference left me and the other participants a long list of exciting tasks to do.


Filed under: Free Software, translation, Wikipedia Tagged: Creative Commons, Open Science
סגור לתגובות

‫שרתים‬

‫השבוע היה בתכנון להזמין עבור העסק מספר שרתים נוספים מ-HP להרחבת העסק. בדקנו מחירים, התווכחנו עם משווקים, קיבלנו הצעות מספקים שונים והמחירים כרגיל הראו שהמשווקים פה מרוויחים בכלל לא רע על חשבון עסקים כמו חץ ביז. אז לפני שאני שם חותמת עסק וחותם על ההזמנה החלטתי קצת לחשוב מחדש על עניין ההזמנה. בכל זאת, מדובר [...]‬
סגור לתגובות

‫ספרים בפורמט דיגיטלי‬

‫לחסרי הסבלנות… http://www.thestories.org/book/eupbreq בשנת 2006 יצא ספרי הראשון בדפוס, הספר "נולדו חופשיים". עריכת הספר והכנתו לדפוס היו פרויקט שלקח את רוב זמני הפנוי באותה תקופה אבל מאד נהנתי ממנו לא היה גבול לשמחה שלי כשהמו"ל הודיע לי שהגיעו העותקים מהדפוס. עזבתי הכל ונסעתי לחיפה (המו"ל הוא הוצאת פרדס בחיפה) לראות איך זה נראה במציאות. עכשיו נשאלה [...]
קטגוריות: ספרים | סגור לתגובות

חבר חדש בועד המנהל של Open Source Matters

OSM, הגוף שעומד מאוחרי Joomla! הודיע כי לועד המנהל שלו נבחרו שלושה חברים חדשים. אחד מהם, עופר כהן שמו, פעיל בקהילת ה-Joomla! הישראלית ואחד מהמארגנים של יום ג'ומלה 2011.

בנוסף לתרומת הקוד לפרוייקט ולתרגום לעברית, עופר גם הולך להעביר הרצאה בנושא "Joomla architecture revealed" בכנס הג'ומלה הבינלאומ "J and Beyond". כל הכבוד עופר ובהצלחה (:


Filed under: Free Software in Israel, Israeli Community
סגור לתגובות

תקציר חומרים ב-Cycles

חומרים ב-Cycles כל הרינדורים עם תאורת HDRI ו100 דגימות. Background = רקע, לרוב זה אומר שאין שום חומר אלא רק שקיפות. Diffuse = חומר אטום ללא השתקפות, מאפיין אובייקטים כמו ריצפה, חול, קירות וכו'.    Glossy = חומר אטום ומבריק, מאפיין חומרים כמו כסף, זהב, מראה וכו'. Glass = מאפיין אובייקטים בעלי שקיפות, מתאים לחומרים כמו מים, זכוכית, חלונות וכו'. Translucent =
סגור לתגובות

‫חפשו את ההפצה ..‬

סתם קריקטורה ברוח הימים האלו שנתקלתי בה …..

 

אבל , יש בה הפצת לינוקס שמסתתרת ..(רמז ירוק)

המקור הוא ישראל היום … של אתמול.

סגור לתגובות

‫אני מעדיף דו מימד בקולנוע‬

(מכתב ששלחתי למפיצי "הנוקמים", ayelet@forumfilm.co.il)

שלום איילת,

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

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

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

תגים: , , , , , , , , ,
קטגוריות: אינטרנט, אנשים, בלוג, בלוגים, בעיות, טרוניות, סרט, סרטים, פייסבוק, צרכנות, קהילה, קולנוע, שיווק | תגים: , , , , , , , , , | סגור לתגובות

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

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

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

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

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

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

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

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

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

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

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

שאלתי על הנושא של מודל הרישוי של Red Hat וכיצד ניתן להעביר לקוח מתמיכה אחת לאחרת כאשר המוצר קשור לשירות ולא למוצר בר קיימא .. הוא לא התבלבל.

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

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

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

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

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

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

סגור לתגובות

‫EA Games החלה לשחרר משחקים לאובונטו‬

שלום לכולם,

לאחרונה פורסם כי החברה Electronic Arts, המוכרת היום גם בזכות מאות המשחקים שהיא מפיצה, בינם: FIFA, Need for speed, Sims ועוד רבים וטובים, החלה לשחרר משחקים ללינוקס אובונטו.

כאות פתיחה היא שיחררה למרכז התוכנות של אובונטו שני משחקים קטנים: Command & Conquer Tiberium Alliances ו־Lord of Ultima, מה שעורר הרבה רעש, טענות ומענות, כיוון שהמשחקים הם משחקי רשת שממילא היו זמינים גם לפני כן למשתמשי הלינוקס.

Command & Conquer Tiberium Alliances

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

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

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

סגור לתגובות

‫עמותת המקור מביאה קורסי OpenFOAM לישראל‬

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

על התוכנה (מתוך ויקיפדיה):

OpenFOAM (Open Source Field Operation and Manipulation) is a C++ toolbox for the development of customized numerical solvers, and pre-/post-processing utilities for the solution of continuum mechanics problems, including computational fluid dynamics (CFD).

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

Share

סגור לתגובות

‫תוסף מעניין לוורדפרס: להחביא מגוגל, למנוע העתקות‬

‫הכל התחיל לפני מספר ימים. דבורית שרגל (בעלת הבלוג Velvet Underground שמתארח אגב, אצלנו) כתבה בקצרה על בעיה שיש לה: כאחת שנמצאת בתחום התקשורת, היא מקבלת לעיתים בקשות "דרושים" – חברות ועסקים בתחום התקשורת מחפשים אנשים מסויימים והיא מפרסמת את המודעות אצלה באתר (כאן). דבר מעולה, לדעתי. רק ישנה בעיה קטנה: כמו שקורה במקרים רבים, תמיד [...]‬
סגור לתגובות

Cracking WiFi: Israeli Provider fail

There’s something that has worried me greatly ever since my ISP came to install my router upgrade.

I won’t mention names, but it seems certain providers seem to favour setting the WPA-PSK passphrase to the phone number of the customer by default.
I have noticed that the ESSID is sometimes a form of the customer surname too.

This is of course dismal security-wise.
Firstly, if I can somehow get the target’s phone number (e.g. looking it up in the phonebook DUH), I can probably just guess the passphrase.

Secondly, even if I have no idea what the phone number is, by using this ‘convention’ for passphrases, the providers have GREATLY reduced the keyspace – making brute force attacks not only possible but practical too.

Let’s take a look at HOT for example. Their phone number-space is 077-XXX-XXXX.
That’s only 10,000,000 possible keys!

The following benchmarks from the Pyrit project paint a pretty bleak picture:

Now I haven’t benchmarked my home system yet, but lets conservatively say that my Radeon HD 5670 can pull a modest 5k PMKs/s I could cover the entire keyspace in 2000s. Statistically speaking, I’d likely hit the key in under 17 minutes!

Pretty practical I’d say.

So basically, providers; please stop doing stupid things like this!

סגור לתגובות

What do the people want? Part 2: Machine translation in their language – Google or Apertium

Another technical issue that bothered many people in the Turkic Wikimedia Conference in Almaty is support for their language in Google Translate. Though this is not directly related to Wikimedia, I was asked about this repeatedly by the participants, as well as by local journalists who interviewed me. Some people even referred to it as a “conspiracy”.

X

Tilek Mamutov, giving a talk about Google Translate

Tilek Mamutov, giving a talk about Google Translate

Luckily, one of the participants was Tilek Mamutov, a Google employee from Kyrgyzstan, and he delivered a whole talk about it. His main message was that there is no conspiracy, and that to support more languages Google mostly needs to process as many texts as possible in that language, if possible – with a parallel translation. There are much less digital texts in languages like Kyrgyz and Bashkir than there are in German and Spanish, so it is not yet possible.

However, there is hope: a group of volunteers in Kyrgyzstan is working on creating a database of digital translated texts with the specific goal of making it usable in Google Translate. WikiBilim, the Kazakh association that organized the conference works on a similar initiative, too.

On my behalf, I suggested a convenient way to gather texts in these languages: to upload literature in them to Wikisource. I also mentioned the existence of Apertium. Apertium is a Free machine translation engine, which can be adapted to any language. It was developed in Valencia, and the first languages that it started to support are languages that are relevant for Spain: Spanish, Catalan, Basque, English and also the closely-related Esperanto, and it translates between them quite well. It supports a few other languages, too.

And it can support even more languages. Like Google Translate, it also needs as many digital texts as possible to actually start working, and it also It needs dictionaries and tables of grammar rules, because it tries several methodologies for translation. Work has already begun for Turkish-Azeri and Turkish-Kyrgyz, and there are projects for Turkish-Chuvash and other language pairs. All these projects need people who can test them, contribute words to the dictionaries and check the grammar rules. So if you want to help complete a Free Turkish-Azeri machine translation system or to create an English-Kyrgyz translation system, contact the Apertium project.

To be continued…


Oh (edit): A correction came from Apertium developers: Apertium *doesn’t* need any texts, except for testing purposes. The more texts we have, the more we can test, of course, but above all, we need native speakers of languages who understand the grammar of the languages they’re working on and can work with computational formalisms.


Filed under: Free Software, Google, language, translation, Wikipedia Tagged: Apertium, Chuvash, digital texts, Kyrgyz, parallel translation, Turkish, wikisource
סגור לתגובות

‫מצאו את ההבדלים‬

‫2 עיתונים. תאומים סיאמיים שהופרדו בלידתם. למעשה הם רק נראים שונה, אבל בפנים כמעט הכל אותו דבר. אם מסתכלים מקרוב רואים שלא רק שם העיתון זהה, אלא גם התאריך ומספר הגיליון. למעשה, חוץ מהכותרת הראשית וכתבה אחת בעמוד 5, הכל אותו דבר – גם החדשות וגם הפרסומות. במילים אחרות – זה לא רק התרגיל, זו [...]‬
קטגוריות: בקטנה, כללי | סגור לתגובות

Ubuntu 12.04 Intrusive OS


I installed Ubuntu 12.04 on two laptops by now. and I must rant. Ubuntu developers are assuming two many things about me. First, there is this bug, which the 'migration-assitant' mounts existing partitions in READ-WRITE mode. I find it dangerous and not necessary for migration.
Then, today I installed Ubuntu 12.04 on IBM x121e and found out that my Bluetooth chip is disabled. After about 20 min of looking I discovered, it is because of a bug in the installer which messes around with the BIOS. So if you have IBM x120e with Intel Chipset, you need to reboot, restore the BIOS defaults and then Bluetooth works. 
That's all the ranting for now ...
סגור לתגובות

‫אפוקליפסה עכשיו‬

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

‫כמה דברים שעשויים לעניין מנהלי מערכות חופשיות‬

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

אחד הנושאים החמים הוא מערכות לניהול מידע ופרויקטים, בפרט בנושאי כתיבת קוד, אך גם כמערכת מידע של האירגון. קיימת מפלצת ה- sharepoint של מיקרוסופט, ומאידך, ישנם תוכנות נפלאות כמו bugzilla או track. אבל אף אחד מהן לא נותנת פתרון מלא. אי לכך, שמחתי לקרוא ב- slashdot (שהוא אגב, מקור מידע פנטסטי :) על open atrium מבוסס דרופל, שאמור על פניו לספק פתרון נרחב לעבודה משותפת. לא יצא לי עדיין לנסות אותו (או אפילו להתקין) ואשמח לשמוע חוות דעת ממישהו שניסה.

עוד נושא המהווה בסיס במקצוע הוא ניטור ביצועים. nagios הוא כלי וותיק המשמש כיום אירגונים רבים מספור. הוא כולל ממשק web, ומאפשר לכתוב בדיקות בכל כלי שיכול ליצא פלט סטנדרטי (בקיצור, בכל דבר שרץ על מערכת ההפעלה). כך שאם מדובר על bash, python או perl, אפשר לנטר כל אספקט שעולה על הדעת. מאידך, הוא טיפה מסורבל להתקנה, ולא כולל אפשרויות לגרפים היסטורים. תוכנות רבות מספור מתבססות עליו ומציעות הרחבות ליכולותיו. גם לישראל יש מה להציע בתחום זה, למשל, חברת centerity היושבת ברעננה ומציעה מערכת בשלה אך קניניית ובתשלום. מאידך, רוב אנשי התוכנה החופשית מעדיפים לשחק עם הברזלים בעצמם. לאחרונה, ראיתי והתרשמתי מאוד לטובה מ-opsview  אומנם היא מפותחת על ידי חברה וכוללת באתר גירסא להורדה בתשלום, אך מאידך הגירסא החופשית לשימוש והורדה כוללת אפשרויות נרחבות שעשויות לספק חלק נכבד ממנהלי הרשת (למען הכנות, מנהל הרשת שהתקין אותה לא חסך שבחים ועל פניו נראה שהיא פתרון מאוד מלא). בשילוב עם nmis ניתן גם לנטר באמצעות snmp גם נתבים וציוד רשת ולקבל את התמונה המלאה על החווה.

תחום הוירטואלויזיה הוא אחד הנושאים החמים ב- it. הישראלים, אשר מגלים מחשבה מקורית ותעוזה בהרבה תחומים, דווקא מאופיינים בעדריות מעצבנת בכל הנוגע לאימוץ טכנולוגיות כמו שמיקרוסופט שולטת בשרתי הדואר ובשולחנות העבודה, כך גם בוירטואלוזיציה השוק הישראלי נמצא בשליטה מלאה (ועם אחוז החדירה הגבוה ביותר בעולם) של vmware. המוצר הוא מוצר נהדר, מעבר לביצועים מצויינים, המערכות כוללת גם אפשרויות מתקדמות של ניהול זכרון, פתרונות רבים לשולחן העבודה, ובתחום השרתים,  live migration המנייד מערכות וירטואליות בין שרתים באופן כמעט שקוף למשתמש – כך שאם מכונה וירטואלית דורשת לפתע יותר משאבים, היא מדלגת לה אוטמטית אל שרת אחר. אפשרויות מתקדמות באות עם תג מחיר לא נמוך. לטובתה של vmware ניתן לציין שאם מוותרים על אפשרויות אלו, ניתן לעשות שימוש במערכת חינם. אבל חינם זה לא חופשי. אי לכך, קיימת סקרנות וכמיהה מתמדת (לפחות שלי) למערכת חופשית המציעה פתרונות דומים. למרבה היגון, redhat המציעה מערכת מתחרה המבוססת על ה- kvm משווקת  מערכת ניהול שכנראה אינה נופלת ברמתה מהמערכת של vmware, אך באופן מעורר בחילה קלה, ממשק הניהול הנוכחי שלה רץ על חלונות, ויתרה מכך – לא ניתן להוריד אותו אפילו להתרשמות. (אשמח ללינק שיוכיח שאני טועה :).(גם הפתרון של סיטריקס נהדר כל עוד מוותרים על אפשרויות ה- live migartion וה- shared memory. אני משער שניתן לתפור את הפתרונות הללו ידנית על סמך הפצות לינוקס קיימות, מאידך, לא ניסיתי :).

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

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

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

open storage

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

‫לדראון עולם .. ככה נראה השירות של רשות המיסים.‬

ידיעה מדהימה שנתקלתי בה בגלובס .

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

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

אני לא יודע אם קודם אני צריך לצחוק או שקודם אני צריך לבכות ….

אני צריך לחזור על זה אולי זה ייקלט אצלי ..

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

מדהים .

ממש סטארטאפ … אומה של סטארטאפים .

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

ביזיון.

(זה לא קשור ללינוקס ו/או לתוכנה חופשית, אבל זה קשור לטכנולוגיה , אינטרנט, ושירות לציבור)

סגור לתגובות

GCC 4.7 Breaks 169 Packages in Debian … my weired hobby …


I have a weired hobby, checking very frequently the Release-Critical Bugs in Debian.
It's kind of a magic window to all this wonderful packages found in Debian. Sometimes I'm horrified to see so many bugs opened at once. Like now ... 169 FTBS introduced by GCC-4.7...



It's no reason to panic, but it's been a while since I've seen such a huge bump up...


סגור לתגובות

‫מייקרוסופט עושים זאת שוב.‬

לא יודע כמה מהקוראים עוסקים ומשתמשים ב samba ובאיזו רמה של עומק.

לצערי, נראה לי כרגע שהעתיד לא ממש הולך להיות מזהיר.

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

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

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

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

לפיכך נכנסה מייקרוסופט בזמנו לשיתוף פעולה עם XenSource (לימים Citrix ) והקימה את מערכת ה Hyper-V אשר הקפיצה את יכולות הווירטואליזציה שלה שנות דור קדימה.

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

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

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

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

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

עד היום, פרוטוקול smb “דיבר" רק דרך ערוץ יחיד, בפרוטוקול החדש מיישמים Multi-Channel , זאת על מנת להאיץ את הגישה והאספקה של הנתונים ללקוח.

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

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

שם אפשר לקרוא מעט על הפרוטוקול.

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

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

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

:-)

 

סגור לתגובות

האם אורקל מנסה להרוג כל טכנולוגיה מבוססת מחשב ?

הבהרה: אלע"ד (אני לא עוכר דין).

"אין לי בעיה עם בני אדם שהם גם עורכי דין, יש לי בעיה עם עורכי דין השייכים לקבוצת בני האדם." – איי קיי

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

גוגל מצידה אומרת כי חברת סאן (אשר לצערי אורקל קנו אותה), שיחררה את מימוש ג'אווה "לחופשי" ברישיון אשר מאפשר לכל דורש לעבוד איתה. לפני כן, היו מספר מימושים שונים של JDK כדוגמת המימוש של חברת IBM, אשר נוצר כ clean room. אבל אז למעשה Sun שחררה ב2006 את OpenJDK, ואף התעוד נפתח לגמרי, וקיבלנו API לגמרי פתוח של ג'אווה. ואז חברת RedHat יצרה פרוייקט בשם IcedTea אשר מאגד בתוכו את תכונות ג'אווה ללא צורך בתמיכה של עוד כלים לשם כך, תוך שימוש בגרסת קוד הפתוח שSun פתחה.

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

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

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

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


Filed under: android, Java, טכנולוגיה, כלכלה, משפט, פיתוח, קוד פתוח, תוכנה Tagged: java, sun
קטגוריות: Android, Java, sun, טכנולוגיה, כלכלה, משפט, פיתוח, קוד פתוח, תוכנה | סגור לתגובות

What do the people want? Part 2: Machine translation in their language – Google or Apertium

Another technical issue that bothered many people in the Turkic Wikimedia Conference in Almaty is support for their language in Google Translate. Though this is not directly related to Wikimedia, I was asked about this repeatedly by the participants, as well as by local journalists who interviewed me. Some people even referred to it as a “conspiracy”.

Tilek Mamutov, giving a talk about Google Translate

Tilek Mamutov, giving a talk about Google Translate

Luckily, one of the participants was Tilek Mamutov, a Google employee from Kyrgyzstan, and he delivered a whole talk about it. His main message was that there is no conspiracy, and that to support more languages Google mostly needs to process as many texts as possible in that language, if possible – with a parallel translation. There are much less digital texts in languages like Kyrgyz and Bashkir than there are in German and Spanish, so it is not yet possible.

However, there is hope: a group of volunteers in Kyrgyzstan is working on creating a database of digital translated texts with the specific goal of making it usable in Google Translate. WikiBilim, the Kazakh association that organized the conference works on a similar initiative, too.

On my behalf, I suggested a convenient way to gather texts in these languages: to upload literature in them to Wikisource. I also mentioned the existence of Apertium. Apertium is a Free machine translation engine, which can be adapted to any language. It was developed in Valencia, and the first languages that it started to support are languages that are relevant for Spain: Spanish, Catalan, Basque, English and also the closely-related Esperanto, and it translates between them quite well. It supports a few other languages, too.

And it can support even more languages. Like Google Translate, it also needs as many digital texts as possible to actually start working, and it also needs dictionaries and tables of grammar rules, because it tries several methodologies for translation. Work already begun for Turkish-Azeri and Turkish-Kyrgyz, and there are projects for Turkish-Chuvash and other language pairs. All these projects need people who can test them, contribute words to the dictionaries and check the grammar rules. So if you want to help complete a Free Turkish-Azeri machine translation system or to create an English-Kyrgyz translation system, contact the Apertium project.

To be continued…


Filed under: Free Software, Google, language, translation, Wikipedia Tagged: Apertium, Chuvash, digital texts, Kyrgyz, parallel translation, Turkish, wikisource
סגור לתגובות

two git tips

Two git tips: list remote repo; show direct merge path

Listing remote git repositories

Sometimes public git repositories have no convenient web interface. Their existence can be inferred from a mention in a git merge commit, like this one. To get a list of branches in a repository using the native git protocol, use the git ls-remote command:

git ls-remote -h git://sources.calxeda.com/kernel/

Use -t to get tags listing.

Show merge path log

By default git log does not necessarily reflect the actual "ancestry" line of commits. To know which merges a given commit went through on its way to the main development tree, do

git log --ancestry-path commit1..commit2

where commit1 is the commit you are interested in, and commit2 is any random later commit, such as a version tag.

סגור לתגובות

two git tips

Two git tips: list remote repo; show direct merge path

Listing remote git repositories

Sometimes public git repositories have no convenient web interface. Their existence can be inferred from a mention in a git merge commit, like this one. To get a list of branches in a repository using the native git protocol, use the git ls-remote command:

git ls-remote -h git://sources.calxeda.com/kernel/

Use -t to get tags listing.

Show merge path log

By default git log does not necessarily reflect the actual "ancestry" line of commits. To know which merges a given commit went through on its way to the main development tree, do

git log --ancestry-path commit1..commit2

where commit1 is the commit you are interested in, and commit2 is any random later commit, such as a version tag.

סגור לתגובות

jQuery board

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

‫הקלות הבלתי נסבלת של הענישה בפשעי מידע.‬

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

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

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

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

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

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

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

ומי התנגד לאותה ענישה ? או מי לא אהב את אותה ענישה ?

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

ניתן לראות כאן בפרוטוקול (עמוד 62 ואילך) :

נירה לאמעי: ……..

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

היו"ר מאיר שטרית:

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

אביטל שטרנברג:

אני חושבת שהמצב הוא חמור דיו. “

(הגב' עו"ד אביטל שטרנברג הינה ממשרד המשפטים. ד.א.)

(יש בפרוטוקול לא מעט פניני מידע, אתם מוזמנים לקרוא את המידע במקור)

כך שבפעם הבאה שמקלים ומשחררים אנשי ממשל כאלו ואחרים עם עונשים מגוחכים – דעו לכם ש"הדג מסריח מהראש" .

סגור לתגובות

‫קצת ווירטואליזציה לסוף השבוע.‬

 2 דברים קטנים על ווירטואליזציה מהשבוע האחרון.

אם אתם לא אנשי לינוקס שעובדים כל הזמן עם ה shell .. תעשו לעצמכם טובה וכאשר יש ממשקי GUI – תשתמשו בהם.

ולא.. לא מריצים סתם פקודות על shell של סביבת Xen Server בלי להבין מה הן עושות .

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

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

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

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

אז אם ממש בא לכם להריץ על שרת ה Xen Server שלכם פקודה כמו:

xe sr-desrtoy ואז את ה uuid של ה storage ..

אל …..

פשוט אל …

זה ממש לא מה שאתם רוצים וצריכים …

והדבר השני :

אתמול אני מקבל שיחת טלפון מי.

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

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

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

מסתבר שהם רצו לחברת את סביבת ה Vmware שלהם ל storage חיצוני ולהעביר אליו את המכונות (שהיו עד עתה על דיסקים פנימיים) .

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

מה שקרה אצלהם הוא שהדיסקים הועתקו (בסדר הפוך מסדר היווצרם בלינוקס) כך שהמכונות לא יכלו לעלות (כי דיסק A הפך להיות דיסק B ולהיפך).

בכל אופן , כניסה ל rescue , וביצוע עריכה ל fstab פותר את הבעיה .

סגור לתגובות

‫"האח הגדול" – גרסת טייבה‬

בחיי שאני הולך לעשות הסבה מקצועית.

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

אבל עדיין, יש כמה אנשים שהייתי עושה להם הסבה לנביאים.

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

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

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

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

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

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

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

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

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

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

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

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

והנה עכשיו גם "משפחות פשע" מקימות חדרי בקרה.

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

הנה הכתבה שהופיעה בישראל היום:

 

סגור לתגובות

‫"האח הגדול" – גרסת טייבה‬

בחיי שאני הולך לעשות הסבה מקצועית.

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

אבל עדיין, יש כמה אנשים שהייתי עושה להם הסבה לנביאים.

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

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

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

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

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

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

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

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

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

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

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

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

והנה עכשיו גם "משפחות פשע" מקימות חדרי בקרה.

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

הנה הכתבה שהופיעה בישראל היום:

 

סגור לתגובות

Ubuntu Rant! You need Ubuntu to install Ubuntu


Ubuntu "engineers" are probably dumber than that Enterprise Linux OS. I got a laptop from a friend who asked me to install the latest Ubuntu on it. My usual technique of make a live bootable usb faild.
So, I googled and found this evidence that Ubuntu engineers are retarded.
You need Ubuntu to install Ubuntu.
This reminds me a bit that Redmond company. What if I have another OS ? NOT Mac or Windows ? For example, Debian? can't you just write how to obtain that package ???
סגור לתגובות

‫גיבויים ושיפורים לטובת הלקוחות שלנו‬

‫אם יש משהו אחד שאנו מאוד גאים בו, זה הלקוחות שלנו וליתר דיוק – הסקטור שאנו "רודפים" אחריו, הלו הוא הסקטור הטכני: מהנדסים, מתכנתים, אנשי סיסטם, IT, מנמרי"ם, אנשי QA ועוד. אלו הלקוחות שלא רק שיודעים מה הם רוצים, הם גם יודעים למדוד אם הם מקבלים מה שהם מקבלים ולבדוק האם זה עומד בתנאים שלהם [...]‬
קטגוריות: VPS, iSCSI, אחסון, אחסון אתרים, אתרים, גיבוי, השכרה, וירטואליזציה, חסכון, טכנולוגיה, כללי, משותף, ניהול / סיסטם, שטחים, שרתים | סגור לתגובות

מפגש בלנדר

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

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


Filed under: Free Software in Israel, Israeli Community
סגור לתגובות

מפגש בלנדר

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

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


Filed under: Free Software in Israel, Israeli Community
סגור לתגובות

הכרת תודה למפתחי קוד פתוח

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

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

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

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

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


Filed under: קוד פתוח
קטגוריות: קוד פתוח | סגור לתגובות

Webinar review: Zero-Downtime Schema Changes In MySQL

Yesterday I attended the Zero-Downtime Schema Changes In MySQL webinar by Baron Schwartz, Percona (do you say "attended" for something you listened to from your home office?)

I was keen to learn about possible enhancements and improvements of pt-online-schema-change over oak-online-alter-table. Here are my impressions:

The base logic of pt-online-schema-change is essentially the same as of oak-online-alter-table. You create a ghost/shadow table, create complex triggers, copy in chunks, freeze and swap. Both work on any type of PRIMARY KEY (oak-online-alter-table can work with any UNIQUE KEY, I'm not sure about pt-online-schema-change on this), be it an INTEGER, other type, or a multi column one.

However, pt-online-schema-change also adds the following:

  • It supports FOREIGN KEYs (to some extent). This is something I've wanted to do with oak-online-alter-table but never got around to it. Foreign keys are very tricky, as Baron noted. With child-side keys, things are reasonably manageable. With parent-side this becomes a nightmare, sometimes unsolvable (when I say "unsolvable", I mean that under the constraint of having the operation run in a non-blocking, transparent way).
  • Chunk size is auto-calculated by the script. This is a cool addition. Instead of letting the user throwing out numbers like 1,000 rows per chunk, in the hope that this is neither too small nor too large, the tool monitors the time it takes a chunk to complete, then adjusts the size of next chunk accordingly. Hopefully this leads to a more optimized run, where locks are only held for very short periods, yet enough rows are being processed at a time.
  • The tool looks into replicating slaves to verify they're up to the job. If the slave lags too far, the tool slows down the work. This is an excellent feature, and again, one that I always wanted to have. Great work!

So the three bullets above are what I understand to be the major advantages of Percona's tool over oak-online-alter-table.

Q & A

The presentation itself was very good, and Baron answered some questions. There was one question he did not answer during the webinar, nor here, and I though I may pop in and answer it. Although I can't speak for the coders of pt-online-schema-change, I safely assume that since the logic follows that of oak-online-alter-table, the same answer applies in the case of Percona's toolkit.

But, first, a background question (asked and answered during the webinar):

Q: What if my table already has AFTER TRIGGERs?

A: Then this can't work out. The table must not have triggers.

Which led to the next question:

Q: Can't the tool use BEFORE TRIGGERs instead?

Imagine a MyISAM table being altered to InnoDB (this is a major task for which my tool was built). Suppose we used a BEFORE trigger on an INSERT, but the INSERT failed. That would make the shadow table inconsistent with the original table. Which is the reason why the trigger must be an AFTER trigger.

With InnoDB this should not be an issue, since triggers and actions all play within the same transaction, so all succeed or all fail. I have this nagging feeling at the back of my head which says I've already had thoughts on this and have found a problem with InnoDB tables as well. I can't put my finger on it now, so no comment on this one at this stage.

סגור לתגובות

Perl Maven Cookbook

After a long period of yak shaving, yesterday I decided to go for the short-cut and set up a minimal system for the Perl Maven web site.

For the full article visit Perl Maven Cookbook

סגור לתגובות

Perl Maven Cookbook

After a long period of yak shaving, yesterday I decided to go for the short-cut and set up a minimal system for the Perl Maven web site.

For the full article visit Perl Maven Cookbook

קטגוריות: perl | סגור לתגובות

Bye Bye OmniCppComplete, Hello Clang Complete

For years OmniCppComplete has been the de facto standard for C++ completion in Vim. But as time progressed, I got more and more annoyed by it’s shortcomings. OmniCppComplete is based on tokenizing provided by ctags. The ctags parsing of C++ code is problematic, you can’t even run it on libstdc++ headers (you need to download modified headers). You want to use an external library? You’ll need to run ctags seperatly on each library. Not to mention it’s inablity to deduce types of anything more than trivial. The core of the problem is that OmniCppComplete isn’t a compiler and you can’t expect something that isn’t a compiler to fully understand code. This what makes Visual Studio’s IntelliSense so great: it uses the Visual C++ compiler for parsing, it isn’t making wild guess at types and what is the current scope – it knows it.

With this on my mind, I set out to look for a better alternative. The first thing I looked for is getting GCC to give me type info. Apparently, GCC doesn’t like to play nice with other and provide this information (I read in couple of places people cite RMS/FSF saying it’s deliberately in order not to allow proprietary software to use GCC without linking against it, like crashing your car so nobody wants to steal it – plain dumb). The only solution is to patch like GCCSense, which does exactly what I looked for, compiler based auto-completion. But patching GCC only to work around perverted FSF policies seems like not the most elegant solution. This is where clang, a modular and developer friendly compiler, came to my mind.

After a quick searching I came across clang complete. This plugin uses clang to parse your code and suggest completion. Auto-complete worked out of the box for the standard library, STL and Boost, and it worked properly (already better than OmniCppComplete). If you want to use libraries which aren’t in your default search path, i.e. gcc need you to specify -I flags or you need -D flags, you’ll need to pass them on to clang. This may sound difficult, but the developers of the vim script provide a wrapper to automatically understand what should be the proper flags from your build system. All you need to do is pass CXX='~/.vim/bin/cc_args.py g++' to make and the script will record your flags in a .clang_complete file, which it will use from now on. After you do it (except a little glitch, see bellow), omni-completion will work for every library in your code base.

There are still some glitches that need to be polished. First of all, the suggested way to invoke cc_args.py isn’t perfect. Make changes working dirs as it recurses through your code base, so cc_args.py‘s working-dir isn’t the same as yours, but the plugin will search for the .clang_complete file in your working-dir (the one vim has). The solution is just to move the .clang_complete files to the main directory of the project, from whatever subdirectory it created them in, and merge them (simpler than it sounds). Also this task needs to be done once for every project, so no big deal.

There are two other problems that still bother me. The plugin’s author says that if you set the plugin to use libclang it would work much faster and use caching. However, libclang isn’t currently packaged for Ubuntu 11.10. This should be solve next month with the release of Ubuntu 12.04, which provides it. The second problem is a weird bug in clang. When I try to compile a C++11 file with clang (providing the -std=c++0x flag, it segfaults, pretty weird. But I guess a bit more searching and maybe some bug-reporting will fix this issue (sadly, this means that the plugin can’t autocomplete c++11 features as well).

Despite some rough edges it’s way better than any previous C++ completion for Vim I ever seen. At the begging I hesitated when I had to remove OmniCppComplete due to conflicts with clang complete, and now after a (very) shot time using clang complete I don’t think I’ll miss it anytime soon.

Update May 2, 2012: Ubuntu 12.04 got released, so I finally checked the status of the completion using libclang. Apparently, you also need to install the libclang-dev package (in addition to libclang1, or else, clang_complete will output cryptic error messages. The clang 3.0 that comes with Ubuntu 12.04 no longer segfaults on c++11 code, but it refuses the compile anything with boost’s shared_ptr, due to issues with move semantics.

סגור לתגובות