<?xml version="1.0" encoding="UTF-8"?>

<rss version="2.0"
 xmlns:dcterms="http://purl.org/rss/1.0/modules/dcterms/"
 xmlns:blogChannel="http://backend.userland.com/blogChannelModule"
 xmlns:content="http://purl.org/rss/1.0/modules/content/"
>

<channel>
<title></title>
<link>http://shlomif.livejournal.com/</link>
<description></description>

<item>
<title>Looking for a Good Personal Blog Engine</title>
<link>http://use.perl.org/~Shlomi+Fish/journal/36354?from=rss</link>
<description>&#x3C;p&#x3E;
Dear Lazyweb,
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
I&#x27;m looking for a recommendation for a good personal blog engine that I&#x27;d
install on my site. It should be Free Software (preferably GPL-compatible);
it should be Perl, Python or PHP (Perl is preferable), possibly also Ruby; it
should be able to use PostgreSQL as a backend; and it should be
&#x3C;a href=&#x22;http://www.shlomifish.org/philosophy/computers/high-quality-software/&#x22;&#x3E;good&#x3C;/a&#x3E;:
easy to install, mostly works out of the box, easy to extend, with an active
developer community, readable (not necessarily too modular) code,
good security practices, etc.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
Here&#x27;s what I tried so far:
&#x3C;/p&#x3E;

&#x3C;ol&#x3E;
&#x3C;li&#x3E;
&#x3C;p&#x3E;
MovableType - has a weirdo HTML caching system, and ended up putting a lot
of world-writable files on my hard disk. Also doesn&#x27;t work out of the box with
recent PostgreSQL&#x27;s (which is easy to fix).
&#x3C;/p&#x3E;
&#x3C;/li&#x3E;
&#x3C;li&#x3E;
&#x3C;p&#x3E;
WordPress - from using it elsewhere I had at least three occassions where it
ate my comments and refused to allow me to repost them. Also, it has many
bad defaults like non-threaded comments, A single &#x22;Submit&#x22; button with no
preview, no pure-HTML input, and these weird ?id=$INDEX URLs which I hate.
All of them can be fixed using Plugins, but it&#x27;s still an extra hassle.
&#x3C;/p&#x3E;
&#x3C;p&#x3E;
It also had a very poor security record, and
&#x3C;a href=&#x22;http://www.catonmat.net/&#x22;&#x3E;pkrumins&#x3C;/a&#x3E; said he isn&#x27;t content with
it for his blog, and working on something from scratch.
&#x3C;/p&#x3E;
&#x3C;/li&#x3E;
&#x3C;/ol&#x3E;

&#x3C;p&#x3E;
There are many other &#x3C;a href=&#x22;http://www.weblogmatrix.org/&#x22;&#x3E;blog engines
out there&#x3C;/a&#x3E;, but I&#x27;m looking for a personal recommendation from
experience. Comment below or
&#x3C;a href=&#x22;http://www.shlomifish.org/me/contact-me/&#x22;&#x3E;drop me a line&#x3C;/a&#x3E;. I&#x27;ll
probably blog here about what my final verdict is.
&#x3C;/p&#x3E;</description>
</item>
<item>
<title>&#x5E8;&#x5E9;&#x5D5;&#x5DE;&#x5D4; &#x5DC;&#x5DB;&#x5D1;&#x5D5;&#x5D3; &#x5D9;&#x5D5;&#x5DD; &#x5D4;&#x5E2;&#x5E6;&#x5DE;&#x5D0;&#x5D5;&#x5EA;: &#x5DE;&#x5E1;&#x5E4;&#x5D9;&#x5E7; &#x5E2;&#x5DD; &#x5D4;&#x5D4;&#x5EA;&#x5E2;&#x5E1;&#x5E7;&#x5D5;&#x5EA; &#x5D1;&#x5D1;&#x5D8;&#x5D7;&#x5D5;&#x5DF;!</title>
<link>http://shlomif.livejournal.com/53230.html</link>
<description>&#x3C;div align=&#x22;right&#x22; dir=&#x22;rtl&#x22;&#x3E;

&#x3C;p&#x3E;
&#x5D9;&#x5D5;&#x5DD; &#x5E2;&#x5E6;&#x5DE;&#x5D0;&#x5D5;&#x5EA; &#x5E9;&#x5DE;&#x5D7; &#x5DC;&#x5DB;&#x5D5;&#x5DC;&#x5DD;! &#x5D4;&#x5D7;&#x5DC;&#x5D8;&#x5EA;&#x5D9; &#x5DC;&#x5DB;&#x5EA;&#x5D5;&#x5D1; &#x5E8;&#x5E9;&#x5D5;&#x5DE;&#x5D4; &#x5D6;&#x5D0;&#x5EA; &#x5DC;&#x5DB;&#x5D1;&#x5D5;&#x5D3; &#x5D9;&#x5D5;&#x5DD; &#x5D4;&#x5E2;&#x5E6;&#x5DE;&#x5D0;&#x5D5;&#x5EA;, &#x5D0;&#x5D1;&#x5DC; &#x5E7;&#x5E8;&#x5D5;&#x5D1; &#x5DC;&#x5D5;&#x5D3;&#x5D0;&#x5D9; &#x5E9;&#x5D7;&#x5DC;&#x5E7;&#x5DB;&#x5DD; &#x5DC;&#x5D0;
&#x5EA;&#x5D4;&#x5D9;&#x5D5; &#x5DE;&#x5E8;&#x5D5;&#x5E6;&#x5D9;&#x5DD; &#x5DE;&#x5DE;&#x5E0;&#x5D4;. &#x5D4;&#x5E8;&#x5E9;&#x5D5;&#x5DE;&#x5D4; &#x5DB;&#x5EA;&#x5D5;&#x5D1;&#x5D4; &#x5D1;&#x5E2;&#x5D1;&#x5E8;&#x5D9;&#x5EA;, &#x5DE;&#x5EA;&#x5D5;&#x5DA; &#x5E8;&#x5D2;&#x5E9;&#x5D5;&#x5EA; &#x5E4;&#x5D8;&#x5E8;&#x5D9;&#x5D5;&#x5D8;&#x5D9;&#x5D5;&#x5EA;, &#x5D0;&#x5D1;&#x5DC; &#x5E7;&#x5E8;&#x5D5;&#x5D1; &#x5DC;&#x5D5;&#x5D3;&#x5D0;&#x5D9;
&#x5E9;&#x5D0;&#x5EA;&#x5E8;&#x5D2;&#x5DD; &#x5D0;&#x5D5;&#x5EA;&#x5D4; &#x5D0;&#x5D7;&#x5E8;-&#x5DB;&#x5DA; &#x5DC;&#x5D0;&#x5E0;&#x5D2;&#x5DC;&#x5D9;&#x5EA; &#x5D5;&#x5D0;&#x5D3;&#x5D1;&#x5D9;&#x5E7; &#x5D0;&#x5D5;&#x5EA;&#x5D4; &#x5DB;&#x5E8;&#x5E9;&#x5D5;&#x5DE;&#x5D4; &#x5E0;&#x5E4;&#x5E8;&#x5D3;&#x5EA;.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
&#x5DE;&#x5E2;&#x5E9;&#x5D4; &#x5E9;&#x5D4;&#x5D9;&#x5D4; &#x5DB;&#x5DA; &#x5D4;&#x5D9;&#x5D4;: &#x5D3;&#x5D9;&#x5D1;&#x5E8;&#x5EA;&#x5D9; &#x5E2;&#x5DD; 
&#x3C;a href=&#x22;http://www.catonmat.net/&#x22;&#x3E;&#x5E4;&#x5D8;&#x5E8;&#x5D9;&#x5E1; &#x5E7;&#x5E8;&#x5D5;&#x5DE;&#x5D9;&#x5E0;&#x5E1;&#x3C;/a&#x3E;
&#x5D1;&#x5E4;&#x5E8;&#x5D9;&#x5E0;&#x5D5;&#x5D3;, &#x5D5;&#x5D4;&#x5D5;&#x5D0; &#x5E1;&#x5D9;&#x5E4;&#x5E8; &#x5DC;&#x5D9; &#x5E9;&#x5D4;&#x5D5;&#x5D0; &#x5E2;&#x5EA;&#x5D9;&#x5D3; &#x5D1;&#x5E7;&#x5E8;&#x5D5;&#x5D1; &#x5DC;&#x5E1;&#x5D9;&#x5D9;&#x5DD; &#x5D0;&#x5EA; &#x5D4;&#x5EA;&#x5D5;&#x5D0;&#x5E8; &#x5D4;&#x5E8;&#x5D0;&#x5E9;&#x5D5;&#x5DF; &#x5E9;&#x5DC;&#x5D5; &#x5D1;&#x5E4;&#x5D9;&#x5D6;&#x5D9;&#x5E7;&#x5D4;. (&#x5D1;&#x5D4;&#x5E6;&#x5DC;&#x5D7;&#x5D4; &#x5D5;&#x5DE;&#x5D6;&#x5DC; &#x5D8;&#x5D5;&#x5D1;!)
&#x5D1;&#x5DB;&#x5DC; &#x5DE;&#x5E7;&#x5E8;&#x5D4;, &#x5D3;&#x5D9;&#x5D1;&#x5E8;&#x5E0;&#x5D5; &#x5E2;&#x5DC; &#x5D8;&#x5E7;&#x5E1;&#x5D9; &#x5E1;&#x5D9;&#x5D5;&#x5DD; &#x5D1;&#x5D9;&#x5E9;&#x5E8;&#x5D0;&#x5DC; &#x5D5;&#x5D1;&#x5DC;&#x5D8;&#x5D1;&#x5D9;&#x5D4; (&#x5E9;&#x5D4;&#x5D9;&#x5D0; &#x5D0;&#x5E8;&#x5E5; &#x5DE;&#x5D5;&#x5E9;&#x5D1;&#x5D5; &#x5E9;&#x5DC; &#x5E4;&#x5D8;&#x5E8;&#x5D9;&#x5E1;) &#x5D5;&#x5D4;&#x5D5;&#x5D0; &#x5D4;&#x5E8;&#x5D0;&#x5D4;
&#x5DC;&#x5D9;
&#x3C;a href=&#x22;http://foto.lu.lv/arhiivs/2007/f_jun/04/index.html&#x22;&#x3E;&#x5DE;&#x5E1;&#x5E4;&#x5E8; 
&#x5EA;&#x5DE;&#x5D5;&#x5E0;&#x5D5;&#x5EA; &#x5E9;&#x5DC; &#x5D8;&#x5E7;&#x5E1; &#x5E1;&#x5D9;&#x5D5;&#x5DD; &#x5DE;&#x5DC;&#x5D8;&#x5D1;&#x5D9;&#x5D4;&#x3C;/a&#x3E;.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
&#x5D4;&#x5EA;&#x5DE;&#x5D5;&#x5E0;&#x5D4; &#x5D4;&#x5E8;&#x5D0;&#x5E9;&#x5D5;&#x5E0;&#x5D4; &#x5E9;&#x5DC;&#x5DB;&#x5D3;&#x5D4; &#x5D0;&#x5EA; &#x5E2;&#x5D9;&#x5E0;&#x5D9;&#x5D9; &#x5D4;&#x5D9;&#x5D9;&#x5EA;&#x5D4; 
&#x3C;a href=&#x22;http://foto.lu.lv/arhiivs/2007/f_jun/04/slides/IMG_4806.html&#x22;&#x3E;&#x5EA;&#x5DE;&#x5D5;&#x5E0;&#x5D4; &#x5D6;&#x5D0;&#x5EA;
&#x5E9;&#x5DC; &#x5DE;&#x5E1;&#x5E4;&#x5E8; &#x5D1;&#x5E0;&#x5D5;&#x5EA; &#x5E9;&#x5DB;&#x5DB;&#x5DC; &#x5D4;&#x5E0;&#x5E8;&#x5D0;&#x5D4; &#x5E2;&#x5DE;&#x5D3;&#x5D5; &#x5DC;&#x5E7;&#x5D1;&#x5DC; &#x5D0;&#x5EA; &#x5D4;&#x5EA;&#x5E2;&#x5D5;&#x5D3;&#x5D4;&#x3C;/a&#x3E;. &#x5DB;&#x5E4;&#x5D9; &#x5E9;&#x5E0;&#x5D9;&#x5EA;&#x5DF; &#x5DC;&#x5E8;&#x5D0;&#x5D5;&#x5EA; &#x5D4;&#x5DF; &#x5D7;&#x5DE;&#x5D5;&#x5D3;&#x5D5;&#x5EA; &#x5DC;&#x5D0;&#x5DC;&#x5DC;&#x5D4;, &#x5D0;&#x5D1;&#x5DC; &#x5D0;&#x5E0;&#x5D9;
&#x5DE;&#x5E6;&#x5D0;&#x5EA;&#x5D9; &#x5D0;&#x5EA; &#x5D4;&#x5EA;&#x5DC;&#x5D1;&#x5D5;&#x5E9;&#x5D5;&#x5EA; &#x5E9;&#x5DC;&#x5D4;&#x5DF; &#x5DE;&#x5E6;&#x5D7;&#x5D9;&#x5E7;&#x5D5;&#x5EA; &#x5DC;&#x5DE;&#x5D3;&#x5D9; &#x5D1;&#x5D9;&#x5D7;&#x5E1; &#x5DC;&#x5DE;&#x5D4; &#x5E9;&#x5D0;&#x5E0;&#x5D9; &#x5DE;&#x5DB;&#x5D9;&#x5E8;. &#x5E4;&#x5D8;&#x5E8;&#x5D9;&#x5E1; &#x5E1;&#x5D9;&#x5E4;&#x5E8; &#x5DC;&#x5D9; &#x5E9;&#x5D0;&#x5DC;&#x5D4; 
&#x5EA;&#x5DC;&#x5D1;&#x5D5;&#x5E9;&#x5D5;&#x5EA; &#x5E4;&#x5D5;&#x5E8;&#x5DE;&#x5DC;&#x5D9;&#x5D5;&#x5EA; &#x5E8;&#x5D2;&#x5D9;&#x5DC;&#x5D5;&#x5EA; &#x5E9;&#x5DC; &#x5D1;&#x5D7;&#x5D5;&#x5E8;&#x5D5;&#x5EA; &#x5E9;&#x5DD;, &#x5D5;&#x5D4;&#x5D5;&#x5D0; &#x5E9;&#x5D0;&#x5DC; &#x5D0;&#x5D5;&#x5EA;&#x5D9; &#x5D0;&#x5DD; &#x5D0;&#x5D5;&#x5DB;&#x5DC; &#x5DC;&#x5DE;&#x5E6;&#x5D5;&#x5D0; &#x5DC;&#x5D5; &#x5EA;&#x5DE;&#x5D5;&#x5E0;&#x5D5;&#x5EA; &#x5E9;&#x5DC;
&#x5D1;&#x5D7;&#x5D5;&#x5E8;&#x5D5;&#x5EA; &#x5D9;&#x5E9;&#x5E8;&#x5D0;&#x5DC;&#x5D9;&#x5D5;&#x5EA; &#x5D1;&#x5EA;&#x5DC;&#x5D1;&#x5D5;&#x5E9;&#x5D5;&#x5EA; &#x5E4;&#x5D5;&#x5E8;&#x5DE;&#x5DC;&#x5D9;&#x5D5;&#x5EA;.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
&#x5D8;&#x5D5;&#x5D1;, &#x5E0;&#x5D9;&#x5D2;&#x5E9;&#x5EA;&#x5D9; &#x5DC;&#x5E4;&#x5DC;&#x5D9;&#x5E7;&#x5E8;
&#x3C;a href=&#x22;http://flickr.com/search/?q=israeli%20girls&#x26;amp;w=all&#x22;&#x3E;&#x5D5;&#x5D7;&#x5D9;&#x5E4;&#x5E9;&#x5EA;&#x5D9; &#x22;israeli girls&#x22;&#x3C;/a&#x3E;
&#x5D5;&#x5DE;&#x5D4; &#x5D0;&#x5E0;&#x5D9; &#x5E8;&#x5D5;&#x5D0;&#x5D4;? &#x5DE;&#x5D3;&#x5D9;&#x5DD; &#x5E2;&#x5DC; &#x5D2;&#x5D1;&#x5D9; &#x5DE;&#x5D3;&#x5D9;&#x5DD;. &#x5DE;&#x5E8;&#x5D5;&#x5D1; &#x5D7;&#x5D0;&#x5E7;&#x5D9; &#x5E0;&#x5D4;&#x5D9;&#x5D4; &#x5DC;&#x5D9; &#x5E9;&#x5D7;&#x5D5;&#x5E8; &#x5D1;&#x5E2;&#x5D9;&#x5E0;&#x5D9;&#x5D9;&#x5DD;. &#x5EA;&#x5DE;&#x5D5;&#x5E0;&#x5D5;&#x5EA;
&#x5D1;&#x5D0;&#x5D9;&#x5DB;&#x5D5;&#x5EA; &#x5D8;&#x5D5;&#x5D1;&#x5D4; &#x5E9;&#x5DC; &#x5D7;&#x5D9;&#x5D9;&#x5DC;&#x5D5;&#x5EA; &#x5E0;&#x5D0;&#x5D5;&#x5EA;, &#x5D0;&#x5D1;&#x5DC; &#x5D6;&#x5D4;&#x5D5; - &#x5D0;&#x5DA; &#x5D5;&#x5E8;&#x5E7; &#x5D7;&#x5D9;&#x5D9;&#x5DC;&#x5D5;&#x5EA;. &#x5E4;&#x5D8;&#x5E8;&#x5D9;&#x5E1; &#x5E1;&#x5D9;&#x5E4;&#x5E8; &#x5DC;&#x5D9; &#x5E9;&#x5D0;&#x5D5;&#x5EA;&#x5DF; &#x5EA;&#x5DE;&#x5D5;&#x5E0;&#x5D5;&#x5EA; &#x5D4;&#x5D9;&#x5D5; &#x5E4;&#x5D5;&#x5E4;&#x5D5;&#x5DC;&#x5E8;&#x5D9;&#x5D5;&#x5EA;
&#x5D1;-digg, &#x5D1;-reddit &#x5D5;&#x5D1;&#x5DB;&#x5DC; &#x5E9;&#x5D0;&#x5E8; &#x5D0;&#x5EA;&#x5E8;&#x5D9; &#x5D4;&#x5E7;&#x5D9;&#x5E9;&#x5D5;&#x5E8;&#x5D9;&#x5DD; &#x5D4;&#x5D7;&#x5D1;&#x5E8;&#x5EA;&#x5D9;&#x5D9;&#x5DD;, &#x5D5;&#x5D0;&#x5D5;&#x5DC;&#x5D9; &#x5D6;&#x5D0;&#x5EA; &#x5D4;&#x5E1;&#x5D9;&#x5D1;&#x5D4; &#x5DE;&#x5D3;&#x5D5;&#x5E2; &#x5E4;&#x5DC;&#x5D9;&#x5E7;&#x5E8; &#x5DE;&#x5D9;&#x5D9;&#x5D7;&#x5E1; &#x5DC;&#x5D4;&#x5DF; &#x5D7;&#x5E9;&#x5D9;&#x5D1;&#x5D5;&#x5EA;
&#x5E8;&#x5D1;&#x5D4; &#x5DB;&#x5DC; &#x5DB;&#x5DA;. 
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
&#x5D8;&#x5D5;&#x5D1;, &#x5D7;&#x5D9;&#x5D9;&#x5DC;&#x5EA; &#x5D1;&#x5DE;&#x5D3;&#x5D9;&#x5DD; (&#x5D0;&#x5D5; &#x5D7;&#x5D9;&#x5D9;&#x5DC; &#x5D6;&#x5DB;&#x5E8; &#x5D1;&#x5DE;&#x5D3;&#x5D9;&#x5DD;) &#x5D0;&#x5D9;&#x5E0;&#x5D5; &#x5DE;&#x5E8;&#x5D0;&#x5D4; &#x5DB;&#x5DC;-&#x5DB;&#x5DA; &#x5E0;&#x5D3;&#x5D9;&#x5E8; &#x5D1;&#x5D0;&#x5E8;&#x5E5; 
&#x5D1;&#x5D4;&#x5EA;&#x5D7;&#x5E9;&#x5D1; &#x5D1;&#x5E2;&#x5D5;&#x5D1;&#x5D3;&#x5D4; &#x5E9;&#x5DE;&#x5E8;&#x5D1;&#x5D9;&#x5EA; &#x5D4;&#x5D1;&#x5E0;&#x5D5;&#x5EA; &#x5DE;&#x5E9;&#x5E8;&#x5EA;&#x5D5;&#x5EA; &#x5D1;&#x5E6;&#x5D1;&#x5D0; &#x5E9;&#x5E0;&#x5EA;&#x5D9;&#x5D9;&#x5DD; &#x5D4;&#x5D7;&#x5DC; &#x5DE;&#x5D2;&#x5D9;&#x5DC; 18, &#x5D5;&#x5DB;&#x5DF; &#x5D7;&#x5DC;&#x5E7;&#x5DF; &#x5D1;&#x5D5;&#x5D7;&#x5E8;&#x5D5;&#x5EA; &#x5DC;&#x5E2;&#x5E9;&#x5D5;&#x5EA; &#x5D2;&#x5DD; &#x5E7;&#x5E6;&#x5D5;&#x5E0;&#x5D4;
&#x5D0;&#x5D5; &#x5E9;&#x5D9;&#x5E8;&#x5D5;&#x5EA; &#x5E7;&#x5D1;&#x5E2;. &#x5D0;&#x5D1;&#x5DC; &#x5DE;&#x5E8;&#x5D1;&#x5D9;&#x5EA; &#x5D4;&#x5E0;&#x5E9;&#x5D9;&#x5DD; &#x5E9;&#x5E8;&#x5D5;&#x5D0;&#x5D9;&#x5DD; &#x5D1;&#x5D0;&#x5E8;&#x5E5; &#x5D0;&#x5D9;&#x5E0;&#x5DF; &#x5DC;&#x5D1;&#x5D5;&#x5E9;&#x5D5;&#x5EA; &#x5D1;&#x5DE;&#x5D3;&#x5D9;&#x5DD;. &#x5DB;&#x5DA; &#x5E9;&#x5D4;&#x5D7;&#x5D9;&#x5E4;&#x5D5;&#x5E9; &#x5D4;&#x5D6;&#x5D4; &#x5D1;&#x5E4;&#x5DC;&#x5D9;&#x5E7;&#x5E8;
&#x5E0;&#x5D5;&#x5EA;&#x5DF; &#x5E8;&#x5D5;&#x5E9;&#x5DD; &#x5DE;&#x5D8;&#x5E2;&#x5D4; &#x5D5;&#x5E4;&#x5D5;&#x5DC;&#x5D9;&#x5D8;&#x5D9;.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
&#x3C;a href=&#x22;http://flickr.com/search/?w=all&#x26;amp;q=israeli+woman&#x26;amp;m=text&#x22;&#x3E;&#x5D4;&#x5D7;&#x5D9;&#x5E4;&#x5D5;&#x5E9;
&#x22;israeli woman&#x22;&#x3C;/a&#x3E; &#x5D0;&#x5D9;&#x5E0;&#x5D5; &#x5DE;&#x5E6;&#x5D9;&#x5D2; &#x5E8;&#x5E7; &#x5D7;&#x5D9;&#x5D9;&#x5DC;&#x5D5;&#x5EA; &#x5D0;&#x5D1;&#x5DC; &#x5D4;&#x5D3;&#x5E3; &#x5D4;&#x5E8;&#x5D0;&#x5E9;&#x5D5;&#x5DF; &#x5D2;&#x5DD; &#x5D4;&#x5D5;&#x5D0; &#x5E4;&#x5D5;&#x5DC;&#x5D9;&#x5D8;&#x5D9; &#x5DE;&#x5E9;&#x5D4;&#x5D5;.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
&#x5E2;&#x5DB;&#x5E9;&#x5D9;&#x5D5; &#x5DE;&#x5D2;&#x5D9;&#x5E2; &#x5EA;&#x5D5;&#x5DB;&#x5DF; &#x5D4;&#x5D4;&#x5EA;&#x5DC;&#x5D5;&#x5E0;&#x5E0;&#x5D5;&#x5EA; &#x5E9;&#x5DC;&#x5D9;: &#x5DC;&#x5D3;&#x5E2;&#x5EA;&#x5D9; &#x5D9;&#x5E9;&#x5E8;&#x5D0;&#x5DC; &#x5E0;&#x5EA;&#x5E4;&#x5E1;&#x5EA; &#x5DB;&#x5DE;&#x5D3;&#x5D9;&#x5E0;&#x5D4; &#x5D4;&#x5D9;&#x5E4;&#x5E8;-&#x5E4;&#x5D5;&#x5DC;&#x5D9;&#x5D8;&#x5D9;&#x5EA; &#x5D5;&#x5D4;&#x5D9;&#x5E4;&#x5E8;-&#x5D1;&#x5D8;&#x5D7;&#x5D5;&#x5E0;&#x5D9;&#x5EA;
&#x5D4;&#x5DF; &#x5D1;&#x5E2;&#x5D9;&#x5E0;&#x5D9; &#x5EA;&#x5D5;&#x5E9;&#x5D1;&#x5D9; &#x5D4;&#x5E2;&#x5D5;&#x5DC;&#x5DD; &#x5D5;&#x5D4;&#x5DF; &#x5D1;&#x5E2;&#x5D9;&#x5E0;&#x5D9; &#x5D0;&#x5D6;&#x5E8;&#x5D7;&#x5D9;&#x5D4; &#x5E2;&#x5E6;&#x5DE;&#x5D4;. &#x5D0;&#x5E0;&#x5D9; &#x5D0;&#x5EA;&#x5DF; &#x5DE;&#x5E1;&#x5E4;&#x5E8; &#x5D3;&#x5D5;&#x5D2;&#x5DE;&#x5D0;&#x5D5;&#x5EA;:
&#x3C;/p&#x3E;

&#x3C;ol&#x3E;

&#x3C;li&#x3E;
&#x3C;p&#x3E;
&#x5DB;&#x5D0;&#x5E9;&#x5E8; &#x5DC;&#x5DE;&#x5D3;&#x5EA;&#x5D9; &#x5D0;&#x5D6;&#x5E8;&#x5D7;&#x5D5;&#x5EA; &#x5D1;&#x5DB;&#x5D9;&#x5EA;&#x5D4; &#x5D9;&#x200E;&#x22;&#x5D0; &#x5D4;&#x5DE;&#x5D5;&#x5E8;&#x5D4; &#x5DC;&#x5D0;&#x5D6;&#x5E8;&#x5D7;&#x5D5;&#x5EA; (&#x5E9;&#x5D0;&#x5E0;&#x5D9; &#x5D6;&#x5D5;&#x5DB;&#x5E8; &#x5D3;&#x5D9; &#x5DC;&#x5D8;&#x5D5;&#x5D1;&#x5D4;) &#x5E9;&#x5D0;&#x5DC;&#x5D4; &#x5D0;&#x5EA; &#x5D4;&#x5DB;&#x5D9;&#x5EA;&#x5D4; &#x5DC;&#x5D0;&#x5D9;&#x5D6;&#x5D5; &#x5D5;&#x5E2;&#x5D3;&#x5D4; &#x5E9;&#x5DC; &#x5D4;&#x5DB;&#x5E0;&#x5E1;&#x5EA;,
&#x5E8;&#x5D0;&#x5E9; &#x5D4;&#x5DE;&#x5DE;&#x5E9;&#x5DC;&#x5D4; &#x5DE;&#x5D7;&#x5D5;&#x5D9;&#x5D1; &#x5DC;&#x5D4;&#x5EA;&#x5D9;&#x5D9;&#x5E6;&#x5D1;, &#x5D5;&#x5D4;&#x5EA;&#x5DC;&#x5DE;&#x5D9;&#x5D3;&#x5D9;&#x5DD; &#x5E2;&#x5E0;&#x5D5; &#x22;&#x5D5;&#x5E2;&#x5D3;&#x5EA; &#x5D4;&#x5D7;&#x5D5;&#x5E5; &#x5D5;&#x5D4;&#x5D1;&#x5D8;&#x5D7;&#x5D5;&#x5DF;&#x22;. &#x5D0;&#x5D5;&#x5DC;&#x5DD;, &#x5D4;&#x5D5;&#x5E2;&#x5D3;&#x5D4; &#x5D4;&#x5E0;&#x5DB;&#x5D5;&#x5E0;&#x5D4;
&#x5D4;&#x5D9;&#x5D9;&#x5EA;&#x5D4; &#x22;&#x5D4;&#x5D5;&#x5E2;&#x5D3;&#x5D4; &#x5DC;&#x5D1;&#x5D9;&#x5E7;&#x5D5;&#x5E8;&#x5EA; &#x5D4;&#x5DE;&#x5D3;&#x5D9;&#x5E0;&#x5D4;&#x22; &#x5D5;&#x5D4;&#x5DE;&#x5D5;&#x5E8;&#x5D4; &#x5D4;&#x5E2;&#x5D9;&#x5E8;&#x5D4; &#x5E9;&#x5D6;&#x5D0;&#x5EA; &#x5D4;&#x5D9;&#x5D9;&#x5EA;&#x5D4; &#x5D0;&#x5D9;&#x5E0;&#x5D3;&#x5D9;&#x5E7;&#x5E6;&#x5D9;&#x5D4; &#x5E9;&#x5D0;&#x5E0;&#x5D5; &#x5EA;&#x5D5;&#x5E4;&#x5E1;&#x5D9;&#x5DD; &#x5D0;&#x5EA; &#x5D4;&#x5D1;&#x5D8;&#x5D7;&#x5D5;&#x5DF; &#x5DB;&#x5D7;&#x5E9;&#x5D5;&#x5D1;
&#x5D9;&#x5EA;&#x5E8; &#x5E2;&#x5DC; &#x5D4;&#x5DE;&#x5D9;&#x5D3;&#x5D4; (&#x5D5;&#x5D4;&#x5D9;&#x5D0; &#x5D4;&#x5E2;&#x5D9;&#x5E8;&#x5D4; &#x5E2;&#x5DC; &#x5DB;&#x5DA; &#x5D2;&#x5DD; &#x5DC;&#x5E4;&#x5E0;&#x5D9; &#x5DB;&#x5DF;.)

&#x3C;/p&#x3E;
&#x3C;/li&#x3E;

&#x3C;li&#x3E;
&#x3C;p&#x3E;
&#x3C;a href=&#x22;http://www.paulgraham.com/america.html&#x22;&#x3E;&#x5D1;&#x5DE;&#x5D0;&#x5DE;&#x5E8; &#x5D4;&#x5D6;&#x5D4;&#x3C;/a&#x3E;
&#x5E4;&#x5D5;&#x5DC; &#x5D2;&#x5E8;&#x5D4;&#x5DD; &#x5D4;&#x5D5;&#x5DB;&#x5D9;&#x5D7; &#x22;&#x5DE;&#x5D3;&#x5E2;&#x5D9;&#x5EA;&#x22;, &#x5E9;&#x5D6;&#x5D0;&#x5EA; &#x5EA;&#x5D4;&#x5D9;&#x5D4; &#x5DE;&#x5E9;&#x5D9;&#x5DE;&#x5D4; &#x5D7;&#x5E1;&#x5E8;&#x5EA;-&#x5D8;&#x5E2;&#x5DD; &#x5DC;&#x5D4;&#x5E7;&#x5D9;&#x5DD; &#x22;&#x5E2;&#x5DE;&#x5E7; &#x5E1;&#x5D9;&#x5DC;&#x5D9;&#x5E7;&#x5D5;&#x5DF;&#x22; &#x5D1;&#x5D9;&#x5E9;&#x5E8;&#x5D0;&#x5DC; - &#x5DB;&#x5DC;&#x5D5;&#x5DE;&#x5E8;
&#x5DE;&#x5E8;&#x5DB;&#x5D6; &#x5E9;&#x5DC; &#x5E1;&#x5D8;&#x5D0;&#x5E8;&#x5D8;-&#x5D0;&#x5E4;&#x5D9;&#x5DD;. &#x5D4;&#x5D5;&#x5D0; &#x5DB;&#x5E0;&#x5E8;&#x5D0;&#x5D4; &#x5DC;&#x5D0; &#x5E9;&#x5DE;&#x5E2; &#x5E2;&#x5DC; &#x5D7;&#x5D1;&#x5E8;&#x5D5;&#x5EA; &#x5DB;&#x5DE;&#x5D5; 
&#x3C;a href=&#x22;http://en.wikipedia.org/wiki/Mirabilis_(company)&#x22;&#x3E;&#x5DE;&#x5D9;&#x5E8;&#x5D1;&#x5D9;&#x5DC;&#x5D9;&#x5E1;&#x3C;/a&#x3E;,
&#x3C;a href=&#x22;http://en.wikipedia.org/wiki/Check_Point&#x22;&#x3E;&#x5E6;&#x27;&#x5E7; &#x5E4;&#x5D5;&#x5D9;&#x5E0;&#x5D8;&#x3C;/a&#x3E;,
&#x3C;a href=&#x22;http://en.wikipedia.org/wiki/Zend_Technologies&#x22;&#x3E;&#x5D6;&#x5E0;&#x5D3;&#x3C;/a&#x3E;
&#x5D5;&#x5E2;&#x5D5;&#x5D3; &#x5E1;&#x5D8;&#x5D0;&#x5E8;&#x5D8;-&#x5D0;&#x5E4;&#x5D9;&#x5DD; &#x5D9;&#x5E9;&#x5E8;&#x5D0;&#x5DC;&#x5D9;&#x5D9;&#x5DD;  &#x5E8;&#x5D1;&#x5D9;&#x5DD; &#x5D5;&#x5D8;&#x5D5;&#x5D1;&#x5D9;&#x5DD; &#x5DC;&#x5E9;&#x5E2;&#x5D1;&#x5E8;. &#x5DE;&#x5E8;&#x5D1;&#x5D9;&#x5EA; &#x5D4;&#x5D7;&#x5D1;&#x5E8;&#x5D5;&#x5EA; &#x5E9;&#x5E2;&#x5D1;&#x5D3;&#x5EA;&#x5D9; &#x5D1;&#x5D4;&#x5DF; &#x5D1;&#x5EA;&#x5D5;&#x5E8; &#x5DE;&#x5EA;&#x5DB;&#x5E0;&#x5EA;
&#x5D4;&#x5D9;&#x5D5; &#x5E1;&#x5D8;&#x5D0;&#x5E8;&#x5D8;-&#x5D0;&#x5E4;&#x5D9;&#x5DD;, &#x5D5;&#x5DC;&#x5D0; &#x5D7;&#x5E1;&#x5E8;&#x5D5;&#x5EA; &#x5DB;&#x5D0;&#x5DC;&#x5DF;, &#x5D5;&#x5D2;&#x5DD; &#x5D4;&#x5D9;&#x5D5; &#x5E8;&#x5D1;&#x5D5;&#x5EA; &#x5DB;&#x5D0;&#x5DC;&#x5D5; &#x5D2;&#x5DD; &#x5D1;&#x5D6;&#x5DE;&#x5DF; &#x5D4;&#x5DE;&#x5D9;&#x5EA;&#x5D5;&#x5DF;.
&#x3C;/p&#x3E;
&#x3C;/li&#x3E;

&#x3C;li&#x3E;
&#x3C;p&#x3E;
&#x5DB;&#x5D0;&#x5E9;&#x5E8; &#x5DB;&#x5EA;&#x5D1;&#x5EA;&#x5D9; &#x5D0;&#x5EA; &#x5D4;&#x5E8;&#x5E9;&#x5D5;&#x5DE;&#x5D4; 
&#x3C;a href=&#x22;http://www.hackers.org.il/mediawiki/index.php/A_Brief_History_of_Linux_in_Israel&#x22;&#x3E;&#x5D4;&#x5E1;&#x5D8;&#x5D5;&#x5E8;&#x5D9;&#x5D4;
&#x5DE;&#x5E7;&#x5D5;&#x5E6;&#x5E8;&#x5EA; &#x5E9;&#x5DC; &#x5DC;&#x5D9;&#x5E0;&#x5D5;&#x5E7;&#x5E1; &#x5D1;&#x5D9;&#x5E9;&#x5E8;&#x5D0;&#x5DC;&#x3C;/a&#x3E;
&#x5D1;&#x5D5;&#x5D9;&#x5E7;&#x5D9; &#x5E9;&#x5DC; Hackers-IL, 
&#x3C;a href=&#x22;http://www.hackers.org.il/mediawiki/index.php?title=A_Brief_History_of_Linux_in_Israel&#x26;amp;oldid=1528&#x22;&#x3E;&#x5DB;&#x5EA;&#x5D1;&#x5EA;&#x5D9; 
&#x5D1;&#x5DE;&#x5E7;&#x5D5;&#x5E8; &#x5E9;&#x5DC;&#x5D9;&#x5E9;&#x5E8;&#x5D0;&#x5DC; &#x5D4;&#x5D9;&#x5D5; &#x5D1;&#x5E2;&#x5D9;&#x5D5;&#x5EA; &#x5E8;&#x5D1;&#x5D5;&#x5EA;&#x3C;/a&#x3E; &#x5D5;&#x5D1;&#x5D9;&#x5E0;&#x5D9;&#x5D4;&#x5DF; &#x22;&#x5DE;&#x5D9;&#x5E1;&#x5D5;&#x5D9; &#x5DE;&#x5E8;&#x5D5;&#x5D1;&#x5D4;, &#x5E8;&#x5D2;&#x5D5;&#x5DC;&#x5E6;&#x5D9;&#x5D4; &#x5DE;&#x5E8;&#x5D5;&#x5D1;&#x5D4; &#x5D5;&#x5DC;&#x5D0; &#x5E8;&#x5E6;&#x5D9;&#x5D5;&#x5E0;&#x5DC;&#x5D9;&#x5EA;, &#x5DB;&#x5DE;&#x5D5;&#x5EA; &#x5E8;&#x5D1;&#x5D4; &#x5E9;&#x5DC; &#x5E4;&#x5E2;&#x5D9;&#x5DC;&#x5D5;&#x5EA; &#x5D8;&#x5E8;&#x5D5;&#x5E8;&#x5D9;&#x5E1;&#x5D8;&#x5D9;&#x5EA; &#x5D5;&#x5DB;&#x5D5;&#x22;. &#x5DE;&#x5D9;&#x5E9;&#x5D4;&#x5D5; (&#x5E9;&#x5D0;&#x5E0;&#x5D9; &#x5D7;&#x5D5;&#x5E9;&#x5D1; &#x5E9;&#x5D4;&#x5D9;&#x5D4; &#x5D9;&#x5E9;&#x5E8;&#x5D0;&#x5DC;&#x5D9;) &#x5DE;&#x5D7;&#x5E7; &#x5D0;&#x5EA; &#x5DE;&#x5D4; &#x5E9;&#x5DB;&#x5EA;&#x5D1;&#x5EA;&#x5D9; &#x5D5;&#x5D4;&#x5E9;&#x5D0;&#x5D9;&#x5E8; &#x5E8;&#x5E7; &#x5D0;&#x5EA; &#x22;&#x5D4;&#x5DB;&#x5DE;&#x5D5;&#x5EA; &#x5D4;&#x5E8;&#x5D1;&#x5D4;
&#x5E9;&#x5DC; &#x5E4;&#x5E2;&#x5D9;&#x5DC;&#x5D5;&#x5EA; &#x5D8;&#x5E8;&#x5D5;&#x5E8;&#x5D9;&#x5E1;&#x5D8;&#x5D9;&#x5EA;&#x22;. 
&#x3C;/p&#x3E;
&#x3C;p&#x3E;
&#x5E2;&#x5DD; &#x5DB;&#x5DC; &#x5D4;&#x5DB;&#x5D1;&#x5D5;&#x5D3;, &#x5D4;&#x5E4;&#x5E2;&#x5D9;&#x5DC;&#x5D5;&#x5EA; &#x5D4;&#x5D8;&#x5E8;&#x5D5;&#x5E8;&#x5D9;&#x5E1;&#x5D8;&#x5D9;&#x5EA; &#x5D4;&#x5E8;&#x5D1;&#x5D4; &#x5D4;&#x5D9;&#x5D0; &#x5DC;&#x5D0; &#x5D4;&#x5D1;&#x5E2;&#x5D9;&#x5D9;&#x5D4; &#x5D4;&#x5D7;&#x5DE;&#x5D5;&#x5E8;&#x5D4; &#x5D1;&#x5D9;&#x5D5;&#x5EA;&#x5E8; &#x5E9;&#x5E4;&#x5D5;&#x5D2;&#x5E2;&#x5EA; &#x5D1;&#x5D9;&#x5E9;&#x5E8;&#x5D0;&#x5DC;. &#x5D9;&#x5E9;&#x5E8;&#x5D0;&#x5DC;&#x5D9;&#x5DD; &#x5E8;&#x5D1;&#x5D9;&#x5DD; &#x5D9;&#x5D5;&#x5EA;&#x5E8; &#x5DE;&#x5EA;&#x5D5; &#x5DE;&#x5EA;&#x5D0;&#x5D5;&#x5E0;&#x5D5;&#x5EA; &#x5D3;&#x5E8;&#x5DB;&#x5D9;&#x5DD; &#x5D5;&#x5DE;&#x5E2;&#x5D9;&#x5E9;&#x5D5;&#x5DF; &#x5DE;&#x5D0;&#x5E9;&#x5E8; &#x5DE;&#x5E4;&#x5E2;&#x5D9;&#x5DC;&#x5D5;&#x5EA; &#x5D8;&#x5E8;&#x5D5;&#x5E8;. &#x5D5;&#x5DB;&#x5D0;&#x5DE;&#x5D5;&#x5E8;, &#x5DC;&#x5D3;&#x5E2;&#x5EA;&#x5D9;, &#x5DB;&#x5DE;&#x5D5;&#x5EA; &#x5D4;&#x5DE;&#x5D9;&#x5E1;&#x5D5;&#x5D9; &#x5D4;&#x5D0;&#x5D3;&#x5D9;&#x5E8;&#x5D4; &#x5E4;&#x5D5;&#x5D2;&#x5E2;&#x5EA; &#x5D1;&#x5D9;&#x5E9;&#x5E8;&#x5D0;&#x5DC; &#x5D1;&#x5D0;&#x5D5;&#x5E4;&#x5DF; &#x5E0;&#x5D9;&#x5DB;&#x5E8; &#x5D4;&#x5E8;&#x5D1;&#x5D4; &#x5DE;&#x5E4;&#x5E2;&#x5D9;&#x5DC;&#x5D5;&#x5EA; &#x5D4;&#x5D8;&#x5E8;&#x5D5;&#x5E8;, &#x5D5;&#x5D9;&#x5E9;&#x5E8;&#x5D0;&#x5DC; &#x5DC;&#x5D0; &#x5EA;&#x5E4;&#x5E1;&#x5D9;&#x5D3; &#x5D3;&#x5D1;&#x5E8; (&#x5D5;&#x5D0;&#x5E3; &#x5EA;&#x5E8;&#x5D5;&#x5D5;&#x5D9;&#x5D7;) &#x5DB;&#x5DB;&#x5DC; &#x5E9;&#x5D4;&#x5D9;&#x5D0; &#x5EA;&#x5E6;&#x5DE;&#x5E6;&#x5DD; 
&#x5D0;&#x5D5;&#x5EA;&#x5D4;. 
&#x3C;/p&#x3E;
&#x3C;p&#x3E;
&#x5DB;&#x5DA; &#x5E9;&#x5D4;&#x5E2;&#x5E8;&#x5D9;&#x5DB;&#x5D4; &#x5D4;&#x5D9;&#x5D9;&#x5EA;&#x5D4; &#x5DE;&#x5D8;&#x5E2;&#x5D4;.
&#x3C;/p&#x3E;
&#x3C;/li&#x3E;

&#x3C;li&#x3E;
&#x3C;p&#x3E;
&#x5DE;&#x5E1;&#x5E4;&#x5E8; &#x5E8;&#x5D1; &#x5DE;&#x5D3;&#x5D9; &#x5E9;&#x5DC; &#x5D0;&#x5E0;&#x5E9;&#x5D9;&#x5DD; &#x5D6;&#x5E8;&#x5D9;&#x5DD; &#x5E9;&#x5D3;&#x5D9;&#x5D1;&#x5E8;&#x5EA;&#x5D9; &#x5D0;&#x5D9;&#x5EA;&#x5DD; &#x5DE;&#x5D7;&#x5D5;&#x22;&#x5DC; &#x5D1;&#x5E6;&#x27;&#x5D0;&#x5D8;&#x5D9;&#x5DD; &#x5D1;&#x5D0;&#x5D9;&#x5E0;&#x5D8;&#x5E8;&#x5E0;&#x5D8; &#x5E9;&#x5D0;&#x5DC;&#x5D5; &#x5D0;&#x5D5;&#x5EA;&#x5D9; &#x5D0;&#x5DD;
&#x5D9;&#x5E9;&#x5E8;&#x5D0;&#x5DC; &#x5D1;&#x5D8;&#x5D5;&#x5D7;&#x5D4; &#x5DE;&#x5E1;&#x5E4;&#x5D9;&#x5E7;. &#x5DB;&#x5DB;&#x5DC; &#x5D4;&#x5E0;&#x5E8;&#x5D0;&#x5D4; &#x5D4;&#x5E8;&#x5D5;&#x5E9;&#x5DD; &#x5E9;&#x5DC;&#x5D4;&#x5DD; &#x5D4;&#x5D5;&#x5D0; &#x5E9;&#x5D9;&#x5E9; &#x5D9;&#x5E8;&#x5D9; &#x5D1;&#x5E8;&#x5D7;&#x5D5;&#x5D1;&#x5D5;&#x5EA;, &#x5D5;&#x5D8;&#x5D9;&#x5DC;&#x5D9;&#x5DD; &#x5D1;&#x5DB;&#x5DC; &#x5DE;&#x5E7;&#x5D5;&#x5DD;,
&#x5D5;&#x5D9;&#x5E9;&#x5E8;&#x5D0;&#x5DC; &#x5D0;&#x5D9;&#x5E0;&#x5E0;&#x5D4; &#x5D1;&#x5D8;&#x5D5;&#x5D7;&#x5D4;. &#x5D0;&#x5D5;&#x5DC;&#x5DD; &#x5D4;&#x5DE;&#x5E6;&#x5D9;&#x5D0;&#x5D5;&#x5EA; &#x5D4;&#x5D9;&#x5D0; &#x5E9;&#x5DE;&#x5E8;&#x5D1;&#x5D9;&#x5EA; &#x5EA;&#x5D5;&#x5E9;&#x5D1;&#x5D9; &#x5D9;&#x5E9;&#x5E8;&#x5D0;&#x5DC; &#x5DE;&#x5E8;&#x5D2;&#x5D9;&#x5E9;&#x5D9;&#x5DD; &#x5D1;&#x5D8;&#x5D5;&#x5D7;&#x5D9;&#x5DD; &#x5DE;&#x5D0;&#x5D5;&#x5D3;.
&#x3C;/p&#x3E;
&#x3C;/li&#x3E;

&#x3C;/ol&#x3E;

&#x3C;p&#x3E;
&#x5DB;&#x5DE;&#x5D5;&#x5D1;&#x5DF;, &#x5D2;&#x5DD; &#x5D0;&#x5E0;&#x5D9; &#x5D0;&#x5D9;&#x5E0;&#x5E0;&#x5D9; &#x5D8;&#x5DC;&#x5D9;&#x5EA; &#x5E9;&#x5DB;&#x5D5;&#x5DC;&#x5D4; &#x5EA;&#x5DB;&#x5DC;&#x5EA; &#x5D1;&#x5E0;&#x5D5;&#x5E9;&#x5D0; &#x5D4;&#x5D6;&#x5D4;. 
&#x3C;a href=&#x22;http://www.shlomifish.org/humour/TheEnemy/&#x22;&#x3E;&#x5D4;&#x5E1;&#x5D9;&#x5E4;&#x5D5;&#x5E8; &#x5D4;&#x5E8;&#x5E6;&#x5D9;&#x5E0;&#x5D9; &#x5D4;&#x5E8;&#x5D0;&#x5E9;&#x5D5;&#x5DF; &#x5E9;&#x5DB;&#x5EA;&#x5D1;&#x5EA;&#x5D9;&#x3C;/a&#x3E;
&#x5D4;&#x5D9;&#x5D4; &#x5DE;&#x5D1;&#x5D5;&#x5E1;&#x5E1; &#x5E2;&#x5DC; &#x5D4;&#x5DE;&#x5E6;&#x5D1; &#x5D4;&#x5E4;&#x5D5;&#x5DC;&#x5D9;&#x5D8;&#x5D9; &#x5D1;&#x5D2;&#x5D1;&#x5D5;&#x5DC; &#x5D1;&#x5D9;&#x5DF; &#x5D9;&#x5E9;&#x5E8;&#x5D0;&#x5DC; &#x5D5;&#x5DC;&#x5D1;&#x5E0;&#x5D5;&#x5DF;, &#x5D0;&#x5DD; &#x5DB;&#x5D9; &#x5D9;&#x5D0;&#x5DE;&#x5E8; &#x5DC;&#x5D4;&#x5D2;&#x5E0;&#x5EA;&#x5D9; &#x5E9;&#x5D9;&#x5E9; &#x5DC;&#x5D5; &#x5DE;&#x5E1;&#x5E8;
&#x5D4;&#x5E8;&#x5D1;&#x5D4; &#x5D9;&#x5D5;&#x5EA;&#x5E8; &#x5D0;&#x5D5;&#x5E0;&#x5D9;&#x5D1;&#x5E8;&#x5E1;&#x5DC;&#x5D9;. &#x5DB;&#x5DE;&#x5D5;-&#x5DB;&#x5DF; &#x5DB;&#x5EA;&#x5D1;&#x5EA;&#x5D9; 
&#x3C;a href=&#x22;http://www.shlomifish.org/philosophy/politics/&#x22;&#x3E;&#x5DE;&#x5D0;&#x5DE;&#x5E8;&#x5D9;&#x5DD; &#x5E2;&#x5DC; &#x5E4;&#x5D5;&#x5DC;&#x5D9;&#x5D8;&#x5D9;&#x5E7;&#x5D4;&#x3C;/a&#x3E;
&#x5D5;&#x5DB;&#x5DF; &#x5E8;&#x5E9;&#x5D5;&#x5DE;&#x5D5;&#x5EA; &#x5E4;&#x5D5;&#x5DC;&#x5D9;&#x5D8;&#x5D9;&#x5D5;&#x5EA; &#x5E8;&#x5D1;&#x5D5;&#x5EA; &#x5D1;&#x5D1;&#x5DC;&#x5D5;&#x5D2; &#x5E9;&#x5DC;&#x5D9;, &#x5D0;&#x5DD; &#x5DB;&#x5D9; &#x5DC;&#x5D0; &#x5DB;&#x5D5;&#x5DC;&#x5DF; &#x5E2;&#x5DC; &#x5D4;&#x5DE;&#x5E6;&#x5D1; &#x5D4;&#x5E4;&#x5D5;&#x5DC;&#x5D9;&#x5D8;&#x5D9;-&#x5D1;&#x5D8;&#x5D7;&#x5D5;&#x5E0;&#x5D9; &#x5D1;&#x5D9;&#x5E9;&#x5E8;&#x5D0;&#x5DC;.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
&#x5D0;&#x5D1;&#x5DC; &#x5D0;&#x5E0;&#x5D9; &#x5D7;&#x5D5;&#x5E9;&#x5D1; &#x5E9;&#x5D9;&#x5E9; &#x5DC;&#x5E0;&#x5D5; &#x5DB;&#x5E2;&#x5DD; &#x5D0;&#x5D5;&#x5D1;&#x5E1;&#x5E1;&#x5D9;&#x5D4; &#x5E8;&#x5D1;&#x5D4; &#x5DE;&#x5D3;&#x5D9; &#x5E2;&#x5DD; &#x5D4;&#x5E6;&#x5D1;&#x5D0;, &#x5D5;&#x5D4;&#x5D1;&#x5D8;&#x5D7;&#x5D5;&#x5DF; &#x5E9;&#x5DC; &#x5D9;&#x5E9;&#x5E8;&#x5D0;&#x5DC;. &#x5D0;&#x5DD; &#x5D0;&#x5EA;&#x5DD; &#x5E9;&#x5D5;&#x5D0;&#x5DC;&#x5D9;&#x5DD;
&#x5DC;&#x5D3;&#x5E2;&#x5EA;&#x5D9;, &#x5D4;&#x5D2;&#x5D5;&#x5E8;&#x5DD; &#x5D4;&#x5E2;&#x5D9;&#x5E7;&#x5E8;&#x5D9; &#x5E9;&#x5DE;&#x5E6;&#x5D1;&#x5E0;&#x5D5; &#x5D4;&#x5D1;&#x5D8;&#x5D7;&#x5D5;&#x5E0;&#x5D9; &#x5DE;&#x5E2;&#x5D5;&#x5E8;&#x5E2;&#x5E8; &#x5DB;&#x5DC;-&#x5DB;&#x5DA; &#x5D4;&#x5D9;&#x5D0;
&#x3C;a href=&#x22;http://www.shlomifish.org/philosophy/politics/define-zionism/&#x22;&#x3E;&#x5D4;&#x5E2;&#x5D5;&#x5D1;&#x5D3;&#x5D4;
&#x5E9;&#x5E7;&#x5D9;&#x5D9;&#x5DE;&#x5EA; &#x5D1;&#x5D9;&#x5E9;&#x5E8;&#x5D0;&#x5DC; &#x5D0;&#x5E4;&#x5DC;&#x5D9;&#x5D4; &#x5D7;&#x5D5;&#x5E7;&#x5EA;&#x5D9;&#x5EA;&#x3C;/a&#x3E;. &#x5E2;&#x5D3; &#x5E9;&#x5DC;&#x5D0; &#x5E0;&#x5DE;&#x5D2;&#x5E8; &#x5D0;&#x5D5;&#x5EA;&#x5D4; &#x5DC;&#x5D7;&#x5DC;&#x5D5;&#x5D8;&#x5D9;&#x5DF;, &#x5D4;&#x5D9;&#x5D0; &#x5EA;&#x5D1;&#x5D9;&#x5D0; &#x5DC;&#x5D0;&#x5E4;&#x5DC;&#x5D9;&#x5D4; &#x5D5;&#x5DC;&#x5D2;&#x5D6;&#x5E2;&#x5E0;&#x5D5;&#x5EA;
&#x5E8;&#x5D2;&#x5D9;&#x5DC;&#x5D4;, &#x5D5;&#x5DB;&#x5DF; &#x5DC;&#x5D9;&#x5D7;&#x5E1;&#x5D9;&#x5DD; &#x5DC;&#x5D0; &#x5D0;&#x5D5;&#x5D4;&#x5D3;&#x5D9;&#x5DD; &#x5D2;&#x5DD; &#x5D1;&#x5E7;&#x5E8;&#x5D1; &#x5D4;&#x5E2;&#x5E8;&#x5D1;&#x5D9;&#x5DD; &#x5D5;&#x5E9;&#x5D0;&#x5E8; &#x5EA;&#x5D5;&#x5E9;&#x5D1;&#x5D9;-&#x5D4;&#x5E2;&#x5D5;&#x5DC;&#x5DD; &#x5D4;&#x5DB;&#x5D9; &#x5DC;&#x5D9;&#x5D1;&#x5E8;&#x5DC;&#x5D9;&#x5D9;&#x5DD;. &#x5D5;&#x5D0;&#x5E0;&#x5D9; &#x5D0;&#x5D5;&#x5DE;&#x5E8;
&#x5D6;&#x5D0;&#x5EA; &#x5DB;&#x5D9;&#x5E9;&#x5E8;&#x5D0;&#x5DC;&#x5D9; &#x5D9;&#x5D4;&#x5D5;&#x5D3;&#x5D9;. &#x5D0;&#x5DD; &#x5DC;&#x5E2;&#x5D5;&#x5D5;&#x5EA; &#x5D0;&#x5EA; &#x5DE;&#x5D4; 
&#x3C;a href=&#x22;http://en.wikipedia.org/wiki/Yoda&#x22;&#x3E;&#x5E9;&#x5D9;&#x5D5;&#x5D3;&#x5D4;&#x3C;/a&#x3E;
&#x5D0;&#x5DE;&#x5E8;: &#x22;&#x5E2;&#x5E9;&#x5D4; &#x5D0;&#x5D5; &#x5D0;&#x5DC; &#x5EA;&#x5E2;&#x5E9;&#x5D4;. &#x5D0;&#x5D1;&#x5DC; &#x5D0;&#x5DC; &#x5EA;&#x5E2;&#x5E9;&#x5D4; &#x5DC;&#x5D9;&#x5D4;&#x5D5;&#x5D3;&#x5D9; &#x5D5;&#x5DC;&#x5D0; &#x5EA;&#x5E2;&#x5E9;&#x5D4; &#x5DC;&#x5D2;&#x5D5;&#x5D9;, &#x5D0;&#x5D5; &#x5DC;&#x5D4;&#x5E4;&#x5DA;.&#x22;
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
&#x5D1;&#x5DB;&#x5DC; &#x5DE;&#x5E7;&#x5E8;&#x5D4;, &#x5D1;&#x5EA;&#x5D5;&#x5E8; &#x5D9;&#x5E9;&#x5E8;&#x5D0;&#x5DC;&#x5D9;&#x5DD; &#x5D1;&#x5D9;&#x5D5;&#x5DD; &#x5D4;&#x5E2;&#x5E6;&#x5DE;&#x5D0;&#x5D5;&#x5EA;, &#x5D0;&#x5E0;&#x5D7;&#x5E0;&#x5D5; &#x5E6;&#x5E8;&#x5D9;&#x5DB;&#x5D9;&#x5DD; &#x5DC;&#x5D6;&#x5DB;&#x5D5;&#x5E8; &#x5E9;&#x5D4;&#x5E6;&#x5D1;&#x5D0; &#x5D5;&#x5D4;&#x5D1;&#x5D8;&#x5D7;&#x5D5;&#x5DF;
&#x5D4;&#x5DD; &#x5DB;&#x5DC;&#x5D9; &#x5D5;&#x5DC;&#x5D0; &#x5DE;&#x5D8;&#x5E8;&#x5D4;. &#x5D4;&#x5DE;&#x5D8;&#x5E8;&#x5D4; &#x5D4;&#x5D9;&#x5D0; &#x5E9;&#x5D0;&#x5D6;&#x5E8;&#x5D7;&#x5D9;&#x5D4; &#x5D9;&#x5D5;&#x5DB;&#x5DC;&#x5D5; &#x5DC;&#x5D7;&#x5D9;&#x5D5;&#x5EA; &#x5D7;&#x5D9;&#x5D9;&#x5DD; &#x5D1;&#x5E9;&#x5DC;&#x5D5;&#x5DD;, &#x5E9;&#x5DC;&#x5D5;&#x5D4;, &#x5D0;&#x5D5;&#x5E9;&#x5E8; &#x5D5;&#x5E9;&#x5D2;&#x5E9;&#x5D5;&#x5D2;. &#x5D9;&#x5D5;&#x5DD; &#x5E2;&#x5E6;&#x5DE;&#x5D0;&#x5D5;&#x5EA; &#x5E9;&#x5DE;&#x5D7; &#x5DC;&#x5DB;&#x5DC; &#x5EA;&#x5D5;&#x5E9;&#x5D1;&#x5D9; &#x5D9;&#x5E9;&#x5E8;&#x5D0;&#x5DC;!
&#x3C;/p&#x3E;

&#x3C;/div&#x3E;</description>
<comments>http://shlomif.livejournal.com/53230.html</comments>
<guid isPermaLink="true">http://shlomif.livejournal.com/53230.html</guid>
<pubDate>Wed, 07 May 2008 19:36:35 GMT</pubDate>
</item>
<item>
<title>Perl Must Decentralize, Diversify and Colonize</title>
<link>http://community.livejournal.com/shlomif_tech/10582.html</link>
<description>&#x3C;p&#x3E;
Andy Lester has written
&#x3C;a href=&#x22;http://perlbuzz.com/2008/05/perl-decentralize-diversify-colonize.html&#x22;&#x3E;a
great article about some of the social and philosophical problems with the Perl 
world&#x3C;/a&#x3E;. He says that while Perl 5 is a great technology, has a very
&#x3C;a href=&#x22;http://search.cpan.org/&#x22;&#x3E;comprensive collection of reusable,
open-source code called &#x22;CPAN&#x22;&#x3C;/a&#x3E;, and has a lot to show for, it has suffered
from concentration of effort and other such problems. 
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
This, in turn, contributed to the fact that many programmers concluded it
was &#x22;dead&#x22;, &#x22;dying&#x22;, &#x22;not good enough&#x22;, or other such negative hype and
negative myths. While Lester&#x27;s article suffers from some problems, it 
still makes a good read even if you&#x27;re not an avid Perler.
&#x3C;/p&#x3E;</description>
<category>andy lesterconcentration of effortperllinkrecommendationdecentralisationarticleessaypetdancephilosophy</category>
<comments>http://community.livejournal.com/shlomif_tech/10582.html</comments>
<guid isPermaLink="true">http://community.livejournal.com/shlomif_tech/10582.html</guid>
<pubDate>Wed, 07 May 2008 05:50:46 GMT</pubDate>
</item>
<item>
<title>New Essay: &#x22;What Makes Software High-Quality&#x22;</title>
<link>http://use.perl.org/~Shlomi+Fish/journal/36336?from=rss</link>
<description>&#x3C;p&#x3E;
I wrote &#x3C;a href=&#x22;http://www.shlomifish.org/philosophy/computers/high-quality-software/&#x22;&#x3E;a new Essay about what makes software applications high-quality&#x3C;/a&#x3E;,
as well as which parameters and methods, while desirable and quality-enhancing,
are not exactly quality. It was inspired by a post on a public mailing list
I set up, and Perl and perl 5 are mentioned there a few times, as are
many other open-source projects.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
It is available in several formats: HTML to read online (on Page), DocBook/XML
source (which can in turn render other formats), PDF (please don&#x27;t print it
even though you are legally allowed to). The licence is CC-by-2.5. Comments
are welcome.
&#x3C;/p&#x3E;</description>
</item>
<item>
<title>Today is my Birthday</title>
<link>http://shlomif.livejournal.com/52788.html</link>
<description>&#x3C;p&#x3E;
I was born on 5 May, 1977, so today is my 31st Birthday. 
&#x3C;a href=&#x22;http://peachuk.livejournal.com/8840.html&#x22;&#x3E;peachuk has already congratulated me on her blog&#x3C;/a&#x3E; (with a nice cartoon), and other people 
have already congratulated me on IRC and IM. Someone I know
also wrote me something on Facebook, which I tend to dislike. Next time,
an Email or an IM will do, but thanks.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
I felt a bit depressed towards my birthday, but today I&#x27;m feeling great. Today
was productive for me as I worked on an XML grammar for 
&#x3C;a href=&#x22;http://www.shlomifish.org/humour/fortunes/&#x22;&#x3E;Unix-like 
fortune cookies&#x3C;/a&#x3E;. I learned &#x3C;a href=&#x22;http://relaxng.org/&#x22;&#x3E;RELAX NG&#x3C;/a&#x3E; in 
the process (and can recommend it) and made some progress, but it&#x27;s still not
ready for prime time.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
I also chatted on the IRC a lot, and spent a lot of time explaining the essence
of Perl 5&#x27;s references to someone who only knew Unix Shell and very minimal
Python. I remember I had problems with C pointers back after I learnt BASIC,
which didn&#x27;t really have them, and still remember that I only truly understood
references in Perl after learning some Java (and possibly also after reading
&#x3C;a href=&#x22;http://mitpress.mit.edu/sicp/&#x22;&#x3E;SICP&#x3C;/a&#x3E;).
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
So I geeked out today. :-) For other events that had occured today see
&#x3C;a href=&#x22;http://en.wikipedia.org/wiki/May_5&#x22;&#x3E;the Wikipedia&#x3C;/a&#x3E;.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
Cheers! -- the 31-years old, Shlomi.
&#x3C;/p&#x3E;</description>
<comments>http://shlomif.livejournal.com/52788.html</comments>
<guid isPermaLink="true">http://shlomif.livejournal.com/52788.html</guid>
<pubDate>Mon, 05 May 2008 15:23:41 GMT</pubDate>
</item>
<item>
<title>What Motivates People and How?</title>
<link>http://shlomif.livejournal.com/52579.html</link>
<description>&#x3C;p&#x3E;
I feel obliged to write a special entry for 
&#x3C;a href=&#x22;http://en.wikipedia.org/wiki/Yom_HaShoah&#x22;&#x3E;the Israeli Holocaust
Remembrance Day&#x3C;/a&#x3E; which is today, so hopefully this will serve as such.
However, it&#x27;s probably not going to be what you expect.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
My first question is the one in the title: what motivates people? Why do
people do what they do? One of the most common myths about it is what I
call &#x22;pseudo-Darwinism&#x22; - the belief that people ultimately do everything
to have sex, or even to procreate. This was started by Sigmund Freud, and
also popularised by the book
&#x3C;a href=&#x22;http://en.wikipedia.org/wiki/The_Selfish_Gene&#x22;&#x3E;The
Selfish Gene&#x3C;/a&#x3E; (which I haven&#x27;t read but seems very interesting). However,
this makes many explanations for human behaviour very contrived (&#x22;You chat
on instant messaging because you hope that one of the people in the
conversation will give you a lead for a date with an attractive
woman/man...&#x22;) which don&#x27;t make much sense. It also fails to explain why
many people and even many mammals who were castarated or otherwise
incapable of bringing offspring do not commit suicide and otherwise
seem to lead a happier life. It also doesn&#x27;t explain why many people marry
and lead happy lives, but don&#x27;t want to have  children. (And sometimes also
have abortions.) Or why some people become monks or nuns, or other clergymen
who are forbidden from having sex.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
Plus, many people who have been virgins for a long time, or alternatively have
wonderful significant-others (and sex partners) whom they&#x27;ll never wish to 
hurt, are still chatting on the IRC (Internet Relay Chat) and other IM
services.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
So it&#x27;s not a very satisfying answer. But there&#x27;s a more sensical
explanation, and it actually heavily predates Darwin. In the first book of
&#x3C;a href=&#x22;http://classics.mit.edu/Aristotle/nicomachaen.html&#x22;&#x3E;Nicomachean
Ethics&#x3C;/a&#x3E;, Aristotle claims that we perform certain actions for certain
ends, and that these ends are also sometimes means to an end. But there must
be an ultimate end, because otherwise everything will be meaningless.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
He then claims that &#x22;happiness&#x22; is the ultimate end for most humans.
Happiness can also be interpreted, or subtituted for &#x22;self-esteem&#x22;, &#x22;pleasure&#x22;,
&#x22;joy&#x22;, etc. depending on how you see it.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
So what does it mean? We do what makes us feel good about ourselves. However,
different people, and people at different times, have different actions that
they deem as making them happier. This is often perfectly natural. I can sit
at the computer most of the time, while just writing, chatting, or 
writing software. Other people don&#x27;t seem to like it enough to do it all
the time. Often, what makes us happy or our tastes is not a moral decision
but an ammoral one (i.e: something that&#x27;s neither moral nor immoral.).
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
As software developers, our job is to make sure people encounter as few
frustrations as they can with our software. This means that the software
will have good usability, that it will &#x22;just work&#x22;, that it won&#x27;t have bugs,
and that if such problems are encountered they can easily be reported and
dealt with.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
If a software works according to our expectations, and does what we want -
we&#x27;ll feel happy. If it is too difficult to operate, lacks necessary features,
has obscure and unhelpful documentation, or doesn&#x27;t behave acccording
to our expectations - we&#x27;ll feel unhappy and helpless. As an example, I was
searching &#x3C;a href=&#x22;http://www.cpan.org/&#x22;&#x3E;CPAN&#x3C;/a&#x3E; for an IMAP module so
I can get a list of all the &#x3C;tt&#x3E;From:&#x3C;/tt&#x3E; addresses in my work&#x27;s inbox. 
The first hits seemed overly complicated and required too much research.
Then I found
&#x3C;a href=&#x22;http://search.cpan.org/dist/Email-Folder-IMAP/&#x22;&#x3E;Email-Folder-IMAP&#x3C;/a&#x3E;
whose synopsis had done something very similar to what I wanted. After
pasting the code, changing it a bit and running it, I had got a list of 
all the from addresses. That has made me happy, and I was determined to use
Email-Folder-IMAP from then on.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
Back to the main subject - the main problem in the world is that some people
derive pleasure from causing damage. For example, Genghis Khan has killed
millions of people in his irrational and pointless conquests, just so he
can feel good about himself. Adolf Hitler was similar too. The reason he
decided to set the blame on the Jews and to kill over 20 million people
in World-War-II was so he can feel good about himself. Also notice how he
constantly shifted the blame to his and his people&#x27;s problems from himself
to members of other people, especially the Jews. Constantly blaming others
or the world at large for one&#x27;s own problems is a vestige of what
&#x3C;a href=&#x22;http://www.shlomifish.org/philosophy/philosophy/guide-to-neo-tech/&#x22;&#x3E;Neo-Tech&#x3C;/a&#x3E;
calls &#x22;The Criminal Mind&#x22;.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
Of course, even the Nazis were angels in comparison to 20th-century
Communistic regimes who had been responsible for 
&#x3C;a href=&#x22;http://vip.latnet.lv/LPRA/100MilVictims.htm&#x22;&#x3E;killing 
    100 million of the citizens of their own countries&#x3C;/a&#x3E;.
Why? Because the leaders felt that they were conspiring
against them, and that these victims prevent &#x22;future growth&#x22;, but in fact
because they felt pleasure of doing this.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
No reason for any human-induced mass-destruction have ever existed except
for the fact that the Charismatic leader was a destructive and evil person
(a &#x22;mystic&#x22; in Neo-Tech terminology) who wanted to feel good about himself.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
But naturally saying &#x22;Would you kill a million people so I can feel good&#x22; would
not motivate anybody, they needed a &#x22;higher cause&#x22;: &#x22;God&#x22;, &#x22;the Aryan Race&#x22;,
&#x22;the nation&#x22;, &#x22;justice&#x22; (not real Justice - more like an a collectivist
revenge), &#x22;the Proletariat&#x22;, etc. (And more recently &#x22;the Environment&#x22;, 
&#x22;our security&#x22;, &#x22;fighting the drug abusers&#x22; and other causes like that). But
these causes are unnatural because there is no good reason to follow them. 
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
Ayn Rand has identified that any aim to an unnatural altruistic cause, instead
of the real cause which is the well-being, freedom and prosperity of the
conscious individual, is in fact a recipe for disaster. By altruism she
didn&#x27;t mean willingly and rationally contributing to the well-being of
another individual (or group of individuals) you care about, but rather
claiming that one&#x27;s life is worthless without contributing or even
sacrificing to an external cause, be it &#x22;The poor&#x22;, &#x22;the weak&#x22;, &#x22;the nation&#x22;,
&#x22;the faith&#x22; or whatever.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
As we remember the victims of the Nazis we should realise two things:
&#x3C;/p&#x3E;

&#x3C;ol&#x3E;
&#x3C;li&#x3E;
&#x3C;p&#x3E;
If the Germans would have cared about their own well-being, been logical
and considered Hitler a stupid and irrational pip-squeak and nothing more,
then World-War-II would not have happpened.
&#x3C;/p&#x3E;
&#x3C;/li&#x3E;
&#x3C;li&#x3E;
&#x3C;p&#x3E;
If the Jews (and other Nazi-opposers) realised they were in danger, and would 
have marched into Germany and kill everyone that looked like a Nazi, aiming
to eventually kill Hitler himself, the War would have turned out much
differently.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
While I am a peaceful man, I am not a pacifist. I believe that when someone
is in danger, they are allowed to exercise force against their oppressors.
And sometimes it is necesary.
&#x3C;/p&#x3E;

&#x3C;/li&#x3E;
&#x3C;/ol&#x3E;

&#x3C;p&#x3E;
The issue is not the &#x22;strong-vs-the-weak&#x22; - it is the &#x22;noble-vs-the-evil&#x22;, and
ironically some of the causes that seem the most noble to us are in fact
very harmful.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
Now it is your mission to try to apply what I said here. Act for your own
well-being and happiness. Oppose those people who tell you you should dedicate
your life to them. Ridicule them. Insult them. Fight them. Laugh them out
of existence.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
Don&#x27;t blame other people or the world at large for your own problems. Challenge
every assumption. Make sure you have no prejudice or dogma.
Understand that some people know more than you in some respects, and that
even the most wise men can (and often do) learn from fools. Be fanatical
for proper use of logic, which is the only valid tool that we have for
judging what&#x27;s correct and right and what&#x27;s wrong and bad.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
Don&#x27;t be a slave to your emotions and feelings. A person who&#x27;s behaving
rationally will be happier in the long run than a person who&#x27;s behaving
irrationally, and will experience more feelings of joy, happiness and love.
Your feelings
&#x3C;a href=&#x22;http://www.shlomifish.org/philosophy/books-recommends/#feeling_good&#x22;&#x3E;are 
not facts&#x3C;/a&#x3E; and only reflect our thoughts, and general condition.
While we want to be happy, we shouldn&#x27;t make pleasure our master, but rather
our servant in the ends for a better life.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
Regards -- Shlomi Fish, &#x3C;a href=&#x22;http://www.shlomifish.org/philosophy/the-eternal-jew/&#x22;&#x3E;The
Eternal Jew&#x3C;/a&#x3E;.
&#x3C;/p&#x3E;</description>
<comments>http://shlomif.livejournal.com/52579.html</comments>
<guid isPermaLink="true">http://shlomif.livejournal.com/52579.html</guid>
<pubDate>Thu, 01 May 2008 15:44:31 GMT</pubDate>
</item>
<item>
<title>Unattainable Goals that are Still Worth Pursuing</title>
<link>http://shlomif.livejournal.com/52439.html</link>
<description>&#x3C;p&#x3E;
One thought that occurred to me lately was the fact that there are some goals in
life that can never be fully attained, but are nevertheless worth pursuing and
getting nearer and nearer to them. Like an &#x3C;a href=&#x22;http://en.wikipedia.org/wiki/Asymptotically&#x22;&#x3E;asymptotic function&#x3C;/a&#x3E; in mathematics if you may.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
One example that I thought for it is the case of objectivity. Human beings are 
subjective by nature and so can never be completely objective. However, 
it doesn&#x27;t mean that we shouldn&#x27;t try to be as objective as possible, or 
completely give up on being objective. (And by being objective I don&#x27;t mean 
having &#x3C;a href=&#x22;http://en.wikipedia.org/wiki/Wikipedia:Neutral_point_of_view&#x22;&#x3E;a
neutral Point-of-View&#x3C;/a&#x3E;). Other people can disagree with me that objectivity
is a virtue but it&#x27;s besides the point.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
Now a co-worker of mine is a 
&#x3C;a href=&#x22;http://en.wikipedia.org/wiki/Hasidic_Judaism&#x22;&#x3E;Hasidic Jew&#x3C;/a&#x3E;,
and when I told him that I&#x27;m
an 
&#x3C;a href=&#x22;http://en.wikipedia.org/wiki/Objectivism_(Ayn_Rand)&#x22;&#x3E;Objectivist&#x3C;/a&#x3E;,
he said that one cannot be completely Objective. He then gave the fact that the 
Bible says that God brought the great drought because 
&#x3C;a href=&#x22;http://www.mechon-mamre.org/p/pt/pt0108.htm&#x22;&#x3E;&#x22;Yetzer Lev ha&#x27;adam 
Ra&#x27; Mine&#x27;urav&#x22;&#x3C;/a&#x3E; (= the desire of the Human&#x27;s heart is bad from his 
youth.), and later on decided not to do it again for
a similar reason. He brought that as an indication that the Bible
indicated that a man is not Objective by nature.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
I thought about it for a moment and understood that the same can be said
about honesty (or &#x22;righteousness&#x22; in a more religious language). We can never
be completely honest and never lie or do the right thing everytime. But that
doesn&#x27;t mean we shouldn&#x27;t constantly try to be as honest as possible, or
worse succumb to complete dishonesty.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
(I was told Immanuel Kant said something along the lines that if one
wished, for example, to be sincere, he must not lie even if threatened
by death. However, this is silly, because ethical and moral ideals are supposed
to help you lead a happier life (as identified by Aristotle in 
the first book of 
&#x3C;a href=&#x22;http://classics.mit.edu/Aristotle/nicomachaen.html&#x22;&#x3E;&#x22;Nicomachean
Ethics&#x22;&#x3C;/a&#x3E;), not to terminate them
prematurely under someone who employs force or threat of force against you,
when you otherwise did not do anything wrong.)
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
After I told it to my co-worker in an MSN Messenger conversation he agreed 
with me that I was right on both the honesty aspect and, in accordance with
the principle, also the Objectivity one.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
This concept can be applied to many other values or capabilities
we desire. For example, one can always improve as a programmer, which is
evident by the fact that most good programmers who take a look at their
old code are unhappy with it. But it doesn&#x27;t mean we shouldn&#x27;t try to always
improve as programmers.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
Likewise, if a particular computing technology is large (e.g: Perl, Java, PHP,
.NET) and also has possibly spanned a large number of halo technologies (e.g:
&#x3C;a href=&#x22;http://search.cpan.org/&#x22;&#x3E;CPAN&#x3C;/a&#x3E;, 
&#x3C;a href=&#x22;http://jakarta.apache.org/&#x22;&#x3E;Apache Jakarta&#x3C;/a&#x3E;, etc.), then mastering 
the core language would be hard, and time consuming. In the Perl world we
constantly say that &#x22;no one knows all of Perl, not even Larry Wall&#x22;. But it
doesn&#x27;t mean you shouldn&#x27;t do your best to master as much as you can out 
of it, or need to.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
One example that I&#x27;m especially sensitive about is politics in a software
project (possibly an open-source one ). Obviously, there can never be zero
politics, but the project leaders and members should always try to reduce its
amount, because not keeping it at bay is a recipe for disaster. I constantly
hear about important features that are not implemented or even bugs that are
left unfixed in open-source projects due to political reasons.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
I can give &#x3C;a href=&#x22;http://subversion.tigris.org/&#x22;&#x3E;Subversion&#x3C;/a&#x3E; and to a 
lesser extent the perl5-core development tools as good examples of projects 
with very little politics and a value-maximising attitude.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
One can think of many other examples.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
My point is that while it is true that we are humans and can never be perfect,
we should always aim for perfection in some aspects. And given enough
willingness and by learning from our mistakes, we can remain close to 
perfection in those respects all the time.
&#x3C;/p&#x3E;</description>
<comments>http://shlomif.livejournal.com/52439.html</comments>
<guid isPermaLink="true">http://shlomif.livejournal.com/52439.html</guid>
<pubDate>Mon, 28 Apr 2008 07:46:54 GMT</pubDate>
</item>
<item>
<title>Park, Hebrew drugs-related essay, and more</title>
<link>http://community.livejournal.com/shlomif_hsite/7289.html</link>
<description>

&#x3C;p&#x3E;
&#x3C;a href=&#x22;http://www.shlomifish.org/open-source/projects/Park-Lisp/&#x22;&#x3E;The
    documentation for the Park Lisp&#x3C;/a&#x3E; dialect has been added
into the open-source section:
&#x3C;/p&#x3E;

&#x3C;blockquote&#x3E;
    &#x3C;p&#x3E;
    Why am I doing it? For several reasons: 
    &#x3C;/p&#x3E;

    &#x3C;ol&#x3E;
        &#x3C;li&#x3E;
        &#x3C;a href=&#x22;http://www.amazon.com/gp/product/0066620724/103-5528911-1875020&#x22;&#x3E;Because it&#x27;s fun&#x3C;/a&#x3E;. This is by itself a good reason. 
        &#x3C;/li&#x3E;

        &#x3C;li&#x3E;
        Because I found that designing your own language is one of the best 
        ways to learn more about the original languages it is based on. When I
        designed &#x3C;a href=&#x22;http://www.shlomifish.org/rindolf/&#x22;&#x3E;the Perl 
            dialect &#x22;Rindolf&#x22;&#x3C;/a&#x3E;, I learned that some features I suggested 
        for it were already doable in Perl 5. 
        &#x3C;/li&#x3E;
    &#x3C;/ol&#x3E;
&#x3C;/blockquote&#x3E;

&#x3C;p&#x3E;
Added the 
&#x3C;a href=&#x22;http://www.shlomifish.org/philosophy/politics/drug-legalisation/hebrew.html&#x22;&#x3E;Hebrew
    translation of the &#x22;Case for Drug Legalisation&#x22;&#x3C;/a&#x3E; essay:
&#x3C;/p&#x3E;

&#x3C;blockquote&#x3E;
    &#x3C;p&#x3E;
&#x5DE;&#x5DB;&#x5D9;&#x5D5;&#x5D5;&#x5DF; &#x5E9;&#x5D4;&#x5E1;&#x5DE;&#x5D9;&#x5DD; &#x5D0;&#x5D9;&#x5E0;&#x5DD; &#x5D7;&#x5D5;&#x5E7;&#x5D9;&#x5D9;&#x5DD;, &#x5D4;&#x5DD; &#x5DE;&#x5D5;&#x5E4;&#x5E6;&#x5D9;&#x5DD; &#x5E2;&#x5DC;-&#x5D9;&#x5D3;&#x5D9; &#x5E2;&#x5D5;&#x5D1;&#x5E8;&#x5D9;-&#x5D7;&#x5D5;&#x5E7;, &#x5E9;&#x5D3;&#x5D5;&#x5E8;&#x5E9;&#x5D9;&#x5DD; &#x5DE;&#x5D7;&#x5D9;&#x5E8; &#x5DE;&#x5D5;&#x5E4;&#x5E7;&#x5E2;
&#x5EA;&#x5DE;&#x5D5;&#x5E8;&#x5EA;&#x5DD;. &#x5DE;&#x5D7;&#x5D9;&#x5E8; &#x5DE;&#x5D5;&#x5E4;&#x5E7;&#x5E2; &#x5D1;&#x5D4;&#x5E8;&#x5D1;&#x5D4; &#x5DE;&#x5D6;&#x5D4; &#x5E9;&#x5D3;&#x5E8;&#x5D5;&#x5E9; &#x5DC;&#x5D2;&#x5D3;&#x5DC;, &#x5DC;&#x5D6;&#x5E7;&#x5E7; &#x5D5;&#x5DC;&#x5D4;&#x5E4;&#x5D9;&#x5E5; &#x5D0;&#x5D5;&#x5EA;&#x5DD;. &#x5DB;&#x5EA;&#x5D5;&#x5E6;&#x5D0;&#x5D4; &#x5DE;&#x5DB;&#x5DA;, &#x5D9;&#x5E9;
&#x5E9;&#x5D5;&#x5E7; &#x5E9;&#x5D7;&#x5D5;&#x5E8; &#x5D2;&#x5D3;&#x5D5;&#x5DC; &#x5DC;&#x5D4;&#x5E4;&#x5E6;&#x5D4; &#x5E9;&#x5DC; &#x5E1;&#x5DE;&#x5D9;&#x5DD; &#x5D5;&#x5D4;&#x5DE;&#x5E9;&#x5EA;&#x5DE;&#x5E9;&#x5D9;&#x5DD; &#x5D1;&#x5E1;&#x5DE;&#x5D9;&#x5DD; &#x5E0;&#x5D0;&#x5DC;&#x5E6;&#x5D9;&#x5DD; &#x5DC;&#x5D1;&#x5E1;&#x5D5;&#x5E3; &#x5DC;&#x5D1;&#x5E6;&#x5E2; &#x5E4;&#x5E9;&#x5E2;&#x5D9;&#x5DD; &#x5DB;&#x5DE;&#x5D5;
&#x5D2;&#x5E0;&#x5D9;&#x5D1;&#x5D4; &#x5D0;&#x5D5; &#x5E9;&#x5D5;&#x5D3; &#x5DB;&#x5D3;&#x5D9; &#x5DC;&#x5DE;&#x5DE;&#x5DF; &#x5D0;&#x5EA; &#x5D4;&#x5E8;&#x5D2;&#x5DC;&#x5D9; &#x5D4;&#x5E1;&#x5DE;&#x5D9;&#x5DD; &#x5E9;&#x5DC;&#x5D4;&#x5DD;. 
    &#x3C;/p&#x3E;

    &#x3C;p&#x3E;
&#x5D0;&#x5D7;&#x5D5;&#x5D6; &#x5D4;&#x5E4;&#x5E9;&#x5D9;&#x5E2;&#x5D4; &#x5D1;&#x5D0;&#x5E8;&#x5E6;&#x5D5;&#x5EA;-&#x5D4;&#x5D1;&#x5E8;&#x5D9;&#x5EA; &#x5D2;&#x5D3;&#x5DC; &#x5E4;&#x5D9; &#x5E9;&#x5E0;&#x5D9;&#x5D9;&#x5DD; &#x5D1;&#x5E9;&#x5DC; &#x5D4;&#x5D0;&#x5D9;&#x5E1;&#x5D5;&#x5E8; &#x5E2;&#x5DC; &#x5D4;&#x5D0;&#x5DC;&#x5DB;&#x5D5;&#x5D4;&#x5D5;&#x5DC; (&#x22;&#x5D7;&#x5D5;&#x5E7; &#x5D4;&#x5D9;&#x5D5;&#x5D1;&#x5E9;&#x22;).
&#x5DB;&#x5D0;&#x5E9;&#x5E8; &#x5D4;&#x5D0;&#x5D9;&#x5E1;&#x5D5;&#x5E8; &#x5D4;&#x5D5;&#x5E1;&#x5E8;, &#x5D4;&#x5D5;&#x5D0; &#x5E7;&#x5D8;&#x5DF; &#x5D7;&#x5D6;&#x5E8;&#x5D4; &#x5DC;&#x5DE;&#x5E6;&#x5D1;&#x5D5; &#x5D4;&#x5DE;&#x5E7;&#x5D5;&#x5E8;&#x5D9;. &#x5E6;&#x5E4;&#x5D5;&#x5D9; &#x5E9;&#x5E4;&#x5E9;&#x5E2;&#x5D9;&#x5DD; &#x5D4;&#x5E0;&#x5D5;&#x5D1;&#x5E2;&#x5D9;&#x5DD; &#x5DE;&#x5E1;&#x5DE;&#x5D9;&#x5DD; &#x5D2;&#x5D5;&#x5E8;&#x5DE;&#x5D9;&#x5DD;
&#x5DC;&#x5E8;&#x5D9;&#x5D1;&#x5D5;&#x5D9; &#x5D3;&#x5D5;&#x5DE;&#x5D4;, &#x5D1;&#x5E9;&#x5DC; &#x5D4;&#x5D0;&#x5D5;&#x5E4;&#x5D9; &#x5D4;&#x5D3;&#x5D5;&#x5DE;&#x5D4; &#x5E9;&#x5DC; &#x5D4;&#x5D0;&#x5D9;&#x5E1;&#x5D5;&#x5E8;
    &#x3C;/p&#x3E;
&#x3C;/blockquote&#x3E;

&#x3C;p&#x3E;
The second revision of &#x3C;a href=&#x22;http://www.shlomifish.org/philosophy/computers/education/introductory-language/&#x22;&#x3E;&#x22;Thoughts about the Best Introductory
    Language&#x22;&#x3C;/a&#x3E; is now available with many corrections and clarifications.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
&#x3C;a href=&#x22;http://www.shlomifish.org/open-source/projects/linux-kernel/xconfig-search/&#x22;&#x3E;A Linux Kernel Patch to enhance the search dialog of the GUI
    configuration applet&#x3C;/a&#x3E; is now available there, as it has not been
integrated into the mainline yet.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
New &#x3C;a href=&#x22;http://www.shlomifish.org/humour/fortunes/&#x22;&#x3E;fortune 
    cookies&#x3C;/a&#x3E; have been added.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
Added a note to 
&#x3C;a href=&#x22;http://www.shlomifish.org/meta/linking-policy/&#x22;&#x3E;the linking 
    policy&#x3C;/a&#x3E; about requesting to remove mis-appropriate links.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
&#x3C;a href=&#x22;http://kflickr.sourceforge.net/&#x22;&#x3E;KFlickr&#x3C;/a&#x3E; and the Firefox
&#x3C;a href=&#x22;https://addons.mozilla.org/en-US/firefox/addon/869&#x22;&#x3E;Uppity 
    extension&#x3C;/a&#x3E; were added to the 
&#x3C;a href=&#x22;http://www.shlomifish.org/open-source/favourite/&#x22;&#x3E;favourite open
    software page&#x3C;/a&#x3E;.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
A &#x22;Bookmark me&#x22; button was added to the bottom of the main text of all the
pages to facilitate bookmarking using online bookmarking and news services.
Below it there are now some more text ads, which shouldn&#x27;t be too intrusive.
Finally, a 
&#x3C;a href=&#x22;http://community.livejournal.com/shlomif_tech/10327.html&#x22;&#x3E;JavaScript
    script&#x3C;/a&#x3E; that adds self-referential links to headings with anchors was
added, which makes use of the &#x3C;a href=&#x22;http://jquery.com/&#x22;&#x3E;jQuery 
    library&#x3C;/a&#x3E;.
&#x3C;/p&#x3E;</description>
<author>shlomif@iglu.org.il</author>
<category>lispkernelhumourbookmark mesearchparkuppityunixlegalisationanchorskflickrhebrewarccookiestext adsfortunelinking policylinuxdrugspatch</category>
<comments>http://community.livejournal.com/shlomif_hsite/7289.html</comments>
<guid isPermaLink="true">http://community.livejournal.com/shlomif_hsite/7289.html</guid>
<pubDate>Fri, 25 Apr 2008 04:37:10 GMT</pubDate>
</item>
<item>
<title>jQuery Tip: Adding Self-Links to Headings</title>
<link>http://community.livejournal.com/shlomif_tech/10327.html</link>
<description>&#x3C;p&#x3E;
On &#x3C;a href=&#x22;http://www.shlomifish.org/&#x22;&#x3E;my homepage&#x3C;/a&#x3E;, I have many 
&#x26;lt;h2&#x26;gt;, &#x26;lt;h3&#x26;gt;, etc. tags with &#x3C;tt&#x3E;id&#x3C;/tt&#x3E; attributes in them so one 
can link directly to the middle of the page. I have written a 
Website Meta Language API that allows one to generate a table of contents for 
the page based on them. However, recently I also looked for a way to have a 
link to their anchors somewhere close to them. 
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
I eventually decided to try doing it using JavaScript and 
&#x3C;a href=&#x22;http://jquery.com/&#x22;&#x3E;jQuery&#x3C;/a&#x3E;. It took me a bit of
documentation lookup, trial and error and consulting people on IRC, but I 
ended up with:
&#x3C;/p&#x3E;

&#x3C;pre&#x3E;
&#x26;lt;script type=&#x26;quot;text/javascript&#x26;quot;&#x26;gt;
&#x26;lt;!--
$(&#x26;quot;h1[id],h2[id],h3[id],h4[id],h5[id],h6[id]&#x26;quot;).each(
function(i){
$(this).append( &#x26;#39; &#x26;lt;span class=&#x26;quot;selfl&#x26;quot;&#x26;gt;[&#x26;lt;a href=&#x26;quot;#&#x26;#39; + 
this.id + &#x26;#39;&#x26;quot;&#x26;gt;link&#x26;lt;/a&#x26;gt;]&#x26;lt;/span&#x26;gt;&#x26;#39; )
})
--&#x26;gt;
&#x26;lt;/script&#x26;gt;
&#x3C;/pre&#x3E;

&#x3C;p&#x3E;
Now for some explanations:
&#x3C;/p&#x3E;

&#x3C;ol&#x3E;
&#x3C;li&#x3E;
The &#x3C;tt&#x3E;$(&#x22;h1[id]...&#x22;)&#x3C;/tt&#x3E; construct selects all the headings with id&#x27;s.
There may be a shorter way to do it (comments are welcome).
&#x3C;/li&#x3E;
&#x3C;li&#x3E;
The each method iterates over all of them and calls the closure inside. The
closure sets the &#x22;&#x3C;tt&#x3E;this&#x3C;/tt&#x3E;&#x22; variable to the current element, and accepts
its index there (the &#x22;i&#x22; variable). In our case, we&#x27;re not making use of the
index.
&#x3C;/li&#x3E;
&#x3C;li&#x3E;
$(this) constructs a jQuery object from &#x22;this&#x22;.
&#x3C;/li&#x3E;
&#x3C;li&#x3E;
.append() appends an expression to the inner HTML of the element. I add
a little HTML there. &#x3C;tt&#x3E;this.id&#x3C;/tt&#x3E; may result in an XSS attack if you have
a really funky (and probably invalid) ID, but since I have control over
my ID&#x27;s it&#x27;s OK.
&#x3C;/li&#x3E;
&#x3C;/ol&#x3E;

&#x3C;p&#x3E;
You can see the result, in the headings of 
&#x3C;a href=&#x22;http://www.shlomifish.org/lecture/&#x22;&#x3E;the presentations&#x27; page&#x3C;/a&#x3E;
(for example), as long as you don&#x27;t have JavaScript turned off. jQuery seems
very nice, and I&#x27;m looking forward to making even more use of it where
appropriate.
&#x3C;/p&#x3E;</description>
<category>tipidhomesitelinksjqueryheadingsanchorshtmljavascripthomepageattribute</category>
<comments>http://community.livejournal.com/shlomif_tech/10327.html</comments>
<guid isPermaLink="true">http://community.livejournal.com/shlomif_tech/10327.html</guid>
<pubDate>Thu, 24 Apr 2008 16:36:14 GMT</pubDate>
</item>
<item>
<title>&#x22;Free&#x22; and &#x22;Freedom&#x22; in Hebrew (and English)</title>
<link>http://shlomif.livejournal.com/52098.html</link>
<description>&#x3C;p&#x3E;
By inspiration from 
&#x3C;a href=&#x22;http://en.wikipedia.org/wiki/Passover&#x22;&#x3E;Passover&#x3C;/a&#x3E;, which
celebrates the end of the Egyptian Jewish slavery, and by some inspiration
from &#x3C;a href=&#x22;http://www.dwheeler.com/essays/fisl2005.html&#x22;&#x3E;what David A. 
Wheeler wrote about the meanings of free in English&#x3C;/a&#x3E;, I present to you
some non-professional philological study of the meanings
of &#x22;Free&#x22; and &#x22;Freedom&#x22; in Hebrew and English.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
First of all, there are two ways to say &#x22;freedom&#x22; in Hebrew: &#x22;Hhofesh&#x22; (&#x5D7;&#x5D5;&#x5E4;&#x5E9;)
and &#x22;Hherouth&#x22; (&#x5D7;&#x5E8;&#x5D5;&#x5EA;). The double-h is my way of indicating a &#x3C;a href=&#x22;http://en.wikipedia.org/wiki/Heth&#x22;&#x3E;&#x22;Hheth&#x22;&#x3C;/a&#x3E;, which is similar
to the &#x22;kh&#x22; in &#x22;Khan&#x22; or the Spanish &#x22;j&#x22;, but even more throaty when pronounced
correctly.
&#x3C;/p&#x3E;

&#x3C;p&#x3E; Now, &#x22;Hhofesh&#x22; means Freedom, while &#x22;Hherouth&#x22; is even stronger, and means
something closer to &#x22;liberty&#x22; in English, but probably not exactly the same. A
free person (or a thing) is &#x22;Hhofshi&#x22; (in Singular Masculine form, other forms
differ slightly), while I didn&#x27;t hear the word &#x22;Herouthi&#x22; used often. Instead
one can say that someone is a &#x22;Ben-Horin&#x22; (i.e: &#x22;son [or belongs to a people
of] of free people.&#x22;), which is probably the etymology for &#x3C;a href=&#x22;http://en.wikipedia.org/wiki/Ben-Hur&#x22;&#x3E;&#x22;Ben-Hur&#x22;&#x3C;/a&#x3E;.  
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
While &#x22;Herouth&#x22; is mostly limited to the liberty of a people or
inidividuals, and is considered high language, &#x22;Hhofshi&#x22; is more disputed. It
can naturally mean &#x22;libre&#x22; or free-from-oppression. But &#x22;Hhofesh&#x22; or &#x22;Hhufshah&#x22;
also means vacation in Hebrew (like &#x22;Hahhofesh hagadol&#x22; (the big &#x22;Hhofseh&#x22;) -
which is the Hebrew name for the Summer vacation.) And so Hhofshi is sometimes
applied to a person who is relieved of work, education or other
responsibilities (such as that of a spouse), even though it is understood that
it is not an exact meaning.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
More recently, &#x22;Hhofshi&#x22; also started to be applied to &#x22;gratis&#x22;, &#x22;costless&#x22; or
&#x22;on-the-house&#x22; commodities similar to the &#x22;free-as-in-free-beer&#x22; distinction.
For example, in Falafel stands, one often hears that the extras are &#x22;Hhufshi&#x22;
meaning one can take as much as they want to put in his Pitah-bread. This may
have been an influence from English, but as I noted, &#x22;Hhofesh&#x22; in Hebrew has
not been restricted to mean freedom from oppression (&#x22;free-as-in-free-speech&#x22;)
either.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
One doesn&#x27;t often hear people using &#x22;Hhofshi&#x22; for &#x22;lacking&#x22; as in &#x22;Caffeine-free&#x22;, although
that may also have become a bit more common lately. &#x22;Caffeine-free&#x22; is
&#x22;Netol-caffeine&#x22; (&#x22;&#x5E0;&#x5D8;&#x5D5;&#x5DC;-&#x5E7;&#x5E4;&#x5D0;&#x5D9;&#x5DF;&#x22;) in Hebrew, and one can also say &#x22;lelo kaffeine&#x22;
(&#x22;&#x5DC;&#x5DC;&#x5D0; &#x5E7;&#x5E4;&#x5D0;&#x5D9;&#x5DF;&#x22; without Caffeine) or &#x22;She&#x27;eyn bo kaffeine&#x22; (&#x22;&#x5E9;&#x5D0;&#x5D9;&#x5DF; &#x5D1;&#x5D5; &#x5E7;&#x5E4;&#x5D0;&#x5D9;&#x5DF;&#x22; &#x22;which
doesn&#x27;t have Caffeine&#x22; more or else) in certain contexts.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
And I&#x27;d also like to stress the fact that &#x22;free&#x22; in English even in its more
&#x22;libre&#x22; meaning, can be used either for freedom-from-oppression or
freedom-from-responsibilities.  If you value liberalism, you should try to use
it only in the freedom-from-oppression sense.  &#x3C;/p&#x3E;

&#x3C;p&#x3E;
Happy Passover (a.k.a the Festival of Liberty in Hebrew) everyone! 
&#x3C;/p&#x3E;</description>
<comments>http://shlomif.livejournal.com/52098.html</comments>
<guid isPermaLink="true">http://shlomif.livejournal.com/52098.html</guid>
<pubDate>Mon, 21 Apr 2008 19:36:15 GMT</pubDate>
</item>
<item>
<title>Test-Run Tests Breakage on BSD Systems</title>
<link>http://use.perl.org/~Shlomi+Fish/journal/36196?from=rss</link>
<description>&#x3C;p&#x3E;
OK, as I expected &#x3C;a href=&#x22;http://use.perl.org/~Shlomi+Fish/journal/36050&#x22;&#x3E;my
previous entry&#x3C;/a&#x3E; sparked an active discussion - nothing like a good
licences war to liven things up. But it was more civil than I expected.
Here&#x27;s a much more technical entry.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
As I discovered, &#x3C;a href=&#x22;http://cpantesters.perl.org/show/Test-Run.html#Test-Run-0.0115&#x22;&#x3E;Test-Run-0.0115
consistently failed to pass &#x22;./Build test&#x22; on all BSD systems&#x3C;/a&#x3E;, while doing
mostly fine on Linux. Inspecting the logs of the failure
yielded a &#x22;File name too long&#x22; error. What happened was that I created a
filename that was artificially very long (&#x3C;tt&#x3E;../t/../t/../t/&#x3C;/tt&#x3E;), but still
well within the limits of my Linux system&#x27;s 4096 bytes limit for file paths.
However, as I discovered the POSIX standard defined a minimum of 256 bytes
for maximal paths which is what BSD is supporting.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
The reason I had this long path in the first place was to make sure long paths
are handled properly by the harness output after some customisations. This
in turn was inspired by a problem I found when using Test-Run at my workplace
for some internal test suite, which inspired me to write the
&#x3C;a href=&#x22;http://search.cpan.org/dist/Test-Run-Plugin-TrimDisplayedFilenames/&#x22;&#x3E;Trim-displayed-Filenames plugin&#x3C;/a&#x3E;.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
So after I received all these failure reports, I added some logic to
&#x3C;tt&#x3E;t/output.t&#x3C;/tt&#x3E; that makes use of POSIX::PATH_MAX() to keep the
path at bay. A bit convulted, but it now
&#x3C;a href=&#x22;http://cpantesters.perl.org/show/Test-Run.html#Test-Run-0.0116&#x22;&#x3E;passes
on BSD systems (as well as Linux and Solaris)&#x3C;/a&#x3E;, with a two isolated
failures on Linux, which I have not looked into yet. I&#x27;d like to thank apeiron
from Freenode for testing the pre-release in Mac OS X and verifying it
works there.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
In any case, I&#x27;m a bit tired of doing unknowledgable UNIX programming, and
therefore would like to read &#x3C;a href=&#x22;http://www.amazon.com/Programming-Environment-Addison-Wesley-Professional-Computing/dp/0201433079&#x22;&#x3E;the
2nd edition of Stevens&#x27; book&#x3C;/a&#x3E; (which is considered the Bible of UNIX
programming). The book is kinda costy, and big (960 pages), so I think I&#x27;ll
renew my &#x3C;a href=&#x22;http://safari.oreilly.com/&#x22;&#x3E;Safari subscription&#x3C;/a&#x3E; and
see if I can read it there effectively. If I can&#x27;t I&#x27;ll just use it for
something else, and order a paper-copy of the book.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
And finally, I wonder how a 256-octets path limit can ever be enough. In this
day and age of long filenames and UTF-8 ones (which require several bytes),
one can expect that a path with a few especially long components
will quickly overflow such a short limit. Can any BSD users comment?
&#x3C;/p&#x3E;</description>
</item>
<item>
<title>Boring Personal Update</title>
<link>http://shlomif.livejournal.com/51902.html</link>
<description>&#x3C;p&#x3E;
First of all happy &#x3C;a href=&#x22;http://en.wikipedia.org/wiki/Passover&#x22;&#x3E;Passover&#x3C;/a&#x3E;
everyone! This year I&#x27;m getting this Sunday off, but not the rest of week
(though some of my co-workers have taken a leave of absence). 
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
I&#x27;ve been a bit stressed lately, probably due to work issue, but I think I&#x27;m 
happier and more focused now, and feel better. I went to bike today and
took my usual To-Park-Hayarkon-and-Back route. It was not too hot and not
too cold, and I enjoyed my ride, although felt I kinda drifted away in my
thoughts, and didn&#x27;t pay a lot of attention to my surroundings.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
For a tech update: I&#x27;ve continuted to work on my homesite, on 
&#x3C;a href=&#x22;http://perl-begin.org/&#x22;&#x3E;Perl Begin&#x3C;/a&#x3E; and on other projects,
such as 
&#x3C;a href=&#x22;http://perlbuzz.com/2008/04/rethinking-the-interface-to-cpan.html&#x22;&#x3E;the
Rethinking-CPAN effort&#x3C;/a&#x3E;. I was also able to overcome some GNU Autohell
problems in Website Meta Language, in order to get some pending patches applied
there. This is a temporary solution until I finish working on the more robust
&#x3C;a href=&#x22;http://www.cmake.org/&#x22;&#x3E;CMake&#x3C;/a&#x3E;-based configuration system, which
would take a lot of time. I wasn&#x27;t able to upload the archive yet, due to 
connectivity problems and some Berlios.de bugs, but I hope to resolve them
soon enough.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
I have several ideas for essays or mini-essays I&#x27;d like to work on - mostly
technical. And I accumulated a backlog of 415 (now 387) entries
on my web feed aggregator. 
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
In any case, I hope you all are doing well. I have a few blog entries in the
queue, and if all goes well, I&#x27;ll post them soon. Bye!
&#x3C;/p&#x3E;</description>
<comments>http://shlomif.livejournal.com/51902.html</comments>
<guid isPermaLink="true">http://shlomif.livejournal.com/51902.html</guid>
<pubDate>Fri, 18 Apr 2008 19:21:30 GMT</pubDate>
</item>
<item>
<title>Handling Repetitive Questions Once and for All</title>
<link>http://community.livejournal.com/shlomif_tech/10032.html</link>
<description>&#x3C;p&#x3E;
Back when I worked on &#x3C;a href=&#x22;http://fc-solve.berlios.de/&#x22;&#x3E;Freecell
Solver&#x3C;/a&#x3E; , I used to prepare binary 
distributions of the command line solver. Now it acted as a filter, and when
invoked without arguments it just waited for standard input. As a result,
when the Windows users double-clicked the fc-solve.exe executable, it just
popped an empty console, which they couldn&#x27;t understand what to do. And
a lot of them sent me a &#x22;How do I use this&#x22; program email with the exact
description.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
Since I became annoyed of it, I decided to output the following to the 
&#x3C;a href=&#x22;http://en.wikipedia.org/wiki/Standard_streams#Standard_error_.28stderr.29&#x22;&#x3E;standard 
error&#x3C;/a&#x3E; by default:
&#x3C;/p&#x3E;

&#x3C;pre&#x3E;
Reading the board from the standard input.
Type &#x22;fc-solve --help&#x22; for more usage information.
To cancel this message set the FREECELL_SOLVER_QUIET environment variable.
&#x3C;/pre&#x3E;

&#x3C;p&#x3E;
After the poor Winnies read it, it probably made them decide the
program was not for them and to look for an alternative, but at least most
of the emails I received about it stopped.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
A year ago, Joel on Software published an article about having
&#x3C;a href=&#x22;http://www.joelonsoftware.com/articles/customerservice.html&#x22;&#x3E;remarkable
customer services&#x3C;/a&#x3E;, in which he said that one needs to fix everything two
ways: first by helping the user, and then by making sure other users don&#x27;t
encounter and complain about the problem again by tweaking the behaviour.
As one can see, what I did for Freecell Solver was essentially what Joel
advised to do. (Albeit much later than I incorporated the fix.).
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
More recently, I started the &#x3C;a href=&#x22;http://better-scm.berlios.de/&#x22;&#x3E;Better SCM
site&#x3C;/a&#x3E;, which compares and advocates several version control systems.
However, git has been absent due to the fact a suitable maintainer did not
come forward. And as a result, I received many emails asking &#x22;Where&#x27;s git?&#x22;.
A few days ago I decided to add &#x3C;a href=&#x22;http://better-scm.berlios.de/faq/&#x22;&#x3E;a
Frequently Asked Questions (F.A.Q.) to the site&#x3C;/a&#x3E; where I answered
this and other questions. However, today I received another email with &#x22;Git?&#x22;
in the subject about that. 
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
Another thing Joel had said is that 
&#x3C;a href=&#x22;http://www.joelonsoftware.com/uibook/chapters/fog0000000062.html&#x22;&#x3E;&#x22;People
Don&#x27;t Read&#x22;&#x3C;/a&#x3E; or at least read very selectively. So I added a 
&#x3C;a href=&#x22;http://better-scm.berlios.de/alternatives/git/&#x22;&#x3E;placeholder
page about git&#x3C;/a&#x3E; with explanation why it is absent and a call for help, and 
added it to 
&#x3C;a href=&#x22;http://better-scm.berlios.de/comparison/&#x22;&#x3E;the comparison&#x3C;/a&#x3E;
with the text &#x22;Unknown. Due to a lack of a maintainer for this system.&#x22;
with a link to the F.A.Q..
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
This should be enough to get rid of that particularly repetitive stream
of emails, and hopefully will also yield me a contributor to add a better
solution. Often designing web-sites and doing &#x22;customer service&#x22; (or feedback)
requires designing the site properly based on the feedback one gets.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
I didn&#x27;t particularly think of what Joel said when I decided to do what I did 
with the F.A.Q. and the placeholders, but now that I think of it, I guess
he was right.
&#x3C;/p&#x3E;</description>
<category>versiongittipjoelsoftwarecustomerfeedbackrevisionsupportscmbettercontrolspolskyquestions</category>
<comments>http://community.livejournal.com/shlomif_tech/10032.html</comments>
<guid isPermaLink="true">http://community.livejournal.com/shlomif_tech/10032.html</guid>
<pubDate>Tue, 08 Apr 2008 18:43:49 GMT</pubDate>
</item>
<item>
<title>Eclipse Tip: Debugging Using a Remote GDB Session (gdbserver)</title>
<link>http://community.livejournal.com/shlomif_tech/9932.html</link>
<description>&#x3C;p&#x3E;
In this tip, I&#x27;ll explain how to debug C/C++ programs in Eclipse using
&#x3C;a href=&#x22;http://sourceware.org/gdb/current/onlinedocs/gdb_18.html&#x22;&#x3E;a remote
GDB session (gdbserver)&#x3C;/a&#x3E;. To do this:
&#x3C;/p&#x3E;

&#x3C;ol&#x3E;

&#x3C;li&#x3E;
Install &#x3C;a href=&#x22;http://www.eclipse.org/cdt/&#x22;&#x3E;CDT - The Eclipse C/C++
Development Tooling&#x3C;/a&#x3E;. 
&#x3C;/li&#x3E;

&#x3C;li&#x3E;
Set up a C/C++ project so it will build and compile.
&#x3C;/li&#x3E;

&#x3C;li&#x3E;
Install gdb and gdbserver. The latter does not seem to be available in any
Mandriva package and had to be compiled from the gdb source, where it
is built by default. 
&#x3C;/li&#x3E;

&#x3C;li&#x3E;
Run gdbserver on the generated executable using a command like
&#x3C;tt&#x3E;gdbserver localhost:10900 ./my-exe&#x3C;/tt&#x3E;
&#x3C;/li&#x3E;

&#x3C;li&#x3E;
In Eclipse go to &#x3C;b&#x3E;Run &#x26;rarr; &#x22;Open Run Dialog...&#x22;&#x3C;/b&#x3E;, and go to the
upper debugger tab and select &#x3C;b&#x3E;gdbserver Debugger&#x3C;/b&#x3E; in the Debugger
drop-down. Afterwards, go to the &#x3C;b&#x3E;&#x22;Connection&#x22;&#x3C;/b&#x3E; tab under
&#x3C;b&#x3E;Debugger Options&#x3C;/b&#x3E; and configure your connection.  For my demonstration
I&#x27;ve chosen &#x22;Type: TCP&#x22; &#x22;Host: localhost&#x22; and &#x22;Port number: 10900&#x22;.
&#x3C;/li&#x3E;

&#x3C;li&#x3E;
Select the &#x3C;b&#x3E;Run &#x26;rarr; Debug&#x3C;/b&#x3E; in Eclipse option and start debugging
the application.
&#x3C;/li&#x3E;

&#x3C;/ol&#x3E;

&#x3C;p&#x3E;
The reason I needed it was that I wanted to use &#x22;remote&#x22; debugging so I can
debug a C++ program that must be ran as root, and would rather not run
Eclipse itself as root. I&#x27;m still not sure it can serve as a good debugger
front-end, but I became very annoyed with 
&#x3C;a href=&#x22;http://www.gnu.org/software/ddd/&#x22;&#x3E;ddd&#x3C;/a&#x3E; and plain gdb start
to seem to be inadequate on visualising the rest of the source code. So I
looked for an alternative and thought Eclipse might be OK.
&#x3C;/p&#x3E;</description>
<category>tipidedebuggerservergdbserverremotec/c++tcplinuxclienteclipsegdbdebugging</category>
<comments>http://community.livejournal.com/shlomif_tech/9932.html</comments>
<guid isPermaLink="true">http://community.livejournal.com/shlomif_tech/9932.html</guid>
<pubDate>Fri, 04 Apr 2008 08:19:23 GMT</pubDate>
</item>
<item>
<title>The Problem with the &#x22;Same Terms as Perl&#x22; Licensing</title>
<link>http://use.perl.org/~Shlomi+Fish/journal/36050?from=rss</link>
<description>&#x3C;p&#x3E;
This entry was adapted from
&#x3C;a href=&#x22;http://use.perl.org/~Aristotle/journal/36022&#x22;&#x3E;some
comments I wrote&#x3C;/a&#x3E; for a different, mostly orthogonal, journal post. I
hope it&#x27;s not too flamebait. If you have something to say, please try to
be civil and good-natured. Here goes nothing:
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
Most modules on CPAN carry a licensing blurb saying something like
&#x3C;a href=&#x22;http://search.cpan.org/search?query=%22same%20terms%20as%20perl%22&#x26;amp;mode=all&#x22;&#x3E;&#x22;you can distribute this software under
the same terms as Perl itself&#x22;&#x3C;/a&#x3E;. This obviously begs the question what
does it mean. Here is what it means for different Perl versions:
&#x3C;/p&#x3E;

&#x3C;ul&#x3E;

&#x3C;li&#x3E;
&#x3C;p&#x3E;
Early versions of perl, before it adopted the &#x3C;a href=&#x22;http://en.wikipedia.org/wiki/GNU_General_Public_License&#x22;&#x3E;GPL&#x3C;/a&#x3E; were under a very restrictive
loosely-defined licence.
&#x3C;/p&#x3E;
&#x3C;/li&#x3E;

&#x3C;li&#x3E;
&#x3C;p&#x3E;
After a while perl adopted the GPL exclusively.
&#x3C;/p&#x3E;
&#x3C;/li&#x3E;

&#x3C;li&#x3E;
&#x3C;p&#x3E;
Eventually, seeing that some people and companies had problems with the GPL,
Larry Wall phrased the so-called &#x3C;a href=&#x22;http://en.wikipedia.org/wiki/Artistic_License&#x22;&#x3E;&#x22;Artistic License&#x22;&#x3C;/a&#x3E;, which was supposed to be more permissive than
the GPL, but purposely phrased vaguley, and as such was found to be
&#x3C;a href=&#x22;http://www.fsf.org/licensing/licenses/index_html#ArtisticLicense&#x22;&#x3E;non-free&#x3C;/a&#x3E;
and ergo GPL-incompatible.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
In any case, the perl implementation was dual-licensed under the &#x22;Artistic
License&#x22; (version unspecified) and the GPL version 2 or any later version.
perl5 is still licensed under these terms.
&#x3C;/p&#x3E;
&#x3C;/li&#x3E;

&#x3C;li&#x3E;
&#x3C;p&#x3E;
For Parrot and for future work on Perl 6, the Artistic License 2.0 was created
based on the original Artistic License. This license has been approved as
a free software licence by the Free Software Foundation and found to be
compatible with the GPL version 2 or Later. Parrot now carries this licence.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
There&#x27;s also the Clarified Artistic License which is an earlier effort
to correct the original Artistic License and is the minimal set of
changes to make it FSF-free and GPL-compatible. I suppose that now the Artistic
License 2.0 would be preferable.
&#x3C;/p&#x3E;
&#x3C;/li&#x3E;
&#x3C;/ul&#x3E;

&#x3C;p&#x3E;
The problem is that perl up to and including perl-5.10.0 and bleadperl
(which were licensed under the GPL version 2
&#x3C;b&#x3E;or above&#x3C;/b&#x3E; but only the &#x22;Artistic License&#x22; not the &#x22;Artistic License
version 1.0 or above&#x22;. I&#x27;ve already noted that the Artistic License is
problematic, but the GPL has
&#x3C;a href=&#x22;http://en.wikipedia.org/wiki/GNU_General_Public_License#Criticism&#x22;&#x3E;its
own share of potential problems&#x3C;/a&#x3E; (see also
&#x3C;a href=&#x22;http://www.gnu.org/licenses/gpl-faq.html&#x22;&#x3E;its FAQ&#x3C;/a&#x3E;), and is
otherwise widely mis-understood, over-hyped (both positively and negatively)
and disputed. For example, unlike the Artistic License, it does not allow
(at least by linking or normal function calls) non-GPL-compatible code,
including all non-open-source code, to make use of it.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
Now, since both the &#x22;GPL version 2 or above&#x22; and the original
&#x22;Artistic License&#x22; are problematic, and the term &#x22;under the same terms as
Perl&#x22; may probably mean just that if it&#x27;s a perl5 module (although who knows
what it would means if someone would ever write a compatible Perl 5
implementation under a different software licence), then licensing a module
as such is probably no longer such a good idea. There are several alternatives:
&#x3C;/p&#x3E;

&#x3C;ol&#x3E;

&#x3C;li&#x3E;
Explicitly allow the Artistic License 2.0 (or possibly above) in the
licensing.
&#x3C;/li&#x3E;

&#x3C;li&#x3E;
License as Artistic 2.0 or above exclusively. Without the GPL as it is
generally no longer needed.
&#x3C;/li&#x3E;

&#x3C;li&#x3E;
Use a more permissive,
&#x3C;a href=&#x22;http://en.wikipedia.org/wiki/Copyleft&#x22;&#x3E;non-copyleft&#x3C;/a&#x3E; licence,
that allows re-licensing into different licences. The MIT X11 licence
explicitly allows &#x22;sub-licensing&#x22; by third-parties and as such is a good
choice. By doing that you are making the licence more permissive than the
GPL or the Artistic licences, so you have been warned.
&#x3C;/li&#x3E;
&#x3C;/ol&#x3E;

&#x3C;p&#x3E;
So my suggestion is that you use one of these licensing phrasings for your
future work, and to re-license your old CPAN or Perl work
(copyright ownership permitting) under such phrasings. It remains to be seen
what will happen with perl5 itself which has
&#x3C;a href=&#x22;http://search.cpan.org/src/RGARCIA/perl-5.10.0/AUTHORS&#x22;&#x3E;905 authors
as of perl-5.10.0&#x3C;/a&#x3E; many bringing in their own ownerships of the code.
The Linux kernel now faces a similar problem if it would wish to adopt
a different licence than the GPL version 2 (and no later version).
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
I suppose you can still make most use of perl5-like licensed code, in
your own open-source, proprietary or in-house code, without getting sued, so I
wouldn&#x27;t worry too much. But it would still be a good
idea to convert newer code (and code that can be easily converted) to
licensing terms that are less ambigious, more usable, and that would play
better with future versions of Perl.
&#x3C;/p&#x3E;


&#x3C;p&#x3E;
For the record, most of my Perl and non-Perl open-source code is either
Public Domain or MIT X11-licensed (which are both extremely permissive and
allow sub-licensing), or if it is derived from a different code, then
under the same licensing terms, but while disclaiming my explicit or implicit
ownership (to allow the originator to relicense future versions of the code).
The latter policy applies to my (relatively limited) contributions to perl5
where I am listed in the AUTHORS file.
&#x3C;/p&#x3E;</description>
</item>
<item>
<title>How to Best Process the Directory Components of a Path</title>
<link>http://use.perl.org/~Shlomi+Fish/journal/36049?from=rss</link>
<description>&#x3C;p&#x3E;
This is cross-posted here from &#x3C;a href=&#x22;http://perl.org.il/pipermail/perl/2008-April/009505.html&#x22;&#x3E;Israel.pm&#x3C;/a&#x3E; where I have yet to receive an answer.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
I&#x27;m trying to process the directory components of a path (as an array) so
that:
&#x3C;/p&#x3E;

&#x3C;ol&#x3E;
&#x3C;li&#x3E;
It will be portable. (Work on Unix, Windows, VMS, etc.)
&#x3C;/li&#x3E;
&#x3C;li&#x3E;
It will keep the rest of the path components (if any) identical.
&#x3C;/li&#x3E;
&#x3C;li&#x3E;
It will work on both relative and absolute paths.
&#x3C;/li&#x3E;
&#x3C;/ol&#x3E;

&#x3C;p&#x3E;
If the processing is to keep only the directories after &#x22;long-dir&#x22; then:
&#x3C;/p&#x3E; &#x3C;p&#x3E;&#x3C;blockquote&#x3E; &#x3C;div&#x3E;&#x3C;tt&#x3E;UNIX :&#x3C;nobr&#x3E; &#x3C;wbr&#x3E;&#x3C;/nobr&#x3E;/hello/there/long-dir/another/myfile.txt ==&#x26;gt; another/myfile.txt&#x3C;br&#x3E;DOS : C:\Hello\There\Long-Dir\Another\myfile.txt ==&#x26;gt; another\myfile.txt&#x3C;br&#x3E; &#x3C;br&#x3E;UNIX:&#x3C;nobr&#x3E; &#x3C;wbr&#x3E;&#x3C;/nobr&#x3E;./hi/long-dir/another/myfile.txt ==&#x26;gt; another/myfile.txt&#x3C;br&#x3E;DOS:&#x3C;nobr&#x3E; &#x3C;wbr&#x3E;&#x3C;/nobr&#x3E;.\hi\long-dir\another\myfile.txt ==&#x26;gt; another\myfile.txt&#x3C;/tt&#x3E;&#x3C;/div&#x3E; &#x3C;/blockquote&#x3E;  &#x3C;p&#x3E;
To do this I turned to File::Spec and File::Basename and wrote the following
code which seems insanely complicated. I marked the place where I do the
actual processing using a callback:
&#x3C;/p&#x3E; &#x3C;p&#x3E;&#x3C;blockquote&#x3E; &#x3C;div&#x3E;&#x3C;tt&#x3E;use File::Spec;&#x3C;br&#x3E;use File::Basename;&#x3C;br&#x3E; &#x3C;br&#x3E;sub _process_filename_dirs&#x3C;br&#x3E;{&#x3C;br&#x3E;&#x26;nbsp; &#x26;nbsp; my ($self, $fn, $callback) = @_;&#x3C;br&#x3E; &#x3C;br&#x3E;&#x26;nbsp; &#x26;nbsp; my $basename = basename($fn);&#x3C;br&#x3E;&#x26;nbsp; &#x26;nbsp; my $dirpath&#x26;nbsp; = dirname($fn);&#x3C;br&#x3E; &#x3C;br&#x3E;&#x26;nbsp; &#x26;nbsp; my ($volume, $directories, $filename) = File::Spec-&#x26;gt;splitpath($dirpath,&#x3C;br&#x3E;1);&#x3C;br&#x3E; &#x3C;br&#x3E;&#x26;nbsp; &#x26;nbsp; # The actual manipulation.&#x3C;br&#x3E;&#x26;nbsp; &#x26;nbsp; my $dirs = $callback-&#x26;gt;([File::Spec-&#x26;gt;splitdir($directories)]);&#x3C;br&#x3E; &#x3C;br&#x3E;&#x26;nbsp; &#x26;nbsp; my $final_dir =&#x3C;br&#x3E;&#x26;nbsp; &#x26;nbsp; &#x26;nbsp; &#x26;nbsp; File::Spec-&#x26;gt;catpath(&#x3C;br&#x3E;&#x26;nbsp; &#x26;nbsp; &#x26;nbsp; &#x26;nbsp; &#x26;nbsp; &#x26;nbsp; $volume, File::Spec-&#x26;gt;catdir(@$dirs), $filename&#x3C;br&#x3E;&#x26;nbsp; &#x26;nbsp; &#x26;nbsp; &#x26;nbsp; );&#x3C;br&#x3E; &#x3C;br&#x3E;&#x26;nbsp; &#x26;nbsp; if ($final_dir eq &#x22;&#x22;)&#x3C;br&#x3E;&#x26;nbsp; &#x26;nbsp; {&#x3C;br&#x3E;&#x26;nbsp; &#x26;nbsp; &#x26;nbsp; &#x26;nbsp; return $basename;&#x3C;br&#x3E;&#x26;nbsp; &#x26;nbsp; }&#x3C;br&#x3E;&#x26;nbsp; &#x26;nbsp; else&#x3C;br&#x3E;&#x26;nbsp; &#x26;nbsp; {&#x3C;br&#x3E;&#x26;nbsp; &#x26;nbsp; &#x26;nbsp; &#x26;nbsp; return File::Spec-&#x26;gt;catfile(&#x3C;br&#x3E;&#x26;nbsp; &#x26;nbsp; &#x26;nbsp; &#x26;nbsp; &#x26;nbsp; &#x26;nbsp; $final_dir, $basename&#x3C;br&#x3E;&#x26;nbsp; &#x26;nbsp; &#x26;nbsp; &#x26;nbsp; );&#x3C;br&#x3E;&#x26;nbsp; &#x26;nbsp; }&#x3C;br&#x3E;}&#x3C;/tt&#x3E;&#x3C;/div&#x3E; &#x3C;/blockquote&#x3E;  &#x3C;p&#x3E;
And so far I checked it works only on UNIXes (Linux in my case) and on
relative paths.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
So my questions are:
&#x3C;/p&#x3E;

&#x3C;ol&#x3E;
&#x3C;li&#x3E;
Is there a simpler way to do it?
&#x3C;/li&#x3E;

&#x3C;li&#x3E;
Do &#x3C;a href=&#x22;http://search.cpan.org/dist/Path-Class/&#x22;&#x3E;Path-Class&#x3C;/a&#x3E; or
&#x3C;a href=&#x22;http://search.cpan.org/dist/File-Fu/&#x22;&#x3E;File-Fu&#x3C;/a&#x3E; or a
different abstraction provide an easier way to do it?
&#x3C;/li&#x3E;

&#x3C;li&#x3E;
Is it still buggy?
&#x3C;/li&#x3E;
&#x3C;/ol&#x3E;

&#x3C;p&#x3E;
I should note that this hairiness is not limited to Perl. Common Lisp has a
built-in portable path-manipulation abstraction that&#x27;s also relatively
complicated. See
&#x3C;a href=&#x22;http://www.gigamonkeys.com/book/files-and-file-io.html&#x22;&#x3E;the
&#x22;File and File I/O Chapter&#x22;&#x3C;/a&#x3E; and the
&#x3C;a href=&#x22;http://www.gigamonkeys.com/book/practical-a-portable-pathname-library.html&#x22;&#x3E;a Portable Pathname library chapter&#x3C;/a&#x3E;
&#x3C;/p&#x3E;</description>
</item>
<item>
<title>Vim Tip: Windows Management Commands</title>
<link>http://community.livejournal.com/shlomif_tech/9648.html</link>
<description>&#x3C;p&#x3E;
&#x3C;a href=&#x22;http://vimdoc.sourceforge.net/htmldoc/windows.html#window&#x22;&#x3E;Windows&#x3C;/a&#x3E;
are one of Vim&#x27;s most convenient features, and learning some commands could
prove to be useful. Some of the commands are available from the &#x22;Window&#x22;
menu in gvim, or using the mouse, but using them from the keyboard is often
more convenient.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
To split a viewport in two, use &#x3C;tt&#x3E;Ctrl+W,S&#x3C;/tt&#x3E; for a horizontal split or
&#x3C;tt&#x3E;Ctrl+W,V&#x3C;/tt&#x3E; for a vertical split. To move between windows use 
&#x3C;tt&#x3E;Ctrl+W&#x3C;/tt&#x3E; followed by the arrow keys or &#x3C;tt&#x3E;h,j,k,l&#x3C;/tt&#x3E; (but see
&#x3C;a href=&#x22;http://community.livejournal.com/shlomif_tech/8278.html&#x22;&#x3E;this
previous tip&#x3C;/a&#x3E;). To close a viewport use &#x3C;tt&#x3E;Ctrl+W,C&#x3C;/tt&#x3E;.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
&#x3C;tt&#x3E;Ctrl+W,r&#x3C;/tt&#x3E; rotates the windows, and &#x3C;tt&#x3E;Ctrl+W, shift+R&#x3C;/tt&#x3E; rotates 
them in the opposite direction. Finally, &#x3C;tt&#x3E;Ctrl+W,+&#x3C;/tt&#x3E; and &#x3C;tt&#x3E;Ctrl+W,-&#x3C;/tt&#x3E;
increase and decrease the height of the viewport by one line (in case you are 
mouse-deprived). If that&#x27;s too little you can do something like 
&#x3C;tt&#x3E;10,Ctrl+W,+&#x3C;/tt&#x3E; to increase the height by 10 lines.
&#x3C;/p&#x3E;</description>
<category>windowtipmanagementwindowssplitssplitviewportsvimtips</category>
<comments>http://community.livejournal.com/shlomif_tech/9648.html</comments>
<guid isPermaLink="true">http://community.livejournal.com/shlomif_tech/9648.html</guid>
<pubDate>Mon, 31 Mar 2008 19:21:07 GMT</pubDate>
</item>
<item>
<title>A Guide to Israeli FOSS Resources and Other Improvements</title>
<link>http://community.livejournal.com/shlomif_hsite/7025.html</link>
<description>&#x3C;p&#x3E;
&#x3C;a href=&#x22;http://www.shlomifish.org/open-source/resources/israel/guide-to-israeli-foss-resources/&#x22;&#x3E;A guide to Israeli Free and Open Source Software Resources
    on the Internet&#x3C;/a&#x3E; was added to the site. Please let me know if you have
any additions to it.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
New &#x3C;a href=&#x22;http://www.shlomifish.org/humour/fortunes/&#x22;&#x3E;fortune 
    cookies&#x3C;/a&#x3E; have been added to the &#x22;shlomif&#x22;, &#x22;shlomif-fav&#x22; and
&#x22;joel-on-software&#x22; collections:
&#x3C;/p&#x3E;

&#x3C;blockquote&#x3E;
    &#x3C;p&#x3E;
        I have always wished that my computer would be as easy to use as my 
        telephone. My wish has come true - I no longer know how to use my 
        telephone.
    &#x3C;/p&#x3E;

    &#x3C;p&#x3E;Bjarne Stroustrup quoted in &#x3C;a href=&#x22;http://dangillmor.typepad.com/dan_gillmor_on_grassroots/2005/04/my_other_new_co.html&#x22;&#x3E;http://xrl.us/bgzi4&#x3C;/a&#x3E;&#x3C;/p&#x3E;
&#x3C;/blockquote&#x3E;

&#x3C;p&#x3E;
New affiliations have been added
&#x3C;a href=&#x22;http://www.shlomifish.org/me/contact-me/&#x22;&#x3E;to my contact page&#x3C;/a&#x3E;.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
The HTML markup of some of the pages was cleaned up, and several bandwidth 
optimisations were made, so it should load a little faster.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
New links were added to many pages.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
The breadcrumbs trails in several pages were fixed. 
&#x3C;/p&#x3E;</description>
<author>shlomif@iglu.org.il</author>
<category>open sourceisraelcookiesshlomifree softwarefishfortunefosslinkshomepage</category>
<comments>http://community.livejournal.com/shlomif_hsite/7025.html</comments>
<guid isPermaLink="true">http://community.livejournal.com/shlomif_hsite/7025.html</guid>
<pubDate>Sat, 29 Mar 2008 10:23:36 GMT</pubDate>
</item>
<item>
<title>Firefox Compatibility Rave: Pandas.co.il</title>
<link>http://community.livejournal.com/shlomif_tech/9300.html</link>
<description>&#x3C;p&#x3E;
Recently, I wanted to buy a USB Disk-on-a-key to replace my old 32 MB one.
I went to &#x3C;a href=&#x22;http://www.zap.co.il/&#x22;&#x3E;Zap&#x3C;/a&#x3E; and compared the prices.
The cheapest offer was from &#x3C;a href=&#x22;https://www.pandas.co.il/&#x22;&#x3E;the
Pandas.co.il shop&#x3C;/a&#x3E;, so I went to buy it there. The site appears to
be written in PHP and I was able to fully operate it using the KDE 
Konqueror browser, and to complete the buying. I assume the Firefox browser
will also work nicely there.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
The 8 GB disk-on-a-key arrived a few days ago, and it works great. So I&#x27;d like
to thank Pandas.co.il for making their site compatible with non-MSIE browsers,
and I&#x27;ll consider them for my future computer parts orders.
&#x3C;/p&#x3E;</description>
<category>pendriveisraelpandas.co.ilpandasmozillacompatibility32mbdisk-on-a-keybrowsersmsiefirefox rave8gbfirefoxalternativekonqueror</category>
<comments>http://community.livejournal.com/shlomif_tech/9300.html</comments>
<guid isPermaLink="true">http://community.livejournal.com/shlomif_tech/9300.html</guid>
<pubDate>Fri, 28 Mar 2008 15:23:10 GMT</pubDate>
</item>
<item>
<title>Daily Ride from Tel Aviv to the Ra&#x27;anana Industrial Zone</title>
<link>http://shlomif.livejournal.com/51466.html</link>
<description>&#x3C;p&#x3E;
Hi all. Is anyone who is reading this can give me a ride from Northern Tel Aviv
(the junction of Qeren Qayemeth Bvd. and Ayalon or Haifa Road would be 
fine), to the Ra&#x27;anana Industrial Zone on weekdays? Any pointers would be 
appreciated. Please contact me on &#x3C;a href=&#x22;mailto:shlomif@iglu.org.il&#x22;&#x3E;my
email&#x3C;/a&#x3E; or my cell (054-6232377) if you can help.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
Thanks in advance - Shlomi Fish.
&#x3C;/p&#x3E;</description>
<category>ridesrideworkhomeraananatel aviv</category>
<comments>http://shlomif.livejournal.com/51466.html</comments>
<guid isPermaLink="true">http://shlomif.livejournal.com/51466.html</guid>
<pubDate>Tue, 25 Mar 2008 21:54:30 GMT</pubDate>
</item>
</channel>
</rss>