<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<feed xmlns="http://www.w3.org/2005/Atom">

	<title>פלאנט תוכנה חופשית בישראל (Planet FOSS-IL)</title>
	<link rel="self" href="http://planet.hamakor.org.il/atom.xml"/>
	<link href="http://planet.hamakor.org.il"/>
	<id>http://planet.hamakor.org.il/atom.xml</id>
	<updated>2012-05-20T18:01:18+00:00</updated>
	<generator uri="http://www.planetplanet.org/">Planet/2.0 +http://www.planetplanet.org</generator>

	<entry>
		<title type="html">linux kernel module parameters</title>
		<link href="http://baruch.siach.name/blog/posts/linux_kernel_module_parameters/"/>
		<id>http://baruch.siach.name/blog/posts/linux_kernel_module_parameters/</id>
		<updated>2012-05-20T11:05:19+00:00</updated>
		<content type="html" xml:lang="en">&lt;h2&gt;Setting Linux kernel module parameters&lt;/h2&gt;

&lt;p&gt;Many Linux kernel modules have parameters that can be set at load
time, boot time, and sometimes run-time. In the following I'll
demonstrate each method.&lt;/p&gt;

&lt;h3&gt;Setting module parameter at load time&lt;/h3&gt;

&lt;p&gt;The easiest way to load kernel modules at run time is using the
&lt;code&gt;modprobe&lt;/code&gt; command. To set a module parameter put the parameter name
and value in the &lt;code&gt;modprobe&lt;/code&gt; command line:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;modprobe foo parameter=value
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;The command &lt;code&gt;modinfo&lt;/code&gt; lists the parameters that a given kernel module
accepts, with the expected type of each parameter. For example, on my
Linux 3.2 based system the command &lt;code&gt;modinfo ambassador&lt;/code&gt; shows the
following parameters info:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;parm:           debug:debug bitmap, see .h file (ushort)
parm:           cmds:number of command queue entries (uint)
parm:           txs:number of TX queue entries (uint)
parm:           rxs:number of RX queue entries [4] (array of uint)
parm:           rxs_bs:size of RX buffers [4] (array of uint)
parm:           rx_lats:number of extra buffers to cope with RX latencies (uint)
parm:           pci_lat:PCI latency in bus cycles (byte)
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Simple values of type byte or uint are represented by a number:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;modprobe ambassador debug=1
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Array values are set using a comma separated list of values:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;modprobe ambassador rxs=1000,2000,3000,4000
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;String (&lt;code&gt;charp&lt;/code&gt;) values are set using a string:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;modprobe parport_pc init_mode=epp
&lt;/code&gt;&lt;/pre&gt;

&lt;h3&gt;Setting module parameters at boot time&lt;/h3&gt;

&lt;p&gt;When a module is compiled into the kernel you can't load it at run
time, and you can't set its parameters either. You can, however, set
the module parameters from the kernel command line as described in
&lt;a href=&quot;http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob;f=Documentation/kernel-parameters.txt&quot;&gt;Documentation/kernel-parameters.txt&lt;/a&gt;. The equivalent of the
&lt;code&gt;modprobe&lt;/code&gt; commands above, are the following strings in the kernel
command line:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;ambassador.debug=1

ambassador.rxs=1000,2000,3000,4000

parport_pc.init_mode=epp
&lt;/code&gt;&lt;/pre&gt;

&lt;h3&gt;Setting module parameters at run-time&lt;/h3&gt;

&lt;p&gt;Sometimes a kernel modules allows setting a parameter at run time. In
this case you'll find the parameter under
&lt;code&gt;/sys/module/modulename/parameters/&lt;/code&gt;, with writable file
permissions. The &lt;code&gt;debug&lt;/code&gt; parameter of the &lt;code&gt;ambassador&lt;/code&gt; module is an
example of such a parameter. Set a value to this parameter with a
simple &lt;code&gt;echo&lt;/code&gt; command:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;echo -n 1 &amp;gt; /sys/module/ambassador/parameters/debug
&lt;/code&gt;&lt;/pre&gt;</content>
		<author>
			<name>Baruch Siach's blog</name>
			<uri>http://baruch.siach.name/blog/</uri>
		</author>
		<source>
			<title type="html">Baruch Siach's blog</title>
			<subtitle type="html">Baruch Siach's blog</subtitle>
			<link rel="self" href="http://baruch.siach.name/blog/index.atom"/>
			<id>http://baruch.siach.name/blog/</id>
			<updated>2012-05-20T11:16:22+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en">
		<title type="html">השרות הנסיוני לתכנון נסיעה בתח&amp;#8221;צ עלה לאויר</title>
		<link href="http://yehudab.com/blog/2012/05/otp-il-temp-server/"/>
		<id>http://yehudab.com/blog/?p=684</id>
		<updated>2012-05-20T03:28:50+00:00</updated>
		<content type="html">&lt;p&gt;פחות משבוע אחרי &lt;a href=&quot;http://www.tlv1.co.il/?p=5930&quot;&gt;הפרסום הראשון&lt;/a&gt; של נתוני התחבורה הציבורית בפורמט תיקני, עלה לאויר &lt;a href=&quot;http://ec2-50-16-88-48.compute-1.amazonaws.com:8080/opentripplanner-webapp&quot;&gt;שרות חופשי לתכנון מסלולי נסיעה&lt;/a&gt; המבוסס על הנתונים אלה. ניתן לתכנן נסיעה בתחבורה ציבורית מכל מקום לכל מקום בארץ, אם כי לא כל חברות התח&amp;#8221;צ מכוסות. בולטת בהעדרה רכבת-ישראל. השרות הוא נסיוני, והכתובת והשרת יוחלפו בקרוב. בנתיים מוזמנים לנסות ולשלוח תגובות למטה.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://img.skitch.com/20120520-d4dysf5u9ruawex2jm83yihied.png&quot; alt=&quot;תכנון מסלול לדוגמה&quot; /&gt;&lt;/p&gt;
&lt;p&gt;שימו לב! השרות מוגש as-is. אין שום הבטחה לתקינות הנתונים מבחינת האפשרות לנסוע במסלול, יעילות המסלול, זמנים, מספרי הקוים, או מחיר הנסיעה (אם וכאשר יפורסם).&lt;br /&gt;
שוב תודה לחברי ומנהלי &lt;a href=&quot;http://www.hamakor.org.il/&quot;&gt;עמותת המקור&lt;/a&gt; על התמיכה בפרויקט.&lt;/p&gt;</content>
		<author>
			<name>יהודה</name>
			<uri>http://yehudab.com/blog</uri>
		</author>
		<source>
			<title type="html">בלוג פשוט » קוד פתוח ותוכנה חופשית</title>
			<subtitle type="html">צר עולמי כ  U+200A</subtitle>
			<link rel="self" href="http://yehudab.com/blog/category/foss/feed/atom/"/>
			<id>http://yehudab.com/blog/feed/atom/</id>
			<updated>2012-05-20T04:01:40+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en">
		<title type="html">‫כמה מילים על Coreboot ועל יצרני לוחות אם‬</title>
		<link href="http://benhamo.org/wp/?p=3316"/>
		<id>http://benhamo.org/wp/?p=3316</id>
		<updated>2012-05-19T19:27:33+00:00</updated>
		<content type="html">&amp;#8235;הנה סיטואציה שידועה לכל איש IT שמנהל איזה שרת או שתיים (או יותר). אתה מחבר את הכבלים, לוחץ על כפתור ה-Power ועד שתקבל מצב שמערכת ההפעלה המותקנת עולה – יחלפו לפחות 2-4 דקות, ולא חשוב כמה השרת שלך חזק או עוצמתי, בין אם יש לו 2 ג’יגהבייט זכרון או 1 טרהבייט (אם כבר, ככל שיש [...]&amp;#8236;</content>
		<author>
			<name>Hetz Ben Hemo</name>
			<uri>http://benhamo.org/wp</uri>
		</author>
		<source>
			<title type="html">‫כמה מילים, ברשותכם » מחשבים‬</title>
			<subtitle type="html">‫הבלוג של חץ בן חמו‬</subtitle>
			<link rel="self" href="http://benhamo.org/wp/?cat=5&amp;feed=rss2"/>
			<id>http://benhamo.org/wp/?cat=5&amp;feed=rss2</id>
			<updated>2012-05-19T19:31:06+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en">
		<title type="html">חישוב מסלול נסיעה בתחבורה ציבורית</title>
		<link href="http://yehudab.com/blog/2012/05/otp-il/"/>
		<id>http://yehudab.com/blog/?p=665</id>
		<updated>2012-05-19T18:53:48+00:00</updated>
		<content type="html">&lt;p&gt;משרד התחבורה החל לפרסם לפני כשבוע מאגר מידע חדש הכולל לוחות זמנים ונתיבים של התחבורה הציבורית בארץ. &lt;a href=&quot;http://data.gov.il/dataset/383&quot;&gt;המאגר&lt;/a&gt; מפורסם לפי תקן פתוח של גוגל שנקרא GTFS. במסגרת שיתוף פעולה של מספר חברים ברשימת התפוצה של &lt;a href=&quot;http://www.hamakor.org.il/&quot;&gt;המקור&lt;/a&gt;, הקמנו פיילוט שמדגים את יכולות המאגר. הקוד בפיילוט מבוסס על פרויקט OpenTripPlanner. תודה לירון על עבודת התרגום, ולשאר החברים על העידוד והתמיכה.&lt;/p&gt;
&lt;p&gt;עד להקמת שרת ציבורי, ניתן להתרשם מצילומי המסך:&lt;/p&gt;
&lt;p&gt;מסלול שלם:&lt;br /&gt;
&lt;img src=&quot;https://img.skitch.com/20120517-psf8rncs3csb8genburn9738gd.png&quot; alt=&quot;מסלול שלם&quot; /&gt;&lt;/p&gt;
&lt;p&gt;התמקדות על מקטעים:&lt;br /&gt;
&lt;img src=&quot;https://img.skitch.com/20120517-rpfeyxpb4nx3t8rpdw9qycshut.png&lt;br /&gt;
&quot; /&gt;&lt;br /&gt;
&quot; /&gt;&lt;br /&gt;
&quot; /&gt;&lt;br /&gt;
&quot; alt=&quot;התמקדות על מקטעים&quot; /&gt;&lt;/p&gt;
&lt;p&gt;גרסה להדפסה:&lt;br /&gt;
&lt;img src=&quot;https://img.skitch.com/20120517-fnrapyjp427xmw9e86ha791d3g.png&lt;br /&gt;
&quot; /&gt;&lt;br /&gt;
&quot; /&gt;&lt;br /&gt;
&quot; /&gt;&lt;br /&gt;
&quot; alt=&quot;גרסה להדפסה&quot; /&gt;&lt;/p&gt;
&lt;h3&gt;ההסבר בהמשך מיועד למי שרוצה להקים שרת. לא למי שרוצה לחשב מסלול !! (מה שנקרא: Don&amp;#8217;t try this at home).&lt;br /&gt;
&lt;/h3&gt;
&lt;p&gt;להקמת השרת, יש לבצע את הפעולות הבאות: (זה הרקע. הקוד בפסקה הבאה מבצע את הפעולות)&lt;/p&gt;
&lt;p&gt;להוריד ולפתוח את הקוד של OpenTripPlanner (גודל הקובץ כ 90MB) וליצור קישור סימבולי ל / .&lt;br /&gt;
להוריד ולפתוח קובץ Open Street Map של ישראל מהאתר &lt;a href=&quot;http://downloads.cloudmade.com/asia/western_asia/israel&quot;&gt;cloudmade.com&lt;/a&gt; (גודל הקובץ 22MB).&lt;br /&gt;
למצוא את כתובת קובץ ה GTFS &lt;a href=&quot;http://data.gov.il/dataset/383&quot;&gt;מאתר מאגרי המידע &lt;/a&gt;של הממשלה, ולהוריד אותו. מכוון שהקובץ מוגש (זמנית?) משרת ftp ולא http, צריך לארח אותו מחדש על שרת אחר. בדוגמאות הקוד בהמשך האירוח הוא בשרת מקומי&lt;br /&gt;
&lt;code&gt;&lt;/code&gt;&lt;/p&gt;
&lt;pre&gt;
$ mkdir ~/GTFS
$ cd ~/GTFS
$ curl -L -O &quot;http://maps5.trimet.org/otp-dev/otp.zip&quot;
$ curl -L -O &quot;http://downloads.cloudmade.com/asia/western_asia/israel/israel.osm.bz2&quot;
$ curl -L -O &quot;ftp://199.203.58.18/israel-public-transportation.zip&quot;
# !! replace IP above with correct IP
$ unzip otp.zip
$ bunzip2 israel.osm.bz2
$ sudo ln -s ~/GTFS/otp /
$ ln -s ~/GTFS/israel.osm /otp/cache/osm/
$ sudo cp  ~/GTFS/israel-public-transportation.zip /var/www/html/
# replace /var/www/html/ with your local http server root if applicable
&lt;/pre&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;יש לערוך מספר קבצי הגדרות:&lt;br /&gt;
&lt;code&gt;&lt;/code&gt;&lt;/p&gt;
&lt;pre&gt;
$ vi /otp/graph-builder.xml
# Line 13, change URL of gtfs.zip to the http://localhost/israel-public-transportation.zip
#              (or whatever URL you placed the file in)
# Line 40, change file name of OSM from or-wa.osm to israel.osm (just file part)
$ vi /otp/bin/build-graph.sh
# Line 1, change -Xmx2048m to -Xmx6114m. If you have more memory, put as much as possible
$ vi /otp/bin/start-server.sh
# Line 1, change -Xmx2048m to -Xmx4096m. If you have more memory, put as much as possible
&lt;/pre&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;בניית הגרף (משלב נתוני OSM עם נתוני תח&amp;#8221;ץ)&lt;br /&gt;
&lt;code&gt;&lt;/code&gt;&lt;/p&gt;
&lt;pre&gt;
$ cd /otp
$ bin/build-graph.sh &gt;&amp;#038; ~/GTFS/build-graph.err
# might take 15-30 minutes depending on processor power and memory
$ ls -l /otp/Graph.obj
# should be around 1GB
&lt;/pre&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;אחרי הריצה חשוב לוודא בלוג שאין תעופה בגלל חוסר זכרון !!&lt;/p&gt;
&lt;p&gt;עכשיו אפשר להריץ את השרת האפליקטיבי:&lt;br /&gt;
&lt;code&gt;&lt;/code&gt;&lt;/p&gt;
&lt;pre&gt;
$ cd /otp
$ bin/start-server.sh
# Wait for line: &quot;Winstone Servlet Engine v0.9.10 running...&quot;
&lt;/pre&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;עכשיו אפשר לפתוח דפדן לכתובת : http://localhost:8080/opentripplanner-webapp/index.html (אם השרת אינו מקומי, להחליף localhost בכתובת השרת). ולנסות לחשב מסלול.&lt;/p&gt;
&lt;p&gt;תרגום לעברית:&lt;br /&gt;
לבדוק האם הקובץ &amp;lrm;/otp/webapps/opentripplanner-webapp/js/otp/locale/Hebrew.js&amp;rlm; קיים. אם לא, להוריד אותו &lt;a href=&quot;https://github.com/openplans/OpenTripPlanner/blob/master/opentripplanner-webapp/src/main/webapp/js/otp/locale/Hebrew.js&quot;&gt;מכאן&lt;/a&gt; ולשמור בנתיב הנ&amp;#8221;ל. אחר-כך, יש לבצע מספר תיקונים בקוד:&lt;br /&gt;
&lt;code&gt;&lt;/code&gt;&lt;/p&gt;
&lt;pre&gt;
$ vi /otp/webapps/opentripplanner-webapp/index.html
# line 2, add 'dir=&quot;rtl&quot;' to html tag
# line 53, duplicate this line and change file name to &quot;js/otp/locale/Hebrew.js&quot;
$ vi /otp/webapps/opentripplanner-webapp/js/otp/config.js
# line 12, change otp.locale.English to otp.locale.Hebrew (at end of line)
&lt;/pre&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;עכשיו לרפרש את הדפדפן ולהנות מההמשק העברי. יתכן שתתקבל הודעה על כשלון בחישוב המסלול. במקרה זה, יש לבחור תאריך חדש לחישוב בתחום המכוסה על-ידי הקובץ (יום הורדת הקובץ ועד שבועיים קדימה)&lt;/p&gt;</content>
		<author>
			<name>יהודה</name>
			<uri>http://yehudab.com/blog</uri>
		</author>
		<source>
			<title type="html">בלוג פשוט » קוד פתוח ותוכנה חופשית</title>
			<subtitle type="html">צר עולמי כ  U+200A</subtitle>
			<link rel="self" href="http://yehudab.com/blog/category/foss/feed/atom/"/>
			<id>http://yehudab.com/blog/feed/atom/</id>
			<updated>2012-05-20T04:01:40+00:00</updated>
		</source>
	</entry>

	<entry>
		<title type="html">adaptec CLI management tool</title>
		<link href="http://skliarie.blogspot.com/2010/03/adaptec-cli-management-tool.html"/>
		<id>tag:blogger.com,1999:blog-7511640597328894129.post-1630652655649937165</id>
		<updated>2012-05-19T14:43:34+00:00</updated>
		<content type="html">Recently I had to install adaptec CLI management tool on an ubuntu 8.10 amd64 server. Despite the fact that aacraid driver is present in kernel, it took me a lot of time to find the management tools that allow to see the RAID status and manipulate it from command line. There are several names for the tools: afacli, aaccli, afaapps, afa-apps-snmp, arcconf, hrconf... oh my!&lt;br /&gt;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&lt;br /&gt;&lt;br /&gt;Also, I wrote a simple monitoring script (included in the deb package) that checks the state of the Adaptec RAID system and sends out an email if any of the published indicators is wrong (battery, failed disks, etc). The script can be downloaded from here: &lt;a href=&quot;http://t11.mine.nu/adaptec-utils/adaptec_check.sh&quot;&gt;http://t11.mine.nu/adaptec-utils/adaptec_check.sh&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Note that the script requires proprietary binary files to be installed. See the beginning of the script for the details.&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;img width=&quot;1&quot; height=&quot;1&quot; src=&quot;https://blogger.googleusercontent.com/tracker/7511640597328894129-1630652655649937165?l=skliarie.blogspot.com&quot; alt=&quot;&quot; /&gt;&lt;/div&gt;</content>
		<author>
			<name>Arie Skliarouk</name>
			<email>noreply@blogger.com</email>
			<uri>http://skliarie.blogspot.com/</uri>
		</author>
		<source>
			<title type="html">Linux zealot</title>
			<link rel="self" href="http://skliarie.blogspot.com/feeds/posts/default"/>
			<id>tag:blogger.com,1999:blog-7511640597328894129</id>
			<updated>2012-05-20T17:30:53+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en">
		<title type="html">SvxlinkWrapper &amp;#8211; Wrapper for SvxLink to provide additional functionally such as QSO logging and auto-connect</title>
		<link href="http://guysoft.wordpress.com/2012/05/17/svxlinkwrapper/"/>
		<id>http://guysoft.wordpress.com/?p=1014</id>
		<updated>2012-05-19T12:12:34+00:00</updated>
		<content type="html">&lt;p&gt;&lt;a href=&quot;https://guysoft.files.wordpress.com/2012/05/echolinkicon.gif&quot;&gt;&lt;img class=&quot;alignright size-full wp-image-1028&quot; title=&quot;Echolink Icon&quot; src=&quot;https://guysoft.files.wordpress.com/2012/05/echolinkicon.gif?w=460&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Hey all,&lt;/p&gt;
&lt;p&gt;A short post to announce a small piece of software I released today on github for the &lt;a title=&quot;Ham radio on wikipedia&quot; href=&quot;https://en.wikipedia.org/wiki/Amateur_radio&quot; target=&quot;_blank&quot;&gt;ham radio&lt;/a&gt; people.&lt;br /&gt;
I give you &lt;a title=&quot;Github code of svxlink&quot; href=&quot;https://github.com/guysoft/SvxLinkWrapper&quot;&gt;SvxlinkWrapper&lt;/a&gt;, this wrapper sits on top of &lt;a title=&quot;The SvxLink project is developing a flexible, general purpose voice services system for ham radio use.&quot; href=&quot;https://sourceforge.net/apps/trac/svxlink/&quot; target=&quot;_blank&quot;&gt;Svxlink&lt;/a&gt;&amp;#8216;s stdout and stdin and processes it with python. Making it easy to add more advance features to Svxlinik. Since Svxlink is written in C++ and takes a while to compile, this wrapper really speeds up development. Furthermore, it uses &lt;a title=&quot;Stright plugin module for python&quot; href=&quot;https://github.com/ironfroggy/straight.plugin&quot; target=&quot;_blank&quot;&gt;straight.plugin&lt;/a&gt; making its simple to write more modules by extending &lt;a title=&quot;The wrapper module that one extends&quot; href=&quot;https://github.com/guysoft/SvxLinkWrapper/blob/master/src/modules/SvxlinkwrapperModule.py&quot; target=&quot;_blank&quot;&gt;SvxlinkwrapperModule&lt;/a&gt; and placing it in the &lt;a title=&quot;SvxlinkWrapper Modules Folder&quot; href=&quot;https://github.com/guysoft/SvxLinkWrapper/tree/master/src/modules&quot; target=&quot;_blank&quot;&gt;modules folder&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Currently the to modules that SvxlinkWrapper has are for auto-connect to &lt;a title=&quot;Echolink's site&quot; href=&quot;http://www.echolink.org/&quot; target=&quot;_blank&quot;&gt;Echolink&lt;/a&gt; nodes on startup and another for a QSO logger for Echolink connections. There is also a module that should let you send commands over the Echolink chat, if you extend it. This lets me open and close repeater connections directly from the Echolink chat box.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a title=&quot;Source code of SvxlinkWrapper&quot; href=&quot;https://github.com/guysoft/SvxLinkWrapper&quot; target=&quot;_blank&quot;&gt;Get SvxLinkWrapper&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a title=&quot;R1 jerusalem repeater QSO log&quot; href=&quot;http://gnet.homelinux.com/ham/R1.php&quot;&gt;Example of the logger on the Jerusalem Repeater R1&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Thats it for today, now that I have more free time, I hope to publish more things, 73&lt;/p&gt;
&lt;br /&gt;  &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gocomments/guysoft.wordpress.com/1014/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/comments/guysoft.wordpress.com/1014/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/godelicious/guysoft.wordpress.com/1014/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/delicious/guysoft.wordpress.com/1014/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gofacebook/guysoft.wordpress.com/1014/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/facebook/guysoft.wordpress.com/1014/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gotwitter/guysoft.wordpress.com/1014/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/twitter/guysoft.wordpress.com/1014/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gostumble/guysoft.wordpress.com/1014/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/stumble/guysoft.wordpress.com/1014/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/godigg/guysoft.wordpress.com/1014/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/digg/guysoft.wordpress.com/1014/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/goreddit/guysoft.wordpress.com/1014/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/reddit/guysoft.wordpress.com/1014/&quot; /&gt;&lt;/a&gt; &lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://stats.wordpress.com/b.gif?host=guysoft.wordpress.com&amp;#038;blog=2200938&amp;#038;post=1014&amp;#038;subd=guysoft&amp;#038;ref=&amp;#038;feed=1&quot; width=&quot;1&quot; height=&quot;1&quot; /&gt;</content>
		<author>
			<name>GuySoft</name>
			<uri>http://guysoft.wordpress.com</uri>
		</author>
		<source>
			<title type="html">Guysoft's Weblog » open source</title>
			<subtitle type="html">42</subtitle>
			<link rel="self" href="http://guysoft.wordpress.com/category/open-source/feed/atom/"/>
			<id>http://guysoft.wordpress.com/feed/atom/</id>
			<updated>2012-05-19T12:15:38+00:00</updated>
		</source>
	</entry>

	<entry>
		<title type="html">Tel Aviv Perl Mongers Meeting on 30 May, 2012</title>
		<link href="http://blogs.perl.org/users/shlomi_fish/2012/05/tel-aviv-perl-mongers-meeting-on-30-may-2012.html"/>
		<id>http://blogs.perl.org/users/shlomi_fish/2012/05/tel-aviv-perl-mongers-meeting-on-30-may-2012.html</id>
		<updated>2012-05-19T09:32:37+00:00</updated>
		<content type="html"></content>
		<author>
			<name>Shlomi Fish</name>
			<uri>http://www.shlomifish.org/me/blogs/</uri>
		</author>
		<source>
			<title type="html">Shlomi Fish</title>
			<link rel="self" href="http://www.shlomifish.org/me/blogs/agg/shlomif-tech-aggregate.xml"/>
			<id>http://www.shlomifish.org/me/blogs/agg/shlomif-tech-aggregate.xml</id>
			<updated>2012-05-19T10:00:31+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en">
		<title type="html">‫על Core Boot, Thunderbolt ו..אינטל‬</title>
		<link href="http://benhamo.org/wp/?p=3313"/>
		<id>http://benhamo.org/wp/?p=3313</id>
		<updated>2012-05-18T14:03:02+00:00</updated>
		<content type="html">&amp;#8235;הנה משהו שלא רציתי לגלות בקשר לתכנון שרת שאני מבצע: חשבתי להכניס הפתעה מסויימת, אולם לצערי נראה שזה יהיה בעייתי. הטכנולוגיה שרציתי להכניס לשרת היא Thunderbolt. למי שלא מכיר, זהו פתרון של חיבור סריאלי חיצוני שעליו עובר ממשק PCI Express, ובתרגום לעברית: Thunderbolt הוא ממשק סריאלי המאפשר חיבור ציודים שצורכים המון נתונים בחיבור טורי. מהירות [...]&amp;#8236;</content>
		<author>
			<name>Hetz Ben Hemo</name>
			<uri>http://benhamo.org/wp</uri>
		</author>
		<source>
			<title type="html">‫כמה מילים, ברשותכם » מחשבים‬</title>
			<subtitle type="html">‫הבלוג של חץ בן חמו‬</subtitle>
			<link rel="self" href="http://benhamo.org/wp/?cat=5&amp;feed=rss2"/>
			<id>http://benhamo.org/wp/?cat=5&amp;feed=rss2</id>
			<updated>2012-05-19T19:31:06+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="he">
		<title type="html">מחשב</title>
		<link href="http://haharoni.wordpress.com/2012/05/18/makhshev/"/>
		<id>http://haharoni.wordpress.com/?p=4525</id>
		<updated>2012-05-18T08:54:28+00:00</updated>
		<content type="html">&lt;p&gt;איך יודעים שעובדי גוגל לא משתמשים בשירותי גוגל בעברית?&lt;/p&gt;
&lt;p&gt;נכנסים לשירות „כונן Google” החדש. במסך הפתיחה כתוב:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;כונן Google זמין עבור:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;מחשב ו-Mac&lt;/li&gt;
&lt;li&gt;Chrome OS&lt;/li&gt;
&lt;li&gt;iPhone ו-iPad (בקרוב)&lt;/li&gt;
&lt;li&gt;מכשירי Android&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;
&lt;p&gt;מחשב ו-Mac, אתם מבינים? גם מחשב, וגם Mac. ואם נדבר ברצינות, אז הכוונה כנראה ל־PC. ליתר דיוק, למה שמשתמשי Mac, המזלזלים במשתמשי מערכות ההפעלה אחרות עוד יותר מ&lt;a href=&quot;http://haharoni.wordpress.com/2011/12/07/iyut/&quot;&gt;כמה שאני מזלזל בהם&lt;/a&gt;, קוראים לו „PC”. כלומר, מחשב עם מערכת ההפעלה Windows.&lt;/p&gt;
&lt;p&gt;התרגום הגרוע הזה מציף כמה בעיות. הראשונה היא ש־PC, מחשב אישי, זה לא רק Windows. גם מחשבי עם Mac, תתפלאו, הם מחשבים אישיים. וגם מחשבים עם גנו/לינוקס. אז כן, נכון ש־„PC” הוא כינוי נפוץ ל־Windows, אבל הוא לא נכון וצריך להפסיק להנציח אותו.&lt;/p&gt;
&lt;p&gt;הבעיה השנייה והחמורה יותר היא שגוגל מאפשרת לתרגומים גרועים כאלה להתפרסם. ושזה קורה, פעם אחר פעם, אף־על־פי שעובד בכיר בגוגל ישראל שדיברתי אתו על כך פעם אמר לי שגוגל לא מקבלת תרגומים מהקהילה, כי יש לה מתרגמים משלה שעושים עבודה טובה. „זה חשוב שזה יהיה טוב,” הוא אמר, „כי יש המון לקוחות ואסור שיהיו שם טעויות”. אז הנה, עובדה, יש טעויות.&lt;/p&gt;
&lt;p&gt;אל תבינו מזה, חלילה, שאני קורא לגוגל לפטר את המתרגמת שעשתה את זה. בשום פנים ואופן לא. היא כנראה עושה עבודה רבה, קשה ואיכותית. אבל גוגל תעשה טובה למתרגמת הזאת, לחברה עצמה וללקוחותיה אם היא תשנה את הגדרת התפקיד שלה. היא צריכה להיות מאשרת תרגומים ולא מתרגמת. והתרגומים עצמם צריכים להגיע מהקהילה. כלומר, מאנשים אכפתיים שאוהבים את מוצרי גוגל ואת השפה העברית. כך, פחות או יותר, עובדים טוויטר ומוזילה. (ויקיפדיה ליברלית עוד יותר ומכניסה תרגומים מהציבור כמעט בלי ביקורת, אבל נעזוב את זה.)&lt;/p&gt;
&lt;p&gt;ועוד דבר שזה אומר הוא מה שאמרתי בתחילה, ומה שאמרתי כבר פעמים רבות בעבר: עובדי גוגל ישראל לא משתמשים בשירותי גוגל בעברית. אחרת הם היו שמים לב לשטות הזאת. כשאני שואל אותם למה הם לא משתמשים במוצרים של החברה שלהם בעברית, הם אומרים לי שזה נוח יותר באנגלית. אבל זאת בדיוק הבעיה, חֶבְרֶה: זה צריך להיות נוח באותה מידה ואתם האנשים הנכונים ביותר שיכולים לתקן את זה. אבל כדי לתקן תקלה, צריך קודם לראות אותה, ואם לא תשתמשו בשירותי גוגל בעברית, לעולם לא תראו אותה. אני קורא לזה „פרדוקס תרגום התכנה”.&lt;/p&gt;
&lt;p&gt;לו הייתי לארי פייג׳, הייתי מקבל את ההחלטה העסקית הנכונה לחברה ומבטל בחשבונות של עובדי גוגל ישראל את האפשרות להשתמש באתרי גוגל בשפה שאינה עברית או ערבית. (או שפה אחרת לעובדי גוגל במדינות אחרות.)&lt;/p&gt;
&lt;p&gt;וכן, יש גם את הבעיה הבלתי־חשובה הזאת שכונן גוגל כנראה לא עובד במערכות הפעלה שאינן Windows ו־Mac, אבל זה לא מעניין אותי, כי אני ממילא לא מתכוון להשתמש בכונן הזה הרבה.&lt;/p&gt;
&lt;br /&gt;  &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gocomments/haharoni.wordpress.com/4525/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/comments/haharoni.wordpress.com/4525/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/godelicious/haharoni.wordpress.com/4525/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/delicious/haharoni.wordpress.com/4525/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gofacebook/haharoni.wordpress.com/4525/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/facebook/haharoni.wordpress.com/4525/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gotwitter/haharoni.wordpress.com/4525/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/twitter/haharoni.wordpress.com/4525/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gostumble/haharoni.wordpress.com/4525/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/stumble/haharoni.wordpress.com/4525/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/godigg/haharoni.wordpress.com/4525/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/digg/haharoni.wordpress.com/4525/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/goreddit/haharoni.wordpress.com/4525/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/reddit/haharoni.wordpress.com/4525/&quot; /&gt;&lt;/a&gt; &lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://stats.wordpress.com/b.gif?host=haharoni.wordpress.com&amp;#038;blog=1206625&amp;#038;post=4525&amp;#038;subd=haharoni&amp;#038;ref=&amp;#038;feed=1&quot; width=&quot;1&quot; height=&quot;1&quot; /&gt;</content>
		<author>
			<name>aharoni</name>
			<uri>http://haharoni.wordpress.com</uri>
		</author>
		<source>
			<title type="html">חיפושים כמשל » תכנה חופשית</title>
			<subtitle type="html">אָמִיר אַהֲרוֹנִי לָמַד עִבְרִית, אָמִיר אַהֲרוֹנִי לָמַד עִבְרִית</subtitle>
			<link rel="self" href="http://haharoni.wordpress.com/category/%D7%AA%D7%9B%D7%A0%D7%94-%D7%97%D7%95%D7%A4%D7%A9%D7%99%D7%AA/feed/atom/"/>
			<id>http://haharoni.wordpress.com/feed/atom/</id>
			<updated>2012-05-19T18:16:07+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en">
		<title type="html">3arabi &amp;#8211; Arabic chat to English translator</title>
		<link href="http://guysoft.wordpress.com/2010/12/04/3arabi/"/>
		<id>http://guysoft.wordpress.com/?p=778</id>
		<updated>2012-05-17T15:58:58+00:00</updated>
		<content type="html">&lt;div class=&quot;wp-caption alignright&quot;&gt;&lt;img title=&quot;3arabi&quot; src=&quot;http://gnet.homelinux.com/3arabi/3arabi.png&quot; alt=&quot;3arabi Logo&quot; width=&quot;247&quot; height=&quot;122&quot; /&gt;&lt;p class=&quot;wp-caption-text&quot;&gt;3arabi Logo&lt;/p&gt;&lt;/div&gt;
&lt;p&gt;Hi  all,&lt;/p&gt;
&lt;p&gt;As some might have noticed, Arabic speakers on the net use a form of writing called &amp;#8216;&lt;a title=&quot;Arabic chat on wikipedia&quot; href=&quot;http://en.wikipedia.org/wiki/Arabic_chat_alphabet&quot; target=&quot;_blank&quot;&gt;Arabic chat&lt;/a&gt;&amp;#8216; or 3arabi, which involves using Latin characters and Hindu-Arabic numerals to write words in Arabic. I wrote a small &lt;a title=&quot;3arabi website!&quot; href=&quot;http://3arabi.site.co.il/&quot; target=&quot;_blank&quot;&gt;service called 3arabi that lets you translate this Arabic chat directly to English&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Apparently there are tools to do transliteration (converting Latin letters back to Arabic), and also translation. But nothing that does them both. That is why I wrote a small script that uses Google&amp;#8217;s transliteration service and &amp;#8216;Google Translate&amp;#8217;. This does the job, but is not perfect, however, it does actually help me understand some messages.&lt;/p&gt;
&lt;p&gt;The &lt;a title=&quot;Source code for 3arabi is here&quot; href=&quot;https://github.com/guysoft/3arabi&quot;&gt;source is also available in GitHub&lt;/a&gt; (its in python). If anyone contributes better code I&amp;#8217;ll merge it back to the service.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a title=&quot;3arabi translation&quot; href=&quot;http://3arabi.site.co.il/&quot; target=&quot;_blank&quot;&gt;3arabi translation website&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Here is an &lt;a title=&quot;3arabi supports anchors, you can link a translation to someone!&quot; href=&quot;http://3arabi.site.co.il/#mar7aba, keef il 7al. alsalamo 3alaykom wara7mat allah wabarakatoh.&quot; target=&quot;_blank&quot;&gt;example of linking to a translation&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Thanks to &lt;a title=&quot;Ira Abramov's blog, its a really good one!&quot; href=&quot;http://ira.abramov.org/blog/&quot;&gt;Ira Abramov&lt;/a&gt; for hosting the service!&lt;/p&gt;
&lt;p&gt;Thanks to &lt;a title=&quot;transliteration API python module&quot; href=&quot;http://rajeshsr.co.cc/blogs/2009/11/09/python-lib-for-google-transliteration/&quot;&gt;Rajesh who wrote the transliteration API&lt;/a&gt; though after using it I moved to the javascript google tool with his help.&lt;/p&gt;
&lt;p&gt;Thanks &lt;a title=&quot;The google translate python module&quot; href=&quot;http://blog.mohammadkhatib.com/2009/08/translating-from-command-line-update-1.html&quot;&gt;Muhammad Khatib who wrote Google Translate python API&lt;/a&gt; and for releasing it.&lt;/p&gt;
&lt;p&gt;Enjoy,&lt;/p&gt;
&lt;p&gt;Guy&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;strong&gt;Update:&lt;/strong&gt;&lt;/span&gt; Google seem to be blocking the translation service, thinking its spam, if anyone knows how to contact them and asking them to lift that ban would be appreciated.&lt;/p&gt;
&lt;br /&gt;  &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gocomments/guysoft.wordpress.com/778/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/comments/guysoft.wordpress.com/778/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/godelicious/guysoft.wordpress.com/778/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/delicious/guysoft.wordpress.com/778/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gofacebook/guysoft.wordpress.com/778/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/facebook/guysoft.wordpress.com/778/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gotwitter/guysoft.wordpress.com/778/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/twitter/guysoft.wordpress.com/778/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gostumble/guysoft.wordpress.com/778/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/stumble/guysoft.wordpress.com/778/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/godigg/guysoft.wordpress.com/778/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/digg/guysoft.wordpress.com/778/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/goreddit/guysoft.wordpress.com/778/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/reddit/guysoft.wordpress.com/778/&quot; /&gt;&lt;/a&gt; &lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://stats.wordpress.com/b.gif?host=guysoft.wordpress.com&amp;#038;blog=2200938&amp;#038;post=778&amp;#038;subd=guysoft&amp;#038;ref=&amp;#038;feed=1&quot; width=&quot;1&quot; height=&quot;1&quot; /&gt;</content>
		<author>
			<name>GuySoft</name>
			<uri>http://guysoft.wordpress.com</uri>
		</author>
		<source>
			<title type="html">Guysoft's Weblog » open source</title>
			<subtitle type="html">42</subtitle>
			<link rel="self" href="http://guysoft.wordpress.com/category/open-source/feed/atom/"/>
			<id>http://guysoft.wordpress.com/feed/atom/</id>
			<updated>2012-05-19T12:15:38+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="he">
		<title type="html">&amp;#8235;אוגוסט פינגווין 2012&amp;#8236;</title>
		<link href="http://www.hamakor.org.il/2012/05/15/%d7%90%d7%95%d7%92%d7%95%d7%a1%d7%98-%d7%a4%d7%99%d7%a0%d7%92%d7%95%d7%95%d7%99%d7%9f-2012/"/>
		<id>http://www.hamakor.org.il/?p=596</id>
		<updated>2012-05-17T11:36:48+00:00</updated>
		<content type="html">&lt;div dir=&quot;rtl&quot;&gt;&lt;div&gt;ביום שישי ה3/8/2012 ייערך כנס &lt;a href=&quot;http://august.penguin.org.il/&quot; target=&quot;_blank&quot;&gt;אוגוסט פנגווין&lt;/a&gt; &amp;#8211; הכנס השנתי לתוכנה חופשית וקוד פתוח.&lt;br /&gt;
הכנס יתקיים באודיטוריום חיפה -אולם רפפורט, שד' הנשיא 138, מרכז הכרמל, חיפה.&lt;br /&gt;
שעות הכנס: 9:00 עד 14:00.&amp;nbsp;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;אתר הכנס:&lt;br /&gt;
&lt;a href=&quot;http://august.penguin.org.il/&quot; target=&quot;_blank&quot;&gt;http://august.penguin.org.il&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://wiki.hamakor.org.il/index.php/%D7%90%D7%95%D7%92%D7%95%D7%A1%D7%98_%D7%A4%D7%99%D7%A0%D7%92%D7%95%D7%95%D7%99%D7%9F&quot; target=&quot;_blank&quot;&gt;עמוד בוויקי&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;מרצים המעוניינים להעביר הרצאה בכנס מוזמנים לשלוח הצעה לוועד המקור &lt;a href=&quot;mailto:board@hamakor.org.il&quot; target=&quot;_blank&quot;&gt;board@hamakor.org.il&lt;/a&gt; או ל&lt;a href=&quot;http://wiki.hamakor.org.il/index.php/%D7%90%D7%95%D7%92%D7%95%D7%A1%D7%98_%D7%A4%D7%99%D7%A0%D7%92%D7%95%D7%95%D7%99%D7%9F&quot; target=&quot;_blank&quot;&gt;וויקי&lt;/a&gt; בקטגוריה &amp;quot;תוכן הכנס&amp;quot;.&lt;/p&gt;

&lt;div&gt;מחיר הכניסה לכנס הוא 50 ש״ח (&lt;a title=&quot;http://www.hamakor.org.il/august-penguin/&quot; href=&quot;http://www.hamakor.org.il/august-penguin/&quot; target=&quot;_blank&quot;&gt;תשלום באמצעות PayPal&lt;/a&gt;). חברי וידידי העמותה זכאים להיכנס בחינם (&lt;a title=&quot;http://www.hamakor.org.il/join/&quot; href=&quot;http://www.hamakor.org.il/join/&quot; target=&quot;_blank&quot;&gt;בתנאי שחברותם בתוקף&lt;/a&gt;). עבור צעירים מתחת לגיל 18, סטודנטים וחיילים, מחיר הכניסה זהה למחיר התשלום השנתי של ידידות בעמותה, כך שנשמח לקבל אתכם &lt;a title=&quot;http://www.hamakor.org.il/join/&quot; href=&quot;http://www.hamakor.org.il/2012/05/15/join/&quot; target=&quot;_blank&quot;&gt;כידידי העמותה&lt;/a&gt;.&lt;/div&gt;
&lt;p&gt;&lt;a class=&quot;a2a_dd addtoany_share_save&quot; href=&quot;http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.hamakor.org.il%2F2012%2F05%2F15%2F%25d7%2590%25d7%2595%25d7%2592%25d7%2595%25d7%25a1%25d7%2598-%25d7%25a4%25d7%2599%25d7%25a0%25d7%2592%25d7%2595%25d7%2595%25d7%2599%25d7%259f-2012%2F&amp;amp;title=%D7%90%D7%95%D7%92%D7%95%D7%A1%D7%98%20%D7%A4%D7%99%D7%A0%D7%92%D7%95%D7%95%D7%99%D7%9F%202012&quot;&gt;&lt;img src=&quot;http://www.hamakor.org.il/wp-content/plugins/add-to-any/share_save_171_16.png&quot; width=&quot;171&quot; height=&quot;16&quot; alt=&quot;Share&quot; /&gt;&lt;/a&gt; &lt;/p&gt;</content>
		<author>
			<name>‫קפלן‬</name>
			<uri>http://www.hamakor.org.il</uri>
		</author>
		<source>
			<title type="html">‫המקור‬</title>
			<subtitle type="html">‫עמותה ישראלית לקוד מקור פתוח ותוכנה חופשית (ע&quot;ר)‬</subtitle>
			<link rel="self" href="http://www.hamakor.org.il/feed/atom/"/>
			<id>http://www.hamakor.org.il/feed/atom/</id>
			<updated>2012-05-17T11:47:00+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en">
		<title type="html">‫הצפון ובחזרה, ופרטיות של הסלולר שלך‬</title>
		<link href="http://benhamo.org/wp/?p=3311"/>
		<id>http://benhamo.org/wp/?p=3311</id>
		<updated>2012-05-16T14:23:06+00:00</updated>
		<content type="html">&amp;#8235;קוראי הבלוג הקבועים כבר קראו שרציתי לעבור לצפון מפאת חסכון ועוד סיבות, ואכן עברתי לצפון. לאן בדיוק? בשלב זה, להוריי. מדוע? אה, טוב ששאלתם. כאן בצפת נפתח לאחרונה בית ספר לרפואה, מה שהצליח תוך זמן קצר להקפיץ את המחירים פה בעשרות (ולעיתים במאות) אחוזים. פעם היה אפשר לשכור בצפת דירה של 3 חדרים בגודל של [...]&amp;#8236;</content>
		<author>
			<name>Hetz Ben Hemo</name>
			<uri>http://benhamo.org/wp</uri>
		</author>
		<source>
			<title type="html">‫כמה מילים, ברשותכם » מחשבים‬</title>
			<subtitle type="html">‫הבלוג של חץ בן חמו‬</subtitle>
			<link rel="self" href="http://benhamo.org/wp/?cat=5&amp;feed=rss2"/>
			<id>http://benhamo.org/wp/?cat=5&amp;feed=rss2</id>
			<updated>2012-05-19T19:31:06+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="he">
		<title type="html">‫להתחבר לנטסטיק של סלקום/אורנג' באובונטו 12.04‬</title>
		<link href="http://ddorda.useopensource.net/archives/1700"/>
		<id>http://ddorda.useopensource.net/?p=1700</id>
		<updated>2012-05-14T21:09:37+00:00</updated>
		<content type="html">&lt;div dir=&quot;rtl&quot;&gt;&lt;p&gt;שלום לכולם,&lt;/p&gt;
&lt;p&gt;לאחרונה עדכנתי לאובונטו 12.04. לא אלאה אתכם בסיפור השדרוג שלי, אבל בסופו של יום מצאתי את עצמי עם מערכת חמודה ויציבה עם בעיה אחת עיקרית: אני לא מצליח להתחבר לאינטרנט הסלולרי של סלקום דרך הנטסטיק של חברת Alcatel שסלקום בדר&amp;quot;כ מחלקים (שד&amp;quot;א אורנג' משתמשים בדיוק באותו מוצר).&lt;/p&gt;
&lt;p&gt;לאחר עלעול ברשת &lt;a href=&quot;http://askubuntu.com/questions/130295/alcatel-modem-compatibility-on-ub-12-04&quot;&gt;מצאתי את הפתרון&lt;/a&gt; וחשבתי שאולי הוא יוכל לעזור לעוד כמה חבר'ה שנתקלו באותה בעיה.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://ddorda.useopensource.net/wp-content/uploads/2012/05/Alcatel_X220L.jpg&quot;&gt;&lt;img class=&quot;aligncenter size-full wp-image-1701&quot; title=&quot;Alcatel_X220L&quot; src=&quot;http://ddorda.useopensource.net/wp-content/uploads/2012/05/Alcatel_X220L.jpg&quot; alt=&quot;&quot; width=&quot;240&quot; height=&quot;240&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;כל שעליכם לעשות הוא לערוך את הקובץ /etc/modules עם הרשאות root, במסוף (Alt+Ctrl+T) הדביקו את השורה הבאה:&lt;/p&gt;
&lt;p dir=&quot;ltr&quot;&gt;sudo gedit /etc/modules&lt;/p&gt;
&lt;p&gt;תתבקשו לכתוב את ססמתכם, הקלידו אותה, והקישו אנטר. ייפתח לכם עורך טקסט, הוסיפו לסוף הקובץ את שתי השורות הבאות:&lt;/p&gt;
&lt;p dir=&quot;ltr&quot;&gt;usbserial&lt;br /&gt;
option&lt;/p&gt;
&lt;p&gt;כדי להחיל את ההגדרות הפעילו מחדש את המחשב (מישהו מכיר פתרון נכון יותר?)&lt;/p&gt;
&lt;p&gt;דור.&lt;/p&gt;
&lt;/div&gt;</content>
		<author>
			<name>Ddorda</name>
			<uri>http://ddorda.useopensource.net</uri>
		</author>
		<source>
			<title type="html">‫לינוקס ושאר ירקות » קוד פתוח‬</title>
			<subtitle type="html">‫חייו של לינוקסאי ברחבי הקוּרים.‬</subtitle>
			<link rel="self" href="http://ddorda.useopensource.net/archives/category/opensource/feed"/>
			<id>http://ddorda.useopensource.net/archives/category/opensource/feed</id>
			<updated>2012-05-20T01:30:25+00:00</updated>
		</source>
	</entry>

	<entry>
		<title type="html">Blogging for the .NET framework</title>
		<link href="http://technomosh.blogspot.com/2012/05/blogging-for-net-framework.html"/>
		<id>tag:blogger.com,1999:blog-6028466520176966995.post-5562364430673157161</id>
		<updated>2012-05-14T10:45:24+00:00</updated>
		<content type="html">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.&lt;br /&gt;&lt;br /&gt;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.&lt;br /&gt;My first attempt was to use &lt;a href=&quot;http://subtextproject.com/&quot;&gt;SubText&lt;/a&gt;, 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&amp;nbsp;notorious for its simplicity and elegance, but while I was ready to invest some customization time, it demanded too&amp;nbsp;much of it.&lt;br /&gt;My second attempt was &lt;a href=&quot;http://www.dotnetblogengine.net/&quot;&gt;BlogEngine.NET&lt;/a&gt;. 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.&lt;br /&gt;&lt;br /&gt;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.&lt;br /&gt;&lt;br /&gt;As always, it feels good to contribute back and to know that my code can be further enhanced by other developers.&lt;br /&gt;&lt;br /&gt;Happy blogging.&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;img width=&quot;1&quot; height=&quot;1&quot; src=&quot;https://blogger.googleusercontent.com/tracker/6028466520176966995-5562364430673157161?l=technomosh.blogspot.com&quot; alt=&quot;&quot; /&gt;&lt;/div&gt;</content>
		<author>
			<name>Moshe Basanchig</name>
			<email>noreply@blogger.com</email>
			<uri>http://technomosh.blogspot.com/</uri>
		</author>
		<source>
			<title type="html">Moshe on Technology</title>
			<subtitle type="html">Software, technology, programming, security, open source and general thoughts.</subtitle>
			<link rel="self" href="http://technomosh.blogspot.com/feeds/posts/default"/>
			<id>tag:blogger.com,1999:blog-6028466520176966995</id>
			<updated>2012-05-20T17:30:16+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en">
		<title type="html">Impact of foreign keys absence on replicating slaves</title>
		<link href="http://code.openark.org/blog/mysql/impact-of-foreign-keys-absence-on-replicating-slaves"/>
		<id>http://code.openark.org/blog/?p=4860</id>
		<updated>2012-05-14T05:52:41+00:00</updated>
		<content type="html">&lt;p&gt;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.&lt;/p&gt;
&lt;h4&gt;Making the changes&lt;/h4&gt;
&lt;p&gt;Which foreign keys do we have and how do we drop them? If you want to do this by hand, well, good luck! Fortunately, &lt;a href=&quot;http://code.google.com/p/common-schema/&quot;&gt;common_schema&lt;/a&gt; provides with quite a few handy views and routines to assist us. Consider viewing the existing foreign keys on &lt;strong&gt;sakila&lt;/strong&gt;:&lt;/p&gt;
&lt;blockquote&gt;
&lt;pre&gt;master&amp;gt; SELECT &lt;strong&gt;create_statement&lt;/strong&gt; FROM &lt;strong&gt;common_schema.sql_foreign_keys&lt;/strong&gt; 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                     |
+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+&lt;/pre&gt;
&lt;/blockquote&gt;
&lt;p&gt;Most of the foreign key constraints use &lt;strong&gt;RESTRICT&lt;/strong&gt; for &lt;strong&gt;DELETE&lt;/strong&gt; (meaning you are not allowed to delete a parent row when children exist), and &lt;strong&gt;CASCADE&lt;/strong&gt; for &lt;strong&gt;UPDATE&lt;/strong&gt; (meaning changes to parent will propagate to children). This is good, since I want to test behavior of both &lt;strong&gt;RESTRICT&lt;/strong&gt; and &lt;strong&gt;CASCADE&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;&lt;span id=&quot;more-4860&quot;&gt;&lt;/span&gt;OK, we wish to remove these constraints from the slave. To see what we are going to do, consider:&lt;/p&gt;
&lt;blockquote&gt;
&lt;pre&gt;slave1&amp;gt; select &lt;strong&gt;drop_statement&lt;/strong&gt; from &lt;strong&gt;common_schema.sql_foreign_keys&lt;/strong&gt; 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`                    |
+-----------------------------------------------------------------------------------+&lt;/pre&gt;
&lt;/blockquote&gt;
&lt;p&gt;To actually make the DROP, we use &lt;em&gt;common_schema&lt;/em&gt;'s &lt;a href=&quot;http://common-schema.googlecode.com/svn/trunk/common_schema/doc/html/eval.html&quot;&gt;eval()&lt;/a&gt;:&lt;/p&gt;
&lt;blockquote&gt;
&lt;pre&gt;slave1&amp;gt; call &lt;strong&gt;common_schema.eval&lt;/strong&gt;(&quot;select drop_statement from common_schema.sql_foreign_keys where table_schema='sakila'&quot;);&lt;/pre&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;em&gt;eval()&lt;/em&gt; is a handy routine which invokes statements generated by the given query.&lt;/p&gt;
&lt;p&gt;This concludes the setup part.&lt;/p&gt;
&lt;p&gt;Tests will include:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Attempting to delete a parent row&lt;/li&gt;
&lt;li&gt;Attempting to add an invalid child row&lt;/li&gt;
&lt;li&gt;Attempting to update parent row&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;I was thinking there would be a difference between the two binary log file formats: &lt;strong&gt;STATEMENT&lt;/strong&gt; and &lt;strong&gt;ROW&lt;/strong&gt;. But the tests I produced showed no difference.&lt;/p&gt;
&lt;h4&gt;Tests&lt;/h4&gt;
&lt;p&gt;Attempting to delete parent row:&lt;/p&gt;
&lt;blockquote&gt;
&lt;pre&gt;master&amp;gt; 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&amp;gt; select * from actor where actor_id=1;
+----------+------------+-----------+---------------------+
| actor_id | first_name | last_name | last_update         |
+----------+------------+-----------+---------------------+
|        1 | PENELOPE   | GUINESS   | 2006-02-15 04:34:33 |
+----------+------------+-----------+---------------------+&lt;/pre&gt;
&lt;/blockquote&gt;
&lt;p&gt;Good: the master refused the &lt;strong&gt;DELETE&lt;/strong&gt;, and no &lt;strong&gt;DELETE&lt;/strong&gt; occurred on slave. Integrity is intact.&lt;/p&gt;
&lt;p&gt;Attempting to add an invalid child row:&lt;/p&gt;
&lt;blockquote&gt;
&lt;pre&gt;master&amp;gt; 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&amp;gt; select * from film_actor where actor_id=9999;
Empty set (0.00 sec)&lt;/pre&gt;
&lt;/blockquote&gt;
&lt;p&gt;Integrity is still intact.&lt;/p&gt;
&lt;p&gt;Attempting to update parent row: there is nothing invalid about this operation. I'm wondering whether changes are &lt;strong&gt;CASCADE&lt;/strong&gt;d on slave as well as on master:&lt;/p&gt;
&lt;blockquote&gt;
&lt;pre&gt;master&amp;gt; update actor set actor_id=999 where actor_id=199;

master&amp;gt; select count(*) from film_actor where actor_id=999;
+----------+
| count(*) |
+----------+
|       15 |
+----------+&lt;/pre&gt;
&lt;/blockquote&gt;
&lt;p&gt;The &lt;strong&gt;999&lt;/strong&gt; value wasn't there before on the master, so this verifies the &lt;strong&gt;CASCADE&lt;/strong&gt; works on master. As for slave:&lt;/p&gt;
&lt;blockquote&gt;
&lt;pre&gt;slave&amp;gt; select count(*) from actor where actor_id=999;
+----------+
| count(*) |
+----------+
|        1 |
+----------+

slave&amp;gt; select count(*) from film_actor where actor_id=999;
+----------+
| count(*) |
+----------+
|        0 |
+----------+&lt;/pre&gt;
&lt;/blockquote&gt;
&lt;p&gt;Bummer! The actor's row was updated, but cascading did not work on slave.&lt;/p&gt;
&lt;p&gt;This is actually &lt;a href=&quot;http://dev.mysql.com/doc/refman/5.0/en/innodb-and-mysql-replication.html&quot;&gt;documented&lt;/a&gt;. However, the documentation only relates to the issue of slave tables being &lt;strong&gt;MyISAM&lt;/strong&gt;. The problem occurs even when the slave tables are &lt;strong&gt;InnoDB&lt;/strong&gt;, and have no foreign key constraints.&lt;/p&gt;
&lt;h4&gt;Conclusion&lt;/h4&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;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 &lt;a href=&quot;http://code.openark.org/blog/mysql/triggers-use-case-compilation-part-i&quot;&gt;simulate their behavior&lt;/a&gt;. Performance wise this is very bad.&lt;/p&gt;</content>
		<author>
			<name>shlomi</name>
			<uri>http://code.openark.org/blog</uri>
		</author>
		<source>
			<title type="html">code.openark.org » MySQL</title>
			<subtitle type="html">Blog by Shlomi Noach</subtitle>
			<link rel="self" href="http://code.openark.org/blog/category/mysql/feed/atom"/>
			<id>http://code.openark.org/blog/feed/atom</id>
			<updated>2012-05-14T06:01:20+00:00</updated>
		</source>
	</entry>

</feed>

