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

<rss version="2.0"
 xmlns:blogChannel="http://backend.userland.com/blogChannelModule"
 xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#"
 xmlns:content="http://purl.org/rss/1.0/modules/content/"
 xmlns:atom="http://www.w3.org/2005/Atom"
 xmlns:dcterms="http://purl.org/dc/terms/"
>

<channel>
<title></title>
<link>http://www.shlomifish.org/me/blogs/</link>
<description></description>

<item>
<title>A Perl-based &#x2192;with(...) method</title>
<link>http://community.livejournal.com/shlomif_tech/46303.html</link>
<description>&#x3C;p&#x3E;
Lately, I&#x27;ve been writing some &#x3C;a href=&#x22;http://pdl.perl.org/&#x22;&#x3E;PDL (Perl Data
Language)&#x3C;/a&#x3E; code and noticed that I&#x27;ve been doing the following:
&#x3C;/p&#x3E;

&#x3C;pre&#x3E;
my $temp_pdl = $pdl-&#x26;gt;&#x2026;-&#x26;gt;final_expr();
my $result_pdl = $temp_pdl-&#x26;gt;where($temp_pdl &#x26;lt; 0);
&#x3C;/pre&#x3E;

&#x3C;p&#x3E;
I&#x27;ve been thinking if I could somehow write it like that:
&#x3C;/p&#x3E;

&#x3C;pre&#x3E;
my $result_pdl = $pdl-&#x26;gt;&#x2026;-&#x26;gt;final_expr()-&#x26;gt;with(sub { $_-&#x26;gt;where($_ &#x26;gt; 0)});
&#x3C;/pre&#x3E;

&#x3C;p&#x3E;
Which seems cleaner and more elegant. I went on IRC asking about it and someone
suggested 
&#x3C;tt&#x3E;rindolf: (sub { local $_ = shift; $_ * $_ * $_})-gt;( $obj-&#x26;gt;... );&#x3C;/tt&#x3E; 
(up to an episolon, but naturally this reverses the order and messes with
the flow of the code). Eventually 
&#x3C;a href=&#x22;http://www.shadowcat.co.uk/blog/matt-s-trout/&#x22;&#x3E;Matt S. 
Trout (mst)&#x3C;/a&#x3E; proposed the following solutions:
&#x3C;/p&#x3E;

&#x3C;pre&#x3E;
sub UNIVERSAL::with
{
    local $_ = shift;
    my $sub = shift;
    return $sub-&#x26;gt;($_,@_);
}

my $_with = sub {
    local $_ = shift;
    my $sub = shift;
    return $sub-&#x26;gt;($_,@_);
};

&#x3C;/pre&#x3E;

&#x3C;p&#x3E;
(I had figured something like that was possible previously, but I was beating
around the bush.)
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
The $_with approach is covered in &#x3C;a href=&#x22;http://www.shadowcat.co.uk/blog/matt-s-trout/madness-with-methods/&#x22;&#x3E;one of Matt&#x27;s blog posts titled &#x22;Madness with
Methods&#x22;&#x3C;/a&#x3E;.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
I wondered if it will work with 
&#x3C;a href=&#x22;http://search.cpan.org/dist/autobox/&#x22;&#x3E;autobox&#x3C;/a&#x3E; and mst said that
&#x3C;q&#x3E;I don&#x27;t know and I hope not since the UNIVERSAL approach is evil.&#x3C;/q&#x3E;. But
it does, out-of-the-box:
&#x3C;/p&#x3E;

&#x3C;pre&#x3E;
#!/usr/bin/perl

use strict;
use warnings;

use autobox;

sub UNIVERSAL::with
{
    local $_ = shift;
    my $sub = shift;
    return $sub-&#x26;gt;($_,@_);
}

my $_with = sub {
    local $_ = shift;
    my $sub = shift;
    return $sub-&#x26;gt;($_,@_);
};

print +(10+1)-&#x26;gt;with(sub { $_ * $_; }), &#x26;quot;\n&#x26;quot;;
print +(10+1)-&#x26;gt;$_with(sub { $_ * $_; }), &#x26;quot;\n&#x26;quot;;
&#x3C;/pre&#x3E;

&#x3C;p&#x3E;
This prints 121 twice.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
I now wonder what to do with this knowledge. I have some aspirations of
releasing it to the cpan as a mini-module. Still, it&#x27;s really cool.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
Finally, I should note that it seems like I&#x27;m going to lose my current
Planet Perl Iron Man karma due to inadequate blogging. Oh well.
&#x3C;/p&#x3E;</description>
<author>Shlomi Fish ( shlomif@iglu.org.il )</author>
<category>perl</category>
<category>fun</category>
<comments>http://community.livejournal.com/shlomif_tech/46303.html</comments>
<guid isPermaLink="true">http://community.livejournal.com/shlomif_tech/46303.html</guid>
<pubDate>Mon, 01 Mar 2010 17:22:55 GMT</pubDate>
</item>
<item>
<title>Purim Special: The Ultimate Conspiracy Theory Behind the Story of the Scroll of Esther</title>
<link>http://shlomif.livejournal.com/62243.html</link>
<description>&#x3C;p&#x3E;
It&#x27;s &#x3C;a href=&#x22;http://en.wikipedia.org/wiki/Purim&#x22;&#x3E;Purim&#x3C;/a&#x3E; today, and
here is my own conspiracy theory for the events detailed in 
&#x3C;a href=&#x22;http://en.wikipedia.org/wiki/Book_of_Esther&#x22;&#x3E;the Scroll of Esther&#x3C;/a&#x3E;
on which the holiday is based.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
In my conspiracy theory, Mordechai was very interested in the politics of the
Persian empire, and sought ways to influence it. He got in contact with Haman,
a close childhood friend of the King, and gave him a lot of advice for
how to run the empire, which Haman delivered to the king by proxy. The king
was so impressed by Haman&#x27;s good advice that he appointed him as prime
minister (or in Hebrew &#x22;second/vice to the king.&#x22;). Mordechai also had proposed
his cousin, Hadasah (afterwards renamed Esther) as the wife of the king as a 
way to further influence the king (or it is possible that Esther delivered 
Mordechai&#x27;s advice to Haman). 
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
However, Mordechai, Esther and Haman got tired of all the proxying and so
sought a way to make Mordechai second to the king instead of Haman. So they
staged the rest of what happened. Then, after the night the king could not 
sleep and requested that the royal records be read to him and then told Haman
that Mordechai should be honoured, was indicative that he also came to 
understand what was going on and agreed to play along.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
Meir Shalev in 
&#x3C;a href=&#x22;http://bookme.co.il/Books/Item_Details.aspx?Barcode=40-10976&#x22;&#x3E;&#x5EA;&#x5E0;&#x22;&#x5DA; 
&#x5E2;&#x5DB;&#x5E9;&#x5D9;&#x5D5; (= &#x22;the Bible Now&#x22; in Hebrew)&#x3C;/a&#x3E; presents Mordechai as the master mind
behind the scenes of the plot, but acknowledged that there are many remaining
co-incidences. On the other hand, I go a step further, and make Esther and
Haman his co-conspirators, and so get rid of most of the remaining
co-incidences there.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
Happy Purim, though it seems like it&#x27;s a particularly rainy one this year.
&#x3C;/p&#x3E;</description>
<author>Shlomi Fish ( shlomif@iglu.org.il )</author>
<category>bible</category>
<category>purim</category>
<comments>http://shlomif.livejournal.com/62243.html</comments>
<guid isPermaLink="true">http://shlomif.livejournal.com/62243.html</guid>
<pubDate>Sat, 27 Feb 2010 17:12:14 GMT</pubDate>
</item>
<item>
<title>Review: Alternative (to Firefox) Linux Web Browsers</title>
<link>http://community.livejournal.com/shlomif_tech/46078.html</link>
<description>&#x3C;p&#x3E;
Since I&#x27;ve been blogging about &#x3C;a href=&#x22;http://perl-begin.org/&#x22;&#x3E;Perl&#x3C;/a&#x3E;
a lot lately (trying to maintain and advance my
&#x3C;a href=&#x22;http://ironman.enlightenedperl.org/&#x22;&#x3E;Planet Perl Iron Man&#x3C;/a&#x3E;
status), I&#x27;ve been neglecting to blog about other things. So here&#x27;s a
new entry not about Perl, not even about programming - but about web-browsers.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
I&#x27;ve been using Firefox (now at version 3.6) as my primary browser on my
Mandriva Linux Cooker system for a while now, and have been mostly happy
with it. Today I wanted to edit 
&#x3C;a href=&#x22;http://en.wikibooks.org/wiki/How_to_Write_a_Program&#x22;&#x3E;this wikibook
titled &#x22;How to Write a Program&#x22;&#x3C;/a&#x3E;. It had been written awfully
(see &#x3C;a href=&#x22;http://en.wikibooks.org/wiki/Talk:How_to_Write_a_Program&#x22;&#x3E;the
discussion page&#x3C;/a&#x3E;), but I was introduced to it after it was made 
&#x3C;a href=&#x22;http://en.wikibooks.org/wiki/Optimizing_Code_for_Speed&#x22;&#x3E;a 
prerquisite of a different wikibook which I&#x27;ve written&#x3C;/a&#x3E;, and decided 
that the dependency should be kept (assuming &#x22;How to Write a Program&#x22; would be 
written better). Now, I could either throw away &#x22;How to Write a Program&#x22;
and start from scratch, or revamp it to submission. Right now, it seems like
it would be a combination of both.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
In any case, after editing it, I&#x27;ve ran into a long-term 
&#x3C;a href=&#x22;https://qa.mandriva.com/show_bug.cgi?id=57864&#x22;&#x3E;bug in Mandriva, or
in my Mandriva setup&#x3C;/a&#x3E; (which is exhibited in any Firefox that is running 
directly on it.), which I&#x27;ve finally reported there (though I believe I had
reported it in the Firefox bugzilla too) and so had been unable to use Firefox
for it.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
So I&#x27;ve been looking for an alternative browser. I ruled out 
&#x3C;a href=&#x22;http://en.wikipedia.org/wiki/Konqueror&#x22;&#x3E;Konqueror&#x3C;/a&#x3E; because
KHTML has been suffering from a lot of bug report, and Konqueror is just
plain annoying. (WebKit has been forked from KHTML, and it proved to be
more popular.). I initially ruled out 
&#x3C;a href=&#x22;http://www.opera.com/&#x22;&#x3E;Opera&#x3C;/a&#x3E; because it&#x27;s not open-source. So
that left me only with WebKit-based browsers. I asked for recommendations
and people on &#x3C;a href=&#x22;irc://irc.freenode.net/#ubnutu-uk&#x22;&#x3E;#ubuntu-uk (great 
channel, BTW)&#x3C;/a&#x3E; recommended &#x3C;a href=&#x22;http://en.wikipedia.org/wiki/Chromium_%28web_browser%29&#x22;&#x3E;Chromium&#x3C;/a&#x3E; and
&#x3C;a href=&#x22;http://en.wikipedia.org/wiki/Epiphany_%28web_browser%29&#x22;&#x3E;GNOME&#x27;s
Epiphany&#x3C;/a&#x3E;, and some other more obscure browsers. I&#x27;ve decided to check them
out.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
I decided to go with 
&#x3C;a href=&#x22;http://en.wikipedia.org/wiki/SRWare_Iron&#x22;&#x3E;SRWare Iron&#x3C;/a&#x3E; as
my Chromium browser. The first thing I noticed was that the Linux download
link led to a web forum post - very unprofessional. After downloading and
unpacking the archive, it refused to run -
&#x3C;tt&#x3E;/home/shlomi/apps/iron-linux/iron: error while loading shared libraries:
libbz2.so.1.0: cannot open shared object file: No such file or directory&#x3C;/tt&#x3E;.
A symbolic link to libbz2.so.1.0.0 (done by root) fixed that problem, and
then it crashed with an X error. However, it started the second time and seemed
to run fine (don&#x27;t know what the problem was). I noticed Chromium 
was indeed very fast, but then I ran into a few glitches:
&#x3C;/p&#x3E;

&#x3C;ul&#x3E;

&#x3C;li&#x3E;
No menu bar. WTF? All desktop applications, including web browsers had menu
bars for generations. And I&#x27;m used to invoke the File menu and select
&#x22;New Window&#x22; and &#x22;New Tab&#x22;. But Chromium does not have any menus, and it appears
to be by intentional design (but probably a crappy one).
&#x3C;/li&#x3E;

&#x3C;li&#x3E;
If this wasn&#x27;t enough, there was another more minor but still irritating
annoyance: after clicking on the URL bar and pressing double click, only
the current word is selected as opposed to the Firefox behaviour of selecting
the entire URL.
&#x3C;/li&#x3E;

&#x3C;/ul&#x3E;

&#x3C;p&#x3E;
So I decided to look at Epiphany. Slower than Chromium, but maybe it will
work. Or maybe it won&#x27;t. The first thing I noticed was that it looked 
ugly - very unaesthetic and several widgets in the main window were slightly 
out-of-place. Its URL bar also behaved unlike Firefox in the double click 
respect, which was also annoying.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
So what can I do? I eventually decided to use Opera for editing Wikimedia
wikis until the Firefox-influencing bug is resolved. It is fast, it has a 
menu bar, and double click in the URL bar selects the entire URL. Very nice.
It&#x27;s not open-source, so I&#x27;m trying not to get myself used to it, but seems
like I&#x27;ll need to use it.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
If you haven&#x27;t done so already, I suggest you read 
&#x3C;a href=&#x22;http://www.joelonsoftware.com/navLinks/fog0000000262.html&#x22;&#x3E;the 
&#x22;Joel on Software&#x22; &#x22;must-read&#x22; books recommendations page&#x3C;/a&#x3E;. I haven&#x27;t read
all the books there, but the page itself is also good. Quoting from it from 
our context:
&#x3C;/p&#x3E;

&#x3C;blockquote&#x3E;

&#x3C;p&#x3E;
A few months ago when we released CityDesk, I got an email from a customer
complaining that he was used to doing Alt+F, Alt+S to save files. Unfortunately
due to a tiny, unnoticed bug, that keyboard shortcut saved the file and then
closed it, irritatingly. I had never noticed because I&#x27;m in the habit of doing
Alt+F,S to save files, not Alt+F,Alt+S -- a tiny difference -- and Alt+F,S
worked fine.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
Once you get into the habit of doing Alt+F,Alt+S to save, it becomes so
automatic you don&#x27;t think of it as Alt+F,Alt+S. You think of it as save. And
when you push the &#x22;save&#x22; button in your brain and the file you were working on
goes away, it makes you feel like you&#x27;re not in control of your environment.
It&#x27;s a small thing, but about the fourth time that it happens, you&#x27;re going to
be seriously unhappy. That&#x27;s why I spent several hours tracking down this bug
and fixing it. In a bizarre application of Murphy&#x27;s Law, this fix led to a
cascade of events that caused us to waste something like a week, but that&#x27;s
neither here nor there. It was worth the time spent. This is what it means to
be concerned about usability. If you still think that something as small as how
long you hold down the Alt key when you activate a menu command doesn&#x27;t matter,
well, your software is going to make people unhappy. These tiny inconsistencies
are what makes Swing applications so unbearably annoying to use, and in my
opinion it&#x27;s why there are virtually no commercially successful Java GUI
applications.
&#x3C;/p&#x3E;
&#x3C;/blockquote&#x3E;

&#x3C;p&#x3E;
If I can&#x27;t go to &#x22;File &#x2192; New Tab&#x22; in the menubar to start a new tab then I&#x27;m
going to be unhappy. If I have to triple click the URL bar in order to select 
the entire URL, then I&#x27;m going to be unhappy. These tiny things are why I can&#x27;t
use either Chromium or Epiphany. (And frankly, a lack of a menubar is a huge
UI screw-up, not a tiny one).
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
At the moment, I&#x27;m just ranting, but I am planning on reporting these bugs
to the bug trackers of the appropriate projects. I just hope Google won&#x27;t
think the lack of menu-bar in Chromium is a feature. &#x22;Welcome to Google UIs&#x22;.
(Welcome to Google Hell&#x2026;).
&#x3C;/p&#x3E;</description>
<author>Shlomi Fish ( shlomif@iglu.org.il )</author>
<category>web browser</category>
<category>firefox</category>
<category>open source</category>
<comments>http://community.livejournal.com/shlomif_tech/46078.html</comments>
<guid isPermaLink="true">http://community.livejournal.com/shlomif_tech/46078.html</guid>
<pubDate>Thu, 25 Feb 2010 21:21:42 GMT</pubDate>
</item>
<item>
<title>Etymology of the Word &#x22;Cat&#x22;</title>
<link>http://shlomif.livejournal.com/61969.html</link>
<description>&#x3C;p&#x3E;
According to &#x3C;a href=&#x22;http://en.wiktionary.org/wiki/cat#Etymology_1&#x22;&#x3E;the 
Wiktionary entry of the English word &#x22;Cat&#x22;&#x3C;/a&#x3E; (for domestic felines, etc.)
it is originally derived from the Late Egyptian &#x22;&#x10D;aute&#x22;, feminine of 
&#x22;&#x10D;aus &#x27;jungle cat&#x22;. I guess the Hebrew word for Cat,
&#x3C;a href=&#x22;http://en.wiktionary.org/wiki/%D7%97%D7%AA%D7%95%D7%9C&#x22;&#x3E;&#x22;Chatul&#x22;&#x3C;/a&#x3E;
has a similar origin, and I never noticed the similarity between the two
words until I&#x27;ve read the etymology in the Wiktionary. There are similar
words in other European languages: 
&#x3C;a href=&#x22;http://en.wiktionary.org/wiki/chat#French&#x22;&#x3E;the French chat&#x3C;/a&#x3E;,
and &#x3C;a href=&#x22;http://en.wiktionary.org/wiki/Katze#German&#x22;&#x3E;the 
German &#x22;Katze&#x22;&#x3C;/a&#x3E;, and the Arabic word for Cat is 
&#x3C;a href=&#x22;http://en.wiktionary.org/wiki/%D9%82%D8%B7&#x22;&#x3E;Qitt&#x3C;/a&#x3E;.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
Make sure you avoid a 
&#x3C;a href=&#x22;http://www.shlomifish.org/humour/bits/Mastering-Cat/&#x22;&#x3E;useless use
of &#x22;cat&#x22;&#x3C;/a&#x3E;&#x2026;
&#x3C;/p&#x3E;</description>
<author>Shlomi Fish ( shlomif@iglu.org.il )</author>
<category>linguistics</category>
<category>cats</category>
<category>etymology</category>
<comments>http://shlomif.livejournal.com/61969.html</comments>
<guid isPermaLink="true">http://shlomif.livejournal.com/61969.html</guid>
<pubDate>Tue, 23 Feb 2010 14:59:33 GMT</pubDate>
</item>
<item>
<title>New Perl Quiz-of-the-Whatever: Short Freecell Solutions</title>
<link>http://community.livejournal.com/shlomif_tech/45610.html</link>
<description>&#x3C;p&#x3E;
I published a new
&#x3C;a href=&#x22;http://article.gmane.org/gmane.comp.lang.perl.qotw.discuss/2655&#x22;&#x3E;Perl 
Quiz-of-the-Whatever about finding short Freecell solutions&#x3C;/a&#x3E;. Hope you enjoy
thinking about it. Here is the &#x3C;a href=&#x22;http://perl.plover.com/qotw/&#x22;&#x3E;Perl
Quiz-of-the-Whatever (formerly &#x22;Quiz of the Week&#x22;) information.&#x3C;/a&#x3E;.
&#x3C;/p&#x3E;</description>
<author>Shlomi Fish ( shlomif@iglu.org.il )</author>
<category>perl</category>
<category>fc-solve</category>
<category>freecell</category>
<comments>http://community.livejournal.com/shlomif_tech/45610.html</comments>
<guid isPermaLink="true">http://community.livejournal.com/shlomif_tech/45610.html</guid>
<pubDate>Mon, 22 Feb 2010 21:57:30 GMT</pubDate>
</item>
<item>
<title>Solving gaal&#x27;s Circuit Riddle Using Perl</title>
<link>http://community.livejournal.com/shlomif_tech/45409.html</link>
<description>&#x3C;p&#x3E;
&#x3C;a href=&#x22;http://gaal.livejournal.com/234795.html&#x22;&#x3E;gaal (= Gaal Yahas)
mentions a riddle&#x3C;/a&#x3E; on his blog:
&#x3C;/p&#x3E;

&#x3C;blockquote&#x3E;
&#x3C;p&#x3E;
There&#x2019;s a box with three input signals: A, B, C. It has three output signals:
~A, ~B, ~C (that is, the negation of each input).
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
Design a circuit satisfying the above description. You have two NOT gates, and
as many AND and OR gates as you like.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
(If you solve this, don&#x2019;t tell me the answer &#x2014; I haven&#x2019;t solved it yet; I just
want to share the misery.)
&#x3C;/p&#x3E;
&#x3C;/blockquote&#x3E;

&#x3C;p&#x3E;
I decided that I will try to solve this riddle on my own
and then attempt to write a solution using a Perl 5 program, which I&#x27;ve
also thought about how to write. As it turned out, I ended up exploring
and eventually completely solving the riddle using a series of Perl programs.
I won&#x27;t mention the final solution here, but I&#x27;ll tell which programs
I wrote to solve them and how I wrote them. The code can be found in 
&#x3C;a href=&#x22;http://bitbucket.org/shlomif/riddle-not-a-not-b-not-c/src/&#x22;&#x3E;its
Mercurial repository&#x3C;/a&#x3E; under the MIT/X11 licence, as I mentioned
in &#x3C;a href=&#x22;http://gaal.livejournal.com/234795.html?thread=936235#t936235&#x22;&#x3E;a 
comment&#x3C;/a&#x3E; to gaal&#x27;s post.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
Well, first of all I decided to write a program that will take two negated
expressions of AND and OR gates and see if one can arrive to the final solution
using them and the given inputs (A, B and C). To do this I represented every
such possible expression as its components of (A + ~A) &#xD7; (B + ~B) &#xD7; (C + ~C) - 
8 in total which fit in an 8-bit datum, and which I indexed using an array
of 256 items to see which ones exist in the population. After doing the coding
I realised none of the expressions I tried worked.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
Then I decided to see if I there are any two possible expressions that when
added to A, B an C will yield all the necessary outputs. I ran it and indeed
found a single pair (and only a single pair) of such expressions (given as 
numbers) which I was able to analyse. I should note that the programs as 
I&#x27;ve written it using some functions and closures was too slow, so I ended
up writing another Perl script to preprocess the code, and inline the 
functions, which has made everything much faster. (You can find this 
preprocessor in the repository).
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
Then I wanted to see if I can indeed construct these expressions from A
, B, and C using two negations. When I had thought about this, I believed
I needed to maintain a collection of expressions&#x27; populations, and to 
keep how many negations were in each. But when I got to code it I thought
of a simpler way: marry all the inputs using AND and OR until no more can
be married, then go over the existing ones and negate each one in turn, then
add the negated vector to the population and marry it with all the rest, and
then do it again for all the existing inputs. Using this I was able to
find a single solution.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
Then I had to output the solution. For that, I wrote a recursive expression
dumper, which ended up outputting with many parentheses, so I had to post-
process it a bit.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
The solution I got to was very complicated and I believe it would have taken
me a long time to reach it without resorting to programming. But at least
it saved me a lot of time and head-scratching. 
&#x3C;/p&#x3E;</description>
<author>Shlomi Fish ( shlomif@iglu.org.il )</author>
<category>perl</category>
<category>fun</category>
<comments>http://community.livejournal.com/shlomif_tech/45409.html</comments>
<guid isPermaLink="true">http://community.livejournal.com/shlomif_tech/45409.html</guid>
<pubDate>Fri, 19 Feb 2010 13:28:13 GMT</pubDate>
</item>
<item>
<title>&#x22;Escape from GNU Autohell&#x22;, List of Editors and IDEs and Factoids&#x27; Fortunes Collection</title>
<link>http://community.livejournal.com/shlomif_hsite/14312.html</link>
<description>&#x3C;p&#x3E;
There&#x27;s 
&#x3C;a href=&#x22;http://www.shlomifish.org/humour.html#english-spelling&#x22;&#x3E;a new
    joke in the aphorisms&#x27; collection&#x3C;/a&#x3E;:
&#x3C;/p&#x3E;

&#x3C;blockquote&#x3E;
    &#x3C;p&#x3E;
    English spelling aims to be consistent. Publicly and methodically. 
    &#x3C;/p&#x3E;
&#x3C;/blockquote&#x3E;

&#x3C;p&#x3E;
I added
&#x3C;a href=&#x22;http://www.shlomifish.org/humour/fortunes/shlomif-factoids.html&#x22;&#x3E;a
    new fortune cookies&#x27; collection with factoids about Chuck Norris/etc.&#x3C;/a&#x3E;,
concentrating the ones from
&#x3C;a href=&#x22;http://www.shlomifish.org/humour/bits/facts/&#x22;&#x3E;the collections
of facts section&#x3C;/a&#x3E;. There are also some new fortune cookies there:
&#x3C;/p&#x3E;

&#x3C;blockquote&#x3E;
    &#x3C;ul&#x3E;
&#x3C;li&#x3E;&#x3C;b&#x3E;Shlomif:&#x3C;/b&#x3E;BTW, have you read my stories yet?&#x3C;/li&#x3E;
&#x3C;li&#x3E;&#x3C;b&#x3E;Sjors:&#x3C;/b&#x3E;I haven&#x27;t&#x3C;/li&#x3E;
&#x3C;li&#x3E;&#x3C;b&#x3E;Shlomif:&#x3C;/b&#x3E;Ah.&#x3C;/li&#x3E;
&#x3C;li&#x3E;&#x3C;b&#x3E;Shlomif:&#x3C;/b&#x3E;&#x22;If you read my stories, I&#x27;ll give you 1,000,000 virtual dollars.&#x22;&#x3C;/li&#x3E;
&#x3C;li&#x3E;&#x3C;b&#x3E;Sjors:&#x3C;/b&#x3E;Causing me to have a lot of extra virtual time!&#x3C;/li&#x3E;
&#x3C;li&#x3E;&#x3C;b&#x3E;Shlomif:&#x3C;/b&#x3E;And be virtually rich.&#x3C;/li&#x3E;
&#x3C;li&#x3E;&#x3C;b&#x3E;Shlomif:&#x3C;/b&#x3E;And then you can virtually bribe virtual politicians.&#x3C;/li&#x3E;
&#x3C;li&#x3E;&#x3C;b&#x3E;Shlomif:&#x3C;/b&#x3E;And buy a lot of virtual goods.&#x3C;/li&#x3E;
&#x3C;li&#x3E;&#x3C;b&#x3E;Shlomif:&#x3C;/b&#x3E;LOL.&#x3C;/li&#x3E;
&#x3C;li&#x3E;&#x3C;b&#x3E;Sjors:&#x3C;/b&#x3E;Then, I&#x27;d be virtually happy&#x3C;/li&#x3E;
&#x3C;li&#x3E;&#x3C;b&#x3E;Sjors:&#x3C;/b&#x3E;Too bad... :P&#x3C;/li&#x3E;
&#x3C;li&#x3E;&#x3C;b&#x3E;Shlomif:&#x3C;/b&#x3E;It&#x27;s a virtual win-win situation.&#x3C;/li&#x3E;
&#x3C;li&#x3E;&#x3C;b&#x3E;Shlomif:&#x3C;/b&#x3E;You can hire many virtual programmers to write a lot of virtual code for KMess.&#x3C;/li&#x3E;
&#x3C;li&#x3E;&#x3C;b&#x3E;Shlomif:&#x3C;/b&#x3E;&#x22;My old virtual dad used to say to me: &#x27;virtual money does not bring you virtual happiness, my virtual son.&#x27;&#x22;&#x3C;/li&#x3E;
&#x3C;/ul&#x3E;
&#x3C;/blockquote&#x3E;

&#x3C;p&#x3E;
There&#x27;s 
&#x3C;a href=&#x22;http://www.shlomifish.org/open-source/resources/editors-and-IDEs/&#x22;&#x3E;a
    new page with a list of text editors and IDEs&#x3C;/a&#x3E;. I also added
&#x3C;a href=&#x22;http://www.shlomifish.org/open-source/anti/autohell/&#x22;&#x3E;a page
    titled &#x22;Escape from GNU Autohell!&#x22;&#x3C;/a&#x3E; explaining why the GNU Autotools
suck so much and why you should switch to CMake or a different 
better alternative.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
I added 
&#x3C;a href=&#x22;http://www.shlomifish.org/open-source/bits-and-bobs/greasemonkey/grease.html#self-links-for-headers&#x22;&#x3E;a
    new Greasemonkey script&#x3C;/a&#x3E; for providing self-links for headers with
an &#x3C;tt&#x3E;id=&#x3C;/tt&#x3E; attribute.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
&#x3C;a href=&#x22;http://www.shlomifish.org/lecture/Freecell-Solver/project-intro/&#x22;&#x3E;The
    Freecell Solver project intro&#x3C;/a&#x3E; now contains
&#x3C;a href=&#x22;http://www.shlomifish.org/lecture/Freecell-Solver/project-intro/Summary.txt&#x22;&#x3E;a
    summary&#x3C;/a&#x3E;.
&#x3C;/p&#x3E;</description>
<author>Shlomi Fish ( shlomif@iglu.org.il )</author>
<category>facts</category>
<category>autotools</category>
<category>www</category>
<category>site</category>
<category>humour</category>
<category>fish</category>
<category>autohell</category>
<category>norris</category>
<category>web</category>
<category>homepage</category>
<category>jokes</category>
<category>chuck</category>
<category>shlomi</category>
<category>ides</category>
<category>cmake</category>
<category>factoids</category>
<category>text</category>
<category>editors</category>
<comments>http://community.livejournal.com/shlomif_hsite/14312.html</comments>
<guid isPermaLink="true">http://community.livejournal.com/shlomif_hsite/14312.html</guid>
<pubDate>Thu, 18 Feb 2010 15:40:22 GMT</pubDate>
</item>
<item>
<title>Article Recommendation: &#x22;What Every CSer Should Know about Floating-Point Arithmetic&#x22;</title>
<link>http://community.livejournal.com/shlomif_tech/45104.html</link>
<description>&#x3C;p&#x3E;
I&#x27;ve read the paper 
&#x3C;a href=&#x22;http://docs.sun.com/source/806-3568/ncg_goldberg.html&#x22;&#x3E;&#x22;What 
Every Computer Scientist Should Know About Floating-Point Arithmetic&#x22;&#x3C;/a&#x3E; and
can recommend it as it has many interesting insights. I had received quite a
lot of reports for bugs in 
&#x3C;a href=&#x22;http://search.cpan.org/dist/Statistics-Descriptive/&#x22;&#x3E;the
&#x22;Statistics-Descriptive&#x22; CPAN distribution&#x3C;/a&#x3E; that were caused by expected
floating-point behaviour. Some of them I was able to resolve using some
trickery, and some others possibly can be somewhat mitigated using the insights
I&#x27;ve learnt in the article.
&#x3C;/p&#x3E;</description>
<author>Shlomi Fish ( shlomif@iglu.org.il )</author>
<category>perl</category>
<category>recommendation</category>
<category>article</category>
<comments>http://community.livejournal.com/shlomif_tech/45104.html</comments>
<guid isPermaLink="true">http://community.livejournal.com/shlomif_tech/45104.html</guid>
<pubDate>Thu, 11 Feb 2010 05:24:18 GMT</pubDate>
</item>
<item>
<title>NYTProf-3 is Out!</title>
<link>http://community.livejournal.com/shlomif_tech/44836.html</link>
<description>&#x3C;p&#x3E;
&#x3C;a href=&#x22;http://blog.timbunce.org/2009/12/24/nytprof-v3-worth-the-wait/&#x22;&#x3E;Tim
Bunce writes on his blog about the new features in 
Devel-NYTProf version 3&#x3C;/a&#x3E;. Devel-NYTProf is a profiler for the 
&#x3C;a href=&#x22;http://perl-begin.org/&#x22;&#x3E;Perl programming language&#x3C;/a&#x3E;, which has
put all the previous attempts in profiling in the dust, and now it&#x27;s even 
better than before. Enjoy! (Thanks to 
&#x3C;a href=&#x22;http://mail.pm.org/pipermail/sanfrancisco-pm/2010-February/002704.html&#x22;&#x3E;Fred 
Moyer&#x27;s post&#x3C;/a&#x3E; on the San-Fransisco Perl Mongers mailing list).
&#x3C;/p&#x3E;</description>
<author>Shlomi Fish ( shlomif@iglu.org.il )</author>
<category>3</category>
<category>version</category>
<category>perl</category>
<category>profiler</category>
<category>release</category>
<category>nytprof</category>
<comments>http://community.livejournal.com/shlomif_tech/44836.html</comments>
<guid isPermaLink="true">http://community.livejournal.com/shlomif_tech/44836.html</guid>
<pubDate>Fri, 05 Feb 2010 16:31:51 GMT</pubDate>
</item>
<item>
<title>New Page about Text Editors and IDEs for Programmers</title>
<link>http://community.livejournal.com/shlomif_tech/44605.html</link>
<description>&#x3C;p&#x3E;
After answering the questions &#x22;Can anyone recommend a good text editor?&#x22; and 
&#x22;What is a good IDE?&#x22; a few times in the past, I set up 
&#x3C;a href=&#x22;http://www.shlomifish.org/open-source/resources/editors-and-IDEs/&#x22;&#x3E;a
page listing some prominent text editors and Integrated Development
Environments (IDEs)&#x3C;/a&#x3E; for development on my homepage. Currently it includes
only cross-platform open-source text editors and cross-platform open-source
IDEs, but I&#x27;m planning to expand it as time and interest permits. Additions
would be welcome.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
&#x3C;a href=&#x22;http://www.vim.org/&#x22;&#x3E;Vim&#x3C;/a&#x3E; is there and so are XEmacs and
&#x3C;a href=&#x22;http://www.eclipse.org/&#x22;&#x3E;Eclipse&#x3C;/a&#x3E;, and also
&#x3C;a href=&#x22;http://padre.perlide.org/&#x22;&#x3E;Padre, the Perl IDE&#x3C;/a&#x3E; and more 
specialised IDEs such as &#x3C;a href=&#x22;http://eric-ide.python-projects.org/&#x22;&#x3E;the
&#x22;Eric&#x22; Python IDE&#x3C;/a&#x3E;.
&#x3C;/p&#x3E;</description>
<author>Shlomi Fish ( shlomif@iglu.org.il )</author>
<comments>http://community.livejournal.com/shlomif_tech/44605.html</comments>
<guid isPermaLink="true">http://community.livejournal.com/shlomif_tech/44605.html</guid>
<pubDate>Tue, 02 Feb 2010 19:59:14 GMT</pubDate>
</item>
<item>
<title>&#x5E4;&#x5D2;&#x5D9;&#x5E9;&#x5EA; &#x5E7;&#x5D5;&#x5D3; &#x5E4;&#x5EA;&#x5D5;&#x5D7; &#x5D1;&#x5EA;&#x5DC;-&#x5D0;&#x5D1;&#x5D9;&#x5D1;: 14 &#x5D1;&#x5E4;&#x5D1;&#x5E8;&#x5D5;&#x5D0;&#x5E8; - vtiger CRM</title>
<link>http://community.livejournal.com/shlomif_tech/44385.html</link>
<description>&#x3C;div dir=&#x22;rtl&#x22; align=&#x22;right&#x22;&#x3E;

&#x3C;p&#x3E;
&#x3C;a href=&#x22;http://tel.foss.org.il/&#x22;&#x3E;&#x5DE;&#x5D5;&#x5E2;&#x5D3;&#x5D5;&#x5DF; &#x5D4;&#x5E7;&#x5D5;&#x5D3; &#x5D4;&#x5E4;&#x5EA;&#x5D5;&#x5D7; &#x5D4;&#x5EA;&#x5DC;-&#x5D0;&#x5D1;&#x5D9;&#x5D1;&#x5D9; (&#x5EA;&#x5DC;&#x5D5;&#x5E7;&#x5E1;)&#x3C;/a&#x3E;
&#x5D9;&#x5D9;&#x5E4;&#x5D2;&#x5E9; &#x5E9;&#x5D5;&#x5D1; &#x5DB;&#x5D3;&#x5D9; &#x5DC;&#x5E9;&#x5DE;&#x5D5;&#x5E2; &#x5D0;&#x5EA;
&#x3C;a href=&#x22;http://wiki.osdc.org.il/index.php/Tel_Aviv_Meeting_on_14_February_2010&#x22;&#x3E;&#x5D4;&#x5E8;&#x5E6;&#x5D0;&#x5EA;&#x5D5; &#x5E9;&#x5DC; 
&#x5E8;&#x5DE;&#x5D9; &#x5D4;&#x5D3;&#x5D3;&#x5D9; &#x5D0;&#x5D5;&#x5D3;&#x5D5;&#x5EA; &#x22;&#x5DE;&#x5E2;&#x5E8;&#x5DB;&#x5EA; &#x5E0;&#x5D9;&#x5D4;&#x5D5;&#x5DC; &#x5E7;&#x5E9;&#x5E8;&#x5D9; &#x5D4;&#x5DC;&#x5E7;&#x5D5;&#x5D7;&#x5D5;&#x5EA;
vtigerCRM&#x3C;/a&#x3E;. 
&#x5D4;&#x5D4;&#x5E8;&#x5E6;&#x5D0;&#x5D4; &#x5EA;&#x5EA;&#x5E7;&#x5D9;&#x5D9;&#x5DD; &#x5D1;&#x5D9;&#x5D5;&#x5DD; &#x5E8;&#x5D0;&#x5E9;&#x5D5;&#x5DF;, 14 &#x5D1;&#x5E4;&#x5D1;&#x5E8;&#x5D5;&#x5D0;&#x5E8; 2010, &#x5D1;&#x5E9;&#x5E2;&#x5D4; 18:00, &#x5D1;&#x5D0;&#x5D5;&#x5DC;&#x5DD; &#x5D4;&#x5D5;&#x5DC;&#x5E6;&#x5D1;&#x5DC;&#x5D8;, &#x5DE;&#x5E1;&#x27; 007 &#x5D1;&#x5DE;&#x5E1;&#x5D3;&#x5E8;&#x5D5;&#x5DF; &#x5D4;&#x5D1;&#x5E0;&#x5D9;&#x5D9;&#x5E0;&#x5D9;&#x5DD; &#x5DC;&#x5DE;&#x5D3;&#x5E2;&#x5D9;&#x5DD; &#x5DE;&#x5D3;&#x5D5;&#x5D9;&#x5E7;&#x5D9;&#x5DD; (&#x5E9;&#x5D9;&#x5DE;&#x5D5; &#x5DC;&#x5D1; &#x5DC;&#x5E9;&#x5D9;&#x5E0;&#x5D5;&#x5D9; &#x5D1;&#x5E9;&#x5E2;&#x5D4; &#x5D5;&#x5D1;&#x5DE;&#x5D9;&#x5E7;&#x5D5;&#x5DD; &#x5DE;&#x5E9;&#x5E0;&#x5D4; &#x5E9;&#x5E2;&#x5D1;&#x5E8;&#x5D4;) &#x5D1;&#x5D0;&#x5D5;&#x5E0;&#x5D9;&#x5D1;&#x5E8;&#x5E1;&#x5D9;&#x5D8;&#x5EA; &#x5EA;&#x5DC; &#x5D0;&#x5D1;&#x5D9;&#x5D1;. &#x5E4;&#x5E8;&#x5D8;&#x5D9;&#x5DD; &#x5E0;&#x5D5;&#x5E1;&#x5E4;&#x5D9;&#x5DD;, &#x5DE;&#x5E4;&#x5D5;&#x5EA; &#x5DC;&#x5D4;&#x5D2;&#x5E2;&#x5D4; &#x5D5;&#x5DB;&#x5D9;&#x5D5;&#x5E6;&#x5D0; &#x5D1;&#x5D6;&#x5D4;, &#x5E0;&#x5D9;&#x5EA;&#x5DF; &#x5DC;&#x5DE;&#x5E6;&#x5D5;&#x5D0; 
&#x3C;a href=&#x22;http://tel.foss.org.il/&#x22;&#x3E;&#x5D1;&#x5D0;&#x5EA;&#x5E8;&#x3C;/a&#x3E;
&#x3C;a href=&#x22;http://wiki.osdc.org.il/index.php/Tel_Aviv_Meeting_on_14_February_2010&#x22;&#x3E;&#x5D5;&#x5D1;&#x5D5;&#x5D5;&#x5D9;&#x5E7;&#x5D9;&#x3C;/a&#x3E;.
&#x5D4;&#x5E0;&#x5D5;&#x5DB;&#x5D7;&#x5D5;&#x5EA; &#x5D1;&#x5D4;&#x5E8;&#x5E6;&#x5D0;&#x5D4; &#x5D4;&#x5D9;&#x5D0; &#x5D7;&#x5D9;&#x5E0;&#x5DE;&#x5D9;&#x5EA; &#x5D5;&#x5DC;&#x5D0; &#x5E0;&#x5D3;&#x5E8;&#x5E9;&#x5EA; &#x5D4;&#x5E8;&#x5E9;&#x5DE;&#x5D4; &#x5DE;&#x5E8;&#x5D0;&#x5E9;.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
&#x3C;a href=&#x22;http://www.vtiger.com/&#x22;&#x3E;vtiger CRM&#x3C;/a&#x3E;
&#x5D4;&#x5D9;&#x5D0; &#x5DE;&#x5E2;&#x5E8;&#x5DB;&#x5EA; &#x5E0;&#x5D9;&#x5D4;&#x5D5;&#x5DC; &#x5E7;&#x5E9;&#x5E8;&#x5D9; &#x5DC;&#x5E7;&#x5D5;&#x5D7;&#x5D5;&#x5EA; &#x5D0;&#x5E9;&#x5E8; &#x5E4;&#x5D5;&#x5E2;&#x5DC;&#x5EA; &#x5D1;&#x5DE;&#x5DE;&#x5E9;&#x5E7; Web &#x5D3;&#x5E8;&#x5DA; &#x5D4;&#x5D3;&#x5E4;&#x5D3;&#x5E4;&#x5DF;.
&#x5D4;&#x5DE;&#x5E2;&#x5E8;&#x5DB;&#x5EA; &#x5DE;&#x5DB;&#x5D9;&#x5DC;&#x5D4; &#x5D0;&#x5EA; &#x5DB;&#x5DC; &#x5D4;&#x5DB;&#x5DC;&#x5D9;&#x5DD; &#x5D4;&#x5E0;&#x5D3;&#x5E8;&#x5E9;&#x5D9;&#x5DD; &#x5DC;&#x5E0;&#x5D9;&#x5D4;&#x5D5;&#x5DC; &#x5DE;&#x5DC;&#x5D0; &#x5D5;&#x5DE;&#x5E7;&#x5D9;&#x5E3; &#x5E9;&#x5DC; &#x5E2;&#x5E1;&#x5E7;: &#x5D4;&#x5D7;&#x5DC; &#x5DE;&#x5E2;&#x5E1;&#x5E7; &#x5E7;&#x5D8;&#x5DF; 
&#x5E9;&#x5DC; &#x5D0;&#x5D3;&#x5DD; &#x5D0;&#x5D7;&#x5D3; &#x5D5;&#x5DB;&#x5DC;&#x5D4; &#x5D1;&#x5E2;&#x5E9;&#x5E8;&#x5D5;&#x5EA; &#x5E2;&#x5D5;&#x5D1;&#x5D3;&#x5D9;&#x5DD;. &#x5D1;&#x5DE;&#x5E2;&#x5E8;&#x5DB;&#x5EA; &#x5E0;&#x5D9;&#x5EA;&#x5DF; &#x5DC;&#x5DE;&#x5E6;&#x5D5;&#x5D0; &#x5D1;&#x5D9;&#x5D8;&#x5D5;&#x5D9; &#x5DC;&#x5DC;&#x5E7;&#x5D5;&#x5D7;&#x5D5;&#x5EA;, &#x5D9;&#x5D5;&#x5DE;&#x5E0;&#x5D9;&#x5DD;, 
&#x5D4;&#x5D6;&#x5D3;&#x5DE;&#x5E0;&#x5D5;&#x5D9;&#x5D5;&#x5EA; &#x5E2;&#x5E1;&#x5E7;&#x5D9;&#x5D5;&#x5EA;, &#x5DE;&#x5DB;&#x5D9;&#x5E8;&#x5D5;&#x5EA;, &#x5E9;&#x5D9;&#x5E8;&#x5D5;&#x5EA; &#x5D5;&#x5E2;&#x5D5;&#x5D3;. &#x5D4;&#x5DE;&#x5E2;&#x5E8;&#x5DB;&#x5EA; &#x5DE;&#x5D1;&#x5D5;&#x5E1;&#x5E1;&#x5EA; &#x5E2;&#x5DC; &#x5E7;&#x5D5;&#x5D3;-&#x5E4;&#x5EA;&#x5D5;&#x5D7; &#x5D5;&#x5E0;&#x5D9;&#x5EA;&#x5DF; 
&#x5D2;&#x5DD; &#x5DC;&#x5D1;&#x5E6;&#x5E2; &#x5D1;&#x5D4; &#x5D4;&#x5EA;&#x5D0;&#x5DE;&#x5D5;&#x5EA; &#x5D1;&#x5E7;&#x5DC;&#x5D5;&#x5EA; &#x5E8;&#x5D1;&#x5D4;. &#x5D4;&#x5DE;&#x5E2;&#x5E8;&#x5DB;&#x5EA; &#x5EA;&#x5D5;&#x5E8;&#x5D2;&#x5DE;&#x5D4; &#x5DC;&#x5E9;&#x5E4;&#x5D5;&#x5EA; &#x5E8;&#x5D1;&#x5D5;&#x5EA; &#x5D5;&#x5D1;&#x5DB;&#x5DC;&#x5DC;&#x5DF; &#x5E2;&#x5D1;&#x5E8;&#x5D9;&#x5EA;.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
&#x5E8;&#x5DE;&#x5D9; &#x5D4;&#x5D3;&#x5D3;&#x5D9; &#x5D4;&#x5D9;&#x5E0;&#x5D5; &#x5DE;&#x5E0;&#x5DB;&#x22;&#x5DC; &#x5D0;&#x5E7;&#x5D8;&#x5D9;&#x5D1;&#x5D8;&#x5E7; &#x5D0;&#x5E9;&#x5E8; &#x5DE;&#x5EA;&#x5DE;&#x5D7;&#x5D4; &#x5D1;&#x5D9;&#x5E2;&#x5D5;&#x5E5;, &#x5E4;&#x5D9;&#x5EA;&#x5D5;&#x5D7; &#x5D5;&#x5D0;&#x5D9;&#x5E8;&#x5D5;&#x5D7; &#x5E9;&#x5DC; vtiger CRM.
&#x3C;/p&#x3E;

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

&#x3C;/div&#x3E;</description>
<author>Shlomi Fish ( shlomif@iglu.org.il )</author>
<comments>http://community.livejournal.com/shlomif_tech/44385.html</comments>
<guid isPermaLink="true">http://community.livejournal.com/shlomif_tech/44385.html</guid>
<pubDate>Tue, 02 Feb 2010 18:47:42 GMT</pubDate>
</item>
<item>
<title>Escape from GNU Autohell!</title>
<link>http://community.livejournal.com/shlomif_tech/44103.html</link>
<description>&#x3C;p&#x3E;
I&#x27;ve set up &#x3C;a href=&#x22;http://www.shlomifish.org/open-source/anti/autohell/&#x22;&#x3E;a 
page on my web-site titled &#x22;Escape from GNU Autohell!&#x22;&#x3C;/a&#x3E; about the evils
of the GNU Autotools (GNU Autoconf/Automake/Libtool and other GNU 
auto-brain-damages) and why you should convert to a good alternative such as 
&#x3C;a href=&#x22;http://www.cmake.org/&#x22;&#x3E;CMake&#x3C;/a&#x3E;. The page contains a list of
the many disadvantages of the GNU Autotools, some refutation of common
arguments against CMake, and some links.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
And lo and behold, some time after writing the page I spent hours dealing
with yet another Autohell problem:
&#x3C;a href=&#x22;https://qa.mandriva.com/show_bug.cgi?id=57319&#x22;&#x3E;&#x22;Mandriva&#x27;s
libtool causes &#x22;make install&#x22; of xine-lib-1.1-hg to fail&#x22;&#x3C;/a&#x3E;. I actually
had to build the Mandriva libtool several times to find the offending
downstream patch, and libtool&#x27;s &#x22;./bootstrap&#x22; script was so slow that
I could finish running &#x22;make&#x22; and &#x22;make install&#x22; in xine-lib while waiting
for it to finish. And it says a lot because xine uses GNU Autohell
which slows down the build process considerably. Eventually, I found the
offending patch after several hours, and I wouldn&#x27;t have finished on time if I 
didn&#x27;t cancel the &#x22;make check&#x22; test in the .rpm.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
Autohell must die!
&#x3C;/p&#x3E;</description>
<author>Shlomi Fish ( shlomif@iglu.org.il )</author>
<category>rants</category>
<category>cmake</category>
<category>build</category>
<category>autohell</category>
<category>gnu</category>
<category>escape</category>
<category>rant</category>
<category>make</category>
<category>autotools</category>
<comments>http://community.livejournal.com/shlomif_tech/44103.html</comments>
<guid isPermaLink="true">http://community.livejournal.com/shlomif_tech/44103.html</guid>
<pubDate>Sun, 31 Jan 2010 12:45:57 GMT</pubDate>
</item>
<item>
<title>Project Euler Problem #10 in Haskell, Perl and C</title>
<link>http://community.livejournal.com/shlomif_tech/44006.html</link>
<description>&#x3C;p&#x3E;
zerothorder told 
&#x3C;a href=&#x22;http://zerothorder.blogspot.com/2009/11/after-drinking-functional-immutable-and.html&#x22;&#x3E;how 
he found a solution for Project Euler&#x27;s Problem 10 in Haskell&#x3C;/a&#x3E;. The 
problem is &#x22;Find the sum of all primes less than 2,000,000&#x22;. It is given
here below:
&#x3C;/p&#x3E;

&#x3C;pre&#x3E;
primes :: [Integer]
primes = 2 : filter isPrime [3, 5 ..]
    where
        -- only check divisibility of the numbers less than the square root of n
        isPrime n = all (not . divides n) $ takeWhile (\p -&#x26;gt; p*p &#x26;lt;= n) primes
        divides n p = n `mod` p == 0
 
result = sum $ takeWhile (&#x26;lt; 2000000) primes
 
main = do putStrLn( show result )
&#x3C;/pre&#x3E;

&#x3C;p&#x3E;
He says &#x22;If this doesn&#x27;t give you a nerdgasm, I don&#x27;t know what will.&#x22;. The
problem is that this nerdgasm will last a long time. Benchmarking this
program gives that 20 iterations of it run at 310 seconds - less
than - about 15 seconds each (on my Pentium 4 2.4GHz machine running
Mandriva Linux Cooker). So next I tried a better Haskell
implmenetation that I recalled from a thread I started in the Haskell Caf&#xE9;
mailing list about implementing
&#x3C;a href=&#x22;http://en.wikipedia.org/wiki/Sieve_of_Eratosthenes&#x22;&#x3E;a sieve of
Eratosthenes in Haskell&#x3C;/a&#x3E;:
&#x3C;/p&#x3E;

&#x3C;pre&#x3E;
import Data.Int

primes :: Int64 -&#x26;gt; [Int64]

primes how_much = sieve [2..how_much] where
         sieve (p:x) = 
             p : (if p &#x26;lt;= mybound
                 then sieve (remove (p*p) x)
                 else x) where
             remove what (a:as) | what &#x26;gt; how_much = (a:as)
                                | a &#x26;lt; what = a:(remove what as)
                                | a == what = (remove (what+step) as)
                                | a &#x26;gt; what = a:(remove (what+step) as)
             remove what [] = []
             step = (if (p == 2) then p else (2*p)) 
         sieve [] = []
         mybound = ceiling(sqrt(fromIntegral how_much))

--main = print (length (primes 1000000))
main = print (sum (primes 2000000))
&#x3C;/pre&#x3E;

&#x3C;p&#x3E;
This does not involve costly operations such as modulo or division
and 20 iterations of it run at 135 wallclocks seconds - over two times faster
than zeroth&#x27;s Haskell version.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
Now how about Perl? Since Perl has assignment, we have the advantage that
we can create a vector of bits that we will mark with the primes by iterating
over all numbers up to the root of the limit. Here is the code:
&#x3C;/p&#x3E;

&#x3C;pre&#x3E;
#!/usr/bin/perl

use strict;
use warnings;

use Math::BigInt lib =&#x26;gt; &#x26;#39;GMP&#x26;#39;;

my $limit = 2_000_000;

my $primes_bitmask = &#x26;quot;&#x26;quot;;

my $loop_to = int(sqrt($limit));
my $sum = 0;
my $total_sum = Math::BigInt-&#x26;gt;new(&#x26;#39;0&#x26;#39;);

for my $p (2 .. $loop_to)
{
    if (vec($primes_bitmask, $p, 1) == 0)
    {
        $sum += $p;

        my $i = $p * $p;

        while ($i &#x26;lt; $limit)
        {
            vec($primes_bitmask, $i, 1) = 1;
        }
        continue
        {
            $i += $p;
        }

    }
}

for my $p ($loop_to .. $limit)
{
    if (vec($primes_bitmask, $p, 1) == 0)
    {
        if (($sum += $p) &#x26;gt; (1 &#x26;lt;&#x26;lt; 30))
        {
            $total_sum += $sum;
            $sum = 0;
        }
    }
}

$total_sum += $sum;
print &#x26;quot;$total_sum\n&#x26;quot;;
&#x3C;/pre&#x3E;

&#x3C;p&#x3E;
20 runs of it run at 95 walclock seconds - even faster than the Haskell
version. But it gets better. Since all the primes we encounter greater than
2 are not even, we can create a map of their pseduo-halves and conserve on
memory and iterations. This is the Perl version:
&#x3C;/p&#x3E;

&#x3C;pre&#x3E;
#!/usr/bin/perl

use strict;
use warnings;

use Math::BigInt lib =&#x26;gt; &#x26;#39;GMP&#x26;#39;;

my $limit = 2_000_000;

my $primes_bitmask = &#x26;quot;&#x26;quot;;

my $loop_to = (int(sqrt($limit)))&#x26;gt;&#x26;gt;1;
my $half_limit = ($limit-1)&#x26;gt;&#x26;gt;1;

my $sum = 0+2;
my $total_sum = Math::BigInt-&#x26;gt;new(&#x26;#39;0&#x26;#39;);

for my $half (1 .. $loop_to)
{
    if (vec($primes_bitmask, $half, 1) == 0)
    {
        my $p = (($half&#x26;lt;&#x26;lt;1)+1);
        $sum += $p;

        my $i = ($p * $p)&#x26;gt;&#x26;gt;1;

        while ($i &#x26;lt; $limit)
        {
            vec($primes_bitmask, $i, 1) = 1;
        }
        continue
        {
            $i += $p;
        }

    }
}


for my $half ($loop_to .. $half_limit)
{
    if (vec($primes_bitmask, $half, 1) == 0)
    {
        if (($sum += (($half&#x26;lt;&#x26;lt;1)+1)) &#x26;gt; (1 &#x26;lt;&#x26;lt; 30))
        {
            $total_sum += $sum;
            $sum = 0;
        }
    }
}

$total_sum += $sum;
print &#x26;quot;$total_sum\n&#x26;quot;;
&#x3C;/pre&#x3E;

&#x3C;p&#x3E;
Running this 20 times takes 73 wallclock seconds, close to half that of my
Haskell version.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
Then I wondered how long C will take. Here is a C implementation without
the halving:
&#x3C;/p&#x3E;

&#x3C;pre&#x3E;
#include &#x26;lt;string.h&#x26;gt;
#include &#x26;lt;math.h&#x26;gt;
#include &#x26;lt;stdint.h&#x26;gt;
#include &#x26;lt;stdio.h&#x26;gt;

#define limit 2000000
int8_t bitmask[(limit+1)/8];

int main(int argc, char * argv[])
{
    int p, i;
    int mark_limit;
    long long sum = 0;

    memset(bitmask, &#x26;#39;\0&#x26;#39;, sizeof(bitmask));
    mark_limit = (int)sqrt(limit);
    
    for (p=2 ; p &#x26;lt;= mark_limit ; p++)
    {
        if (! ( bitmask[p&#x26;gt;&#x26;gt;3]&#x26;amp;(1 &#x26;lt;&#x26;lt; (p&#x26;amp;(8-1))) ) )
        {
            /* It is a prime. */
            sum += p;
            for (i=p*p;i&#x26;lt;=limit;i+=p)
            {
                bitmask[i&#x26;gt;&#x26;gt;3] |= (1 &#x26;lt;&#x26;lt; (i&#x26;amp;(8-1)));
            }
        }
    }
    for (; p &#x26;lt;= limit; p++)
    {
        if (! ( bitmask[p&#x26;gt;&#x26;gt;3]&#x26;amp;(1 &#x26;lt;&#x26;lt; (p&#x26;amp;(8-1))) ) )
        {
            sum += p;
        }
    }

    printf(&#x26;quot;%lli\n&#x26;quot;, sum);

    return 0;
}
&#x3C;/pre&#x3E;

&#x3C;p&#x3E;
This was too fast to measure with 20 runs alone, so 500 runs of it took 15
seconds, two or three orders of magnitude faster than the fastest Haskell
or Perl versions. But naturally, we can apply the halving paradigm there too:
&#x3C;/p&#x3E;

&#x3C;pre&#x3E;
#include &#x26;lt;string.h&#x26;gt;
#include &#x26;lt;math.h&#x26;gt;
#include &#x26;lt;stdint.h&#x26;gt;
#include &#x26;lt;stdio.h&#x26;gt;

#define limit 2000000
int8_t bitmask[(limit+1)/8/2];

int main(int argc, char * argv[])
{
    int half, p, i;
    int half_limit;
    int loop_to;
    long long sum = 0 + 2;

    memset(bitmask, &#x26;#39;\0&#x26;#39;, sizeof(bitmask));

    loop_to=(((int)(sqrt(limit)))&#x26;gt;&#x26;gt;1);
    half_limit = (limit-1)&#x26;gt;&#x26;gt;1;
    
    for (half=1 ; half &#x26;lt;= loop_to ; half++)
    {
        if (! ( bitmask[half&#x26;gt;&#x26;gt;3]&#x26;amp;(1 &#x26;lt;&#x26;lt; (half&#x26;amp;(8-1))) ) )
        {
            /* It is a prime. */
            p = (half &#x26;lt;&#x26;lt; 1)+1;
            sum += p;
            for (i = ((p*p)&#x26;gt;&#x26;gt;1) ; i &#x26;lt; half_limit ; i+=p )
            {
                bitmask[i&#x26;gt;&#x26;gt;3] |= (1 &#x26;lt;&#x26;lt; (i&#x26;amp;(8-1)));
            }
        }
    }

    for( ; half &#x26;lt; half_limit ; half++)
    {
        if (! ( bitmask[half&#x26;gt;&#x26;gt;3]&#x26;amp;(1 &#x26;lt;&#x26;lt; (half&#x26;amp;(8-1))) ) )
        {
            sum += (half&#x26;lt;&#x26;lt;1)+1;
        }
    }

    printf(&#x26;quot;%lli\n&#x26;quot;, sum);

    return 0;
}
&#x3C;/pre&#x3E;

&#x3C;p&#x3E;
500 runs of it take 10 wallclock seconds - 54.35 times per second,
and 50% better than the previous C version. And I still haven&#x27;t applied
platform-specific gcc optimisations. 
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
I should also note that the executables generated by ghc are extremely
large in comparison to their C ones:
&#x3C;/p&#x3E;

&#x3C;pre&#x3E;
$ ls -l c_* haskell_*
-rwxr-xr-x 1 shlomi shlomi   6082 2009-12-04 07:46 c_mine
-rwxr-xr-x 1 shlomi shlomi   6103 2009-12-04 07:46 c_mine_half
-rwxr-xr-x 1 shlomi shlomi   6092 2009-12-04 07:46 c_mine_micro_opt
-rwxr-xr-x 1 shlomi shlomi 796825 2009-12-04 07:56 haskell_mine
-rwxr-xr-x 1 shlomi shlomi 571717 2009-12-04 07:46 haskell_zeroth
&#x3C;/pre&#x3E;

&#x3C;p&#x3E;
&#x3C;tt&#x3E;c_mine_half&#x3C;/tt&#x3E; is less than 1% the size of &#x3C;tt&#x3E;haskell_mine&#x3C;/tt&#x3E; (and
runs faster). When talking about this to other people, they said that Haskell
has a very optimised primes sequence generator, which I can try using (which
should be over 3 times as fast), and that it has two kinds of integers, which
the other type is faster, and that it has a better way to emulate assignment.
But the bottom line is that the na&#xEF;ve and intuitive way to write such
programs in Haskell is under-performant, even in comparison to Perl, and 100
or 1,000 times as much in comparison to C.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
I&#x27;ve written this as a separate post and not as a comment to the original
blog post because I&#x27;m very limited with the markup in the commenting there
(I&#x27;m going to post a comment there with a link to this blog post, though). 
I should note that you can find all the code I mentioned inside 
&#x3C;a href=&#x22;http://github.com/shlomif/Project-Euler-Problem-10-Comparison&#x22;&#x3E;a
dedicated Github repository&#x3C;/a&#x3E;, and you can experiment with it further.
&#x3C;/p&#x3E;</description>
<author>Shlomi Fish ( shlomif@iglu.org.il )</author>
<category>problem</category>
<category>summary</category>
<category>primes</category>
<category>project</category>
<category>optimize</category>
<category>optimise</category>
<category>optimization</category>
<category>c</category>
<category>haskell</category>
<category>perl</category>
<category>10</category>
<category>speed</category>
<category>optimisation</category>
<category>euler</category>
<comments>http://community.livejournal.com/shlomif_tech/44006.html</comments>
<guid isPermaLink="true">http://community.livejournal.com/shlomif_tech/44006.html</guid>
<pubDate>Sat, 30 Jan 2010 12:50:07 GMT</pubDate>
</item>
<item>
<title>Freecell Solver 2.40.0 was Released</title>
<link>http://fc-solve.blogspot.com/2010/01/freecell-solver-2400-was-released.html</link>
<description>&#x3C;p&#x3E;
&#x3C;a href=&#x22;http://fc-solve.berlios.de/&#x22;&#x3E;Freecell Solver&#x3C;/a&#x3E; version 2.40.0
has been released. It is available in the form of a source tarball from 
&#x3C;a href=&#x22;http://fc-solve.berlios.de/download.html&#x22;&#x3E;the
    download page&#x3C;/a&#x3E;.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
This release contains a fix to a string overflow with processing the command 
line arguments, and an optimised command-line preset that can be invoked
as &#x3C;tt&#x3E;-l blue-yonder&#x3C;/tt&#x3E; (or &#x3C;tt&#x3E;-l by&#x3C;/tt&#x3E; for short) that solves the
Microsoft 32,000 deals in under 100 seconds on a Pentium 4 2.4GHz machine.
It also contains some more minor changes: there is now a &#x3C;tt&#x3E;Scan:&#x3C;/tt&#x3E; header 
with the name of the current soft thread, when debugging under 
&#x3C;tt&#x3E;-s -i&#x3C;/tt&#x3E;, an off-by-1 iterations count was fixed and the iteration
handling callback is now applied globally to all the instances. Finally,
&#x3C;tt&#x3E;make_pysol_freecell_board.py&#x3C;/tt&#x3E; has support for generating PySol&#x27;s
and PySolFC&#x27;s 
&#x3C;a href=&#x22;http://en.wikipedia.org/wiki/Black_Hole_%28solitaire%29&#x22;&#x3E;&#x22;Black Hole&#x22;
    Solitaire&#x3C;/a&#x3E; deals, intended for my newly released
&#x3C;a href=&#x22;http://www.shlomifish.org/open-source/projects/black-hole-solitaire-solver/&#x22;&#x3E;Black Hole Solitaire Solver&#x3C;/a&#x3E;.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
Enjoy!
&#x3C;/p&#x3E;&#x3C;div class=&#x22;blogger-post-footer&#x22;&#x3E;&#x3C;img width=&#x27;1&#x27; height=&#x27;1&#x27; src=&#x27;https://blogger.googleusercontent.com/tracker/96099636168698788-8433576534342073452?l=fc-solve.blogspot.com&#x27; alt=&#x27;&#x27; /&#x3E;&#x3C;/div&#x3E;</description>
<author>Shlomi Fish ( shlomif@iglu.org.il )</author>
<category>speed</category>
<category>release</category>
<category>optimization</category>
<category>security</category>
<category>minor</category>
<category>solving</category>
<category>pysolfc</category>
<category>overflow</category>
<category>version</category>
<category>freecell</category>
<category>2.40.0</category>
<category>pysol</category>
<category>buffer</category>
<category>solver</category>
<category>asciidoc</category>
<guid isPermaLink="false">tag:blogger.com,1999:blog-96099636168698788.post-8433576534342073452</guid>
<pubDate>Wed, 27 Jan 2010 20:33:00 +0000</pubDate>
<atom:updated>2010-01-27T12:34:13.248-08:00</atom:updated>
</item>
<item>
<title>XML-Grammar-Fortune version 0.0200 Was Released</title>
<link>http://community.livejournal.com/shlomif_tech/43620.html</link>
<description>&#x3C;p&#x3E;
I recently released version 0.0200 of the Perl 5 CPAN Module
&#x3C;a href=&#x22;http://web-cpan.berlios.de/modules/XML-Grammar-Fortune/&#x22;&#x3E;XML-Grammar-Fortune&#x3C;/a&#x3E;.
XML-Grammar-Fortune is a module to maintain a collection of Unix-like
fortune cookies as XML and convert them to XHTML and plain-text.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
New in this release are a heavily fixed and enhanced code for rendering the XML
to plaintext and a more enhanced META.yml file. XML-Grammar-Fortune was
successfully utilised for
&#x3C;a href=&#x22;http://www.shlomifish.org/humour/fortunes/&#x22;&#x3E;my collection of Fortune
Cookies&#x3C;/a&#x3E;.
&#x3C;/p&#x3E;</description>
<author>Shlomi Fish ( shlomif@iglu.org.il )</author>
<category>release</category>
<category>unix</category>
<category>text</category>
<category>fortune</category>
<category>grammar</category>
<category>hacktivity</category>
<category>xml-grammar-fortune</category>
<category>perl</category>
<category>xml</category>
<category>fortunes</category>
<category>cpan</category>
<comments>http://community.livejournal.com/shlomif_tech/43620.html</comments>
<guid isPermaLink="true">http://community.livejournal.com/shlomif_tech/43620.html</guid>
<pubDate>Mon, 25 Jan 2010 15:49:53 GMT</pubDate>
</item>
<item>
<title>The CPAN Dependencies of Website Meta Language</title>
<link>http://community.livejournal.com/shlomif_tech/43345.html</link>
<description>&#x3C;p&#x3E;
In the past few days I resumed work on converting
the &#x3C;a href=&#x22;http://thewml.org/&#x22;&#x3E;Website Meta Language&#x3C;/a&#x3E; (WML) build-system
from the GNU Autotools (also known as &#x22;GNU Autohell&#x22;) to 
&#x3C;a href=&#x22;http://www.cmake.org/&#x22;&#x3E;CMake&#x3C;/a&#x3E;. This involved implementing a lot
of the existing makefile and autoconf logic in CMake and Perl. 
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
Yesterday, I converted the &#x22;wml_common&#x22; sub-directory which turned out to
contain some ancient versions of CPAN distributions with a forced-upon way
to install under the WML prefix. I decided to forego installing all of them
and just check for their existence in the perl version that wml uses using 
some WML and &#x22;perl -MMyModule&#x22; code. 
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
I was able to find all the needed modules in the Mandriva repository, except
one - 
&#x3C;a href=&#x22;http://search.cpan.org/dist/File-PathConvert/&#x22;&#x3E;File-PathConvert&#x3C;/a&#x3E;
, which I&#x27;ve never heard about.
I checked it on CPAN, and saw that it was deprecated and superseded by
File::Spec and Cwd. So I grepped the tree for its use and found it was used
only in one Perl program which I quickly converted to File::Spec and Cwd.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
Now, the future build system of Website Meta Language will be simpler
and it won&#x27;t use deprecated modules.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
Oh! And 
&#x3C;a href=&#x22;http://blog.mozilla.com/blog/2010/01/21/firefox-3-6-release/&#x22;&#x3E;Firefox
3.6 (Gamma) is out&#x3C;/a&#x3E;! I&#x27;ve been using the betas and RCs on Mandriva Cooker
for some time now, and now I&#x27;ve upgraded to the stable version and it&#x27;s
still great.
&#x3C;/p&#x3E;</description>
<author>Shlomi Fish ( shlomif@iglu.org.il )</author>
<category>eumm</category>
<category>wml</category>
<category>language</category>
<category>cmake</category>
<category>perl</category>
<category>firefox</category>
<category>gnu</category>
<category>autohell</category>
<category>website</category>
<category>meta</category>
<category>cpan</category>
<comments>http://community.livejournal.com/shlomif_tech/43345.html</comments>
<guid isPermaLink="true">http://community.livejournal.com/shlomif_tech/43345.html</guid>
<pubDate>Fri, 22 Jan 2010 19:22:40 GMT</pubDate>
</item>
<item>
<title>Perl: Using Vim&#x27;s snipMate for Perl 5 snippets</title>
<link>http://community.livejournal.com/shlomif_tech/43262.html</link>
<description>&#x3C;p&#x3E;
I noticed that there was some Perl 5 code that I had to type or copy-and-paste
again and again on many occasions. So I decided to find a way to put it in
one place and then recall it. I thought of writing it myself, but then recalled
the &#x3C;a href=&#x22;http://www.vim.org/scripts/script.php?script_id=2540&#x22;&#x3E;snipMate
snippets extension for Vim&#x3C;/a&#x3E; (which 
&#x3C;a href=&#x22;http://www.catonmat.net/blog/vim-plugins-snipmate-vim/&#x22;&#x3E;Peteris
Krumins covered in a blog post&#x3C;/a&#x3E;), which allows that. After a little reading,
I was able to prepare the snippets.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
I placed the following under &#x3C;tt&#x3E;~/.vim/snippets/perl/_slurp.snippet&#x3C;/tt&#x3E; :
&#x3C;/p&#x3E;

&#x3C;pre&#x3E;
sub _slurp
{
	my $filename = shift;

	open my $in, &#x22;&#x26;lt;&#x22;, $filename
		or die &#x22;Cannot open &#x27;$filename&#x27; for slurping - $!&#x22;;

	local $/;
	my $contents = &#x26;lt;$in&#x26;gt;;

	close($in);

	return $contents;
}
&#x3C;/pre&#x3E;

&#x3C;p&#x3E;
And now I can type &#x22;_slurp&#x26;lt;TAB&#x26;gt;&#x22; to recall it. The existing &#x22;slurp&#x22;
snippet in &#x3C;tt&#x3E;~/.vim/snippets/perl.snippets&#x3C;/tt&#x3E; is quite evil, with an
ugly inline line, typeglobs, and a two args open without a die statement. 
Thanks, but no thanks.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
Afterwards I added the following in 
&#x3C;tt&#x3E;~/.vim/snippets/perl/_ltestb.snippet&#x3C;/tt&#x3E;
&#x3C;/p&#x3E;

&#x3C;pre&#x3E;
	local $Test::Builder::Level = $Test::Builder::Level + 1;
&#x3C;/pre&#x3E;

&#x3C;p&#x3E;
And now I can type &#x22;_ltestb&#x22; (short for &#x22;local Test::Builder&#x22;) and put this 
line there to create my own custom Test::More/Test::Builder tests.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
Thus, using snipMate, you can create your own short-hands for commonly-used
snippets like that.
&#x3C;/p&#x3E;</description>
<author>Shlomi Fish ( shlomif@iglu.org.il )</author>
<category>test</category>
<category>tip</category>
<category>local</category>
<category>slurp</category>
<category>perl</category>
<category>snipmate</category>
<category>vim tip</category>
<category>builder</category>
<category>snippets</category>
<category>vim</category>
<comments>http://community.livejournal.com/shlomif_tech/43262.html</comments>
<guid isPermaLink="true">http://community.livejournal.com/shlomif_tech/43262.html</guid>
<pubDate>Thu, 21 Jan 2010 16:26:13 GMT</pubDate>
</item>
<item>
<title>Report on the TelFOSS &#x22;Moose for Beginners&#x22; Meeting</title>
<link>http://community.livejournal.com/shlomif_tech/42895.html</link>
<description>&#x3C;p&#x3E;
Last Sunday, &#x3C;a href=&#x22;http://tel.foss.org.il/&#x22;&#x3E;Tel Aviv Open Source club
(TelFOSS)&#x3C;/a&#x3E; met to listen to Sawyer&#x27;s presentation about &#x22;Moose for
Beginners&#x22;. Despite the fact that the meeting was well-publicised, very
few people came. Sawyer did not prepare a lot of slides and since there were
not many questions he finished quickly. After all that, he went to demonstrate
how to implement several use cases that the audience has proposed as Moose
programs, and despite that we still finished early.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
I asked about implementing an &#x22;XML parser&#x22;, but in fact I wanted to implement
a processor for a certain XML grammar. In any case, he misunderstood and told
me to use Parse-RecDescent for that. I&#x27;ve grown to dislike P-RD for most stuff
though.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
In any case, I&#x27;m getting tired of the low attendance in TelFOSS meetings. We
do so much work in organising and publicising the meetings, and most people
don&#x27;t bother to come. Are the people too busy? Did they run out of steam? Why
don&#x27;t they come? This makes me frustrating and unwilling to further organise
the TelFOSS meetings.
&#x3C;/p&#x3E;</description>
<author>Shlomi Fish ( shlomif@iglu.org.il )</author>
<category>telux</category>
<category>telfoss</category>
<category>meeting</category>
<category>open</category>
<category>perl</category>
<category>club</category>
<category>sawyer</category>
<category>moose</category>
<category>tel aviv</category>
<category>source</category>
<category>report</category>
<comments>http://community.livejournal.com/shlomif_tech/42895.html</comments>
<guid isPermaLink="true">http://community.livejournal.com/shlomif_tech/42895.html</guid>
<pubDate>Wed, 20 Jan 2010 12:35:04 GMT</pubDate>
</item>
<item>
<title>The Quest for a Good Window Manager / Desktop Environment</title>
<link>http://community.livejournal.com/shlomif_tech/42522.html</link>
<description>&#x3C;p&#x3E;
I&#x27;m using Linux (Mandriva Cooker) and have been routinely starting many
window managers and desktop environments as the need arises. Lately, I&#x27;ve been
working a lot with KDE 4 and I happen to agree with
&#x3C;a href=&#x22;http://www.osnews.com/story/22662/Your_KDE4_Experiences&#x22;&#x3E;OSNews.com&#x27;s
assertion that it is slow, sluggish, and has frequent random crashes&#x3C;/a&#x3E;. I&#x27;d
like to move to something more usable until the KDE 4 programmers get their
act together. Now, I&#x27;ve traditionally used 
&#x3C;a href=&#x22;http://www.icewm.org/&#x22;&#x3E;IceWM&#x3C;/a&#x3E; but it no longer cuts it for me 
because it does not have a different wallpaper
for every virtual desktop. XFCE fails on the same premise. Enlightenment 17
has a different wallpaper per virtual desktop, but its task bar is
dysfunctional, if not completely non-existent, and it has many other very
annoying quirks. GNOME is just plain annoying (and doesn&#x27;t have a
different-wallpaper-per-virtual-desktop either), and KDE 3 is no longer present
on Mandriva. LXDE does not have it either.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
Now I dislike the concept of 
&#x3C;a href=&#x22;http://en.wikipedia.org/wiki/Tiling_window_manager&#x22;&#x3E;tiling 
window manangers&#x3C;/a&#x3E;, of which there has been an inflation, recently, and I am
looking for a window manager that has stacking. And like I said, it also needs
to have a usable task bar, a different wallpaper per virtual desktop
and be responsive and stable.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
Do you have any recommendations?
&#x3C;/p&#x3E;</description>
<author>Shlomi Fish ( shlomif@iglu.org.il )</author>
<category>window</category>
<category>desktop</category>
<category>tiling</category>
<category>stacking</category>
<category>unix</category>
<category>kde</category>
<category>4</category>
<category>x11</category>
<category>wallpaper</category>
<category>environment</category>
<category>virtual</category>
<category>icewm</category>
<category>x</category>
<category>xfce</category>
<category>manager</category>
<category>windows</category>
<category>workspace</category>
<category>linux</category>
<comments>http://community.livejournal.com/shlomif_tech/42522.html</comments>
<guid isPermaLink="true">http://community.livejournal.com/shlomif_tech/42522.html</guid>
<pubDate>Mon, 18 Jan 2010 19:49:59 GMT</pubDate>
</item>
<item>
<title>Personal Log</title>
<link>http://shlomif.livejournal.com/61750.html</link>
<description>&#x3C;p&#x3E;
On Friday, I went to the 
&#x3C;a href=&#x22;http://he.wikipedia.org/&#x22;&#x3E;Hebrew Wikipedia&#x3C;/a&#x3E; meeting that 
commemorated it having 100,000 entries now. I enjoyed the food there, but
left after the first round of lectures. Still, it was a nice refreshment
from what I usually did and I had to wake up early to come there on time.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
Later on that day I worked on
&#x3C;a href=&#x22;http://fc-solve.berlios.de/&#x22;&#x3E;Freecell Solver&#x3C;/a&#x3E; and today I
wrote
&#x3C;a href=&#x22;http://tech.groups.yahoo.com/group/fc-solve-discuss/message/1035&#x22;&#x3E;a
report about it&#x3C;/a&#x3E; to the mailing list. I also spent a lot of time cleaning
up my hard-disk and removing a lot of cruft, both from my home-directory
and the main partition.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
Today was less intensive for me and I mostly rested. However, one of the
connectors on my glasses became faulty and as a result the right handle
does not hold up properly, and I need to replace it tomorrow. Very annoying.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
Finally, here are some albums I enjoyed from Jamendo:
&#x3C;/p&#x3E;

&#x3C;ol&#x3E;

&#x3C;li&#x3E;
&#x3C;a href=&#x22;http://www.jamendo.com/en/album/56666&#x22;&#x3E;Justin Sound - Justin Sound&#x3C;/a&#x3E;
&#x3C;/li&#x3E;

&#x3C;li&#x3E;
&#x3C;a href=&#x22;http://www.jamendo.com/en/album/59248&#x22;&#x3E;LadyLau - Sense&#x3C;/a&#x3E;
&#x3C;/li&#x3E;

&#x3C;li&#x3E;
&#x3C;a href=&#x22;http://www.jamendo.com/en/album/55493&#x22;&#x3E;Yachar - T&#xFA; y solo t&#xFA;&#x3C;/a&#x3E;
&#x3C;/li&#x3E;

&#x3C;/ol&#x3E;</description>
<author>Shlomi Fish ( shlomif@iglu.org.il )</author>
<comments>http://shlomif.livejournal.com/61750.html</comments>
<guid isPermaLink="true">http://shlomif.livejournal.com/61750.html</guid>
<pubDate>Sat, 16 Jan 2010 19:17:46 GMT</pubDate>
</item>
<item>
<title>New Programs, New Fortunes, and a New Revision of &#x22;The Case for Drug Legalisation&#x22;</title>
<link>http://community.livejournal.com/shlomif_hsite/13974.html</link>
<description>&#x3C;p&#x3E;
I added the &#x3C;a href=&#x22;http://www.shlomifish.org/puzzles/maths/n5-riddle/&#x22;&#x3E;5^n
    riddle page&#x3C;/a&#x3E; to the &#x3C;a href=&#x22;http://www.shlomifish.org/puzzles/&#x22;&#x3E;puzzles section&#x3C;/a&#x3E;.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
Two new fortunes have been added to the
&#x3C;a href=&#x22;http://www.shlomifish.org/humour/fortunes/&#x22;&#x3E;fortunes&#x27; collection&#x3C;/a&#x3E;:
&#x3C;/p&#x3E;

&#x3C;blockquote&#x3E;

&#x3C;ul&#x3E;

&#x3C;li&#x3E;&#x3C;b&#x3E;rindolf:&#x3C;/b&#x3E; Su-Shee: &#x22;I always wonder why the people I hang
out with are so pedantic. And then I remember: because they are so
pedantic.&#x22; -- a Perl-ILer. ;-)&#x3C;/li&#x3E;

&#x3C;li&#x3E;&#x3C;b&#x3E;Zaba:&#x3C;/b&#x3E; rindolf, because they use warnings&#x3C;/li&#x3E;

&#x3C;li&#x3E;&#x3C;i&#x3E;* rindolf adds &#x22;use Zaba;&#x22; to his code.&#x3C;/i&#x3E;&#x3C;/li&#x3E;
&#x3C;li&#x3E;&#x3C;b&#x3E;Zaba:&#x3C;/b&#x3E; oh no, I&#x27;m being used!&#x3C;/li&#x3E;

&#x3C;li&#x3E;&#x3C;i&#x3E;* rindolf adds &#x22;abuse Zaba;&#x22; to his code.&#x3C;/i&#x3E;&#x3C;/li&#x3E;

&#x3C;li&#x3E;&#x3C;b&#x3E;rindolf:&#x3C;/b&#x3E; Next: &#x22;misuse Zaba;&#x22;&#x3C;/li&#x3E;

&#x3C;li&#x3E;&#x3C;b&#x3E;Zaba:&#x3C;/b&#x3E; ouch!&#x3C;/li&#x3E;

&#x3C;/ul&#x3E;

&#x3C;/blockquote&#x3E;

&#x3C;p&#x3E;
The English version of
&#x3C;a href=&#x22;http://www.shlomifish.org/philosophy/politics/drug-legalisation/&#x22;&#x3E;&#x22;the
Case for Drug Legalisation&#x22;&#x3C;/a&#x3E; is now at the second revision with 
&#x3C;a href=&#x22;http://www.shlomifish.org/philosophy/politics/drug-legalisation/#note_about_politicians_supporting_the_prohibition&#x22;&#x3E;a 
note about &#x22;Why Politicians Support The Prohibition&#x22;&#x3C;/a&#x3E;.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
There&#x27;s now 
&#x3C;a href=&#x22;http://www.shlomifish.org/open-source/projects/black-hole-solitaire-solver/&#x22;&#x3E;an 
    automated solver for Black Hole Solitaire&#x3C;/a&#x3E; available on the site
and I also started maintaining
&#x3C;a href=&#x22;http://www.shlomifish.org/open-source/projects/libtap/&#x22;&#x3E;libtap&#x3C;/a&#x3E;
again. I also added
&#x3C;a href=&#x22;http://www.shlomifish.org/open-source/bits.html#set_xfce_workspaces&#x22;&#x3E;a
    Ruby script for setting the names (and number) of XFCE&#x27;s workspaces/virtual
    desktops&#x3C;/a&#x3E;. 
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
Links to some prominent programs were added to 
&#x3C;a href=&#x22;http://www.shlomifish.org/open-source/resources/numerical-software/&#x22;&#x3E;the
    Directory of Numerical Software page&#x3C;/a&#x3E;.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
The annoying text-on-hover over the sections of all the DocBook/XML-based
essays (using the title=&#x22;&#x22; attribute) was eliminated by using a DocBook/XSL
customisation.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
Finally, I performed many changes to the homepage&#x27;s internals and build system
that will allow for an easier maintenance into the future.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
&#x3C;b&#x3E;Update:&#x3C;/b&#x3E; I wrote &#x3C;a href=&#x22;http://community.livejournal.com/shlomif_hsite/13974.html?thread=6038#t6038&#x22;&#x3E;a comment&#x3C;/a&#x3E; on how to perform the DocBook/XSL customisation to
get rid of the text-on-hover / &#x3C;tt&#x3E;title=&#x22;&#x22;&#x3C;/tt&#x3E; attribute.
&#x3C;/p&#x3E;</description>
<author>Shlomi Fish ( shlomif@iglu.org.il )</author>
<category>mathematics</category>
<category>math</category>
<category>fortunes</category>
<category>workspaces</category>
<category>site</category>
<category>desktops</category>
<category>web</category>
<category>libtap</category>
<category>black</category>
<category>testing</category>
<category>maths</category>
<category>prohibition</category>
<category>fortune</category>
<category>drugs</category>
<category>legalization</category>
<category>www</category>
<category>drug</category>
<category>qa</category>
<category>hole</category>
<category>fish</category>
<category>virtual</category>
<category>homepage</category>
<category>legalisation</category>
<category>numerical</category>
<category>cookies</category>
<category>riddle</category>
<category>xfce</category>
<category>shlomi</category>
<category>puzzle</category>
<category>ruby</category>
<category>solitaire</category>
<category>software</category>
<comments>http://community.livejournal.com/shlomif_hsite/13974.html</comments>
<guid isPermaLink="true">http://community.livejournal.com/shlomif_hsite/13974.html</guid>
<pubDate>Thu, 14 Jan 2010 18:51:39 GMT</pubDate>
</item>
<item>
<title>New Solver for &#x22;Black Hole&#x22; Solitaire in Perl</title>
<link>http://community.livejournal.com/shlomif_tech/42309.html</link>
<description>&#x3C;p&#x3E;
I wrote
&#x3C;a href=&#x22;http://www.shlomifish.org/open-source/projects/black-hole-solitaire-solver/&#x22;&#x3E;a
new solver for the solitaire &#x22;Black Hole&#x22;&#x3C;/a&#x3E;. Here&#x27;s the
complete story:
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
Yesterday, I was going to play a game on
&#x3C;a href=&#x22;http://www.brainbashers.com/&#x22;&#x3E;Brain Bashers&#x3C;/a&#x3E; when I
remembered the Penguin solitaire variant, which is similar to Freecell and
which I wanted to cover on the Cards Wikia. So I did a Google search for
&#x22;penguin solitaire&#x22; and saw it had &#x3C;a href=&#x22;http://en.wikipedia.org/wiki/Penguin_%28solitaire%29&#x22;&#x3E;a page on the wikipedia&#x3C;/a&#x3E;.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
There I saw that it was invented by &#x3C;a href=&#x22;http://en.wikipedia.org/wiki/David_Parlett&#x22;&#x3E;David Parlett&#x3C;/a&#x3E; and I saw there that he also
invented
&#x3C;a href=&#x22;http://en.wikipedia.org/wiki/Black_Hole_%28solitaire%29&#x22;&#x3E;a solitaire called &#x22;Black Hole&#x22;&#x3C;/a&#x3E;
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
So I looked for it in &#x3C;a href=&#x22;http://pysolfc.sourceforge.net/&#x22;&#x3E;PySolFC&#x3C;/a&#x3E;,
read the instructions there and started to play. The game involves putting a
card that is one above or below the foundation (wrapping from kings to aces).
I noticed that there wasn&#x27;t any over-populated talon or something like that
there, which meant that I could probably build a DFS-based solver for it. So I
set out to see if it was possible.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
The first thing I did was to adapt my PySol/PySolFC game generator to generate
the initial board of the PySolFC deals. This turned out to be a very
complicated and frustrating task for me, because I had to understand what&#x27;s
going on with the code. But after a lot of playing with it, I was able to get
it to generate the initial deals. The changes for that are in the Freecell
Solver trunk now.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
Then I started working on the solver. I decided to write it in Perl 5 because
it&#x27;s a good prototyping language and I know it well. When writing it, I
heavily optimised for speed and low memory consumption by using bit fields (
see &#x3C;a href=&#x22;http://perldoc.perl.org/functions/vec.html&#x22;&#x3E;the 
vec() function&#x3C;/a&#x3E; ) and a gigantic hash lookup.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
Then, after it was written, came the moment of truth: I ran it on the board
and it reported success. Great! But what&#x27;s the solution? So I added some
solution tracing logic, to output the cards that should be moved. Then I was
able to play it and the game was solved. Yay!
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
I tried it on another game and it also worked. Then I ran it on the first few
games. Game #1 was reported as unsolvable, Game #2 was solved after a while,
and Game #3 consumed over 15% of my RAM and then was solved.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
So it seemed to be working nicely. Today I wrapped the code inside its own
CPAN package and prepared a nice app-in-a-module and a script for it. 
he solver&#x27;s code is made available under the permissive MIT/X11 licence - 
share and enjoy. And as I mentioned before 
&#x3C;a href=&#x22;http://www.shlomifish.org/open-source/projects/black-hole-solitaire-solver/&#x22;&#x3E;here 
is its home-page&#x3C;/a&#x3E;.
&#x3C;/p&#x3E;</description>
<author>Shlomi Fish ( shlomif@iglu.org.il )</author>
<category>automated</category>
<category>patience</category>
<category>black</category>
<category>perl</category>
<category>games</category>
<category>hole</category>
<category>game</category>
<category>cards</category>
<category>solver</category>
<category>solitaire</category>
<category>solvers</category>
<category>davi</category>
<category>python</category>
<comments>http://community.livejournal.com/shlomif_tech/42309.html</comments>
<guid isPermaLink="true">http://community.livejournal.com/shlomif_tech/42309.html</guid>
<pubDate>Mon, 11 Jan 2010 17:32:29 GMT</pubDate>
</item>
<item>
<title>libtap-1.02 Was Released</title>
<link>http://community.livejournal.com/shlomif_tech/42035.html</link>
<description>&#x3C;p&#x3E;
libtap is a C library to implement the &#x3C;a href=&#x22;http://testanything.org/&#x22;&#x3E;Test
Anything Protocol (TAP)&#x3C;/a&#x3E;, which is used by the test suites of perl 5, 
CPAN modules and other programs. libtap allows one to write C code that can
be analysed by TAP harnesses such as &#x3C;a href=&#x22;http://web-cpan.berlios.de/modules/Test-Run/&#x22;&#x3E;Test-Run&#x3C;/a&#x3E;.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
I started maintaining Nik Clayton&#x27;s libtap, which he seems to have abandoned 
&#x3C;a href=&#x22;http://www.shlomifish.org/open-source/projects/libtap/&#x22;&#x3E;on my
homepage&#x3C;/a&#x3E;.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
There&#x27;s also &#x3C;a href=&#x22;http://svn.berlios.de/svnroot/repos/web-cpan/libtap/&#x22;&#x3E;a 
Subversion repository&#x3C;/a&#x3E;.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
Reading from the NEWS file:
&#x3C;/p&#x3E;

&#x3C;blockquote&#x3E;
&#x3C;p&#x3E;&#x3C;b&#x3E;tap-1.02:&#x3C;/b&#x3E;&#x3C;/p&#x3E;

&#x3C;ol&#x3E;

&#x3C;li&#x3E;
Add the COPYING file.
&#x3C;/li&#x3E;

&#x3C;li&#x3E;
Now disabling the thread-safety by default (in order to have it add
&#x3C;tt&#x3E;-DLIBTAP_ENABLE_BROKEN_THREAD_SAFE&#x3C;/tt&#x3E; .
&#x3C;/li&#x3E;

&#x3C;li&#x3E;
Changed configure.in to configure.ac.
&#x3C;/li&#x3E;

&#x3C;/ol&#x3E;

&#x3C;/blockquote&#x3E;</description>
<author>Shlomi Fish ( shlomif@iglu.org.il )</author>
<category>test</category>
<category>perl</category>
<category>release</category>
<category>anything</category>
<category>qa</category>
<category>testing</category>
<category>tap</category>
<category>new</category>
<category>c</category>
<category>libtap</category>
<category>protocol</category>
<comments>http://community.livejournal.com/shlomif_tech/42035.html</comments>
<guid isPermaLink="true">http://community.livejournal.com/shlomif_tech/42035.html</guid>
<pubDate>Fri, 08 Jan 2010 11:18:19 GMT</pubDate>
</item>
<item>
<title>bzr is Dog-Slow and Generally Sucks</title>
<link>http://community.livejournal.com/shlomif_tech/41922.html</link>
<description>&#x3C;p&#x3E;
&#x3C;a href=&#x22;http://en.wikipedia.org/wiki/Bazaar_%28software%29&#x22;&#x3E;The 
Bzr version control system (Bazaar)&#x3C;/a&#x3E; is a version control system from 
Canonical Ltd. (the parent company behind the Ubuntu Linux distribution). While
being open-source, it sucks royally and this is a blog about this. 
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
First of all it is excruciatingly slow. Branching &#x3C;a href=&#x22;http://burtonini.com/bzr/postr/postr.dev&#x22;&#x3E;postr.dev&#x3C;/a&#x3E; (which is a bzr branch of 
&#x3C;a href=&#x22;http://burtonini.com/blog/computers/postr&#x22;&#x3E;the very small
postr project&#x3C;/a&#x3E; takes 2:48 minutes. And that&#x27;s not all:
&#x3C;/p&#x3E;

&#x3C;pre&#x3E;
shlomi:~/Download/unpack/net/www/TEMP$ cd postr.dev/         
shlomi:~/Download/unpack/net/www/TEMP/postr.dev$ du -cs *
4.0K    AUTHORS                                          
20K     COPYING                                          
80K     data                                             
4.0K    nautilus                                         
20K     po                                               
4.0K    postr                                            
4.0K    postr.doap                                       
4.0K    README                                           
4.0K    setup.py                                         
256K    src                                              
4.0K    TODO                                             
404K    total                                            
shlomi:~/Download/unpack/net/www/TEMP/postr.dev$ echo &#x22;Hello&#x22; &#x26;gt;&#x26;gt; postr
shlomi:~/Download/unpack/net/www/TEMP/postr.dev$ time bzr di
=== modified file &#x27;postr&#x27;                                   
--- postr       2007-07-19 17:57:09 +0000
+++ postr       2010-01-07 18:00:06 +0000
@@ -42,3 +42,4 @@
     for url in sys.argv[1:]:
         p.add_image_filename(url)
     reactor.run()
+Hello

Command exited with non-zero status 1
1.47user 0.08system 0:01.69elapsed 92%CPU (0avgtext+0avgdata 60080maxresident)k
288inputs+8outputs (0major+5673minor)pagefaults 0swaps
shlomi:~/Download/unpack/net/www/TEMP/postr.dev$ time bzr di
=== modified file &#x27;postr&#x27;
--- postr       2007-07-19 17:57:09 +0000
+++ postr       2010-01-07 18:00:06 +0000
@@ -42,3 +42,4 @@
     for url in sys.argv[1:]:
         p.add_image_filename(url)
     reactor.run()
+Hello

Command exited with non-zero status 1
1.47user 0.07system 0:01.61elapsed 95%CPU (0avgtext+0avgdata 60096maxresident)k
0inputs+0outputs (0major+5672minor)pagefaults 0swaps
&#x3C;/pre&#x3E;

&#x3C;p&#x3E;
So a simple &#x22;bzr diff&#x22; command takes over 1.6 seconds. 
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
I reported &#x3C;a href=&#x22;https://bugs.launchpad.net/inkscape/+bug/498481&#x22;&#x3E;a bug
in inkscape - &#x22;bzr branch lp:inkscape is very slow and emits errors and leaves 
a broken local repository after exit&#x22;&#x3C;/a&#x3E; It took bzr 3 minutes to try and
checkout the Launchpad&#x27;s Inkscape branch, and it finished with an error and
left the repository in an unsuable state. I tried it on my Debian Testing
VM and ended up with the same result.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
To quote &#x3C;a href=&#x22;http://dazjorz.com/&#x22;&#x3E;Sjors&#x3C;/a&#x3E;: &#x22;Bzr is slower than 
Subversion in combination with Sourceforge.&#x22; (and that says a lot.).
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
Recently, &#x3C;a href=&#x22;http://news.slashdot.org/story/09/12/28/0057231/GNU-Emacs-Switches-From-CVS-To-Bazaar&#x22;&#x3E;GNU 
Emacs switched to Bzr&#x3C;/a&#x3E;. Now the question is how many decades one will have
to wait to &#x22;bzr branch&#x22; its main repository.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
Cheers!
&#x3C;/p&#x3E;</description>
<author>Shlomi Fish ( shlomif@iglu.org.il )</author>
<category>canonical</category>
<category>dazjorz</category>
<category>version</category>
<category>inkscape</category>
<category>bzr</category>
<category>emacs</category>
<category>svn</category>
<category>open</category>
<category>slowness</category>
<category>linux</category>
<category>ubuntu</category>
<category>slow</category>
<category>control</category>
<category>source</category>
<category>subversion</category>
<category>rant</category>
<category>sjors</category>
<comments>http://community.livejournal.com/shlomif_tech/41922.html</comments>
<guid isPermaLink="true">http://community.livejournal.com/shlomif_tech/41922.html</guid>
<pubDate>Thu, 07 Jan 2010 18:19:11 GMT</pubDate>
</item>
<item>
<title>Next TelFOSS Meeting: Moose, the Perl OOP System on 17-January-2009</title>
<link>http://community.livejournal.com/shlomif_tech/41624.html</link>
<description>&#x3C;p&#x3E;
The &#x3C;a href=&#x22;http://www.cs.tau.ac.il/telux/&#x22;&#x3E;Tel Aviv Open Source Club&#x3C;/a&#x3E;
will host &#x3C;a href=&#x22;http://wiki.osdc.org.il/index.php/Tel_Aviv_Meeting_on_17_January_2010&#x22;&#x3E;the talk &#x22;Moose, the Perl OOP System&#x22; for beginners&#x3C;/a&#x3E; by
Yaron Meiry (Sawyer) on
Sunday, 17-January-2009,  at 18:00 (note the change of time since last
year) in Tel Aviv University, Holcblat Hall No. 007 in the corridor of the
exact sciences building (note the change of place from last year). Further
details, maps for arrival, etc. can be found on
&#x3C;a href=&#x22;http://www.cs.tau.ac.il/telux/&#x22;&#x3E;the web-site&#x3C;/a&#x3E;
&#x3C;a href=&#x22;http://wiki.osdc.org.il/index.php/Tel_Aviv_Meeting_on_17_January_2010&#x22;&#x3E;and in the Wiki&#x3C;/a&#x3E;.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
Attendance is free, it is not necessary to RSVP and everyone are welcome.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
With any other problems, feel free to &#x3C;a href=&#x22;http://www.shlomifish.org/me/contact-me/&#x22;&#x3E;contact the organiser&#x3C;/a&#x3E;.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;&#x3C;b&#x3E;Abstract&#x3C;/b&#x3E;&#x3C;/p&#x3E;

&#x3C;p&#x3E;
&#x3C;a href=&#x22;http://moose.perl.org/&#x22;&#x3E;Moose&#x3C;/a&#x3E; is a post-modern Object-Oriented
Programming system for Perl 5. It was written since its originator (Stevan
Little) was jealous of the capabilities that Perl 6 provided in regards to OOP,
and so instead of switching to Ruby, he worked on developing a similar system
for Perl 5. Moose drew inspiration from the Object Oriented Programming
capabilities of many languages such as Perl 6, Smalltalk, Common Lisp (CLOS),
Ruby, Java, OCaml and other languages, while remaining faithful to its Perl 5
roots.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;&#x3C;b&#x3E;About the Lecturer&#x3C;/b&#x3E;&#x3C;/p&#x3E;

&#x3C;p&#x3E;
Yaron Meiry is a systems&#x27; administrator and a Perl developer. He gives talks
about open source, free software, security and programming standards. Yaron
has previousl given the
&#x3C;a href=&#x22;http://wiki.osdc.org.il/index.php/Tel_Aviv_Meeting_on_28_June_2009&#x22;&#x3E;presentation
    about red flags in programming of very high languages&#x3C;/a&#x3E; in
the Tel Aviv Club.
&#x3C;/p&#x3E;

&#x3C;hr /&#x3E;

&#x3C;p&#x3E;
We are always looking for people who will volunteer to give presentations on
various topic that are related to open source code and to computers. In case
you are interested to give a talk, or that you have a suggestion for a talk
that interests you, we&#x27;ll be happy to hear from you.
&#x3C;/p&#x3E;</description>
<author>Shlomi Fish ( shlomif@iglu.org.il )</author>
<category>announcement</category>
<category>activities</category>
<category>open source</category>
<category>israel</category>
<category>telux</category>
<category>telfoss</category>
<category>meeting</category>
<category>foss</category>
<category>perl</category>
<category>linux</category>
<category>moose</category>
<category>tel aviv</category>
<comments>http://community.livejournal.com/shlomif_tech/41624.html</comments>
<guid isPermaLink="true">http://community.livejournal.com/shlomif_tech/41624.html</guid>
<pubDate>Tue, 05 Jan 2010 08:48:18 GMT</pubDate>
</item>
<item>
<title>&#x5E4;&#x5D2;&#x5D9;&#x5E9;&#x5EA; &#x5E7;&#x5D5;&#x5D3;-&#x5E4;&#x5EA;&#x5D5;&#x5D7;-&#x5EA;&#x5DC;-&#x5D0;&#x5D1;&#x5D9;&#x5D1;: Moose &#x5DC;&#x5DE;&#x5EA;&#x5D7;&#x5D9;&#x5DC;&#x5D9;&#x5DD; - &#x5DE;&#x5E2;&#x5E8;&#x5DB;&#x5EA; &#x5D4;&#x5D0;&#x5D5;&#x5D1;&#x5D9;&#x5D9;&#x5E7;&#x5D8;&#x5D9;&#x5DD; &#x5DC;&#x5E4;&#x5E8;&#x5DC;</title>
<link>http://community.livejournal.com/shlomif_tech/41232.html</link>
<description>&#x3C;div dir=&#x22;rtl&#x22; align=&#x22;right&#x22;&#x3E;

&#x3C;p&#x3E;
&#x3C;a href=&#x22;http://www.cs.tau.ac.il/telux/&#x22;&#x3E;&#x5DE;&#x5D5;&#x5E2;&#x5D3;&#x5D5;&#x5DF; &#x5D4;&#x5E7;&#x5D5;&#x5D3; &#x5D4;&#x5E4;&#x5EA;&#x5D5;&#x5D7; &#x5D4;&#x5EA;&#x5DC;-&#x5D0;&#x5D1;&#x5D9;&#x5D1;&#x5D9; (&#x5EA;&#x5DC;&#x5D5;&#x5E7;&#x5E1;)&#x3C;/a&#x3E;
&#x5D9;&#x5D9;&#x5E4;&#x5D2;&#x5E9; &#x5E9;&#x5D5;&#x5D1; &#x5DB;&#x5D3;&#x5D9; &#x5DC;&#x5E9;&#x5DE;&#x5D5;&#x5E2; &#x5D0;&#x5EA;
&#x3C;a href=&#x22;http://wiki.osdc.org.il/index.php/Tel_Aviv_Meeting_on_17_January_2010&#x22;&#x3E;&#x5D4;&#x5E8;&#x5E6;&#x5D0;&#x5EA;&#x5D5; &#x5E9;&#x5DC; 
&#x5D9;&#x5E8;&#x5D5;&#x5DF; &#x5DE;&#x5D0;&#x5D9;&#x5E8;&#x5D9; (Sawyer) &#x5D0;&#x5D5;&#x5D3;&#x5D5;&#x5EA; &#x22;Moose, &#x5DE;&#x5E2;&#x5E8;&#x5DB;&#x5EA; &#x5EA;&#x5DB;&#x5E0;&#x5D5;&#x5EA; &#x5DE;&#x5D5;&#x5E0;&#x5D7;&#x5D4; &#x5D4;&#x5E2;&#x5E6;&#x5DE;&#x5D9;&#x5DD; &#x5DC;&#x5E9;&#x5E4;&#x5EA; &#x5E4;&#x5E8;&#x5DC; (&#x5DC;&#x5DE;&#x5EA;&#x5D7;&#x5D9;&#x5DC;&#x5D9;&#x5DD;)&#x22;&#x3C;/a&#x3E;. 
&#x5D4;&#x5D4;&#x5E8;&#x5E6;&#x5D0;&#x5D4; &#x5EA;&#x5EA;&#x5E7;&#x5D9;&#x5D9;&#x5DD; &#x5D1;&#x5D9;&#x5D5;&#x5DD; &#x5E8;&#x5D0;&#x5E9;&#x5D5;&#x5DF;, 17 &#x5D1;&#x5D9;&#x5E0;&#x5D5;&#x5D0;&#x5E8; 2010, &#x5D1;&#x5E9;&#x5E2;&#x5D4; 18:00 (&#x5E9;&#x5D9;&#x5DE;&#x5D5; &#x5DC;&#x5D1; &#x5DC;&#x5E9;&#x5D9;&#x5E0;&#x5D5;&#x5D9; &#x5D1;&#x5E9;&#x5E2;&#x5D4; &#x5DE;&#x5E9;&#x5E0;&#x5D4; &#x5E9;&#x5E2;&#x5D1;&#x5E8;&#x5D4;), 
&#x5D1;&#x5D0;&#x5D5;&#x5DC;&#x5DD; &#x5D4;&#x5D5;&#x5DC;&#x5E6;&#x5D1;&#x5DC;&#x5D8;, &#x5DE;&#x5E1;&#x27; 007 &#x5D1;&#x5DE;&#x5E1;&#x5D3;&#x5E8;&#x5D5;&#x5DF; &#x5D4;&#x5D1;&#x5E0;&#x5D9;&#x5D9;&#x5E0;&#x5D9;&#x5DD; &#x5DC;&#x5DE;&#x5D3;&#x5E2;&#x5D9;&#x5DD; &#x5DE;&#x5D3;&#x5D5;&#x5D9;&#x5E7;&#x5D9;&#x5DD; (&#x5E9;&#x5D9;&#x5DE;&#x5D5; &#x5DC;&#x5D1; &#x5DC;&#x5E9;&#x5D9;&#x5E0;&#x5D5;&#x5D9; &#x5D1;&#x5DE;&#x5D9;&#x5E7;&#x5D5;&#x5DD; &#x5DE;&#x5E9;&#x5E0;&#x5D4; &#x5E9;&#x5E2;&#x5D1;&#x5E8;&#x5D4;) &#x5D1;&#x5D0;&#x5D5;&#x5E0;&#x5D9;&#x5D1;&#x5E8;&#x5E1;&#x5D9;&#x5D8;&#x5EA; &#x5EA;&#x5DC; &#x5D0;&#x5D1;&#x5D9;&#x5D1;. &#x5E4;&#x5E8;&#x5D8;&#x5D9;&#x5DD; &#x5E0;&#x5D5;&#x5E1;&#x5E4;&#x5D9;&#x5DD;, &#x5DE;&#x5E4;&#x5D5;&#x5EA; &#x5DC;&#x5D4;&#x5D2;&#x5E2;&#x5D4; &#x5D5;&#x5DB;&#x5D9;&#x5D5;&#x5E6;&#x5D0; &#x5D1;&#x5D6;&#x5D4;, &#x5E0;&#x5D9;&#x5EA;&#x5DF; &#x5DC;&#x5DE;&#x5E6;&#x5D5;&#x5D0; 
&#x3C;a href=&#x22;http://www.cs.tau.ac.il/telux/&#x22;&#x3E;&#x5D1;&#x5D0;&#x5EA;&#x5E8;&#x3C;/a&#x3E;
&#x3C;a href=&#x22;http://wiki.osdc.org.il/index.php/Tel_Aviv_Meeting_on_17_January_2010&#x22;&#x3E;&#x5D5;&#x5D1;&#x5D5;&#x5D5;&#x5D9;&#x5E7;&#x5D9;&#x3C;/a&#x3E;.
&#x5D4;&#x5E0;&#x5D5;&#x5DB;&#x5D7;&#x5D5;&#x5EA; &#x5D1;&#x5D4;&#x5E8;&#x5E6;&#x5D0;&#x5D4; &#x5D4;&#x5D9;&#x5D0; &#x5D7;&#x5D9;&#x5E0;&#x5DE;&#x5D9;&#x5EA; &#x5D5;&#x5DC;&#x5D0; &#x5E0;&#x5D3;&#x5E8;&#x5E9;&#x5EA; &#x5D4;&#x5E8;&#x5E9;&#x5DE;&#x5D4; &#x5DE;&#x5E8;&#x5D0;&#x5E9;.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
&#x3C;a href=&#x22;http://moose.perl.org/&#x22;&#x3E;Moose&#x3C;/a&#x3E;
&#x5D4;&#x5D9;&#x5E0;&#x5D4; &#x5DE;&#x5E2;&#x5E8;&#x5DB;&#x5EA; &#x5EA;&#x5DB;&#x5E0;&#x5D5;&#x5EA; &#x5DE;&#x5D5;&#x5E0;&#x5D7;&#x5D4;-&#x5E2;&#x5E6;&#x5DE;&#x5D9;&#x5DD; &#x5E4;&#x5D5;&#x5E1;&#x5D8;-&#x5DE;&#x5D5;&#x5D3;&#x5E8;&#x5E0;&#x5D9;&#x5EA; &#x5DC;&#x5E9;&#x5E4;&#x5D4; &#x5E4;&#x5E8;&#x5DC; 5. &#x5D4;&#x5D9;&#x5D0; &#x5E0;&#x5DB;&#x5EA;&#x5D1;&#x5D4; 
&#x5DE;&#x5DB;&#x5D9;&#x5D5;&#x5D5;&#x5DF; &#x5E9;&#x5D4;&#x5D4;&#x5D5;&#x5D2;&#x5D4; &#x5D4;&#x5DE;&#x5E7;&#x5D5;&#x5E8;&#x5D9; &#x5E9;&#x5DC;&#x5D4; (&#x5E1;&#x5D8;&#x5D9;&#x5D1;&#x5DF; &#x5DC;&#x5D9;&#x5D8;&#x5DC;) &#x5E7;&#x5D9;&#x5E0;&#x5D0; &#x5D1;&#x5DE;&#x5D4; &#x5E9;&#x5E4;&#x5E8;&#x5DC; 6 &#x5E1;&#x5D9;&#x5E4;&#x5E7;&#x5D4; 
&#x5D1;&#x5E0;&#x5D5;&#x5D2;&#x5E2; &#x5DC;&#x5EA;&#x5DB;&#x5E0;&#x5D5;&#x5EA; &#x5DE;&#x5D5;&#x5E0;&#x5D7;&#x5D4; &#x5E2;&#x5E6;&#x5DE;&#x5D9;&#x5DD;, &#x5D5;&#x5DC;&#x5DB;&#x5DF; &#x5D1;&#x5DE;&#x5E7;&#x5D5;&#x5DD; &#x5DC;&#x5E2;&#x5D1;&#x5D5;&#x5E8; &#x5DC;&#x5E8;&#x5D5;&#x5D1;&#x5D9; &#x5D4;&#x5D5;&#x5D0; &#x5E9;&#x5E7;&#x5D3; &#x5E2;&#x5DC; &#x5E4;&#x5D9;&#x5EA;&#x5D5;&#x5D7;
&#x5DE;&#x5E2;&#x5E8;&#x5DB;&#x5EA; &#x5D3;&#x5D5;&#x5DE;&#x5D4; &#x5DC;&#x5E4;&#x5E8;&#x5DC; 5. Moose &#x5E9;&#x5D0;&#x5D1;&#x5D4; &#x5D4;&#x5E9;&#x5E8;&#x5D0;&#x5D4; &#x5DE;&#x5D9;&#x5DB;&#x5D5;&#x5DC;&#x5D5;&#x5EA; &#x5D4;-OOP &#x5E9;&#x5DC; &#x5E9;&#x5E4;&#x5D5;&#x5EA; &#x5E8;&#x5D1;&#x5D5;&#x5EA; 
&#x5DB;&#x5DE;&#x5D5; &#x5E4;&#x5E8;&#x5DC; 6, Smalltalk, &#x5DC;&#x5D9;&#x5E1;&#x5E4;, &#x5E8;&#x5D5;&#x5D1;&#x5D9;, &#x5D2;&#x27;&#x5D0;&#x5D5;&#x5D5;&#x5D4;, OCaml &#x5D5;&#x5E9;&#x5E4;&#x5D5;&#x5EA; &#x5D0;&#x5D7;&#x5E8;&#x5D5;&#x5EA; &#x5DB;&#x5E9;&#x5D4;&#x5D9;&#x5D0; 
&#x5E0;&#x5E9;&#x5D0;&#x5E8;&#x5EA; &#x5E0;&#x5D0;&#x5DE;&#x5E0;&#x5D4; &#x5DC;&#x5E9;&#x5D5;&#x5E8;&#x5E9;&#x5D9; &#x5D4;-&#x5E4;&#x5E8;&#x5DC; 5 &#x5E9;&#x5DC;&#x5D4;. 
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
&#x5D9;&#x5E8;&#x5D5;&#x5DF; &#x5DE;&#x5D0;&#x5D9;&#x5E8;&#x5D9; &#x5D4;&#x5D9;&#x5E0;&#x5D5; &#x5DE;&#x5E0;&#x5D4;&#x5DC; &#x5DE;&#x5E2;&#x5E8;&#x5DB;&#x5D5;&#x5EA; &#x5D5;&#x5DE;&#x5E4;&#x5EA;&#x5D7; &#x5E4;&#x5E8;&#x5DC;. &#x5D4;&#x5D5;&#x5D0; &#x5DE;&#x5E8;&#x5E6;&#x5D4; &#x5E2;&#x5DC; &#x5E7;&#x5D5;&#x5D3; &#x5E4;&#x5EA;&#x5D5;&#x5D7;, &#x5EA;&#x5D5;&#x5DB;&#x5E0;&#x5D4; &#x5D7;&#x5D5;&#x5E4;&#x5E9;&#x5D9;&#x5EA;, 
&#x5D0;&#x5D1;&#x5D8;&#x5D7;&#x5D4; &#x5D5;&#x5E1;&#x5D8;&#x5E0;&#x5D3;&#x5E8;&#x5D8;&#x5D9;&#x5DD; &#x5E9;&#x5DC; &#x5EA;&#x5DB;&#x5E0;&#x5D5;&#x5EA;. &#x5D9;&#x5E8;&#x5D5;&#x5DF; &#x5D4;&#x5E2;&#x5D1;&#x5D9;&#x5E8; &#x5D1;&#x5E2;&#x5D1;&#x5E8; &#x5D0;&#x5EA; 
&#x3C;a href=&#x22;http://wiki.osdc.org.il/index.php/Tel_Aviv_Meeting_on_28_June_2009&#x22;&#x3E;&#x5D4;&#x5D4;&#x5E8;&#x5E6;&#x5D0;&#x5D4; 
&#x5E2;&#x5DC; &#x5D3;&#x5D2;&#x5DC;&#x5D9;&#x5DD; &#x5D0;&#x5D3;&#x5D5;&#x5DE;&#x5D9;&#x5DD; &#x5D1;&#x5EA;&#x5DB;&#x5E0;&#x5D5;&#x5EA; &#x5E2;&#x5D1;&#x5D5;&#x5E8; &#x5E9;&#x5E4;&#x5D5;&#x5EA; &#x5E2;&#x5D9;&#x5DC;&#x5D9;&#x5D5;&#x5EA; &#x5D1;&#x5D9;&#x5D5;&#x5EA;&#x5E8;&#x3C;/a&#x3E; &#x5D1;&#x5DE;&#x5D5;&#x5E2;&#x5D3;&#x5D5;&#x5DF; &#x5D4;&#x5EA;&#x5DC;-&#x5D0;&#x5D1;&#x5D9;&#x5D1;&#x5D9;.
&#x3C;/p&#x3E;

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

&#x3C;/div&#x3E;</description>
<author>Shlomi Fish ( shlomif@iglu.org.il )</author>
<category>announcement</category>
<category>mobile</category>
<category>activities</category>
<category>open source</category>
<category>israel</category>
<category>telux</category>
<category>telfoss</category>
<category>meeting</category>
<category>foss</category>
<category>perl</category>
<category>linux</category>
<category>moose</category>
<category>tel aviv</category>
<category>phones</category>
<category>cellphones</category>
<comments>http://community.livejournal.com/shlomif_tech/41232.html</comments>
<guid isPermaLink="true">http://community.livejournal.com/shlomif_tech/41232.html</guid>
<pubDate>Sun, 03 Jan 2010 20:52:46 GMT</pubDate>
</item>
<item>
<title>Legal: ACTA and Software Patents in Israel</title>
<link>http://community.livejournal.com/shlomif_tech/41125.html</link>
<description>&#x3C;p&#x3E;
This post is about two legal matters. The first is about 
&#x3C;a href=&#x22;http://en.wikipedia.org/wiki/Anti-Counterfeiting_Trade_Agreement&#x22;&#x3E;ACTA,
the so-called &#x22;Anti-Counterfeiting Trade Agreement&#x22;&#x3C;/a&#x3E;, which is a trade
agreement that aims to criminalise a lot of the openness of the Internet
under the guise of fighting counterfeited goods. 
Michael Geist has &#x3C;a href=&#x22;http://www.michaelgeist.ca/content/view/4510/125/&#x22;&#x3E;an
analysis of the provisions of ACTA&#x3C;/a&#x3E; and 
&#x3C;a href=&#x22;http://www.michaelgeist.ca/tags/anti-counterfeiting+trade+agreement&#x22;&#x3E;tracks 
its progress&#x3C;/a&#x3E;. This is worrying and one should better take a look.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
The other issue is &#x3C;a href=&#x22;http://hamakor.org.il/pipermail/discussions/2009-December/000907.html&#x22;&#x3E;Software patents in Israel&#x3C;/a&#x3E; 
(see &#x3C;a href=&#x22;http://en.swpat.org/wiki/Israel&#x22;&#x3E;&#x22;Fight Software Patents&#x22;&#x27;s wiki
entry about Israel&#x3C;/a&#x3E; and &#x3C;a href=&#x22;http://www.justice.gov.il/MOJHeb/RashamHaptentim/News/kol+kore.htm&#x22;&#x3E;the official call for opinions on the Israel
Justice ministry site&#x3C;/a&#x3E;). I started preparing
&#x3C;a href=&#x22;http://www.shlomifish.org/israeli-soft-patents-temp-j4y8u3/&#x22;&#x3E;my
own statement document&#x3C;/a&#x3E;, which is still incomplete and there&#x27;s
&#x3C;a href=&#x22;http://hamakor.org.il/pipermail/discussions/2009-December/000909.html&#x22;&#x3E;a letter that Jonathan Klinger (attorney in law) has prepared)&#x3C;/a&#x3E;. Hope
we can stop this madness.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
Happy new civil year!
&#x3C;/p&#x3E;</description>
<author>Shlomi Fish ( shlomif@iglu.org.il )</author>
<category>legal</category>
<category>patents</category>
<category>israel</category>
<category>software</category>
<category>news</category>
<category>acta</category>
<comments>http://community.livejournal.com/shlomif_tech/41125.html</comments>
<guid isPermaLink="true">http://community.livejournal.com/shlomif_tech/41125.html</guid>
<pubDate>Fri, 01 Jan 2010 19:54:53 GMT</pubDate>
</item>
<item>
<title>Conclusion of the Open Letter to the Israeli Government about Drug Legalisation</title>
<link>http://shlomif.livejournal.com/61686.html</link>
<description>&#x3C;p&#x3E;
I
&#x3C;a href=&#x22;http://shlomif.livejournal.com/60773.html&#x22;&#x3E;announced that
I sent an E-mail to the Israeli Prime Minister and the Minister of
Internal Defence about drug legalisation&#x3C;/a&#x3E; earlier on this blog. The E-mail
was sent in 18 October, 2009 and I didn&#x27;t receive a reply, including not
an acknowledgement, an automated response or a bounce. It was obviously
ignored.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
As a result, I have to conclude that the respected gentlemen have failed to
respond to me (a citizen and resident of Israel) on such an important issue and
are not fulfilling their duties as government officials.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
Don&#x27;t re-elect them - they don&#x27;t care about you.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
Happy new civil year, everybody!
&#x3C;/p&#x3E;</description>
<author>Shlomi Fish ( shlomif@iglu.org.il )</author>
<comments>http://shlomif.livejournal.com/61686.html</comments>
<guid isPermaLink="true">http://shlomif.livejournal.com/61686.html</guid>
<pubDate>Thu, 31 Dec 2009 21:45:09 GMT</pubDate>
</item>
<item>
<title>Cygwin and Perl Save the Day!</title>
<link>http://community.livejournal.com/shlomif_tech/40841.html</link>
<description>&#x3C;p&#x3E;
In my house, we have a Windows XP desktop computer that serves the family
(while I&#x27;m normally using my Linux desktop machine.). A few days ago my father
complained that drive C:\ there, which contains all the programs is almost
completely occupied, and said we need to remove programs from it. Now this
drive is roughly 45 GB in size, so it seemed unlikely to me that it became
entirely full because of the executables.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
I decided to investigate. I switched to my account, started a 
&#x3C;a href=&#x22;http://www.cygwin.com/&#x22;&#x3E;cygwin&#x3C;/a&#x3E; shell,
and ran &#x3C;tt&#x3E;\du . &#x26;gt; ~/du.txt&#x3C;/tt&#x3E; from the C:\. What du does is report the
size of every directory starting from the input path recursively. Then I
ran &#x3C;a href=&#x22;http://www.shlomifish.org/open-source/bits.html#du-output-analyser&#x22;&#x3E;my
du-output-analyser written in Perl to analyse the results&#x3C;/a&#x3E;, and eventually
found out that 20,000,000 (20 million) 1 KB blocks are being occupied by a
directory containing photos. Then I sent a report for my father announcing it.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
This just goes to show how much people who are not familiar with the UNIX
command line and with programming are missing and are much more helpless
than the more clueful UNIX power-users.
&#x3C;/p&#x3E;</description>
<author>Shlomi Fish ( shlomif@iglu.org.il )</author>
<category>analysis</category>
<category>cygwin</category>
<category>perl</category>
<category>disk</category>
<category>du</category>
<category>unix</category>
<category>capacity</category>
<category>windows</category>
<comments>http://community.livejournal.com/shlomif_tech/40841.html</comments>
<guid isPermaLink="true">http://community.livejournal.com/shlomif_tech/40841.html</guid>
<pubDate>Thu, 31 Dec 2009 08:14:13 GMT</pubDate>
</item>
<item>
<title>Vim Tip: Finding the First Non-Matching Line from the Cursor</title>
<link>http://community.livejournal.com/shlomif_tech/40557.html</link>
<description>&#x3C;p&#x3E; 
For a long time I&#x27;ve been viewing and editing vim text files, for example
those of the UNIX find output or of archive contents, that contained many
consecutive lines of similar data. What I wanted to do is find the line where
these consecutive data end where there was something else instead. Among the workarounds
I tried was to jump to the end of the file (using &#x3C;tt&#x3E;G&#x3C;/tt&#x3E;) and then search
backwards for the last matching line (which may not be very reliable). But
a few days ago I decided that I had enough and sought a better way, and
I indeed found one.
&#x3C;/p&#x3E; 

&#x3C;p&#x3E;
You can do it using a negated pattern. If for example you enter
&#x3C;tt&#x3E;/ home\/shlomi\/\(Arcs\/\)\@!&#x3C;/tt&#x3E; you will find the first line that
contains &#x22;home/shlomi&#x22; that is not followed by &#x22;home/shlomi/Arcs/&#x22;.
For information see
&#x3C;a href=&#x22;http://vimdoc.sourceforge.net/htmldoc/pattern.html#/\@!&#x22;&#x3E;&#x3C;tt&#x3E;:help \@!&#x3C;/tt&#x3E;&#x3C;/a&#x3E;.
&#x3C;/p&#x3E;</description>
<author>Shlomi Fish ( shlomif@iglu.org.il )</author>
<category>regular</category>
<category>find</category>
<category>tip</category>
<category>regex</category>
<category>next</category>
<category>tech</category>
<category>tech tip</category>
<category>matching</category>
<category>perl</category>
<category>vim tip</category>
<category>vim</category>
<category>line</category>
<category>expressions</category>
<comments>http://community.livejournal.com/shlomif_tech/40557.html</comments>
<guid isPermaLink="true">http://community.livejournal.com/shlomif_tech/40557.html</guid>
<pubDate>Wed, 30 Dec 2009 16:47:14 GMT</pubDate>
</item>
<item>
<title>KDE 4 Tip for KMail, Kopete, etc.: Right-aligning Text</title>
<link>http://community.livejournal.com/shlomif_tech/40434.html</link>
<description>&#x3C;p&#x3E;
For a long time, I&#x27;ve been bothered by the fact that on the Linux/Unix
KDE 4 desktop on applications such as 
&#x3C;a href=&#x22;http://userbase.kde.org/Kmail&#x22;&#x3E;KMail&#x3C;/a&#x3E;,
and &#x3C;a href=&#x22;http://kopete.kde.org/&#x22;&#x3E;Kopete&#x3C;/a&#x3E;, the Hebrew text was 
left-aligned. I expected it to be right-aligned when it encounters 
a leading right-to-left text, like it was on KDE 3, or now is the case
in Kate (the KDE text editor). However, there is a way to align the text
to the right for display.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
To do so, press Right-Ctrl and Right-Shift on the keyboard (possibly while
selecting the text). Like in Windows. It&#x27;s much better in KMail than in Kopete,
where you have to right-align the text this way after every message. But at
least it makes life with KMail much more bearable. And please try to
reproduce and comment on my 
&#x3C;a href=&#x22;https://bugs.kde.org/show_bug.cgi?id=215397&#x22;&#x3E;&#x22;Hebrew 
Messages are Displayed with Jumpy Margins&#x22; bug in KMail&#x3C;/a&#x3E;.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
Cheers and a happy new calendar year.
&#x3C;/p&#x3E;</description>
<author>Shlomi Fish ( shlomif@iglu.org.il )</author>
<category>bidi</category>
<category>tip</category>
<category>tech</category>
<category>hebrew</category>
<category>rtl</category>
<category>tech tip</category>
<category>right</category>
<category>kde</category>
<category>kmail</category>
<category>align</category>
<category>4</category>
<category>arabic</category>
<category>kopete</category>
<category>qt</category>
<comments>http://community.livejournal.com/shlomif_tech/40434.html</comments>
<guid isPermaLink="true">http://community.livejournal.com/shlomif_tech/40434.html</guid>
<pubDate>Tue, 29 Dec 2009 21:16:15 GMT</pubDate>
</item>
<item>
<title>Freecell Solver 2.38.0 was Released</title>
<link>http://fc-solve.blogspot.com/2009/12/freecell-solver-2380-was-released.html</link>
<description>&#x3C;p&#x3E;
&#x3C;a href=&#x22;http://fc-solve.berlios.de/&#x22;&#x3E;Freecell Solver&#x3C;/a&#x3E; version 2.38.0
has been released. It is available in the form of a source tarball from 
&#x3C;a href=&#x22;http://fc-solve.berlios.de/download.html&#x22;&#x3E;the
    download page&#x3C;/a&#x3E;.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
This is a minor release which makes sure one can build Freecell Solver outside
the source distribution (e.g: &#x3C;tt&#x3E;mkdir build ; cd build ; cmake ..&#x3C;/tt&#x3E;) 
without AsciiDoc, adds a &#x3C;tt&#x3E;--pysfolfc&#x3C;/tt&#x3E; (or an &#x3C;tt&#x3E;-F&#x3C;/tt&#x3E; for short)
flag to make_pysol_freecell_board.py and fixes one of the help displays.
&#x3C;/p&#x3E;&#x3C;div class=&#x22;blogger-post-footer&#x22;&#x3E;&#x3C;img width=&#x27;1&#x27; height=&#x27;1&#x27; src=&#x27;https://blogger.googleusercontent.com/tracker/96099636168698788-7785436137799708630?l=fc-solve.blogspot.com&#x27; alt=&#x27;&#x27; /&#x3E;&#x3C;/div&#x3E;</description>
<author>Shlomi Fish ( shlomif@iglu.org.il )</author>
<category>2.38.0</category>
<category>version</category>
<category>freecell</category>
<category>release</category>
<category>pysol</category>
<category>solving</category>
<category>solver</category>
<category>minor</category>
<category>pysolfc</category>
<category>asciidoc</category>
<guid isPermaLink="false">tag:blogger.com,1999:blog-96099636168698788.post-7785436137799708630</guid>
<pubDate>Tue, 29 Dec 2009 18:54:00 +0000</pubDate>
<atom:updated>2009-12-29T10:55:10.158-08:00</atom:updated>
</item>
<item>
<title>Directory Tree Traversal In Various Languages, C# and a funny IRC conversation</title>
<link>http://community.livejournal.com/shlomif_tech/40163.html</link>
<description>&#x3C;p&#x3E;
While looking for some sample C#/.NET code (more about it below) and doing a 
search I stumbled upon 
&#x3C;a href=&#x22;http://rosettacode.org/wiki/Walk_Directory_Tree&#x22;&#x3E;this
page in Rosetta Code that contains directory tree traversal codes in various
languages&#x3C;/a&#x3E;. I&#x27;ve been meaning to do a comparative blog post comparing
File::Find, File-Find-Object and File-Next to directory tree walking APIs
in other languages, but now it will be easier. Of course, the page is not
perfect - for Perl, it only gives an example using File::Find (guess I&#x27;ll have 
to add the other ones) and in many cases (such as C) it gives a custom,
recursive solution instead of using an API such as libfts. 
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
Still it&#x27;s a pretty cool page. Now I fear I&#x27;ll get the feeling that &#x22;it&#x27;
s already been done and so I shouldn&#x27;t do it&#x22; and so won&#x27;t write that post.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
The reason I was looking for C# information was that one of my Perl programs
ran too slowly. It was written to find a good heuristic for
&#x3C;a href=&#x22;http://fc-solve.berlios.de/&#x22;&#x3E;Freecell Solver&#x3C;/a&#x3E;, and used
&#x3C;a href=&#x22;http://tech.groups.yahoo.com/group/fc-solve-discuss/message/1026&#x22;&#x3E;a 
menial algorithm&#x3C;/a&#x3E;: check the most optimal solution for the first iteration 
with starting quotas between 100 and 1,000; Then using the result, check them
for the second iteration, etc. The Perl program used 
&#x3C;a href=&#x22;http://pdl.perl.org/&#x22;&#x3E;PDL (the Perl Data Language)&#x3C;/a&#x3E;, but: 1. It 
was wrapped in a lot of Perl OO code and 2. it had a lot of pure-Perl 
algorithmic code that I did not figure out how to properly PDLise yet. As
a result, I was looking for a faster language to port it to.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
I originally considered using C, which I know pretty well, but then thought
about trying out C#/.NET using its 
&#x3C;a href=&#x22;http://www.mono-project.com/&#x22;&#x3E;open-source Mono implementation&#x3C;/a&#x3E;.
At the end I spent a day and a bit of the evening beforehand writing 
409 SLOCs of C# code, and 113 SLOCs of testing Perl code for the task
(according
to &#x3C;a href=&#x22;http://www.dwheeler.com/sloccount/&#x22;&#x3E;SLOCCount by David
A. Wheeler&#x3C;/a&#x3E;) and that was after being delayed due to many web searches
to find out how to do a lot of stuff. The reason I wrote the testing code
in Perl was because I lacked the energy to learn NUnit, but now that I think
of it it may be useful to test the original Perl version (which is still
of some utility to me) too.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
At the end of the day, the C# code worked and worked well. Mono programs
start up quickly, and the C# code I wrote ran much more quickly than the
Perl one, which saved me the time of waiting for so long. I think I like C#
so far. It seems much nicer than Java, and with 
less protocols and some syntax niceties and useful APIs and it also
starts up much more quickly. I still find that writing Perl 5 code is quicker,
but if your Perl/CPython/CRuby/etc. code is under-performant, then C# and
.NET would be viable choices. 
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
(I should note that I&#x27;ve still barely scratched the surface here. A 
single-threaded 409-line-strong command-line program is hardly indicative of
any possible advantages or alterantively pitfalls you may run into with 
C# and .NET. But so far what I tried worked and nicely.)
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
And finally, a funny IRC conversation. It&#x27;s been a while since there was
something on Freenode&#x27;s #perl that I found really funny, but now the wait is 
over:
&#x3C;/p&#x3E;

&#x3C;ul&#x3E;
&#x3C;li&#x3E;&#x3C;b&#x3E;Enl&#x3C;/b&#x3E; apeiron: because I write client side (Provider) which sends push messages to the phone and checks for new mail in perl&#x3C;/li&#x3E;

&#x3C;li&#x3E;&#x3C;b&#x3E;rindolf&#x3C;/b&#x3E; Enl: a cellphone?&#x3C;/li&#x3E;

&#x3C;li&#x3E;&#x3C;b&#x3E;apeiron&#x3C;/b&#x3E; No, a rotary POTS phone that&#x27;s capable of receiving email, rindolf.&#x3C;/li&#x3E;

&#x3C;li&#x3E;&#x3C;b&#x3E;Enl&#x3C;/b&#x3E; rindolf: iphone, yep&#x3C;/li&#x3E;

&#x3C;li&#x3E;&#x3C;b&#x3E;rindolf&#x3C;/b&#x3E; apeiron: :-) apeiron++&#x3C;/li&#x3E;

&#x3C;li&#x3E;&#x3C;b&#x3E;rindolf&#x3C;/b&#x3E; apeiron: I want a phone like that!&#x3C;/li&#x3E;

&#x3C;li&#x3E;&#x3C;b&#x3E;rindolf&#x3C;/b&#x3E; apeiron: do you sell them?&#x3C;/li&#x3E;

&#x3C;li&#x3E;&#x3C;b&#x3E;apeiron&#x3C;/b&#x3E; rindolf, Yes, and I have some oceanfront property for you, too.&#x3C;/li&#x3E;

&#x3C;li&#x3E;&#x3C;b&#x3E;rindolf&#x3C;/b&#x3E; apeiron: would you accept some of my copious gold bars in return?&#x3C;/li&#x3E;

&#x3C;li&#x3E;&#x3C;b&#x3E;apeiron&#x3C;/b&#x3E; rindolf, No. I only deal in Latinum!&#x3C;/li&#x3E;

&#x3C;li&#x3E;&#x3C;b&#x3E;rindolf&#x3C;/b&#x3E; apeiron: Latinum.&#x3C;/li&#x3E;

&#x3C;li&#x3E;&#x3C;b&#x3E;rindolf&#x3C;/b&#x3E; apeiron: gold-pressed Latinum?&#x3C;/li&#x3E;

&#x3C;li&#x3E;&#x3C;b&#x3E;apeiron&#x3C;/b&#x3E; yes.&#x3C;/li&#x3E;

&#x3C;li&#x3E;&#x3C;b&#x3E;rindolf&#x3C;/b&#x3E; apeiron: I only have silver-pressed Latinum.&#x3C;/li&#x3E;

&#x3C;li&#x3E;&#x3C;b&#x3E;Enl&#x3C;/b&#x3E; rindolf: get an iPhone, lol&#x3C;/li&#x3E;

&#x3C;li&#x3E;&#x3C;b&#x3E;rindolf&#x3C;/b&#x3E; apeiron: would you accept LeoNerd and nanonyme as substitutes ? You can sell them for mucho Latinum.&#x3C;/li&#x3E;

&#x3C;li&#x3E;&#x3C;b&#x3E;apeiron&#x3C;/b&#x3E; heh&#x3C;/li&#x3E;

&#x3C;li&#x3E;&#x3C;b&#x3E;rindolf&#x3C;/b&#x3E; Enl: iPhones are worthless.&#x3C;/li&#x3E;

&#x3C;li&#x3E;&#x3C;i&#x3E;* rindolf conspires to steal the ApeironPhones.&#x3C;/i&#x3E;&#x3C;/li&#x3E;
&#x3C;li&#x3E;&#x3C;b&#x3E;rindolf&#x3C;/b&#x3E; I didn&#x27;t say I was honest.&#x3C;/li&#x3E;

&#x3C;li&#x3E;&#x3C;i&#x3E;* apeiron jealously guards his G1&#x3C;/i&#x3E;&#x3C;/li&#x3E;
&#x3C;li&#x3E;&#x3C;b&#x3E;Enl&#x3C;/b&#x3E; rindolf: now really&#x3C;/li&#x3E;

&#x3C;li&#x3E;&#x3C;b&#x3E;rindolf&#x3C;/b&#x3E; Enl: you should get an ApeironPhone too.&#x3C;/li&#x3E;

&#x3C;li&#x3E;&#x3C;b&#x3E;rindolf&#x3C;/b&#x3E; Enl: chicks love it.&#x3C;/li&#x3E;

&#x3C;li&#x3E;&#x3C;b&#x3E;apeiron&#x3C;/b&#x3E; what&#x3C;/li&#x3E;

&#x3C;li&#x3E;&#x3C;b&#x3E;Enl&#x3C;/b&#x3E; rindolf: pff, chicks dont matter&#x3C;/li&#x3E;

&#x3C;li&#x3E;&#x3C;b&#x3E;rindolf&#x3C;/b&#x3E; I would kill for an ApeironPhone!&#x3C;/li&#x3E;

&#x3C;li&#x3E;&#x3C;b&#x3E;Su-Shee&#x3C;/b&#x3E; ahaem?&#x3C;/li&#x3E;

&#x3C;li&#x3E;&#x3C;i&#x3E;* rindolf kills Su-Shee and takes her ApeironPhone.&#x3C;/i&#x3E;&#x3C;/li&#x3E;
&#x3C;li&#x3E;&#x3C;b&#x3E;apeiron&#x3C;/b&#x3E; ...&#x3C;/li&#x3E;

&#x3C;li&#x3E;&#x3C;b&#x3E;apeiron&#x3C;/b&#x3E; wtf.&#x3C;/li&#x3E;

&#x3C;li&#x3E;&#x3C;b&#x3E;go|dfish&#x3C;/b&#x3E; hahaha&#x3C;/li&#x3E;

&#x3C;li&#x3E;&#x3C;i&#x3E;* rindolf uses his RindolfMindReading&#x2122; to see who else has an ApeironPhone.&#x3C;/i&#x3E;&#x3C;/li&#x3E;

&#x3C;li&#x3E;&#x3C;b&#x3E;apeiron&#x3C;/b&#x3E; Put down the acid, Shlomi. o.o&#x3C;/li&#x3E;

&#x3C;li&#x3E;&#x3C;b&#x3E;huf&#x3C;/b&#x3E; like that&#x27;ll help&#x3C;/li&#x3E;

&#x3C;li&#x3E;&#x3C;b&#x3E;huf&#x3C;/b&#x3E; he&#x27;s still got ~8 hrs on it&#x3C;/li&#x3E;

&#x3C;li&#x3E;&#x3C;b&#x3E;Su-Shee&#x3C;/b&#x3E; rindolf: I have an apeiron-phone?&#x3C;/li&#x3E;

&#x3C;li&#x3E;&#x3C;b&#x3E;rindolf&#x3C;/b&#x3E; Su-Shee: you had one.&#x3C;/li&#x3E;

&#x3C;li&#x3E;&#x3C;b&#x3E;rindolf&#x3C;/b&#x3E; Su-Shee: before you died.&#x3C;/li&#x3E;
&#x3C;/ul&#x3E;       

&#x3C;p&#x3E;
Hope you enjoyed this entry.
&#x3C;/p&#x3E;</description>
<author>Shlomi Fish ( shlomif@iglu.org.il )</author>
<category>find</category>
<category>dot-net</category>
<category>ffo</category>
<category>apeiron phone</category>
<category>humor</category>
<category>object</category>
<category>irc</category>
<category>file-find-object</category>
<category>mono</category>
<category>file</category>
<category>funny</category>
<category>c-sharp</category>
<category>humour</category>
<category>traversal</category>
<category>perl directory</category>
<category>rosetta code</category>
<category>joke</category>
<comments>http://community.livejournal.com/shlomif_tech/40163.html</comments>
<guid isPermaLink="true">http://community.livejournal.com/shlomif_tech/40163.html</guid>
<pubDate>Sat, 26 Dec 2009 20:33:11 GMT</pubDate>
</item>
<item>
<title>New Text for &#x22;the Blue Rabbit&#x27;s Log&#x22;, The Parable of the Elephant in the Circus, Directory of Numeri</title>
<link>http://community.livejournal.com/shlomif_hsite/13575.html</link>
<description>&#x3C;p&#x3E;
New text was added to &#x3C;a href=&#x22;http://www.shlomifish.org/humour/Blue-Rabbit-Log/part-1.html&#x22;&#x3E;the Blue Rabbit Log screenplay&#x3C;/a&#x3E;:
&#x3C;/p&#x3E;

&#x3C;blockquote&#x3E;
&#x3C;p&#x3E;
[
A crowded pub in the role-played world. The Blue Rabbits enter.
]
&#x3C;/p&#x3E;
&#x3C;p&#x3E;&#x3C;strong class=&#x22;sayer&#x22;&#x3E;Clover:&#x3C;/strong&#x3E; OK, now that our horses are in the stable, we can get some rest. &#x3C;span class=&#x22;inlinedesc&#x22;&#x3E;[Hands
some coins to the pub-man]&#x3C;/span&#x3E; Meals and drinks for the six of us.

&#x3C;/p&#x3E;
&#x3C;p&#x3E;&#x3C;strong class=&#x22;sayer&#x22;&#x3E;Guy sitting on a stool at the bar (Guy #1):&#x3C;/strong&#x3E; hey, I think I recognise you. You&#x27;re The
Blue Rabbit Adventuring company, right?
&#x3C;/p&#x3E;
&#x3C;p&#x3E;&#x3C;strong class=&#x22;sayer&#x22;&#x3E;Clover:&#x3C;/strong&#x3E; yes, we are. &#x3C;span class=&#x22;inlinedesc&#x22;&#x3E;[does a rudimentary bow]&#x3C;/span&#x3E; Clover, at your service!

&#x3C;/p&#x3E;
&#x3C;p&#x3E;&#x3C;strong class=&#x22;sayer&#x22;&#x3E;Guy #1:&#x3C;/strong&#x3E; hell, I ain&#x27;t need your service!
&#x3C;/p&#x3E;
&#x3C;p&#x3E;&#x3C;strong class=&#x22;sayer&#x22;&#x3E;Guy #2:&#x3C;/strong&#x3E; yeah, we don&#x27;t need no adventurers&#x27; service here.

&#x3C;/p&#x3E;
&#x3C;p&#x3E;&#x3C;strong class=&#x22;sayer&#x22;&#x3E;Guy #1:&#x3C;/strong&#x3E; yeah, problem with adventurers - they are trouble makers. They create
troubles where none exist before so they can solve them later.
&#x3C;/p&#x3E;
&#x3C;p&#x3E;&#x3C;strong class=&#x22;sayer&#x22;&#x3E;Guy #2:&#x3C;/strong&#x3E; yeah! &#x3C;span class=&#x22;inlinedesc&#x22;&#x3E;[and he shakes mugs 
with Guy #1]&#x3C;/span&#x3E;
&#x3C;/p&#x3E;
&#x3C;/blockquote&#x3E;

&#x3C;p&#x3E;
The &#x3C;a href=&#x22;http://www.shlomifish.org/art/&#x22;&#x3E;Computer Art page&#x3C;/a&#x3E;
was made more semantic and accessible.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
I added &#x3C;a href=&#x22;http://www.shlomifish.org/open-source/contributions/#mandriva&#x22;&#x3E;my
    contributions to Mandriva&#x3C;/a&#x3E; to the &#x22;Contributions Made to External
Open-Source Projects&#x22; page.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
A
&#x3C;a href=&#x22;http://www.shlomifish.org/open-source/resources/numerical-software/&#x22;&#x3E;new
mini-directory of prominent Numerical Software&#x3C;/a&#x3E; (currently heavily 
incomplete) has been added to 
&#x3C;a href=&#x22;http://www.shlomifish.org/open-source/resources/&#x22;&#x3E;Open Source 
resources section&#x3C;/a&#x3E;. 
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
The &#x3C;a href=&#x22;http://www.shlomifish.org/humour/fortunes/shlomif.html&#x22;&#x3E;&#x22;shlomif&#x22;
collection of fortunes&#x3C;/a&#x3E; which was getting very big and out of control
has span-out
&#x3C;a href=&#x22;http://www.shlomifish.org/humour/fortunes/sharp-perl.html&#x22;&#x3E;the
Freenode #perl fortune cookies&#x3C;/a&#x3E;
and 
&#x3C;a href=&#x22;http://www.shlomifish.org/humour/fortunes/sharp-programming.html&#x22;&#x3E;the
Freenode ##programming fortune cookies&#x3C;/a&#x3E;. There are some new fortunes there.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
I added the text of 
&#x3C;a href=&#x22;http://www.shlomifish.org/philosophy/psychology/elephant-in-the-circus/&#x22;&#x3E;the parable of the Elephant in the Circus&#x3C;/a&#x3E;:
&#x3C;/p&#x3E;

&#x3C;blockquote&#x3E;
&#x3C;p&#x3E;
I once walked to a circus and saw a huge elephant tied to a small poll with a
rope, just standing there. So I wondered why is the elephant so obedient and
doesn&#x27;t break away from the stick with all of its enormous strength and mass.
So they told me this story: once when the elephant was very young, it was tied
to the pole the same way. Naturally, it didn&#x27;t like that and tried to escape,
but try as it might, the rope and the pole were too strong for it. So the
elephant eventually gave up. 
&#x3C;/p&#x3E;
&#x3C;/blockquote&#x3E;

&#x3C;p&#x3E;
Finally, the section navigation menus of the various sections are now 
formatted in a nice, expandable, GUI-like tree (assuming JavaScript is 
enabled). If JavaScript is not enabled, there&#x27;s a standard HTML fallback. This
is thanks to 
&#x3C;a href=&#x22;http://bassistance.de/jquery-plugins/jquery-plugin-treeview/&#x22;&#x3E;jQuery
    TreeView Plugin&#x3C;/a&#x3E;
&#x3C;/p&#x3E;</description>
<author>Shlomi Fish ( shlomif@iglu.org.il )</author>
<category>blue</category>
<category>parody</category>
<category>circus</category>
<category>www</category>
<category>navigation</category>
<category>site</category>
<category>elephant</category>
<category>fish</category>
<category>tree</category>
<category>log</category>
<category>screenplay</category>
<category>treeview</category>
<category>javascript ads</category>
<category>web</category>
<category>homepage</category>
<category>numerical</category>
<category>menu</category>
<category>frpg</category>
<category>cookies</category>
<category>parable</category>
<category>mandriva</category>
<category>shlomi</category>
<category>freenode</category>
<category>fortune</category>
<category>#perl</category>
<category>rabbit</category>
<category>role playing games</category>
<category>frp</category>
<category>jquery</category>
<category>software</category>
<category>rpg</category>
<comments>http://community.livejournal.com/shlomif_hsite/13575.html</comments>
<guid isPermaLink="true">http://community.livejournal.com/shlomif_hsite/13575.html</guid>
<pubDate>Mon, 14 Dec 2009 21:00:13 GMT</pubDate>
</item>
<item>
<title>Human Rights March in Tel Aviv</title>
<link>http://shlomif.livejournal.com/61403.html</link>
<description>&#x3C;p&#x3E;
There will be &#x3C;a href=&#x22;http://noway.org.il/&#x22;&#x3E;a human rights march in Tel 
Aviv this Friday (11-December-2009)&#x3C;/a&#x3E; (here&#x27;s some 
&#x3C;a href=&#x22;http://noway.org.il/?page_id=81&#x22;&#x3E;information in English&#x3C;/a&#x3E;). I
was asked to publicise it, and I may attend too.
&#x3C;/p&#x3E;</description>
<author>Shlomi Fish ( shlomif@iglu.org.il )</author>
<comments>http://shlomif.livejournal.com/61403.html</comments>
<guid isPermaLink="true">http://shlomif.livejournal.com/61403.html</guid>
<pubDate>Wed, 09 Dec 2009 17:04:57 GMT</pubDate>
</item>
<item>
<title>Freecell Solver 2.36.0 was Released</title>
<link>http://fc-solve.blogspot.com/2009/11/freecell-solver-2360-was-released.html</link>
<description>&#x3C;p&#x3E;
&#x3C;a href=&#x22;http://fc-solve.berlios.de/&#x22;&#x3E;Freecell Solver&#x3C;/a&#x3E; version 2.36.0
has been released. It is available in the form of a source tarball from 
&#x3C;a href=&#x22;http://fc-solve.berlios.de/download.html&#x22;&#x3E;the
    download page&#x3C;/a&#x3E;.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
The main highlight of this release is that the plaintext documentation that
was part of the source distribution were converted to 
&#x3C;a href=&#x22;http://www.methods.co.nz/asciidoc/&#x22;&#x3E;AsciiDoc&#x3C;/a&#x3E;, a lightweight
markup language that allows the plaintext and human-readable sources to
be converted to HTML, to DocBook/XML, to PDF and to other formats. As
a result, they are now also available online in HTML formats.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
Furthermore, the process for getting the test suite and benchmarking process 
up and running were considerably simplified, thanks to the input received 
by &#x3C;a href=&#x22;http://pythack.com/&#x22;&#x3E;Dimitri Leca (Pythack)&#x3C;/a&#x3E;. 
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
Finally, there are some other more minor improvements. This release has 
been delayed quite a bit due to some neglect on the part of the main
maintainer, but we hope you find what&#x27;s new satisfying enough. Happy solving!
&#x3C;/p&#x3E;&#x3C;div class=&#x22;blogger-post-footer&#x22;&#x3E;&#x3C;img width=&#x27;1&#x27; height=&#x27;1&#x27; src=&#x27;https://blogger.googleusercontent.com/tracker/96099636168698788-669809752179112214?l=fc-solve.blogspot.com&#x27; alt=&#x27;&#x27; /&#x3E;&#x3C;/div&#x3E;</description>
<author>Shlomi Fish ( shlomif@iglu.org.il )</author>
<category>xhtml</category>
<category>documentation</category>
<category>release</category>
<category>solving</category>
<category>version</category>
<category>freecell</category>
<category>docbook</category>
<category>pdf</category>
<category>xml</category>
<category>2.36.0</category>
<category>solver</category>
<category>html</category>
<category>asciidoc</category>
<guid isPermaLink="false">tag:blogger.com,1999:blog-96099636168698788.post-669809752179112214</guid>
<pubDate>Fri, 27 Nov 2009 19:27:00 +0000</pubDate>
<atom:updated>2009-11-27T11:28:39.107-08:00</atom:updated>
</item>
<item>
<title>Why Chinese May Not Become the Next International Language?</title>
<link>http://shlomif.livejournal.com/61082.html</link>
<description>&#x3C;p&#x3E;
A lot of people I&#x27;ve talked about have been thinking that if and when China
becomes the next superpower, then Chinese will displace English as the next
international language (or 
&#x3C;a href=&#x22;http://en.wikipedia.org/wiki/Lingua_franca&#x22;&#x3E;Lingue Franca&#x3C;/a&#x3E;, which
is a common second, non-mother language). People say: &#x22;before English, there
was French, and before that, people used Latin&#x22;, so it&#x27;s possible English
will be displaced too. 
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
This is all well and sound, but there is some historical evidence
that shows that often the local (or in our case - global) superpower has
displaced another while the lingua franca has not changed. As a result, it is
not certain that English will be displaced by Chinese even if China becomes
more dominant.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
For example, 
&#x3C;a href=&#x22;http://en.wikipedia.org/wiki/Aramaic_language&#x22;&#x3E;Aramaic&#x3C;/a&#x3E; was
used as the lingua franca in the Near East during the reign of several
empires:
&#x3C;/p&#x3E;

&#x3C;ol&#x3E;

&#x3C;li&#x3E;
&#x3C;a href=&#x22;http://en.wikipedia.org/wiki/Neo-Assyrian_Empire&#x22;&#x3E;The 
Assyrian empire&#x3C;/a&#x3E; - in 
&#x3C;a href=&#x22;http://www.mechon-mamre.org/p/pt/pt09b18.htm&#x22;&#x3E;the 
Old Testament&#x3C;/a&#x3E;, the Jewish diplomats ask the Assyrian diplomat who came to 
Jerusalem to speak &#x22;Aramaic&#x22; instead of &#x22;Jehudan&#x22;, so the rest of the Jeudans
won&#x27;t understand.
&#x3C;/li&#x3E;

&#x3C;li&#x3E;
&#x3C;a href=&#x22;http://en.wikipedia.org/wiki/Chaldea&#x22;&#x3E;The Chaldean Empire&#x3C;/a&#x3E;
(also known as &#x3C;a href=&#x22;http://en.wikipedia.org/wiki/Neo-Babylonian_Empire&#x22;&#x3E;the
Neo-Babylonian Empire&#x3C;/a&#x3E;). After being exiled to 
&#x3C;a href=&#x22;http://en.wikipedia.org/wiki/Mesopotamia&#x22;&#x3E;Mesophotomia&#x3C;/a&#x3E;, the
Judeans interacted with their non-Judean peers in Aramaic, which they retained
after some of them returned to Judea.
&#x3C;/li&#x3E;

&#x3C;li&#x3E;
&#x3C;a href=&#x22;http://en.wikipedia.org/wiki/Persian_empire&#x22;&#x3E;The Persian Empire&#x3C;/a&#x3E;.
&#x3C;/li&#x3E;

&#x3C;li&#x3E;
&#x3C;a href=&#x22;http://en.wikipedia.org/wiki/Hellenistic_period&#x22;&#x3E;The Hellenistic Period&#x3C;/a&#x3E;
&#x3C;/li&#x3E;

&#x3C;li&#x3E;
Aramaic was also spoken at the simultaneous times of The Roman Empire, the
&#x3C;a href=&#x22;http://en.wikipedia.org/wiki/Parthian_Empire&#x22;&#x3E;Parthian empire&#x3C;/a&#x3E;
and the Persian empires. Jesus and his disciples used Aramaic as their
native tongue, and it was also extensively used for writing
&#x3C;a href=&#x22;http://en.wikipedia.org/wiki/Talmud&#x22;&#x3E;the Talmud&#x3C;/a&#x3E;.
&#x3C;/li&#x3E;

&#x3C;/ol&#x3E;

&#x3C;p&#x3E;
Greek was similarly extensively used after the end of the Hellenistic Period,
well into the middle ages.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
I can also think of some reasons which will make it difficult for Chinese
to displace English:
&#x3C;/p&#x3E;

&#x3C;ol&#x3E;

&#x3C;li&#x3E;
&#x3C;p&#x3E;
Chinese does not have an alphabet, but instead is using 
&#x3C;a href=&#x22;http://en.wikipedia.org/wiki/Chinese_character&#x22;&#x3E;a complex 
logogram&#x3C;/a&#x3E; which contains thousands of glyphs that are hard to learn and
memorise, especially for adults.
&#x3C;/p&#x3E;
&#x3C;p&#x3E;
Furthermore, from what someone once told me, that still does not make Chinese 
books shorter, as they tend to be roughly the same length as their English 
originals.
&#x3C;/p&#x3E;
&#x3C;/li&#x3E;

&#x3C;li&#x3E;
&#x3C;p&#x3E;
Chinese has a poor selection of 
&#x3C;a href=&#x22;http://en.wikipedia.org/wiki/Grammatical_tense&#x22;&#x3E;grammatical 
tenses&#x3C;/a&#x3E;. Whereas English has &#x22;to go&#x22;, &#x22;went&#x22;, &#x22;is going&#x22;, &#x22;was going&#x22;,
&#x22;going&#x22;, &#x22;go!&#x22; and also distinguishes between singular, plural and first,
second and third person, Chinese only has one form for all of these. While,
they have some optional modifiers, they tend not to use them. That may make
Chinese poorly expressive for today&#x27;s needs. 
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
A Chinese correspondent told me that Chinese people tend not to think of time
a lot, in a classic 
&#x3C;a href=&#x22;http://en.wikipedia.org/wiki/Linguistic_relativity&#x22;&#x3E;Sapir-Whorf sense&#x3C;/a&#x3E;.
&#x3C;/p&#x3E;
&#x3C;/li&#x3E;

&#x3C;li&#x3E;
&#x3C;p&#x3E;
China has many English speakers, though their English often tends to not be
very good. I was told it is the country with the largest number of English
speakers in the world (by volume), but naturally, this will require a 
citation.
&#x3C;/p&#x3E;
&#x3C;/li&#x3E;
&#x3C;/ol&#x3E;

&#x3C;p&#x3E;
So I think that for better or for worse, Chinese will not displace English
as the international language, regardless of how much some 
people think it is likely to happen. 
&#x3C;/p&#x3E;</description>
<author>Shlomi Fish ( shlomif@iglu.org.il )</author>
<comments>http://shlomif.livejournal.com/61082.html</comments>
<guid isPermaLink="true">http://shlomif.livejournal.com/61082.html</guid>
<pubDate>Sat, 21 Nov 2009 19:29:45 GMT</pubDate>
</item>
<item>
<title>Second Revision of &#x22;Create a Great Personal Home Site&#x22;</title>
<link>http://community.livejournal.com/shlomif_hsite/13361.html</link>
<description>&#x3C;p&#x3E;
The &#x3C;a href=&#x22;http://www.shlomifish.org/philosophy/computers/web/create-a-great-personal-homesite/rev2.html&#x22;&#x3E;second 
    revision of the essay &#x22;Create a Great Personal Home Site&#x22;&#x3C;/a&#x3E; has now
been finally published and is available for public viewing:
&#x3C;/p&#x3E;

&#x3C;blockquote&#x3E;

&#x3C;p&#x3E;
It&#x27;s amazing how much has changed since I&#x27;ve published this article
a few years ago. The most important trend was probably that personal blogs
seem to have become much more prevalent than personal web-sites up to
the point that some people referred to www.shlomifish.org as a blog. I have
been annoyed at this to some extent, and even wrote 
&#x3C;a href=&#x22;$(ROOT)/philosophy/computers/web/homepage-vs-blog/&#x22;&#x3E;an entire
essay about the distinction between a home page and a blog&#x3C;/a&#x3E; and why
this homepage is not a blog. 
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
Nevertheless, as &#x3C;a href=&#x22;$(ROOT)/me/blogs/&#x22;&#x3E;an
active blogger&#x3C;/a&#x3E;, it&#x27;s not that I hate blogs or try to underrate them -
it&#x27;s just that I think that I invest more effort and rigour in writing
articles or essays on my home page, than I do on the various random stuff
I post to my blogs. (Or to other similar public channels, such as mailing 
lists, web forums, comments on other people&#x27;s blogs, etc.). I also feel that
it is easier to find posts on my personal web-site than on most people&#x27;s
blogs.
&#x3C;/p&#x3E;

&#x3C;/blockquote&#x3E;</description>
<author>Shlomi Fish ( shlomif@iglu.org.il )</author>
<category>home</category>
<category>www</category>
<category>homesite</category>
<category>blogs</category>
<category>site</category>
<category>fish</category>
<category>flash</category>
<category>create</category>
<category>xhtml</category>
<category>web</category>
<category>homepage</category>
<category>articles</category>
<category>html</category>
<category>essay</category>
<category>blog</category>
<category>personal</category>
<category>shlomi</category>
<category>great</category>
<category>article</category>
<category>essays</category>
<comments>http://community.livejournal.com/shlomif_hsite/13361.html</comments>
<guid isPermaLink="true">http://community.livejournal.com/shlomif_hsite/13361.html</guid>
<pubDate>Thu, 19 Nov 2009 20:05:57 GMT</pubDate>
</item>
<item>
<title>New Material for the Stories and a Page for the XML-Grammar Project</title>
<link>http://community.livejournal.com/shlomif_hsite/13181.html</link>
<description>&#x3C;p&#x3E;
The texts of the lists of stories and their descriptions in the 
&#x3C;a href=&#x22;http://www.shlomifish.org/humour/&#x22;&#x3E;Humour page&#x3C;/a&#x3E; and its
&#x3C;a href=&#x22;http://www.shlomifish.org/humour/stories/&#x22;&#x3E;Stories section&#x3C;/a&#x3E;
were merged, updated and enhanced.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
There are new
&#x3C;a href=&#x22;http://www.shlomifish.org/humour/bits/facts/Chuck-Norris/&#x22;&#x3E;Chuck
    Norris Factoids&#x3C;/a&#x3E;:
&#x3C;/p&#x3E;

&#x3C;blockquote&#x3E;
    &#x3C;p&#x3E;
    Chuck Norris is the greatest man in history. He killed all the
    great men who could ever pose a competition. 
    &#x3C;/p&#x3E;
&#x3C;/blockquote&#x3E;

&#x3C;p&#x3E;
There&#x27;s also a new 
&#x3C;a href=&#x22;http://www.shlomifish.org/humour/bits/facts/XSLT/&#x22;&#x3E;factoid 
    about XSLT&#x3C;/a&#x3E;:
&#x3C;/p&#x3E;

&#x3C;blockquote&#x3E;
    &#x3C;p&#x3E;
    http://en.wikipedia.org/wiki/Evil redirects to XSLT.
    &#x3C;/p&#x3E;
&#x3C;/blockquote&#x3E;

&#x3C;p&#x3E;
The text of &#x3C;a href=&#x22;http://www.shlomifish.org/humour/Pope/&#x22;&#x3E;&#x3C;b&#x3E;&#x22;The
        Pope Died on Sunday&#x22;&#x3C;/b&#x3E;&#x3C;/a&#x3E; was converted to XML-Grammar-Fiction (see below)
and was continued a little. The story is written in Hebrew, and there is still
no English translation.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
The original
&#x3C;a href=&#x22;http://www.shlomifish.org/humour/Blue-Rabbit-Log/&#x22;&#x3E;screenplay
    &#x3C;b&#x3E;&#x22;The Blue Rabbit&#x27;s Log&#x22;&#x3C;/b&#x3E;&#x3C;/a&#x3E; has new text and its ideas page has
also been updated:
&#x3C;/p&#x3E;

&#x3C;blockquote&#x3E;
    &#x3C;p&#x3E;
    [ Mordox disappears. The Blue Rabbits arrive. Bryte sees Galku who
    tries to look innocent, but Bryte rushes to him and lifts him up in
    the air.  ]
    &#x3C;/p&#x3E;
    &#x3C;p&#x3E;&#x3C;strong class=&#x22;sayer&#x22;&#x3E;Clover:&#x3C;/strong&#x3E; you, where&#x27;s Mordox? Tell us 
    what you know!&#x3C;/p&#x3E;

    &#x3C;p&#x3E;&#x3C;strong class=&#x22;sayer&#x22;&#x3E;Galku:&#x3C;/strong&#x3E; What are you looking at me? I&#x27;m 
    completely innocent!
    &#x3C;/p&#x3E;
    &#x3C;p&#x3E;&#x3C;strong class=&#x22;sayer&#x22;&#x3E;Galku:&#x3C;/strong&#x3E; See no incredible selfishness and
    total in-consideration of everybody
    else&#x27;s welfare and interests. Hear no incredible selfishness and total
    in-consideration of everybody else&#x27;s welfare and interests.
    &#x3C;/p&#x3E;
    &#x3C;p&#x3E;&#x3C;strong class=&#x22;sayer&#x22;&#x3E;Bryte:&#x3C;/strong&#x3E; you mean &#x22;See no evil - hear 
    no evil&#x22;?&#x3C;/p&#x3E;
    &#x3C;p&#x3E;&#x3C;strong class=&#x22;sayer&#x22;&#x3E;Galku:&#x3C;/strong&#x3E; I knew it was a good definition.
    &#x3C;/p&#x3E;

&#x3C;/blockquote&#x3E;

&#x3C;p&#x3E;
There&#x27;s also some new text in 
&#x3C;a href=&#x22;http://www.shlomifish.org/humour/Star-Trek/We-the-Living-Dead/&#x22;&#x3E;Star 
    Trek: &#x3C;b&#x3E;&#x22;We, the Living Dead&#x22;&#x3C;/b&#x3E;&#x3C;/a&#x3E;:
&#x3C;/p&#x3E;

&#x3C;blockquote&#x3E;
    &#x3C;p&#x3E;
    [ Katie is sitting on a table in DS9. She is busy writing something on a
    qwerty-like keyboard attached to a small text pad. Jake approaches her. ]
    &#x3C;/p&#x3E;
    &#x3C;p&#x3E;&#x3C;strong class=&#x22;sayer&#x22;&#x3E;Jake:&#x3C;/strong&#x3E; Katie, oh there you are. I thought
    that OTF-1 left DS9 already.
    &#x3C;/p&#x3E;
    &#x3C;p&#x3E;&#x3C;strong class=&#x22;sayer&#x22;&#x3E;Katie:&#x3C;/strong&#x3E; yes, it did, I&#x27;m still
    technically working for them.
    &#x3C;/p&#x3E;
    &#x3C;p&#x3E;&#x3C;strong class=&#x22;sayer&#x22;&#x3E;Jake:&#x3C;/strong&#x3E; really, how?
    &#x3C;/p&#x3E;
    &#x3C;p&#x3E;&#x3C;strong class=&#x22;sayer&#x22;&#x3E;Katie:&#x3C;/strong&#x3E; with the marvels of technology:
    remote access and Q-ness.
    &#x3C;/p&#x3E;
    &#x3C;p&#x3E;&#x3C;strong class=&#x22;sayer&#x22;&#x3E;Jake:&#x3C;/strong&#x3E; Q-ness?

    &#x3C;/p&#x3E;
    &#x3C;p&#x3E;&#x3C;strong class=&#x22;sayer&#x22;&#x3E;Katie:&#x3C;/strong&#x3E; yes, check this out.
    &#x3C;/p&#x3E;
    &#x3C;p&#x3E;
    [ Katie stands up, makes a gesture with her hand. A portal appears near the 
    ground showing a different part of DS9. She steps into it, and the portal 
    closes. A few moments later, a normal Star-Trek door opens and Katie steps 
    out of it. ]
    &#x3C;/p&#x3E;

    &#x3C;p&#x3E;&#x3C;strong class=&#x22;sayer&#x22;&#x3E;Katie:&#x3C;/strong&#x3E; tada!&#x3C;/p&#x3E;
    &#x3C;p&#x3E;&#x3C;strong class=&#x22;sayer&#x22;&#x3E;Jake:&#x3C;/strong&#x3E; wow! So you are now &#x22;Qatie&#x22; with a 
    Q?&#x3C;/p&#x3E;
    &#x3C;p&#x3E;&#x3C;strong class=&#x22;sayer&#x22;&#x3E;Katie:&#x3C;/strong&#x3E; Qatie 
    &#x3C;span class=&#x22;inlinedesc&#x22;&#x3E;[with a 
        &#x3C;a href=&#x22;http://en.wikipedia.org/wiki/Qoph&#x22;&#x3E;Qoph&#x3C;/a&#x3E; sound]&#x3C;/span&#x3E;
    heh, I like it.&#x3C;/p&#x3E;
&#x3C;/blockquote&#x3E;

&#x3C;p&#x3E;
&#x3C;a href=&#x22;http://www.shlomifish.org/humour/fortunes/&#x22;&#x3E;The XML sources of the
    &#x3C;b&#x3E;fortunes cookie files&#x3C;/b&#x3E;&#x3C;/a&#x3E; are now viewable as HTML from the web, and 
naturally, there are newer entries.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
There&#x27;s &#x3C;a href=&#x22;http://www.shlomifish.org/art/slogans/#wdym&#x22;&#x3E;a new design
for graphics&#x3C;/a&#x3E;
based on an old aphorism of me.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
There&#x27;s now a 
&#x3C;a href=&#x22;http://www.shlomifish.org/open-source/projects/XML-Grammar/&#x22;&#x3E;page for
    the Web-CPAN &#x3C;b&#x3E;XML-Grammar&#x3C;/b&#x3E; meta-project&#x3C;/a&#x3E;, which aims to create 
re-usable XML grammars and related tools for various purposes, and there&#x27;s a
page for
&#x3C;a href=&#x22;http://www.shlomifish.org/open-source/projects/XML-Grammar/Fiction/&#x22;&#x3E;the
    XML-Grammar-Fiction module&#x3C;/a&#x3E; for writing works of prose.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
The page design and layout were slightly improved with some important
links at the bottom (Web 2.0-style), old cruft removed from the left side
bar, and other changes. 
&#x3C;/p&#x3E;</description>
<author>Shlomi Fish ( shlomif@iglu.org.il )</author>
<category>facts</category>
<category>home</category>
<category>www</category>
<category>homesite</category>
<category>site</category>
<category>humour</category>
<category>fish</category>
<category>stories</category>
<category>norris</category>
<category>web</category>
<category>homepage</category>
<category>xml</category>
<category>cpanhq</category>
<category>grammar</category>
<category>perl</category>
<category>chuck</category>
<category>shlomi</category>
<category>screenplays</category>
<category>humor</category>
<category>fiction</category>
<category>web fiction</category>
<comments>http://community.livejournal.com/shlomif_hsite/13181.html</comments>
<guid isPermaLink="true">http://community.livejournal.com/shlomif_hsite/13181.html</guid>
<pubDate>Fri, 13 Nov 2009 13:21:31 GMT</pubDate>
</item>
<item>
<title>Open Letter to the Government (Resend): Drug Legalisation</title>
<link>http://shlomif.livejournal.com/60773.html</link>
<description>&#x3C;p&#x3E;
(English translation follows)
&#x3C;/p&#x3E;

&#x3C;div dir=&#x22;rtl&#x22; align=&#x22;right&#x22;&#x3E;
&#x3C;p&#x3E;
(&#x5DE;&#x5DB;&#x5EA;&#x5D1; &#x5D6;&#x5D4; &#x5DE;&#x5D9;&#x5D5;&#x5E2;&#x5D3; &#x5DC;&#x5E8;&#x5D0;&#x5E9; &#x5D4;&#x5DE;&#x5DE;&#x5E9;&#x5DC;&#x5D4;, &#x5DE;&#x5E8; &#x5D1;&#x5E0;&#x5D9;&#x5DE;&#x5D9;&#x5DF; &#x5E0;&#x5EA;&#x5E0;&#x5D9;&#x5D4;&#x5D5; &#x5D5;&#x5DC;&#x5E9;&#x5E8; &#x5DC;&#x5D1;&#x5D8;&#x5D7;&#x5D5;&#x5DF;-&#x5D4;&#x5E4;&#x5E0;&#x5D9;&#x5DD;, &#x5DE;&#x5E8; &#x5D9;&#x5E6;&#x5D7;&#x5E7; 
&#x5D0;&#x5D4;&#x5E8;&#x5D5;&#x5E0;&#x5D5;&#x5D1;&#x5D9;&#x5E5;&#x27;)
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
&#x5DC;&#x5DB;&#x5D1;&#x5D5;&#x5D3; &#x5D4;&#x5D0;&#x5D3;&#x5D5;&#x5E0;&#x5D9;&#x5DD; &#x5D4;&#x5E0;&#x5DB;&#x5D1;&#x5D3;&#x5D9;&#x5DD;,
&#x3C;/p&#x3E;

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

&#x3C;p&#x3E;
&#x5D1;&#x5E0;&#x5D5;&#x5E1;&#x5E3;, &#x5E8;&#x5D0;&#x5D5;&#x5D9; &#x5DC;&#x5E6;&#x5D9;&#x5D9;&#x5DF; &#x5E9;&#x5D6;&#x5D4;&#x5D5; &#x5DE;&#x5DB;&#x5EA;&#x5D1; &#x5E4;&#x5EA;&#x5D5;&#x5D7; &#x5E9;&#x5E2;&#x5D5;&#x5DE;&#x5D3; &#x5DC;&#x5D4;&#x5EA;&#x5E4;&#x5E8;&#x5E1;&#x5DD; 
&#x3C;a href=&#x22;http://shlomif.livejournal.com/&#x22;&#x3E;&#x5D1;&#x5D9;&#x5D5;&#x5DE;&#x5DF;-&#x5D4;&#x5E8;&#x5E9;&#x5EA; (&#x5D1;&#x5DC;&#x5D5;&#x5D2;) &#x5E9;&#x5DC;&#x5D9;&#x3C;/a&#x3E;
&#x3C;/p&#x3E;


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

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

&#x3C;p&#x3E;
&#x3C;a href=&#x22;http://www.shlomifish.org/philosophy/politics/drug-legalisation/&#x22;&#x3E;http://www.shlomifish.org/philosophy/politics/drug-legalisation/&#x3C;/a&#x3E;
&#x3C;/p&#x3E;

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

&#x3C;p&#x3E;
&#x5D1;&#x5DB;&#x5D1;&#x5D5;&#x5D3; &#x5E8;&#x5D1;,
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
-- &#x5E9;&#x5DC;&#x5D5;&#x5DE;&#x5D9; &#x5E4;&#x5D9;&#x5E9;
&#x3C;/p&#x3E;

&#x3C;/div&#x3E;

&#x3C;p&#x3E;
And here is the English translation:
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
(This letter is intended to the Prime Minister, Mr. Benjamin Netanyahu and to 
the Minister of Internal Security, Mr. Yitzhak Aharonovich).
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
Dear Sirs,
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
I sent this letter to you on the 4th of December [should be September], and
I did not get a reply - not even an automated one. Since it was close to the
Jewish holidays season, then I shall give you the benefit of the doubt, and
hope you will reply to me this time. I whould be thankful if you can
acknowledge that you have received this message.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
Moreover, one should note that it is an open letter that is going to be
publicised
on &#x3C;a href=&#x22;http://shlomif.livejournal.com/&#x22;&#x3E;my weblog&#x3C;/a&#x3E;.
&#x3C;/p&#x3E;
My name is Shlomi Fish, and I am a software developer, open source and
content activist, and writer of articles, essays and humorous stories. For a
long time, I am sure that Israel (like the other countries of the world) is
making a mistake in the fact that it enforces a prohibition on illegal
narcotics (such as Marijuana, Hash, Cocaine, and Heroin). While I never
touched these drugs, and I do not encourage their consumption, I believe that
the prohibition on drugs is much worse than the &#x22;Drug Abuse Problem&#x22; itself,
and even amplifies it.
&#x3C;p&#x3E;

&#x3C;p&#x3E;
In order to convince you, I am attaching an essay I wrote called &#x22;The Case
for Drug Legalisation&#x22;, in HTML and PDF formats. (In order to prevent the
waste of paper, please don&#x27;t print it.) One can find this essay in English
and in Hebrew on my Internet home-site in the address:
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
&#x3C;a href=&#x22;http://www.shlomifish.org/philosophy/politics/drug-legalisation/&#x22;&#x3E;http://www.shlomifish.org/philosophy/politics/drug-legalisation/&#x3C;/a&#x3E;
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
I will be happy to hear any comments you have on the essay. Please return
to me with your opinion on my suggestion to make drugs in Israel, legal.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
Best regards,
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
-- Shlomi Fish
&#x3C;/p&#x3E;

&#x3C;hr /&#x3E;

&#x3C;p&#x3E;
I sent this message on 18-October-2009 (two weeks ago), and did not get a 
reply, an acknowledgement or a automated response. It is very unlikely that 
it would have been discarded as spam. How much longer do you think I should
wait?
&#x3C;/p&#x3E;</description>
<author>Shlomi Fish ( shlomif@iglu.org.il )</author>
<comments>http://shlomif.livejournal.com/60773.html</comments>
<guid isPermaLink="true">http://shlomif.livejournal.com/60773.html</guid>
<pubDate>Mon, 02 Nov 2009 16:21:16 GMT</pubDate>
</item>
</channel>
</rss>