<?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>git tip: adding remotes to .git/config</title>
<link>http://shlomif-tech.livejournal.com/61068.html</link>
<description>&#x3C;p&#x3E;
When working with the &#x3C;a href=&#x22;http://en.wikipedia.org/wiki/Git_%28software%29&#x22; rel=&#x22;nofollow&#x22;&#x3E;git version control
system&#x3C;/a&#x3E; and editing &#x3C;tt&#x3E;.git/config&#x3C;/tt&#x3E; to add a new remote, some people
may be tempted to copy and change the &#x3C;tt&#x3E;origin&#x3C;/tt&#x3E; remote that reads
something like:
&#x3C;/p&#x3E;

&#x3C;pre&#x3E;
[remote &#x22;origin&#x22;]
	fetch = +refs/heads/*:refs/remotes/origin/*
	url = git@github.com:shlomif/perl.git
&#x3C;/pre&#x3E;

&#x3C;p&#x3E;
However, note that &#x3C;tt&#x3E;origin&#x3C;/tt&#x3E; also appears at the &#x3C;tt&#x3E;fetch = &#x3C;/tt&#x3E;
and needs to be changed there as well, or else all the branches will be placed
in &#x3C;tt&#x3E;remotes/origin&#x3C;/tt&#x3E;. Maybe there&#x27;s a better way to add a new remote
using the &#x3C;tt&#x3E;git config&#x3C;/tt&#x3E; commands.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
Otherwise, I should note that there doesn&#x27;t seem to be a consensus among
git users whether &#x3C;tt&#x3E;git pull --rebase&#x3C;/tt&#x3E; is better than a simple
&#x3C;tt&#x3E;git pull&#x3C;/tt&#x3E;: the perl people told me to use &#x3C;tt&#x3E;--rebase&#x3C;/tt&#x3E; and the
Amarok people and someone on Freenode&#x27;s &#x3C;tt&#x3E;##programming&#x3C;/tt&#x3E; told
me not to use it. Now I&#x27;m just confused.
&#x3C;/p&#x3E;</description>
<author>Shlomi Fish ( shlomif@iglu.org.il )</author>
<category>git</category>
<category>tip</category>
<category>perl</category>
<category>tech</category>
<category>tech tip</category>
<comments>http://shlomif-tech.livejournal.com/61068.html</comments>
<guid isPermaLink="true">http://shlomif-tech.livejournal.com/61068.html</guid>
<pubDate>Sun, 22 Jan 2012 16:33:04 GMT</pubDate>
</item>
<item>
<title>Freecell Solver 3.10.0 was Released</title>
<link>http://fc-solve.blogspot.com/2012/01/freecell-solver-3100-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 3.10.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 fixes two bugs - one with the &#x3C;tt&#x3E;--max-iters&#x3C;/tt&#x3E; affecting
only the last instance, and one with reading foundations with &#x3C;tt&#x3E;0&#x3C;/tt&#x3E;,
and implements many small optimisations and cleanups. It also adds some
experimental code with the so-called &#x3C;tt&#x3E;delta-states&#x3C;/tt&#x3E;, where states
are compactly encoded based on the original state. This functionality is not
available in the main solver yet, but it powers the experimental
on-disk-key/value-databases-based solver, which end up not scaling very well
during testing.
&#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-4706598002123829732?l=fc-solve.blogspot.com&#x27; alt=&#x27;&#x27; /&#x3E;&#x3C;/div&#x3E;</description>
<author>Shlomi Fish ( shlomif@iglu.org.il )</author>
<category>version</category>
<category>bugs</category>
<category>freecell</category>
<category>optimizations</category>
<category>release</category>
<category>fixes</category>
<category>code</category>
<category>cleanup</category>
<category>solving</category>
<category>solver</category>
<guid isPermaLink="false">tag:blogger.com,1999:blog-96099636168698788.post-4706598002123829732</guid>
<pubDate>Sun, 15 Jan 2012 19:46:00 +0000</pubDate>
<atom:updated>2012-01-15T11:46:47.944-08:00</atom:updated>
</item>
<item>
<title>Breaking the Perl Debugger for Fun and Profit</title>
<link>http://blogs.perl.org/users/shlomi_fish/2011/12/breaking-the-perl-debugger-for-fun-and-profit.html</link>
<description> Before I cover the main topic of this entry, here are some short news and action items: If you have not acted against SOPA - the proposed online blacklist/censorship bill, you should. Follow the link for information on how...</description>
<author>Shlomi Fish</author>
<category>debugger</category>
<category>debugging</category>
<category>features</category>
<category>mongers</category>
<category>perl</category>
<category>refactoring</category>
<category>sopa</category>
<category>telaviv</category>
<guid isPermaLink="true">http://blogs.perl.org/users/shlomi_fish/2011/12/breaking-the-perl-debugger-for-fun-and-profit.html</guid>
<pubDate>Mon, 26 Dec 2011 19:03:05 -0000</pubDate>
<content:encoded content="
        
&#x3C;p&#x3E;
Before I cover the main topic of this entry, here are some short news and
action items:
&#x3C;/p&#x3E;

&#x3C;ol&#x3E;
&#x3C;li&#x3E;
&#x3C;p&#x3E;
If you have not acted against 
&#x3C;a href=&#x22;https://www.eff.org/deeplinks/2011/12/fight-blacklist-toolkit-anti-sopa-activists&#x22;&#x3E;SOPA
- the proposed online blacklist/censorship bill&#x3C;/a&#x3E;, you should. Follow the
link for information on how to act against it.
&#x3C;/p&#x3E;
&#x3C;/li&#x3E;
&#x3C;li&#x3E;
&#x3C;p&#x3E;
I have announced the
&#x3C;a href=&#x22;http://shlomif-tech.livejournal.com/60825.html&#x22;&#x3E;next Tel Aviv
Perl Mongers meeting&#x3C;/a&#x3E; on my technical journal on LiveJournal.com. It will
take place this Wednesday, on 28 December, 2011. More information in the link.
&#x3C;/p&#x3E;
&#x3C;/li&#x3E;

&#x3C;li&#x3E;
&#x3C;p&#x3E;
&#x3C;a href=&#x22;http://golf.shinh.org/&#x22;&#x3E;Anarchy Golf&#x3C;/a&#x3E; is a new server for Code Golf,
which are online programming competitions for implementing code as shortly as
possible. It supports Perl 5, Perl 6 and many other languages. There is 
&#x3C;a href=&#x22;http://golf.shinh.org/p.rb?Starburst&#x22;&#x3E;an active challenge&#x3C;/a&#x3E;, where
the only Perl 5 submission so far is mine, so I could use some competition.
&#x3C;/p&#x3E;
&#x3C;/li&#x3E;
&#x3C;/ol&#x3E;

&#x3C;p&#x3E;
Now for the main topic of the post. Recently, three patches were integrated
into the perl-5 core implementing new features in the perl debugger:
&#x3C;/p&#x3E;

&#x3C;ol&#x3E;
&#x3C;li&#x3E;
&#x3C;a href=&#x22;http://www.nntp.perl.org/group/perl.perl5.porters/2011/04/msg171038.html&#x22;&#x3E;Add &#x22;b &#x26;lt;filename&#x26;gt;:&#x26;lt;line&#x26;gt; &#x26;lt;cond&#x26;gt;&#x22; to perl -d&#x3C;/a&#x3E; by me.
&#x3C;/li&#x3E;
&#x3C;li&#x3E;
&#x3C;a href=&#x22;http://www.nntp.perl.org/group/perl.perl5.porters/2011/08/msg176454.html&#x22;&#x3E;Add enable/disable commands for breakpoints in perl -d&#x3C;/a&#x3E; also by me.
&#x3C;/li&#x3E;
&#x3C;li&#x3E;
&#x3C;a href=&#x22;https://rt.perl.org/rt3/Public/Bug/Display.html?id=104168&#x22;&#x3E;&#x22;Trace to max depth&#x22;&#x3C;/a&#x3E; by Peter Scott.
&#x3C;/li&#x3E;
&#x3C;/ol&#x3E;

&#x3C;p&#x3E;
When Father Chrysostomos tried to apply the first patch, he noticed its tests
started failing. Apparently, the breakpoint functionality (irrespective of
the patch&#x27;s added functionality) became broken in bleadperl, due to a change
in the internals, and it wasn&#x27;t caught by the debugger&#x27;s existing tests. I
ended up submitting another patch to add a test for some of the existing
breakpoint functionality.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
The other two patches passed all of their own tests and the existing ones, but
that wasn&#x27;t the end of the story. A short time afterwards 
&#x3C;a href=&#x22;https://rt.perl.org/rt3/Public/Bug/Display.html?id=104820&#x22;&#x3E;a
regression was reported in the debugger&#x3C;/a&#x3E;, which was caused by one of the
patches that I introduced. While, I fixed it with a test, it was soon followed
by other reports and fixes. None of these bugs were caught by the test suite
of the perl debugger, which is incredibly incomplete.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
Another E-mail that caused an active discussion was 
&#x3C;a href=&#x22;http://www.nntp.perl.org/group/perl.perl5.porters/2011/11/msg179847.html&#x22;&#x3E;my
proposal to add strict and warnings to lib/perl5db.pl&#x3C;/a&#x3E;, in which someone
kept arguing against it, and eventually said he confused it (it being the
defualt command-line debugger front-end) with the debugger&#x27;s guts, and ended
up also supporting adding &#x22;use strict;&#x22;. 
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
I ended up working on adding &#x22;strict&#x22; to the debugger on a git branch, and
was eventually successful (though I temporarily broken no-strict code on the
debugger evaluated lines, to which I added a test.). RJBS (the current
pumpking) said he&#x27;d like to integrate this patch only after perl-5.16.x
is released.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
The morals of this story is that the perl debugger needs more tests, and
that trying to enhance it can easily break it. I started 
&#x3C;a href=&#x22;https://github.com/shlomif/perl/tree/perl-d-add-tests-3&#x22;&#x3E;a branch
on GitHub&#x3C;/a&#x3E; where I&#x27;ve been committing more tests to the perl debugger
to enhance its coverage.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
There&#x27;s also a Google Code-In task for devising a strategy to do that, and
I&#x27;ve volunteered to mentor it. All this will hopefully result in less breakage
in the future.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
Happy Holidays, and a Happy New Year.
&#x3C;/p&#x3E;


        
    " xmlbase="http://blogs.perl.org/users/shlomi_fish/"/>
<dcterms:modified>2011-12-26T19:04:52Z</dcterms:modified>
</item>
<item>
<title>Tel Aviv Perl Mongers Meeting on 28 December, 2011</title>
<link>http://shlomif-tech.livejournal.com/60825.html</link>
<description>&#x3C;p&#x3E;
(The Hebrew text will be followed by an English one).
&#x3C;/p&#x3E;

&#x3C;div align=&#x22;right&#x22; dir=&#x22;rtl&#x22;&#x3E;

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

&#x3C;p&#x3E;
&#x5D1;-28 &#x5D1;&#x5D3;&#x5E6;&#x5DE;&#x5D1;&#x5E8; 2011 (&#x5D9;&#x5D5;&#x5DD; &#x5E8;&#x5D1;&#x5D9;&#x5E2;&#x5D9;) &#x5E0;&#x5E2;&#x5E8;&#x5D5;&#x5DA; &#x5D0;&#x5EA; &#x5DE;&#x5E4;&#x5D2;&#x5E9; &#x5D4;&#x5E4;&#x5E8;&#x5DC; &#x5D4;&#x5D7;&#x5D5;&#x5D3;&#x5E9;&#x5D9; &#x5E9;&#x5DC;&#x5E0;&#x5D5;, &#x5D5;&#x5D4;&#x5E4;&#x5E2;&#x5DD; &#x5D4;&#x5D5;&#x5D0; &#x5D9;&#x5D4;&#x5D9;&#x5D4;
&#x5DE;&#x5D9;&#x5D5;&#x5D7;&#x5D3;! 
&#x5D0;&#x5E0;&#x5D5; &#x5E0;&#x5E4;&#x5D2;&#x5E9;&#x5D9;&#x5DD; &#x5D1;-18:30 &#x5D5;&#x5DE;&#x5EA;&#x5D7;&#x5D9;&#x5DC;&#x5D9;&#x5DD; &#x5D1;-19:00. 
&#x5DB;&#x5EA;&#x5D5;&#x5D1;&#x5EA;: &#x5DE;&#x5DB;&#x5DC;&#x5DC;&#x5EA; &#x5E9;&#x5E0;&#x5E7;&#x5E8;, &#x5D1;&#x5E0;&#x5D9;&#x5D9;&#x5DF; &#x5E8;&#x5D0;&#x5E9;&#x5D9; &#x5D1;&#x5E8;&#x5D7;&#x5D5;&#x5D1; &#x5D0;&#x5E0;&#x5D4; &#x5E4;&#x5E8;&#x5E0;&#x5E7;, &#x5E8;&#x5DE;&#x5EA; &#x5D2;&#x5DF;, &#x5D7;&#x5D3;&#x5E8; 300. 
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
&#x5E4;&#x5E8;&#x5D8;&#x5D9;&#x5DD; &#x5E0;&#x5D5;&#x5E1;&#x5E4;&#x5D9;&#x5DD; &#x5E0;&#x5D9;&#x5EA;&#x5DF; &#x5DC;&#x5DE;&#x5E6;&#x5D5;&#x5D0;
&#x3C;a href=&#x22;http://telaviv.pm.org/&#x22; rel=&#x22;nofollow&#x22;&#x3E;&#x5D1;&#x5D0;&#x5EA;&#x5E8; &#x5E9;&#x5DC; &#x5E9;&#x5D5;&#x5D7;&#x5E8;&#x5D9; &#x5D4;&#x5E4;&#x5E8;&#x5DC; &#x5E9;&#x5DC; &#x5EA;&#x5DC; &#x5D0;&#x5D1;&#x5D9;&#x5D1;&#x3C;/a&#x3E;.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
&#x5D1;&#x5DE;&#x5E4;&#x5D2;&#x5E9; &#x5D6;&#x5D4; &#x5D9;&#x5D4;&#x5D9;&#x5D5; &#x5D4;&#x5D4;&#x5E8;&#x5E6;&#x5D0;&#x5D5;&#x5EA; &#x5D4;&#x5D1;&#x5D0;&#x5D5;&#x5EA;:
&#x3C;/p&#x3E;

&#x3C;ul&#x3E;
&#x3C;li&#x3E;
&#x3C;p&#x3E;
&#x3C;b&#x3E;&#x5D5;&#x5D9;&#x5D6;&#x5D5;&#x5D0;&#x5DC;&#x5D9;&#x5D6;&#x5E6;&#x5D9;&#x5D4; &#x5E9;&#x5DC; &#x5D4;&#x5DE;&#x5D5;&#x5D7; &#x5E9;&#x5DC; &#x5D5;&#x5D9;&#x5DD;&#x3C;/b&#x3E; - &#x5E8;&#x5DF; &#x5E2;&#x5D9;&#x5DC;&#x5DD; -
&#x5D0;&#x5D4;&#x5D1;&#x5EA;&#x5DD; &#x5D0;&#x5D5;&#x5EA;&#x5D5; &#x5D1;&#x22;&#x5EA;&#x5E9;&#x5EA;&#x5D9;&#x5D5;&#x5EA; &#x5DC;&#x5E4;&#x5D9;&#x5EA;&#x5D5;&#x5D7; &#x5DE;&#x5E9;&#x5D7;&#x5E7;&#x5D9;&#x5DD; &#x5D1;&#x5E2;&#x5D6;&#x5E8;&#x5EA; SDL, Moose &#x5D5;-Coro&#x22;, &#x5D1;&#x5DB;&#x5D9;&#x5EA;&#x5DD; &#x5D1;&#x5E2;&#x5E7;&#x5D1;&#x5D5;&#x5EA; &#x5D4;&#x5D1;&#x5D9;&#x5E6;&#x5D5;&#x5E2;
&#x5E9;&#x5DC;&#x5D5; &#x5D1;&#x5DE;&#x5E4;&#x5D2;&#x5E9;&#x5D9;&#x5DD; &#x5D0;&#x5D7;&#x5E8;&#x5D9; &#x5D4;&#x5D4;&#x5E8;&#x5E6;&#x5D0;&#x5D5;&#x5EA;, &#x5D5;&#x5EA;&#x5E2;&#x5E8;&#x5D9;&#x5E6;&#x5D5; &#x5D0;&#x5D5;&#x5EA;&#x5D5; &#x5DC;&#x5D7;&#x5DC;&#x5D5;&#x5D8;&#x5D9;&#x5DF; &#x5D1;&#x22;&#x5D5;&#x5D9;&#x5D6;&#x5D5;&#x5D0;&#x5DC;&#x5D9;&#x5D6;&#x5E6;&#x5D9;&#x5D4; &#x5E9;&#x5DC; &#x5D4;&#x5DE;&#x5D5;&#x5D7; &#x5E9;&#x5DC; &#x5D5;&#x5D9;&#x5DD;&#x22;. &#x5D4;&#x5D0;&#x5D2;&#x5D3;&#x5D4;
&#x5D4;&#x5D7;&#x5D9;&#x5D4; &#x5E8;&#x5DF; &#x5E2;&#x5D9;&#x5DC;&#x5DD; &#x5D9;&#x5E8;&#x5E6;&#x5D4; &#x5DC;&#x5E0;&#x5D5; (&#x5DE;&#x5EA;&#x5D7;&#x5D9;&#x5DC;&#x5D9;&#x5DD; &#x5D5;&#x5DE;&#x5D5;&#x5DE;&#x5D7;&#x5D9;&#x5DD; &#x5DB;&#x5D0;&#x5D7;&#x5D3;) &#x5E2;&#x5DC; &#x5D5;&#x5D9;&#x5DD; (Vim) &#x5D5;&#x5E2;&#x5DC; &#x5DB;&#x5D9;&#x5E6;&#x5D3; &#x5DC;&#x5E2;&#x5DB;&#x5DC; &#x5D0;&#x5EA; &#x5D4;&#x5D7;&#x5D9;&#x5D4;
&#x5D4;&#x5D6;&#x5D0;&#x5EA;. &#x5DE;&#x5D9;&#x5DC;&#x5EA; &#x5D0;&#x5D6;&#x5D4;&#x5E8;&#x5D4;: &#x5E9;&#x5EA;&#x5D9; &#x5D4;&#x5E9;&#x5D5;&#x5E8;&#x5D5;&#x5EA; &#x5D4;&#x5E8;&#x5D0;&#x5E9;&#x5D5;&#x5E0;&#x5D5;&#x5EA; &#x5D1;&#x5E7;&#x5D4;&#x5DC; &#x5D9;&#x5E4;&#x5D2;&#x5E2;&#x5D5; &#x5DE;&#x5DC;&#x5D4;&#x5D1;&#x5D5;&#x5EA; &#x5D7;&#x5D5;&#x5E6;&#x5D1;&#x5D5;&#x5EA; &#x5DB;&#x5E0;&#x5D2;&#x5D3; &#x5D0;&#x5D9;&#x5DE;&#x5E7;&#x5E1; (Emacs).
&#x3C;/p&#x3E;
&#x3C;/li&#x3E;

&#x3C;li&#x3E;
&#x3C;p&#x3E;
&#x3C;b&#x3E;&#x5E6;&#x5E8;&#x5D5;&#x5E8; &#x5DE;&#x5D5;&#x5D3;&#x5D5;&#x5DC;&#x5D9;&#x5DD; &#x5E9;&#x5D4;&#x5D9;&#x5D4; &#x5D4;&#x5D2;&#x5D9;&#x5D5;&#x5E0;&#x5D9; &#x5DC;&#x5DB;&#x5EA;&#x5D5;&#x5D1;&#x3C;/b&#x3E; - &#x5E1;&#x5D5;&#x5D5;&#x5D9;&#x5E8; &#x5D0;&#x5E7;&#x5E1;:
&#x5D0;&#x5E0;&#x5D9; &#x5D4;&#x5D5;&#x5DC;&#x5DA; &#x5DC;&#x5E1;&#x5E7;&#x5D5;&#x5E8; &#x5DE;&#x5E1;&#x5E4;&#x5E8; &#x5DE;&#x5D5;&#x5D3;&#x5D5;&#x5DC;&#x5D9;&#x5DD; &#x5DC;&#x5E9;&#x5D9;&#x5DE;&#x5D5;&#x5E9;&#x5D9; &#x5E9;&#x5DB;&#x5EA;&#x5D1;&#x5EA;&#x5D9;, &#x5DE;&#x5D3;&#x5D5;&#x5E2; &#x5D4;&#x5DD; &#x5E0;&#x5DB;&#x5EA;&#x5D1;&#x5D5;, &#x5D5;&#x5DE;&#x5EA;&#x5D9; &#x5D4;&#x5DD; &#x5E9;&#x5D9;&#x5DE;&#x5D5;&#x5E9;&#x5D9;&#x5D9;&#x5DD;.
&#x5D1;&#x5E1;&#x5D5;&#x5E3; &#x5EA;&#x5E6;&#x5D8;&#x5E8;&#x5DB;&#x5D5; &#x5DC;&#x5E9;&#x5E4;&#x5D5;&#x5D8; &#x5D0;&#x5DD; &#x5D4;&#x5D9;&#x5D4; &#x5D6;&#x5D4; &#x5D1;&#x5DB;&#x5DC;&#x5DC; &#x5DB;&#x5D3;&#x5D0;&#x5D9; &#x5DC;&#x5DB;&#x5EA;&#x5D5;&#x5D1; &#x5D0;&#x5D5;&#x5EA;&#x5DD;. &#x5D9;&#x5D4;&#x5D9;&#x5D5; &#x5D2;&#x5DD; &#x5E7;&#x5DC;&#x5E4;&#x5D9;&#x5D5;&#x5EA; &#x5E9;&#x5DC; &#x5D4;&#x5E6;&#x5D1;&#x5E2;&#x5D4;!
(&#x5D0;&#x5E0;&#x5D7;&#x5E0;&#x5D5; &#x5E0;&#x5DB;&#x5E1;&#x5D4; &#x5D0;&#x5EA; Algorithm::Diff::Callback, App::Genpass, Data::PowerSet::Hash
&#x5D5;-Module::Version.) 
&#x3C;/p&#x3E;
&#x3C;/li&#x3E;

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

&#x3C;p&#x3E;
&#x5D4;&#x5DE;&#x5E4;&#x5D2;&#x5E9; &#x5D4;&#x5D5;&#x5D0; &#x5D7;&#x5D9;&#x5E0;&#x5DE;&#x5D9; &#x5D5;&#x5DB;&#x5D5;&#x5DC;&#x5DD; &#x5DE;&#x5D5;&#x5D6;&#x5DE;&#x5E0;&#x5D9;&#x5DD;. &#x5E0;&#x5EA;&#x5E8;&#x5D0;&#x5D4; &#x5E9;&#x5DD;!
&#x3C;/p&#x3E;

&#x3C;/div&#x3E;

&#x3C;h3&#x3E;English Version&#x3C;/h3&#x3E;

&#x3C;p&#x3E;
&#x3C;b&#x3E;Please note the change of venue.&#x3C;/b&#x3E; This is the building where we started
having TA.pm, and not the one which we used for some of the recent meetings.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
On 28 December, 2011 (Wednesday), the Tel Aviv Perl Mongers will hold their
monthly meetup, and this time it is going to be special. We meet at 18:30 and the
talks begin at 19:00. The address is: Shenkar College, main building on Anna Frank street, Ramat Gan, Room 300.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
One can find more details on
&#x3C;a href=&#x22;http://telaviv.pm.org/&#x22; rel=&#x22;nofollow&#x22;&#x3E;the web-site&#x3C;/a&#x3E; of
the Tel Aviv Perl mongers.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
This meeting will hold the following talks:
&#x3C;/p&#x3E;

&#x3C;ul&#x3E;
&#x3C;li&#x3E;
&#x3C;p&#x3E;
&#x3C;b&#x3E;Visualizing the brain of Vim&#x3C;/b&#x3E; by Ran Eilam - 
You loved him in &#x22;Game frameworks with SDL, Moose and Coro&#x22;, you cried over
his performance in the after-meeting get-togethers, and you will absolutely
adore him in &#x22;Visualizing the brain of Vim&#x22;. All-star legend Ran Eilam will
talk to us (both beginners and experts) about Vim and how to fathom this
incredible beast. I warn you, the first two lines in the audience will be
damaged by Emacs flames.
&#x3C;/p&#x3E;
&#x3C;/li&#x3E;

&#x3C;li&#x3E;
&#x3C;p&#x3E;
&#x3C;b&#x3E;A bunch of modules which made sense writing&#x3C;/b&#x3E; - by Sawyer X:
I&#x27;m going to cover some utility modules I&#x27;ve written, why they were written
and when they are useful. At the end, you&#x27;ll have to judge whether they were
worth writing at all.  There will be voting booths available!
(We&#x27;ll cover Algorithm::Diff::Callback, App::Genpass, Data::PowerSet::Hash
and Module::Version.)
&#x3C;/p&#x3E;
&#x3C;/li&#x3E;

&#x3C;li&#x3E;
&#x3C;p&#x3E;
&#x3C;b&#x3E;To upgrade or not to upgrade, Perl 5.6 vs. Perl 5.14&#x3C;/b&#x3E; - ik vs. Sawyer X:
A source of great concern in the Perl users community is whether to use an
up-to-date Perl and what version should be considered &#x22;too old&#x22;. On one
hand, we have the management that wants as little cost and changes as possible
(sometimes along with systems administrators), and on the other hand, the
developer who wants to use the latest technologies, and is often
stuck on obsolete systems.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
In light of this serious consideration, we&#x27;re going to take turns poking at
each other with a stick, wearing funny hats, damning the unbelievers and
heretics until they submit to one side: 5.6 or 5.14!
&#x3C;/p&#x3E;

&#x3C;/li&#x3E;

&#x3C;/ul&#x3E;

&#x3C;p&#x3E;
The entrance to the meeting is free-of-charge, and everyone are welcome to
attend. See you there!
&#x3C;/p&#x3E;</description>
<author>Shlomi Fish ( shlomif@iglu.org.il )</author>
<category>perl</category>
<category>meeting</category>
<category>foss</category>
<comments>http://shlomif-tech.livejournal.com/60825.html</comments>
<guid isPermaLink="true">http://shlomif-tech.livejournal.com/60825.html</guid>
<pubDate>Sat, 24 Dec 2011 16:52:40 GMT</pubDate>
</item>
<item>
<title>Tech Tip: Removing Bash&#x2019;s Command Completions</title>
<link>http://shlomif-tech.livejournal.com/60439.html</link>
<description>&#x3C;p&#x3E;
The normal way to remove a completion for a Bash command (say &#x201C;mv&#x201D;) is to do
&#x201C;complete -r mv&#x201D;. However, with the bash-completion package installed on
Mageia Linux Cauldron, this is not enough because it also adds a default
completion for every invoked command. So in order to override this behaviour,
type &#x201C;complete -r -D&#x201D; and then you can remove the commands&#x2019; completions 
permanently, using &#x201C;complete -r mv&#x201D; or whatever.
&#x3C;/p&#x3E;</description>
<author>Shlomi Fish ( shlomif@iglu.org.il )</author>
<category>linux</category>
<category>tip</category>
<category>bash</category>
<category>tech</category>
<category>tech tip</category>
<comments>http://shlomif-tech.livejournal.com/60439.html</comments>
<guid isPermaLink="true">http://shlomif-tech.livejournal.com/60439.html</guid>
<pubDate>Tue, 13 Dec 2011 10:44:54 GMT</pubDate>
</item>
<item>
<title>Report on the Latest Tel Aviv Perl Mongers Meeting</title>
<link>http://blogs.perl.org/users/shlomi_fish/2011/12/report-on-the-latest-tel-aviv-perl-mongers-meeting.html</link>
<description> I attended the latest Tel Aviv Perl Mongers (TelAviv.pm) meeting the other day, and am writing this report in order to encourage more people to come. We didn&#x27;t have meetings in September or October due to the Jewish holidays...</description>
<author>Shlomi Fish</author>
<category>CPAN</category>
<category>cpanminus</category>
<category>DBI</category>
<category>DBIx-Class</category>
<category>Firebird</category>
<category>Israel</category>
<category>local-lib</category>
<category>meeting</category>
<category>Mongers</category>
<category>Perl</category>
<category>perlbrew</category>
<category>SQL</category>
<category>Tel Aviv</category>
<guid isPermaLink="true">http://blogs.perl.org/users/shlomi_fish/2011/12/report-on-the-latest-tel-aviv-perl-mongers-meeting.html</guid>
<pubDate>Sat, 03 Dec 2011 16:10:03 -0000</pubDate>
<content:encoded content="
        &#x3C;p&#x3E;&#x3C;br /&#x3E;
&#x3C;p&#x3E;&#x3C;br /&#x3E;
I attended the latest&#x3C;br /&#x3E;
&#x3C;a href=&#x22;http://telaviv.pm.org/&#x22;&#x3E;Tel Aviv Perl Mongers (TelAviv.pm)&#x3C;/a&#x3E;&#x3C;br /&#x3E;
meeting the other&#x3C;br /&#x3E;
day, and am writing this report in order to encourage more people&#x3C;br /&#x3E;
to come. We didn&#x27;t have meetings in September or October due to the Jewish&#x3C;br /&#x3E;
holidays and some renovations on the site, so it was good to finally have&#x3C;br /&#x3E;
a meeting.&#x3C;br /&#x3E;
&#x3C;/p&#x3E;&#x3C;/p&#x3E;

&#x3C;p&#x3E;
Before the meeting, I had helped publicise it on various online news channels,
and thankfully quite a few people (about 20-30) came. I had a previous 
appointment that day at 12:00, and so returned home where I ate, worked on
the computer, and rested before the TelAviv.pm meeting.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
After I rode the bus, I arrived there a few minutes earlier. I met a fellow
Perl monger on the way. We found the room with some difficulty, as there were
very few signs outside the doors of the various rooms in the building. Several 
people 
including  &#x3C;a href=&#x22;http://szabgab.com/&#x22;&#x3E;Gabor&#x3C;/a&#x3E; were already sitting
in the room.
They were discussing the upcoming Israeli Perl Workshop in February. In any
case, I decided to walk to the nearby 
grocery store to buy some refreshments for the meeting, and when I returned
there were more people in the room.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
Quite a few people arrived relatively late, but the talks started mostly on
schedule. The first talk (by Erez Schatz) was short, and it discussed some 
recent tools that
facilitate the Perl programmer&#x27;s life: &#x3C;a href=&#x22;http://search.cpan.org/dist/local-lib/&#x22;&#x3E;local-lib&#x3C;/a&#x3E;, &#x3C;a href=&#x22;http://www.perlbrew.pl/&#x22;&#x3E;perlbrew&#x3C;/a&#x3E;, cpanm
and pm-uninstall. The talk was very fun, and he ended up covering some other
tools in brief in the last slide. I&#x27;m still not convinced that I should use
CPAN-Minus instead of my CPANPLUS (especially given 
&#x3C;a href=&#x22;http://search.cpan.org/dist/CPANPLUS-Dist-Mageia/&#x22;&#x3E;CPANPLUS-Dist-Mageia&#x3C;/a&#x3E; 
and friends), but I still like perlbrew and local::lib and pm-uninstall seems 
useful.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
Erez mentioned that on Perl forums there were several very common and hated 
questions like &#x22;How do I uninstall a perl module?&#x22; or &#x22;How can I use
CPAN without root?&#x22; and that these technologies address these needs precisely.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
After this talk, Erez gave a longer talk about DBIx-Class, which is an
Object-Relational Mapper (ORM) for Perl. For the demo, he used a company
whose employees are dogs, and the slides featured many pictures of dogs in 
suits (some of them pretty scary). There were a few glitches in the 
demonstration, but they
were promptly overcome, and the &#x3C;tt&#x3E;DBIC_TRACE=1&#x3C;/tt&#x3E; flag was a big help.
One bug in the code was that instead of updating the employee&#x27;s department
(by looking it up by name), the department&#x27;s name was updated (globally). I
any case, it was an enjoyable talk, but the person who sat next to me said
that she didn&#x27;t like it because she used to be a DBA, and she was worried about
performance.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
Erez mentioned that DBIx-Class was the &#x22;Elephant in the Room&#x22; of Perl ORMs,
which I had concluded was the case as well.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
After that talk, there was a break, where people got to eat more of the
cookies I bought and to chat. Afterwards, Ido Kanner presented about 
&#x3C;a href=&#x22;http://www.firebirdsql.org/&#x22;&#x3E;Firebird SQL&#x3C;/a&#x3E;. It was a good talk,
and Ido drew some comparisons between Firebird and SQLite, MySQL and
PostgreSQL. Firebird looks interesting and it also has embedded (like
SQLite) and read-only modes.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
One problem during the talk was that the projector kept shutting down,
and it took us some trouble to restart it. We hoped this problem would be
resolved in upcoming meetings.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
After the meeting, some of us (about 10) went to Spaghettim (a pasta/etc. 
place) and had dinner. We chatted about Atheism, Cable company tech-support,
GNOME 3 and KDE 4, and lots of other stuff. This time I had a pizza, which
although not too bad, made me realise I will be ordering pasta there from now
on.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
To sum up, it was a very enjoyable meeting, and I&#x27;m looking forward for
more future ones. One thing notable about it is that this time Sawyer did not
deliver a talk, which made him happy because other people volunteered to do
so instead.
&#x3C;/p&#x3E;
        
    " xmlbase="http://blogs.perl.org/users/shlomi_fish/"/>
<dcterms:modified>2011-12-03T16:15:08Z</dcterms:modified>
</item>
<item>
<title>exec&#x27;s portability</title>
<link>http://blogs.perl.org/users/shlomi_fish/2011/12/execs-portability.html</link>
<description> Pop quiz! What does this perl 5 program prints when executed with no arguments? #!/usr/bin/perl use strict; use warnings; if (! @ARGV) { exec($^X, $0, &#x22;hello world&#x22;); } else { my $arg = shift(@ARGV); print &#x22;Got &#x26;lt;$arg&#x26;gt;\n&#x22;; if (@ARGV)...</description>
<author>Shlomi Fish</author>
<category>exec</category>
<category>perl</category>
<category>portability</category>
<category>unix</category>
<category>whitespace</category>
<category>windows</category>
<guid isPermaLink="true">http://blogs.perl.org/users/shlomi_fish/2011/12/execs-portability.html</guid>
<pubDate>Thu, 01 Dec 2011 17:28:39 -0000</pubDate>
<content:encoded content="
        &#x3C;p&#x3E;
Pop quiz! What does this perl 5 program prints when executed with no
arguments?
&#x3C;/p&#x3E;

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

&#x3C;p&#x3E;use strict;&#x3C;br /&#x3E;
use warnings;&#x3C;/p&#x3E;

&#x3C;p&#x3E;if (! @ARGV)&#x3C;br /&#x3E;
{&#x3C;br /&#x3E;
    exec($^X, $0, &#x22;hello world&#x22;);&#x3C;br /&#x3E;
}&#x3C;br /&#x3E;
else&#x3C;br /&#x3E;
{&#x3C;br /&#x3E;
    my $arg = shift(@ARGV);&#x3C;br /&#x3E;
    print &#x22;Got &#x26;lt;$arg&#x26;gt;\n&#x22;;&#x3C;br /&#x3E;
    if (@ARGV)&#x3C;br /&#x3E;
    {&#x3C;br /&#x3E;
        print &#x22;Other args are &#x26;lt;@ARGV&#x26;gt;\n&#x22;;&#x3C;br /&#x3E;
    }&#x3C;br /&#x3E;
}&#x3C;/code&#x3E;&#x3C;/pre&#x3E;&#x3C;/p&#x3E;

&#x3C;p&#x3E;
The answer is &#x22;it depends.&#x22;. On my Linux system it prints 
&#x22;Got &#x26;lt;hello world&#x26;gt;&#x22;, while on Windows, using Strawberry Perl, it
prints &#x22;Got &#x26;lt;hello&#x26;gt;&#x22; and later on that the other args are &#x22;world&#x22;.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
I would expect the Linux behaviour were every argument passed to the list 
&#x3C;a href=&#x22;http://perldoc.perl.org/functions/exec.html&#x22;&#x3E;exec&#x3C;/a&#x3E; arrives as
one argument to &#x3C;tt&#x3E;@ARGV&#x3C;/tt&#x3E; regardless of whitespace as the correct. It
also the behaviour exhibited on both operating systems using 
&#x3C;a href=&#x22;http://perldoc.perl.org/functions/system.html&#x22;&#x3E;system&#x3C;/a&#x3E;. Is this
a bug?
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
&#x3C;a href=&#x22;http://perldoc.perl.org/perlport.html&#x22;&#x3E;perlport&#x3C;/a&#x3E; only has this
to say about whitespace: &#x3C;q&#x3E;Whitespace in filenames is tolerated on most
systems, but not all, and even on systems where it might be tolerated, some
utilities might become confused by such whitespace.&#x3C;/q&#x3E;.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
I discovered this strange mis-behaviour when working on a commission for
a client who is Windows-based.
&#x3C;/p&#x3E;
        
    " xmlbase="http://blogs.perl.org/users/shlomi_fish/"/>
<dcterms:modified>2011-12-02T12:29:40Z</dcterms:modified>
</item>
<item>
<title>Reminder: Tel Aviv Perl Mongers Meeting this Wednesday, 30-November-2011</title>
<link>http://blogs.perl.org/users/shlomi_fish/2011/11/reminder-tel-aviv-perl-mongers-meeting-this-wednesday-30-november-2011.html</link>
<description> This is a reminder for the upcoming meeting. (The Hebrew text will be followed by an English one). &#x5E9;&#x5D9;&#x5DE;&#x5D5; &#x5DC;&#x5D1; &#x5DC;&#x5E9;&#x5D9;&#x5E0;&#x5D5;&#x5D9; &#x5D1;&#x5DE;&#x5D9;&#x5E7;&#x5D5;&#x5DD;! &#x5D6;&#x5D4;&#x5D5; &#x5D4;&#x5D1;&#x5E0;&#x5D9;&#x5D9;&#x5DF; &#x5E9;&#x5D1;&#x5D5; &#x5E7;&#x5D9;&#x5D9;&#x5DE;&#x5E0;&#x5D5; &#x5D0;&#x5EA; &#x5DE;&#x5E4;&#x5D2;&#x5E9;&#x5D9; &#x5E9;&#x5D5;&#x5D7;&#x5E8;&#x5D9; &#x5D4;&#x5E4;&#x5E8;&#x5DC; &#x5D4;&#x5EA;&#x5DC;-&#x5D0;&#x5D1;&#x5D9;&#x5D1;&#x5D9;&#x5D9;&#x5DD; &#x5D1;&#x5D4;&#x5EA;&#x5D7;&#x5DC;&#x5D4; &#x5D5;&#x5DC;&#x5D0; &#x5D6;&#x5D4; &#x5E9;&#x5E9;&#x5D9;&#x5DE;&#x5E9; &#x5E2;&#x5D1;&#x5D5;&#x5E8; &#x5DE;&#x5E1;&#x5E4;&#x5E8; &#x5D4;&#x5E4;&#x5D2;&#x5D9;&#x5E9;&#x5D5;&#x5EA; &#x5D4;&#x5D0;&#x5D7;&#x5E8;&#x5D5;&#x5E0;&#x5D5;&#x5EA;....</description>
<author>Shlomi Fish</author>
<category>events</category>
<category>perl</category>
<guid isPermaLink="true">http://blogs.perl.org/users/shlomi_fish/2011/11/reminder-tel-aviv-perl-mongers-meeting-this-wednesday-30-november-2011.html</guid>
<pubDate>Sun, 27 Nov 2011 09:08:04 -0000</pubDate>
<content:encoded content="
        &#x3C;p&#x3E;
This is a reminder for the upcoming meeting.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
(The Hebrew text will be followed by an English one).
&#x3C;/p&#x3E;

&#x3C;div align=&#x22;right&#x22; dir=&#x22;rtl&#x22;&#x3E;

&#x3C;p&#x3E;
&#x3C;b&#x3E;&#x5E9;&#x5D9;&#x5DE;&#x5D5; &#x5DC;&#x5D1; &#x5DC;&#x5E9;&#x5D9;&#x5E0;&#x5D5;&#x5D9; &#x5D1;&#x5DE;&#x5D9;&#x5E7;&#x5D5;&#x5DD;!&#x3C;/b&#x3E;
 &#x5D6;&#x5D4;&#x5D5; &#x5D4;&#x5D1;&#x5E0;&#x5D9;&#x5D9;&#x5DF; &#x5E9;&#x5D1;&#x5D5; &#x5E7;&#x5D9;&#x5D9;&#x5DE;&#x5E0;&#x5D5; &#x5D0;&#x5EA; &#x5DE;&#x5E4;&#x5D2;&#x5E9;&#x5D9; &#x5E9;&#x5D5;&#x5D7;&#x5E8;&#x5D9; &#x5D4;&#x5E4;&#x5E8;&#x5DC; &#x5D4;&#x5EA;&#x5DC;-&#x5D0;&#x5D1;&#x5D9;&#x5D1;&#x5D9;&#x5D9;&#x5DD; &#x5D1;&#x5D4;&#x5EA;&#x5D7;&#x5DC;&#x5D4; &#x5D5;&#x5DC;&#x5D0; &#x5D6;&#x5D4; &#x5E9;&#x5E9;&#x5D9;&#x5DE;&#x5E9;
&#x5E2;&#x5D1;&#x5D5;&#x5E8; &#x5DE;&#x5E1;&#x5E4;&#x5E8; &#x5D4;&#x5E4;&#x5D2;&#x5D9;&#x5E9;&#x5D5;&#x5EA; &#x5D4;&#x5D0;&#x5D7;&#x5E8;&#x5D5;&#x5E0;&#x5D5;&#x5EA;.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
&#x5D1;-30 &#x5D1;&#x5E0;&#x5D5;&#x5D1;&#x5DE;&#x5D1;&#x5E8; 2011 (&#x5D9;&#x5D5;&#x5DD; &#x5E8;&#x5D1;&#x5D9;&#x5E2;&#x5D9;) &#x5E0;&#x5E2;&#x5E8;&#x5D5;&#x5DA; &#x5D0;&#x5EA; &#x5DE;&#x5E4;&#x5D2;&#x5E9; &#x5D4;&#x5E4;&#x5E8;&#x5DC; &#x5D4;&#x5D7;&#x5D5;&#x5D3;&#x5E9;&#x5D9; &#x5E9;&#x5DC;&#x5E0;&#x5D5;! 
&#x5D0;&#x5E0;&#x5D5; &#x5E0;&#x5E4;&#x5D2;&#x5E9;&#x5D9;&#x5DD; &#x5D1;-18:30 &#x5D5;&#x5DE;&#x5EA;&#x5D7;&#x5D9;&#x5DC;&#x5D9;&#x5DD; &#x5D1;-19:00. 
&#x5DB;&#x5EA;&#x5D5;&#x5D1;&#x5EA;: &#x5DE;&#x5DB;&#x5DC;&#x5DC;&#x5EA; &#x5E9;&#x5E0;&#x5E7;&#x5E8;, &#x5D1;&#x5E0;&#x5D9;&#x5D9;&#x5DF; &#x5E8;&#x5D0;&#x5E9;&#x5D9; &#x5D1;&#x5E8;&#x5D7;&#x5D5;&#x5D1; &#x5D0;&#x5E0;&#x5D4; &#x5E4;&#x5E8;&#x5E0;&#x5E7;, &#x5E8;&#x5DE;&#x5EA; &#x5D2;&#x5DF;, &#x5D7;&#x5D3;&#x5E8; 300. 
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
&#x5E4;&#x5E8;&#x5D8;&#x5D9;&#x5DD; &#x5E0;&#x5D5;&#x5E1;&#x5E4;&#x5D9;&#x5DD; &#x5E0;&#x5D9;&#x5EA;&#x5DF; &#x5DC;&#x5DE;&#x5E6;&#x5D5;&#x5D0;
&#x3C;a href=&#x22;http://telaviv.pm.org/&#x22;&#x3E;&#x5D1;&#x5D0;&#x5EA;&#x5E8; &#x5E9;&#x5DC; &#x5E9;&#x5D5;&#x5D7;&#x5E8;&#x5D9; &#x5D4;&#x5E4;&#x5E8;&#x5DC; &#x5E9;&#x5DC; &#x5EA;&#x5DC; &#x5D0;&#x5D1;&#x5D9;&#x5D1;&#x3C;/a&#x3E;.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
&#x5D1;&#x5DE;&#x5E4;&#x5D2;&#x5E9; &#x5D6;&#x5D4; &#x5D9;&#x5D4;&#x5D9;&#x5D5; &#x5D4;&#x5D4;&#x5E8;&#x5E6;&#x5D0;&#x5D5;&#x5EA; &#x5D4;&#x5D1;&#x5D0;&#x5D5;&#x5EA;:
&#x3C;/p&#x3E;

&#x3C;ul&#x3E;
&#x3C;li&#x3E;
&#x3C;p&#x3E;
&#x3C;b&#x3E;&#x5DB;&#x5DC;&#x5D9; &#x5D4;&#x5E4;&#x5E8;&#x5DC;&#x5D0;&#x5D9;&#x5DD;, &#x5E1;&#x5E7;&#x5D9;&#x5E8;&#x5D4; &#x5E7;&#x5E6;&#x5E8;&#x5D4; &#x5E9;&#x5DC; &#x5D0;&#x5E8;&#x5D1;&#x5E2;&#x5D4; &#x5DE;&#x5D5;&#x5D3;&#x5D5;&#x5DC;&#x5D9;&#x5DD;&#x3C;/b&#x3E; (&#x5DE;&#x5D0;&#x5EA; &#x5D0;&#x5E8;&#x5D6; &#x5E9;&#x5E5;)
&#x5D0;&#x5E0;&#x5D5; &#x5E0;&#x5DB;&#x5E1;&#x5D4; &#x5D0;&#x5E8;&#x5D1;&#x5E2;&#x5D4; &#x5DE;&#x5D5;&#x5D3;&#x5D5;&#x5DC;&#x5D9;&#x5DD; &#x5E9;&#x5D4;&#x5D5;&#x5E4;&#x5DB;&#x5D9;&#x5DD; &#x5D0;&#x5EA; &#x5D4;&#x5D7;&#x5D9;&#x5D9;&#x5DD; &#x5E9;&#x5DC; &#x5DE;&#x5E4;&#x5EA;&#x5D7; &#x5E4;&#x5E8;&#x5DC; &#x5DE;&#x5D5;&#x5D3;&#x5E8;&#x5E0;&#x5D9;&#x5EA; &#x5DC;&#x5E7;&#x5DC;&#x5D9;&#x5DD; &#x5D9;&#x5D5;&#x5EA;&#x5E8; &#x5DE;&#x5DE;&#x5D4; &#x5E9;&#x5D4;&#x5D9;&#x5D5;
&#x5D1;&#x5E2;&#x5D1;&#x5E8;: local::lib, cpanm, perlbrew &#x5D5;-pm-uninstall.
&#x3C;/p&#x3E;
&#x3C;/li&#x3E;

&#x3C;p&#x3E;&#x3C;li&#x3E;&#x3C;br /&#x3E;
&#x3C;p&#x3E;&#x3C;br /&#x3E;
&#x3C;b&#x3E;DBIx::Class &#x5D5;&#x5DE;&#x5DE;&#x5E4;&#x5D9; &#x5E2;&#x5E6;&#x5DE;&#x5D9;&#x5DD;-&#x5D1;&#x5E1;&#x5D9;&#x5E1;&#x5D9;-&#x5E0;&#x5EA;&#x5D5;&#x5E0;&#x5D9;&#x5DD; &#x5D9;&#x5D7;&#x5E1;&#x5D9;&#x5D9;&#x5DD;&#x3C;/b&#x3E; (&#x5DE;&#x5D0;&#x5EA; &#x5D0;&#x5E8;&#x5D6; &#x5E9;&#x5E5;) -&#x3C;br /&#x3E;
&#x5DE;&#x5D4; &#x5D4;&#x5DF; &#x5E9;&#x5DB;&#x5D1;&#x5D5;&#x5EA; &#x5DE;&#x5D9;&#x5E4;&#x5D5;&#x5D9; &#x5E2;&#x5E6;&#x5DE;&#x5D9;&#x5DD;-&#x5D1;&#x5E1;&#x5D9;&#x5E1;&#x5D9;-&#x5E0;&#x5EA;&#x5D5;&#x5E0;&#x5D9;&#x5DD; &#x5D9;&#x5D7;&#x5E1;&#x5D9;&#x5D9;&#x5DD; (ORM), &#x5DE;&#x5D3;&#x5D5;&#x5E2; &#x5D0;&#x5E0;&#x5D5; &#x5E6;&#x5E8;&#x5D9;&#x5DB;&#x5D9;&#x5DD; &#x5D0;&#x5D5;&#x5EA;&#x5DF;,&#x3C;br /&#x3E;
&#x5D5;&#x5DE;&#x5D4; DBIx::Class &#x5DE;&#x5E1;&#x5E4;&#x5E7;&#x5EA; &#x5DC;&#x5DB;&#x5DC;&#x5DC; &#x5DE;&#x5EA;&#x5DB;&#x5E0;&#x5EA;&#x5D9; &#x5D4;&#x5E4;&#x5E8;&#x5DC;. &#x3C;br /&#x3E;
&#x3C;/p&#x3E;&#x3C;br /&#x3E;
&#x3C;/li&#x3E;&#x3C;/p&#x3E;

&#x3C;p&#x3E;&#x3C;li&#x3E;&#x3C;br /&#x3E;
&#x3C;p&#x3E;&#x3C;br /&#x3E;
&#x3C;b&#x3E;&#x5E4;&#x5D9;&#x5D9;&#x5E8;&#x5D1;&#x5D9;&#x5E8;&#x5D3; (Firebird): &#x5D1;&#x5E1;&#x5D9;&#x5E1; &#x5E0;&#x5EA;&#x5D5;&#x5E0;&#x5D9;&#x5DD; &#x5E9;&#x5DC;&#x5D0; &#x5DE;&#x5E2;&#x5DC;&#x5D4; &#x5D0;&#x5EA; &#x5D4;&#x5E0;&#x5EA;&#x5D5;&#x5E0;&#x5D9;&#x5DD; &#x5E9;&#x5DC;&#x5DB;&#x5DD; &#x5D1;&#x5D0;&#x5E9;&#x3C;/b&#x3E; (&#x5DE;&#x5D0;&#x5EA; &#x5E2;&#x5D9;&#x5D3;&#x5D5; &#x5E7;&#x5E0;&#x5E8;) -&#x3C;br /&#x3E;
&#x5DE;&#x5D1;&#x5D5;&#x5D0; &#x5DC;&#x5D1;&#x5E1;&#x5D9;&#x5E1; &#x5D4;&#x5E0;&#x5EA;&#x5D5;&#x5E0;&#x5D9;&#x5DD; &#x5E4;&#x5D9;&#x5D9;&#x5E8;&#x5D1;&#x5D9;&#x5E8;&#x5D3; &#x5D5;&#x5DC;&#x5E1;&#x5D9;&#x5D1;&#x5D5;&#x5EA; &#x5E9;&#x5D1;&#x5D2;&#x5DC;&#x5DC;&#x5DF; &#x5D4;&#x5D5;&#x5D0; &#x5DE;&#x5D5;&#x5E2;&#x5E8;&#x5DA; &#x5DB;&#x5DC; &#x5DB;&#x5DA; &#x5E2;&#x5DC; &#x5D9;&#x5D3;&#x5D9; &#x5D0;&#x5DC;&#x5D4; &#x5E9;&#x5DE;&#x5E9;&#x5EA;&#x5DE;&#x5E9;&#x5D9;&#x5DD;&#x3C;br /&#x3E;
&#x5D1;&#x5D5;.&#x3C;br /&#x3E;
&#x3C;/p&#x3E;&#x3C;br /&#x3E;
&#x3C;/li&#x3E;&#x3C;br /&#x3E;
&#x3C;/ul&#x3E;&#x3C;/p&#x3E;

&#x3C;p&#x3E;
&#x5D4;&#x5DE;&#x5E4;&#x5D2;&#x5E9; &#x5D4;&#x5D5;&#x5D0; &#x5D7;&#x5D9;&#x5E0;&#x5DE;&#x5D9; &#x5D5;&#x5DB;&#x5D5;&#x5DC;&#x5DD; &#x5DE;&#x5D5;&#x5D6;&#x5DE;&#x5E0;&#x5D9;&#x5DD;. &#x5E0;&#x5EA;&#x5E8;&#x5D0;&#x5D4; &#x5E9;&#x5DD;!
&#x3C;/p&#x3E;

&#x3C;/div&#x3E;

&#x3C;h3&#x3E;English Version&#x3C;/h3&#x3E;

&#x3C;p&#x3E;
&#x3C;b&#x3E;Please note the change of venue.&#x3C;/b&#x3E; This is the building where we started
having TA.pm, and not the one which we used for the last few meetings.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
On 30 November, 2011 (Wednesday), the Tel Aviv Perl Mongers will hold their
monthly meetup. We meet at 18:30 and the talks begin at 19:00. The address is: 
Shenkar College, main building on Anna Frank street, Ramat Gan, Room 300.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
One can find more details in &#x3C;a href=&#x22;http://telaviv.pm.org/&#x22;&#x3E;the web-site&#x3C;/a&#x3E; of
the Tel Aviv Perl mongers.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
This meeting will hold the following talks:
&#x3C;/p&#x3E;

&#x3C;ul&#x3E;
&#x3C;li&#x3E;
&#x3C;p&#x3E;
&#x3C;b&#x3E;Tools of the perl, a quick survey of 4 modules&#x3C;/b&#x3E; (by Erez Schatz)
We will cover four modules that make the life of a  Modern Perl developer
much easier than it used to be: local::lib, cpanm, perlbrew, pm-uninstall.
&#x3C;/p&#x3E;
&#x3C;/li&#x3E;

&#x3C;p&#x3E;&#x3C;li&#x3E;&#x3C;br /&#x3E;
&#x3C;p&#x3E;&#x3C;br /&#x3E;
&#x3C;b&#x3E;DBIx::Class and ORMs&#x3C;/b&#x3E; (by Erez Schatz) - What is an ORM, why do we need it, &#x3C;br /&#x3E;
and what does DBIx::Class bring to the table for perl programmers at large.&#x3C;br /&#x3E;
&#x3C;/p&#x3E;&#x3C;br /&#x3E;
&#x3C;/li&#x3E;&#x3C;/p&#x3E;

&#x3C;p&#x3E;&#x3C;li&#x3E;&#x3C;br /&#x3E;
&#x3C;p&#x3E;&#x3C;br /&#x3E;
&#x3C;b&#x3E;Firebird: a database that does not burn your data&#x3C;/b&#x3E; (by ik)&#x3C;br /&#x3E;
An introduction to the Firebird database and to why it is so highly-regarded&#x3C;br /&#x3E;
by those who use it.&#x3C;br /&#x3E;
&#x3C;/p&#x3E;&#x3C;br /&#x3E;
&#x3C;/li&#x3E;&#x3C;br /&#x3E;
&#x3C;/ul&#x3E;&#x3C;/p&#x3E;

&#x3C;p&#x3E;
The entrance to the meeting is free-of-charge and everyone are welcome to
attend. See you there!
&#x3C;/p&#x3E;
        
    " xmlbase="http://blogs.perl.org/users/shlomi_fish/"/>
<dcterms:modified>2011-11-27T09:11:21Z</dcterms:modified>
</item>
<item>
<title>Interesting Thought + Music Recommendation</title>
<link>http://shlomif.livejournal.com/66158.html</link>
<description>&#x3C;p&#x3E;
I noticed that if I say to myself &#x201C;Now I&#x2019;m self-aware.&#x201D; a few times and try to
follow this advice, I acheive a certain state of self-awareness. Eventually,
I get distracted, but while I do, it&#x2019;s interesting. Try it, if you didn&#x2019;t
already.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
And for the music recommendations: 
&#x3C;a href=&#x22;http://www.greensunmusic.com/&#x22; rel=&#x22;nofollow&#x22;&#x3E;Green Sun music&#x3C;/a&#x3E; is an Israeli
producer and composer who produces nice chill-out, new age electronic music.
The first three albums are available for free download, and I also bought
the mp3 version of his Dream Elements album, and can recommend it.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
After I bought it, I mentioned Green Sun to my friend (on IM), and he said
that his friend had a band and that they released audio files on their site 
and eventually got a record deal. I asked him for their site and he referred me
to &#x3C;a href=&#x22;http://machinaesupremacy.com/&#x22; rel=&#x22;nofollow&#x22;&#x3E;Machinae Supremacy&#x3C;/a&#x3E;. My friend
thought I wouldn&#x2019;t like them, but apparently I did - it&#x2019;s a Metalish-music
mixing many genres, with a rich sound, which I found likable (even if sometimes
it&#x2019;s a bit weird.). There are many free downloads there, but the site does not
look properly with JavaScript disabled.
&#x3C;/p&#x3E;</description>
<author>Shlomi Fish ( shlomif@iglu.org.il )</author>
<category>music</category>
<comments>http://shlomif.livejournal.com/66158.html</comments>
<guid isPermaLink="true">http://shlomif.livejournal.com/66158.html</guid>
<pubDate>Thu, 24 Nov 2011 10:41:26 GMT</pubDate>
</item>
<item>
<title>Tel Aviv Perl Mongers Meeting on 30 November, 2011</title>
<link>http://blogs.perl.org/users/shlomi_fish/2011/11/tel-aviv-perl-mongers-meeting-on-30-november-2011.html</link>
<description> (The Hebrew text will be followed by an English one). &#x5E9;&#x5D9;&#x5DE;&#x5D5; &#x5DC;&#x5D1; &#x5DC;&#x5E9;&#x5D9;&#x5E0;&#x5D5;&#x5D9; &#x5D1;&#x5DE;&#x5D9;&#x5E7;&#x5D5;&#x5DD;! &#x5D6;&#x5D4;&#x5D5; &#x5D4;&#x5D1;&#x5E0;&#x5D9;&#x5D9;&#x5DF; &#x5E9;&#x5D1;&#x5D5; &#x5E7;&#x5D9;&#x5D9;&#x5DE;&#x5E0;&#x5D5; &#x5D0;&#x5EA; &#x5DE;&#x5E4;&#x5D2;&#x5E9;&#x5D9; &#x5E9;&#x5D5;&#x5D7;&#x5E8;&#x5D9; &#x5D4;&#x5E4;&#x5E8;&#x5DC; &#x5D4;&#x5EA;&#x5DC;-&#x5D0;&#x5D1;&#x5D9;&#x5D1;&#x5D9;&#x5D9;&#x5DD; &#x5D1;&#x5D4;&#x5EA;&#x5D7;&#x5DC;&#x5D4; &#x5D5;&#x5DC;&#x5D0; &#x5D6;&#x5D4; &#x5E9;&#x5E9;&#x5D9;&#x5DE;&#x5E9; &#x5E2;&#x5D1;&#x5D5;&#x5E8; &#x5DE;&#x5E1;&#x5E4;&#x5E8; &#x5D4;&#x5E4;&#x5D2;&#x5D9;&#x5E9;&#x5D5;&#x5EA; &#x5D4;&#x5D0;&#x5D7;&#x5E8;&#x5D5;&#x5E0;&#x5D5;&#x5EA;. &#x5D1;-30 &#x5D1;&#x5E0;&#x5D5;&#x5D1;&#x5DE;&#x5D1;&#x5E8; 2011 (&#x5D9;&#x5D5;&#x5DD; &#x5E8;&#x5D1;&#x5D9;&#x5E2;&#x5D9;) &#x5E0;&#x5E2;&#x5E8;&#x5D5;&#x5DA; &#x5D0;&#x5EA; &#x5DE;&#x5E4;&#x5D2;&#x5E9;...</description>
<author>Shlomi Fish</author>
<category>events</category>
<category>israel</category>
<category>meetings</category>
<category>perl</category>
<category>tel aviv</category>
<category>telaviv</category>
<guid isPermaLink="true">http://blogs.perl.org/users/shlomi_fish/2011/11/tel-aviv-perl-mongers-meeting-on-30-november-2011.html</guid>
<pubDate>Sat, 19 Nov 2011 09:09:17 -0000</pubDate>
<content:encoded content="
        
&#x3C;p&#x3E;
(The Hebrew text will be followed by an English one).
&#x3C;/p&#x3E;

&#x3C;div align=&#x22;right&#x22; dir=&#x22;rtl&#x22;&#x3E;

&#x3C;p&#x3E;
&#x3C;b&#x3E;&#x5E9;&#x5D9;&#x5DE;&#x5D5; &#x5DC;&#x5D1; &#x5DC;&#x5E9;&#x5D9;&#x5E0;&#x5D5;&#x5D9; &#x5D1;&#x5DE;&#x5D9;&#x5E7;&#x5D5;&#x5DD;!&#x3C;/b&#x3E;
 &#x5D6;&#x5D4;&#x5D5; &#x5D4;&#x5D1;&#x5E0;&#x5D9;&#x5D9;&#x5DF; &#x5E9;&#x5D1;&#x5D5; &#x5E7;&#x5D9;&#x5D9;&#x5DE;&#x5E0;&#x5D5; &#x5D0;&#x5EA; &#x5DE;&#x5E4;&#x5D2;&#x5E9;&#x5D9; &#x5E9;&#x5D5;&#x5D7;&#x5E8;&#x5D9; &#x5D4;&#x5E4;&#x5E8;&#x5DC; &#x5D4;&#x5EA;&#x5DC;-&#x5D0;&#x5D1;&#x5D9;&#x5D1;&#x5D9;&#x5D9;&#x5DD; &#x5D1;&#x5D4;&#x5EA;&#x5D7;&#x5DC;&#x5D4; &#x5D5;&#x5DC;&#x5D0; &#x5D6;&#x5D4; &#x5E9;&#x5E9;&#x5D9;&#x5DE;&#x5E9;
&#x5E2;&#x5D1;&#x5D5;&#x5E8; &#x5DE;&#x5E1;&#x5E4;&#x5E8; &#x5D4;&#x5E4;&#x5D2;&#x5D9;&#x5E9;&#x5D5;&#x5EA; &#x5D4;&#x5D0;&#x5D7;&#x5E8;&#x5D5;&#x5E0;&#x5D5;&#x5EA;.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
&#x5D1;-30 &#x5D1;&#x5E0;&#x5D5;&#x5D1;&#x5DE;&#x5D1;&#x5E8; 2011 (&#x5D9;&#x5D5;&#x5DD; &#x5E8;&#x5D1;&#x5D9;&#x5E2;&#x5D9;) &#x5E0;&#x5E2;&#x5E8;&#x5D5;&#x5DA; &#x5D0;&#x5EA; &#x5DE;&#x5E4;&#x5D2;&#x5E9; &#x5D4;&#x5E4;&#x5E8;&#x5DC; &#x5D4;&#x5D7;&#x5D5;&#x5D3;&#x5E9;&#x5D9; &#x5E9;&#x5DC;&#x5E0;&#x5D5;! 
&#x5D0;&#x5E0;&#x5D5; &#x5E0;&#x5E4;&#x5D2;&#x5E9;&#x5D9;&#x5DD; &#x5D1;-18:30 &#x5D5;&#x5DE;&#x5EA;&#x5D7;&#x5D9;&#x5DC;&#x5D9;&#x5DD; &#x5D1;-19:00. 
&#x5DB;&#x5EA;&#x5D5;&#x5D1;&#x5EA;: &#x5DE;&#x5DB;&#x5DC;&#x5DC;&#x5EA; &#x5E9;&#x5E0;&#x5E7;&#x5E8;, &#x5D1;&#x5E0;&#x5D9;&#x5D9;&#x5DF; &#x5E8;&#x5D0;&#x5E9;&#x5D9; &#x5D1;&#x5E8;&#x5D7;&#x5D5;&#x5D1; &#x5D0;&#x5E0;&#x5D4; &#x5E4;&#x5E8;&#x5E0;&#x5E7;, &#x5E8;&#x5DE;&#x5EA; &#x5D2;&#x5DF;, &#x5D7;&#x5D3;&#x5E8; 300. 
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
&#x5E4;&#x5E8;&#x5D8;&#x5D9;&#x5DD; &#x5E0;&#x5D5;&#x5E1;&#x5E4;&#x5D9;&#x5DD; &#x5E0;&#x5D9;&#x5EA;&#x5DF; &#x5DC;&#x5DE;&#x5E6;&#x5D5;&#x5D0;
&#x3C;a href=&#x22;http://telaviv.pm.org/&#x22;&#x3E;&#x5D1;&#x5D0;&#x5EA;&#x5E8; &#x5E9;&#x5DC; &#x5E9;&#x5D5;&#x5D7;&#x5E8;&#x5D9; &#x5D4;&#x5E4;&#x5E8;&#x5DC; &#x5E9;&#x5DC; &#x5EA;&#x5DC; &#x5D0;&#x5D1;&#x5D9;&#x5D1;&#x3C;/a&#x3E;.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
&#x5D1;&#x5DE;&#x5E4;&#x5D2;&#x5E9; &#x5D6;&#x5D4; &#x5D9;&#x5D4;&#x5D9;&#x5D5; &#x5D4;&#x5D4;&#x5E8;&#x5E6;&#x5D0;&#x5D5;&#x5EA; &#x5D4;&#x5D1;&#x5D0;&#x5D5;&#x5EA;:
&#x3C;/p&#x3E;

&#x3C;ul&#x3E;
&#x3C;li&#x3E;
&#x3C;p&#x3E;
&#x3C;b&#x3E;&#x5DB;&#x5DC;&#x5D9; &#x5D4;&#x5E4;&#x5E8;&#x5DC;&#x5D0;&#x5D9;&#x5DD;, &#x5E1;&#x5E7;&#x5D9;&#x5E8;&#x5D4; &#x5E7;&#x5E6;&#x5E8;&#x5D4; &#x5E9;&#x5DC; &#x5D0;&#x5E8;&#x5D1;&#x5E2;&#x5D4; &#x5DE;&#x5D5;&#x5D3;&#x5D5;&#x5DC;&#x5D9;&#x5DD;&#x3C;/b&#x3E; (&#x5DE;&#x5D0;&#x5EA; &#x5D0;&#x5E8;&#x5D6; &#x5E9;&#x5E5;)
&#x5D0;&#x5E0;&#x5D5; &#x5E0;&#x5DB;&#x5E1;&#x5D4; &#x5D0;&#x5E8;&#x5D1;&#x5E2;&#x5D4; &#x5DE;&#x5D5;&#x5D3;&#x5D5;&#x5DC;&#x5D9;&#x5DD; &#x5E9;&#x5D4;&#x5D5;&#x5E4;&#x5DB;&#x5D9;&#x5DD; &#x5D0;&#x5EA; &#x5D4;&#x5D7;&#x5D9;&#x5D9;&#x5DD; &#x5E9;&#x5DC; &#x5DE;&#x5E4;&#x5EA;&#x5D7; &#x5E4;&#x5E8;&#x5DC; &#x5DE;&#x5D5;&#x5D3;&#x5E8;&#x5E0;&#x5D9;&#x5EA; &#x5DC;&#x5E7;&#x5DC;&#x5D9;&#x5DD; &#x5D9;&#x5D5;&#x5EA;&#x5E8; &#x5DE;&#x5DE;&#x5D4; &#x5E9;&#x5D4;&#x5D9;&#x5D5;
&#x5D1;&#x5E2;&#x5D1;&#x5E8;: local::lib, cpanm, perlbrew &#x5D5;-pm-uninstall.
&#x3C;/p&#x3E;
&#x3C;/li&#x3E;

&#x3C;li&#x3E;
&#x3C;p&#x3E;
&#x3C;b&#x3E;DBIx::Class &#x5D5;&#x5DE;&#x5DE;&#x5E4;&#x5D9; &#x5E2;&#x5E6;&#x5DE;&#x5D9;&#x5DD;-&#x5D1;&#x5E1;&#x5D9;&#x5E1;&#x5D9;-&#x5E0;&#x5EA;&#x5D5;&#x5E0;&#x5D9;&#x5DD; &#x5D9;&#x5D7;&#x5E1;&#x5D9;&#x5D9;&#x5DD;&#x3C;/b&#x3E; (&#x5DE;&#x5D0;&#x5EA; &#x5D0;&#x5E8;&#x5D6; &#x5E9;&#x5E5;) -
&#x5DE;&#x5D4; &#x5D4;&#x5DF; &#x5E9;&#x5DB;&#x5D1;&#x5D5;&#x5EA; &#x5DE;&#x5D9;&#x5E4;&#x5D5;&#x5D9; &#x5E2;&#x5E6;&#x5DE;&#x5D9;&#x5DD;-&#x5D1;&#x5E1;&#x5D9;&#x5E1;&#x5D9;-&#x5E0;&#x5EA;&#x5D5;&#x5E0;&#x5D9;&#x5DD; &#x5D9;&#x5D7;&#x5E1;&#x5D9;&#x5D9;&#x5DD; (ORM), &#x5DE;&#x5D3;&#x5D5;&#x5E2; &#x5D0;&#x5E0;&#x5D5; &#x5E6;&#x5E8;&#x5D9;&#x5DB;&#x5D9;&#x5DD; &#x5D0;&#x5D5;&#x5EA;&#x5DF;,
&#x5D5;&#x5DE;&#x5D4; DBIx::Class &#x5DE;&#x5E1;&#x5E4;&#x5E7;&#x5EA; &#x5DC;&#x5DB;&#x5DC;&#x5DC; &#x5DE;&#x5EA;&#x5DB;&#x5E0;&#x5EA;&#x5D9; &#x5D4;&#x5E4;&#x5E8;&#x5DC;. 
&#x3C;/p&#x3E;
&#x3C;/li&#x3E;

&#x3C;li&#x3E;
&#x3C;p&#x3E;
&#x3C;b&#x3E;&#x5E4;&#x5D9;&#x5D9;&#x5E8;&#x5D1;&#x5D9;&#x5E8;&#x5D3; (Firebird): &#x5D1;&#x5E1;&#x5D9;&#x5E1; &#x5E0;&#x5EA;&#x5D5;&#x5E0;&#x5D9;&#x5DD; &#x5E9;&#x5DC;&#x5D0; &#x5DE;&#x5E2;&#x5DC;&#x5D4; &#x5D0;&#x5EA; &#x5D4;&#x5E0;&#x5EA;&#x5D5;&#x5E0;&#x5D9;&#x5DD; &#x5E9;&#x5DC;&#x5DB;&#x5DD; &#x5D1;&#x5D0;&#x5E9;&#x3C;/b&#x3E; (&#x5DE;&#x5D0;&#x5EA; &#x5E2;&#x5D9;&#x5D3;&#x5D5; &#x5E7;&#x5E0;&#x5E8;) -
&#x5DE;&#x5D1;&#x5D5;&#x5D0; &#x5DC;&#x5D1;&#x5E1;&#x5D9;&#x5E1; &#x5D4;&#x5E0;&#x5EA;&#x5D5;&#x5E0;&#x5D9;&#x5DD; &#x5E4;&#x5D9;&#x5D9;&#x5E8;&#x5D1;&#x5D9;&#x5E8;&#x5D3; &#x5D5;&#x5DC;&#x5E1;&#x5D9;&#x5D1;&#x5D5;&#x5EA; &#x5E9;&#x5D1;&#x5D2;&#x5DC;&#x5DC;&#x5DF; &#x5D4;&#x5D5;&#x5D0; &#x5DE;&#x5D5;&#x5E2;&#x5E8;&#x5DA; &#x5DB;&#x5DC; &#x5DB;&#x5DA; &#x5E2;&#x5DC; &#x5D9;&#x5D3;&#x5D9; &#x5D0;&#x5DC;&#x5D4; &#x5E9;&#x5DE;&#x5E9;&#x5EA;&#x5DE;&#x5E9;&#x5D9;&#x5DD;
&#x5D1;&#x5D5;.
&#x3C;/p&#x3E;
&#x3C;/li&#x3E;
&#x3C;/ul&#x3E;

&#x3C;p&#x3E;
&#x5D4;&#x5DE;&#x5E4;&#x5D2;&#x5E9; &#x5D4;&#x5D5;&#x5D0; &#x5D7;&#x5D9;&#x5E0;&#x5DE;&#x5D9; &#x5D5;&#x5DB;&#x5D5;&#x5DC;&#x5DD; &#x5DE;&#x5D5;&#x5D6;&#x5DE;&#x5E0;&#x5D9;&#x5DD;. &#x5E0;&#x5EA;&#x5E8;&#x5D0;&#x5D4; &#x5E9;&#x5DD;!
&#x3C;/p&#x3E;

&#x3C;/div&#x3E;

&#x3C;h3&#x3E;English Version&#x3C;/h3&#x3E;

&#x3C;p&#x3E;
&#x3C;b&#x3E;Please note the change of venue.&#x3C;/b&#x3E; This is the building where we started
having TA.pm, and not the one which we used for the last few meetings.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
On 30 November, 2011 (Wednesday), the Tel Aviv Perl Mongers will hold their
monthly meetup. We meet at 18:30 and the talks begin at 19:00. The address is: 
Shenkar College, main building on Anna Frank street, Ramat Gan, Room 300.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
One can find more details in &#x3C;a href=&#x22;http://telaviv.pm.org/&#x22;&#x3E;the web-site&#x3C;/a&#x3E; of
the Tel Aviv Perl mongers.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
This meeting will hold the following talks:
&#x3C;/p&#x3E;

&#x3C;ul&#x3E;
&#x3C;li&#x3E;
&#x3C;p&#x3E;
&#x3C;b&#x3E;Tools of the perl, a quick survey of 4 modules&#x3C;/b&#x3E; (by Erez Schatz)
We will cover four modules that make the life of a  Modern Perl developer
much easier than it used to be: local::lib, cpanm, perlbrew, pm-uninstall.
&#x3C;/p&#x3E;
&#x3C;/li&#x3E;

&#x3C;li&#x3E;
&#x3C;p&#x3E;
&#x3C;b&#x3E;DBIx::Class and ORMs&#x3C;/b&#x3E; (by Erez Schatz) - What is an ORM, why do we need it, 
and what does DBIx::Class bring to the table for perl programmers at large.
&#x3C;/p&#x3E;
&#x3C;/li&#x3E;

&#x3C;li&#x3E;
&#x3C;p&#x3E;
&#x3C;b&#x3E;Firebird: a database that does not burn your data&#x3C;/b&#x3E; (by ik)
An introduction to the Firebird database and to why it is so highly-regarded
by those who use it.
&#x3C;/p&#x3E;
&#x3C;/li&#x3E;
&#x3C;/ul&#x3E;

&#x3C;p&#x3E;
The entrance to the meeting is free-of-charge and everyone are welcome to
attend. See you there!
&#x3C;/p&#x3E;


        
    " xmlbase="http://blogs.perl.org/users/shlomi_fish/"/>
<dcterms:modified>2011-11-19T09:11:45Z</dcterms:modified>
</item>
<item>
<title>My Experience with Inline::C</title>
<link>http://blogs.perl.org/users/shlomi_fish/2011/11/my-experience-with-inlinec.html</link>
<description> I know I didn&#x27;t write here for a long time, and I apologise for it, but I have this entry and another one in mind and I hope they can compensate for it. For my work on Freecell Solver,...</description>
<author>Shlomi Fish</author>
<category>C</category>
<category>ctypes</category>
<category>gcc</category>
<category>Inline</category>
<category>Perl</category>
<category>QA</category>
<category>XS</category>
<guid isPermaLink="true">http://blogs.perl.org/users/shlomi_fish/2011/11/my-experience-with-inlinec.html</guid>
<pubDate>Wed, 09 Nov 2011 16:41:12 -0000</pubDate>
<content:encoded content="
        
&#x3C;p&#x3E;
I know I didn&#x27;t write here for a long time, and I apologise for it, but I have
this entry and another one in mind and I hope they can compensate for it.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
For my work on &#x3C;a href=&#x22;http://fc-solve.shlomifish.org/&#x22;&#x3E;Freecell Solver&#x3C;/a&#x3E;,
I&#x27;ve written some code for encoding and decoding game positions into a 
compact format, by encoding them as a delta from the position of origin. I 
first wrote it in Perl, in order to prototype it, and later
translated it to C (which is the language that Freecell Solver is written in).
I have written some rudimentary unit tests for it, but also wanted to test the 
code against a large number of positions, by runnign it over the solutions of
many Freecell deals. 
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
The encoding rearranges the order of the card columns and the freecells, so 
testing that the output test is correct requires calculating that arrangement.
This was also done by the Perl code. I decided to write a small wrapper for
an encoding+decoding round-trip in C, and use it from a Perl program I was 
writing. So far so good. 
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
I first looked at &#x3C;a href=&#x22;https://gitorious.org/perl-ctypes&#x22;&#x3E;the 
Perl version of Ctypes&#x3C;/a&#x3E;, but it failed a large number of its assertions
on my system, so I could not really trust it. Then I looked at 
&#x3C;a href=&#x22;http://search.cpan.org/perldoc?Inline::C&#x22;&#x3E;Inline::C&#x3C;/a&#x3E;. I could
not understand from its main page, how to return an &#x3C;tt&#x3E;SV *&#x3C;/tt&#x3E; containing
a string from it, but this was covered in the extensive
&#x3C;a href=&#x22;http://search.cpan.org/perldoc?Inline::C-Cookbook&#x22;&#x3E;Inline::C 
cookbook&#x3C;/a&#x3E; and I wrote this Inline::C function:
&#x3C;/p&#x3E;

&#x3C;pre&#x3E;
extern char * fc_solve_user_INTERNAL_delta_states_enc_and_dec(
    const char * init_state_str_proto,
    const char * derived_state_str_proto
    );

SV* enc_and_dec(char * init_state_s, char * derived_state_s) {
    SV * ret;
    char * s;
    s = fc_solve_user_INTERNAL_delta_states_enc_and_dec(init_state_s, derived_state_s);

    ret = newSVpv(s, 0);
    free(s);
    return ret;
}
&#x3C;/pre&#x3E;

&#x3C;p&#x3E;
I don&#x27;t need to use &#x22;sv_2mortal&#x22; there because Inline::C does that for us.
Then I tried to test it. It failed with this error:
&#x3C;/p&#x3E;

&#x3C;pre&#x3E;
perl: symbol lookup error: /home/shlomif/progs/freecell/trunk/fc-solve/source/_Inline/lib/auto/Mega_Test_for_C_delta_states_pl_9385/Mega_Test_for_C_delta_states_pl_9385.so: undefined symbol: fc_solve_user_INTERNAL_delta_states_enc_and_dec
&#x3C;/pre&#x3E;

&#x3C;p&#x3E;
I was familiar with errors like that, but it took me over an hour of playing
with the various Inline::C configuration options, and trying to figure out 
why it didn&#x27;t link against the relevant Freecell Solver library to realise
what the problem was. It was that the library in question did not export the
symbol, and gcc realised it didn&#x27;t give the XS extension anything and omitted 
it.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
After fixing this line in my C source:
&#x3C;/p&#x3E;

&#x3C;pre&#x3E;
char * DLLEXPORT fc_solve_user_INTERNAL_delta_states_enc_and_dec(
&#x3C;/pre&#x3E;

&#x3C;p&#x3E;
To this line:
&#x3C;/p&#x3E;

&#x3C;pre&#x3E;
DLLEXPORT char * fc_solve_user_INTERNAL_delta_states_enc_and_dec(
&#x3C;/pre&#x3E;

&#x3C;p&#x3E;
Everything worked properly, and I was able to run the so-called &#x22;mega-test&#x22;.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
If you&#x27;re having similar problems with Inline::C, you should try to add
&#x3C;tt&#x3E;CLEAN_AFTER_BUILD =&#x26;gt; 0&#x3C;/tt&#x3E; to its configuration. It ended up clarifying
a lot for me.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
Cheers!
&#x3C;/p&#x3E;


        
    " xmlbase="http://blogs.perl.org/users/shlomi_fish/"/>
<dcterms:modified>2011-11-09T16:42:13Z</dcterms:modified>
</item>
<item>
<title>Joke: The Believer Rabbi</title>
<link>http://shlomif.livejournal.com/66017.html</link>
<description>&#x3C;p&#x3E;
This is a joke my father told us the other day:
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
A Rabbi lived in a remote shack, and the weather forecast said there will be 
a large flood. So two people arrived there in a Jeep and told the Rabbi:
&#x201C;Rabbi, there will be a flood, come with us so you&#x27;ll be saved.&#x201D; and the Rabbi
said: &#x201C;No, that&#x27;s OK - God will save me.&#x201D;.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
And indeed it started to rain, and there was a lot of water, and so a boat arrived
at the Rabbi&#x27;s house and the people there told the Rabbi: &#x201C;Rabbi, there&#x27;s a flood,
come with us and you&#x27;ll be saved.&#x201D; and the Rabbi told them: &#x201C;No, that&#x27;s OK - God
will save me.&#x201D; and he remained there.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
And it continued to rain, and the water level went up and the Rabbi had to climb
to the roof of his shack. A helicopter arrived at his shack, and the people 
inside told the Rabbi: &#x201C;Rabbi, there&#x27;s a big flood. Come with us to safety.&#x201D;, and
the Rabbi said: &#x201C;No, that&#x27;s OK - God will save me.&#x201D;. And the Helicopter left.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
The water levels rose even more, and the Rabbi drowned, and his soul went
to heaven. There he confronted God and asked him: &#x201C;Dear God, why didn&#x27;t you save
me?&#x201D;, and God replied &#x201C;Well, I tried. I sent you a Jeep, a boat - even a
helicopter - but you wouldn&#x27;t accept any of them. What more could I have done?&#x201D;
&#x3C;/p&#x3E;

&#x3C;hr /&#x3E;

&#x3C;p&#x3E;
The moral of this story is: God helps them that help God help them.
&#x3C;/p&#x3E;</description>
<author>Shlomi Fish ( shlomif@iglu.org.il )</author>
<category>humour</category>
<category>humor</category>
<comments>http://shlomif.livejournal.com/66017.html</comments>
<guid isPermaLink="true">http://shlomif.livejournal.com/66017.html</guid>
<pubDate>Sun, 06 Nov 2011 18:53:41 GMT</pubDate>
</item>
<item>
<title>Yom Kippur 2011 Summary</title>
<link>http://shlomif.livejournal.com/65571.html</link>
<description>&#x3C;p&#x3E;
This Yom Kippur, I again went over my blogs from the last year. I mostly 
blogged in &#x3C;a href=&#x22;http://shlomif-tech.livejournal.com/&#x22;&#x3E;my technical
blog&#x3C;/a&#x3E; about tips and events and stuff like that. I did not mention some
of the significant good and bad things that happened to me on my blogs, but I
guess I have a right for privacy and/or they were of no interest to the world
at large.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
The past year was good for me, but could have been better, and I drew some
conclusions from looking back.
&#x3C;/p&#x3E;</description>
<author>Shlomi Fish ( shlomif@iglu.org.il )</author>
<category>yom kippur</category>
<comments>http://shlomif.livejournal.com/65571.html</comments>
<guid isPermaLink="true">http://shlomif.livejournal.com/65571.html</guid>
<pubDate>Mon, 10 Oct 2011 15:39:56 GMT</pubDate>
</item>
<item>
<title>New Computer</title>
<link>http://shlomif-tech.livejournal.com/60394.html</link>
<description>&#x3C;p&#x3E;
First of all, happy &#x3C;a href=&#x22;http://en.wikipedia.org/wiki/Rosh_Hashanah&#x22; rel=&#x22;nofollow&#x22;&#x3E;new Jewish Year&#x3C;/a&#x3E;.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
My old Pentium 4 2.4 GHz computer (here&#x27;s &#x3C;a href=&#x22;http://www.advogato.org/person/shlomif/diary/176.html&#x22; rel=&#x22;nofollow&#x22;&#x3E;the blog
entry where I blogged about getting it back in 22-September-2003&#x3C;/a&#x3E;) has 
served me mostly well for 8 years, but recently exhibited many signs of dying
and had problems booting a lot of the partitions there. As a result, we
bought a new computer to replace it: a Core i3 machine with 8 GB of RAM, a 
2 TB hard-disk, and an Intel HD Graphics adapter. I&#x27;ve installed Mageia 1
on it and set it up, and it is now working mostly nicely.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
I&#x27;ve ran into a few problems with it. From the 1280*1024 screen
resolution not working (which required adding a mode line), to 
&#x3C;a href=&#x22;http://www.mail-archive.com/linux-il@cs.huji.ac.il/msg61605.html&#x22; rel=&#x22;nofollow&#x22;&#x3E;packets 
being dropped by the network interface&#x3C;/a&#x3E; (which I found a fix for
&#x3C;a href=&#x22;https://bugzilla.redhat.com/show_bug.cgi?id=713315&#x22; rel=&#x22;nofollow&#x22;&#x3E;on 
a Red Hat bug&#x3C;/a&#x3E;), to the fact that 
&#x3C;a href=&#x22;https://bugs.freedesktop.org/show_bug.cgi?id=37629&#x22; rel=&#x22;nofollow&#x22;&#x3E;transparency is 
not working properly&#x3C;/a&#x3E; when running remote X apps (which is not resolved
yet.), but as a general rule - I&#x27;m happy.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
The new computer is much faster than the old one, which wasn&#x27;t too slow running
Linux either.
&#x3C;/p&#x3E;</description>
<author>Shlomi Fish ( shlomif@iglu.org.il )</author>
<comments>http://shlomif-tech.livejournal.com/60394.html</comments>
<guid isPermaLink="true">http://shlomif-tech.livejournal.com/60394.html</guid>
<pubDate>Thu, 29 Sep 2011 08:23:24 GMT</pubDate>
</item>
<item>
<title>Recommendation and Tip: The QUnit JavaScript Automated Tests Library</title>
<link>http://shlomif-tech.livejournal.com/59932.html</link>
<description>&#x3C;p&#x3E;
I&#x27;ve begun working on a JavaScript port of some algorithmic perl code, to allow
it to run inside a browser. As a result, I had to find a good JavaScript 
automated tests library to allow me to write automated tests for the code. I
first looked at Test.More and Test.Harness from JSAN (the JavaScript Archive
Network) but as it turned out, JSAN was defunct, and no one had time to mark
it as such. Then I asked the &#x201C;Test.Run&#x201D; developer (another thing I had
found on jsan) to instruct me how to get it
up and running, and he gave me a link to its archive, which was 1.5 mb 
compressed (!), and so was not acceptable.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
I looked at &#x3C;a href=&#x22;http://en.wikipedia.org/wiki/list_of_unit_testing_frameworks#javascript&#x22; rel=&#x22;nofollow&#x22;&#x3E;the 
Wikipedia list of unit testing frameworks&#x3C;/a&#x3E;, but there were too many. at least
I understood that jsUnit was no longer actively maintained. I looked at Jasmine,
which is a bdd framework for JS, but its syntax seemed too horrid and unnatural.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
Eventually, I decided to ask for recommendation on &#x3C;a href=&#x22;http://stackoverflow.com/&#x22; rel=&#x22;nofollow&#x22;&#x3E;Stack 
Overflow&#x3C;/a&#x3E; and, as after I wrote my title, I found a
&#x3C;a href=&#x22;http://stackoverflow.com/questions/96066/automated-unit-testing-with-javascript&#x22; rel=&#x22;nofollow&#x22;&#x3E;a previous question&#x3C;/a&#x3E;, where there was a recommendation of 
&#x3C;a href=&#x22;http://docs.jquery.com/Qunit&#x22; rel=&#x22;nofollow&#x22;&#x3E;QUnit&#x3C;/a&#x3E;, which I noticed was developed
by the jQuery people, and as I&#x27;m fond of jQuery, I decided to look deeper into
it.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
I wasn&#x27;t disappointed by QUnit - it does what it does well, and I was
able to write my test suite using it, so I can recommend it as well. It has
primitives that are very similar to perl&#x27;s 
&#x3C;a href=&#x22;http://search.cpan.org/perldoc?Test::More&#x22; rel=&#x22;nofollow&#x22;&#x3E;Test::More&#x3C;/a&#x3E;, and it can
even assert that the number of assertions ran within a test are right (like 
Test::More can).
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
So here&#x27;s a tip for it: if you&#x27;re writing your testing code in a different
file, and you wish to check that no compile-time or run-time exception
was thrown (which will cause qunit to report a success with zero assertions)
you should wrap the testing code in a &#x3C;tt&#x3E;try { .. } catch&#x3C;/tt&#x3E; block and in
the catch block, run &#x3C;tt&#x3E;ok(false...)&#x3C;/tt&#x3E;. 
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
Here&#x27;s an example from my code:
&#x3C;/p&#x3E;

&#x3C;pre&#x3E;
&#x26;lt;!DOCTYPE HTML PUBLIC &#x26;quot;-//W3C//DTD HTML 4.01 Transitional//EN&#x26;quot; 
                    &#x26;quot;http://www.w3.org/TR/html4/loose.dtd&#x26;quot;&#x26;gt;
&#x26;lt;html&#x26;gt;
&#x26;lt;head&#x26;gt;
&#x26;lt;title&#x26;gt;ABCPath Test&#x26;lt;/title&#x26;gt;
&#x26;lt;script src=&#x26;quot;jquery-latest.js&#x26;quot;&#x26;gt;&#x26;lt;/script&#x26;gt;
&#x26;lt;link rel=&#x26;quot;stylesheet&#x26;quot; href=&#x26;quot;qunit.css&#x26;quot; type=&#x26;quot;text/css&#x26;quot; media=&#x26;quot;screen&#x26;quot; /&#x26;gt;
&#x26;lt;script type=&#x26;quot;text/javascript&#x26;quot; src=&#x26;quot;qunit.js&#x26;quot;&#x26;gt;&#x26;lt;/script&#x26;gt;
&#x26;lt;script type=&#x26;quot;text/javascript&#x26;quot; src=&#x26;quot;joose.mini.js&#x26;quot;&#x26;gt;&#x26;lt;/script&#x26;gt;
&#x26;lt;script type=&#x26;quot;text/javascript&#x26;quot; src=&#x26;quot;abc-path.js&#x26;quot;&#x26;gt;&#x26;lt;/script&#x26;gt;
&#x26;lt;script type=&#x26;quot;text/javascript&#x26;quot; src=&#x26;quot;abc-path-test.js&#x26;quot;&#x26;gt;&#x26;lt;/script&#x26;gt;

  &#x26;lt;script type=&#x26;quot;text/javascript&#x26;quot;&#x26;gt;
      $(document).ready(function () { 
          try {
              test_abc_path();
          }
          catch (err) {
            module(&#x26;quot;Meta&#x26;quot;);
            test(&#x26;quot;global_failure&#x26;quot;, function() {
                ok (false, &#x26;#39;test_abc_path() has thrown an exception or is invalid.&#x26;#39;);
            });
          }
          // Hide passed tests by default.
          $(&#x26;#39;#qunit-tests&#x26;#39;).addClass(&#x26;#39;hidepass&#x26;#39;);
      });
  &#x26;lt;/script&#x26;gt;
  
&#x26;lt;/head&#x26;gt;
&#x26;lt;body&#x26;gt;
  &#x26;lt;h1 id=&#x26;quot;qunit-header&#x26;quot;&#x26;gt;QUnit example&#x26;lt;/h1&#x26;gt;
 &#x26;lt;h2 id=&#x26;quot;qunit-banner&#x26;quot;&#x26;gt;&#x26;lt;/h2&#x26;gt;
 &#x26;lt;div id=&#x26;quot;qunit-testrunner-toolbar&#x26;quot;&#x26;gt;&#x26;lt;/div&#x26;gt;
 &#x26;lt;h2 id=&#x26;quot;qunit-userAgent&#x26;quot;&#x26;gt;&#x26;lt;/h2&#x26;gt;
 &#x26;lt;ol id=&#x26;quot;qunit-tests&#x26;quot;&#x26;gt;&#x26;lt;/ol&#x26;gt;
 &#x26;lt;div id=&#x26;quot;qunit-fixture&#x26;quot;&#x26;gt;test markup, will be hidden&#x26;lt;/div&#x26;gt;
&#x26;lt;/body&#x26;gt;
&#x26;lt;/html&#x26;gt;
&#x3C;/pre&#x3E;

&#x3C;p&#x3E;
Enjoy.
&#x3C;/p&#x3E;</description>
<author>Shlomi Fish ( shlomif@iglu.org.il )</author>
<category>tip</category>
<category>tech</category>
<category>testing</category>
<category>jquery</category>
<category>tech tip</category>
<category>perl</category>
<category>qa</category>
<category>javascript</category>
<comments>http://shlomif-tech.livejournal.com/59932.html</comments>
<guid isPermaLink="true">http://shlomif-tech.livejournal.com/59932.html</guid>
<pubDate>Mon, 05 Sep 2011 13:57:54 GMT</pubDate>
</item>
<item>
<title>Tel Aviv Perl Mongers Meeting on 31 August, 2011</title>
<link>http://shlomif-tech.livejournal.com/59692.html</link>
<description>&#x3C;p&#x3E;
(The Hebrew text will be followed by an English one).
&#x3C;/p&#x3E;

&#x3C;div align=&#x22;right&#x22; dir=&#x22;rtl&#x22;&#x3E;

&#x3C;p&#x3E;
&#x5D1;-31 &#x5D1;&#x5D0;&#x5D5;&#x5D2;&#x5D5;&#x5E1;&#x5D8; 2011 (&#x5D9;&#x5D5;&#x5DD; &#x5E8;&#x5D1;&#x5D9;&#x5E2;&#x5D9;) &#x5E0;&#x5E2;&#x5E8;&#x5D5;&#x5DA; &#x5D0;&#x5EA; &#x5DE;&#x5E4;&#x5D2;&#x5E9; &#x5D4;&#x5E4;&#x5E8;&#x5DC; &#x5D4;&#x5D7;&#x5D5;&#x5D3;&#x5E9;&#x5D9; &#x5E9;&#x5DC;&#x5E0;&#x5D5;! 
&#x5D0;&#x5E0;&#x5D5; &#x5E0;&#x5E4;&#x5D2;&#x5E9;&#x5D9;&#x5DD; &#x5D1;-18:30 &#x5D5;&#x5DE;&#x5EA;&#x5D7;&#x5D9;&#x5DC;&#x5D9;&#x5DD; &#x5D1;19:00. 
&#x5DB;&#x5EA;&#x5D5;&#x5D1;&#x5EA;: &#x5DE;&#x5DB;&#x5DC;&#x5DC;&#x5EA; &#x5E9;&#x5E0;&#x5E7;&#x5E8;, &#x5D1;&#x5E0;&#x5D9;&#x5D9;&#x5DF; &#x5DE;&#x5D9;&#x5D8;&#x5E9;&#x5DC;, &#x5E8;&#x5DE;&#x5EA; &#x5D2;&#x5DF;, &#x5D7;&#x5D3;&#x5E8; 2106. (&#x3C;b&#x3E;&#x5E9;&#x5D9;&#x5DE;&#x5D5; &#x5DC;&#x5D1; &#x5DC;&#x5E9;&#x5D9;&#x5E0;&#x5D5;&#x5D9; &#x5D1;&#x5DB;&#x5EA;&#x5D5;&#x5D1;&#x5EA;
&#x5DE;&#x5E4;&#x5E2;&#x5DE;&#x5D9;&#x5DD; &#x5E7;&#x5D5;&#x5D3;&#x5DE;&#x5D5;&#x5EA;.&#x3C;/b&#x3E;).
&#x5D1;&#x5DE;&#x5E4;&#x5D2;&#x5E9; &#x5D6;&#x5D4; &#x5E0;&#x5E9;&#x5DE;&#x5E2; &#x5D4;&#x5E8;&#x5E6;&#x5D0;&#x5D5;&#x5EA; &#x5D0;&#x5D5;&#x5D3;&#x5D5;&#x5EA; &#x5DE;&#x5E2;&#x5E8;&#x5DB;&#x5EA; &#x5E0;&#x5D9;&#x5D4;&#x5D5;&#x5DC; &#x5D4;&#x5D2;&#x5E8;&#x5E1;&#x5D0;&#x5D5;&#x5EA; git.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
&#x5E4;&#x5E8;&#x5D8;&#x5D9;&#x5DD; &#x5E0;&#x5D5;&#x5E1;&#x5E4;&#x5D9;&#x5DD; &#x5E0;&#x5D9;&#x5EA;&#x5DF; &#x5DC;&#x5DE;&#x5E6;&#x5D5;&#x5D0;
&#x3C;a href=&#x22;http://telaviv.pm.org/&#x22; rel=&#x22;nofollow&#x22;&#x3E;&#x5D1;&#x5D0;&#x5EA;&#x5E8; &#x5E9;&#x5DC; &#x5E9;&#x5D5;&#x5D7;&#x5E8;&#x5D9; &#x5D4;&#x5E4;&#x5E8;&#x5DC; &#x5E9;&#x5DC; &#x5EA;&#x5DC; &#x5D0;&#x5D1;&#x5D9;&#x5D1;&#x3C;/a&#x3E;
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
&#x5D1;&#x5DE;&#x5E4;&#x5D2;&#x5E9; &#x5D6;&#x5D4; &#x5D9;&#x5D4;&#x5D9;&#x5D5; &#x5D4;&#x5D4;&#x5E8;&#x5E6;&#x5D0;&#x5D5;&#x5EA; &#x5D4;&#x5D1;&#x5D0;&#x5D5;&#x5EA;:
&#x3C;/p&#x3E;

&#x3C;ul&#x3E;
&#x3C;li&#x3E;
&#x3C;p&#x3E;
&#x3C;b&#x3E;Git&#x3C;/b&#x3E; - Git &#x5D4;&#x5D9;&#x5E0;&#x5D4; &#x5DE;&#x5E2;&#x5E8;&#x5DB;&#x5EA; &#x5E0;&#x5D9;&#x5D4;&#x5D5;&#x5DC; &#x5D2;&#x5E8;&#x5E1;&#x5D0;&#x5D5;&#x5EA; &#x5DE;&#x5D1;&#x5D5;&#x5D6;&#x5E8;&#x5EA;. 
&#x5D4;&#x5D9;&#x5D0; &#x5DE;&#x5D4;&#x5D5;&#x5D5;&#x5D4; &#x5DB;&#x5DC;&#x5D9; &#x5E9;&#x5D9;&#x5DE;&#x5D5;&#x5E9;&#x5D9; &#x5DC;&#x5DE;&#x5E4;&#x5EA;&#x5D7;&#x5D9;&#x5DD; &#x5D5;&#x5DE;&#x5EA;&#x5E4;&#x5E9;&#x5D8;&#x5EA; &#x5DB;&#x5DE;&#x5D5; &#x5D0;&#x5E9;, &#x5D1;&#x5E9;&#x5DC; &#x5D8;&#x5D1;&#x5E2;&#x5D4; &#x5D4;&#x5E9;&#x5D9;&#x5DE;&#x5D5;&#x5E9;&#x5D9;, &#x5D5;&#x5D4;&#x5E9;&#x5D9;&#x5DE;&#x5D5;&#x5E9; &#x5E9;&#x5E0;&#x5E2;&#x5E9;&#x5D4;
&#x5D1;&#x5D4; &#x5D1;&#x5E4;&#x5D9;&#x5EA;&#x5D5;&#x5D7; &#x5D4;&#x5D2;&#x5E8;&#x5E2;&#x5D9;&#x5DF; &#x5E9;&#x5DC; &#x5DC;&#x5D9;&#x5E0;&#x5D5;&#x5E7;&#x5E1;, &#x5E1;&#x5E4;&#x5E8;&#x5D9;&#x5D5;&#x5EA; &#x5D5;&#x5EA;&#x5D5;&#x5DB;&#x5E0;&#x5D5;&#x5EA; &#x5E7;&#x5D5;&#x5D3; &#x5E4;&#x5EA;&#x5D5;&#x5D7; &#x5E8;&#x5D1;&#x5D5;&#x5EA;, &#x5D5;&#x5D1;&#x5EA;&#x5D5;&#x5DA; &#x5DE;&#x5E1;&#x5E4;&#x5E8; &#x5E8;&#x5D1;
&#x5E9;&#x5DC; &#x5D0;&#x5E8;&#x5D2;&#x5D5;&#x5E0;&#x5D9;&#x5DD;. &#x5D1;&#x5DB;&#x5D5;&#x5D5;&#x5E0;&#x5EA;&#x5D9; &#x5DC;&#x5DC;&#x5DE;&#x5D3; &#x5D0;&#x5D5;&#x5EA;&#x5D5;.
(&#x5E1;&#x5D5;&#x5D9;&#x5D9;&#x5E8; - 40 &#x5D3;&#x5E7;&#x5D5;&#x5EA;).
&#x3C;/p&#x3E;
&#x3C;/li&#x3E;

&#x3C;li&#x3E;
&#x3C;p&#x3E;
&#x3C;b&#x3E;Gitflow&#x3C;/b&#x3E; - Gitflow &#x5D4;&#x5D9;&#x5E0;&#x5D5; &#x5DB;&#x5DC;&#x5D9; &#x5DE;&#x5E2;&#x5D8;&#x5E4;&#x5EA; &#x5E9;&#x5D9;&#x5DE;&#x5D5;&#x5E9;&#x5D9; &#x5E9;&#x5DE;&#x5D0;&#x5E4;&#x5E9;&#x5E8; &#x5DC;&#x5DB;&#x5DD;
&#x5DC;&#x5D4;&#x5E1;&#x5D3;&#x5D9;&#x5E8; &#x5EA;&#x5D4;&#x5DC;&#x5D9;&#x5DA; &#x5E4;&#x5D9;&#x5EA;&#x5D5;&#x5D7; &#x5D9;&#x5D5;&#x5EA;&#x5E8; &#x5DE;&#x5D5;&#x5D1;&#x5E0;&#x5D4;, &#x5D4;&#x5DC;&#x5D5;&#x5E7;&#x5D7; &#x5D1;&#x5D7;&#x5E9;&#x5D1;&#x5D5;&#x5DF; &#x5EA;&#x5DB;&#x5D5;&#x5E0;&#x5D5;&#x5EA;, &#x5D2;&#x5E8;&#x5E1;&#x5D0;&#x5D5;&#x5EA; &#x5D4;&#x5D9;&#x5D5;&#x5E6;&#x5D0;&#x5D5;&#x5EA;
&#x5DC;&#x5D0;&#x5D5;&#x5E8;, &#x5EA;&#x5D9;&#x5E7;&#x5D5;&#x5E0;&#x5D9;&#x5DD; &#x5D7;&#x5DE;&#x5D9;&#x5DD; &#x5D5;&#x5E2;&#x5D5;&#x5D3;. &#x5D4;&#x5D5;&#x5D0; &#x5E9;&#x5D9;&#x5DE;&#x5D5;&#x5E9;&#x5D9; &#x5DE;&#x5D0;&#x5D5;&#x5D3; &#x5DB;&#x5D0;&#x5E9;&#x5E8; &#x5DE;&#x5E1;&#x5E4;&#x5E8; &#x5DE;&#x5E4;&#x5EA;&#x5D7;&#x5D9;&#x5DD; &#x5E2;&#x5D5;&#x5D1;&#x5D3;&#x5D9;&#x5DD; &#x5E2;&#x5D5;&#x5D1;&#x5D3;&#x5D9;&#x5DD;
&#x5E2;&#x5DC; &#x5D4;&#x5EA;&#x5D5;&#x5DB;&#x5E0;&#x5D4; &#x5D1;&#x5E9;&#x5D9;&#x5DC;&#x5D5;&#x5D1; &#x5DE;&#x5E9;&#x5DC;&#x5D1;, &#x5E6;&#x5D5;&#x5D5;&#x5EA; &#x5D1;&#x5E7;&#x5E8;&#x5EA; &#x5D0;&#x5D9;&#x5DB;&#x5D5;&#x5EA;, &#x5E6;&#x5D5;&#x5D5;&#x5EA; &#x5E4;&#x5D9;&#x5EA;&#x5D5;&#x5D7;, &#x5D5;&#x5DB;&#x5DF; &#x5D4;&#x5DC;&#x5D0;&#x5D4;. &#x5D1;&#x5DB;&#x5D5;&#x5D5;&#x5E0;&#x5EA;&#x5D9; 
&#x5DC;&#x5D4;&#x5D3;&#x5D2;&#x5D9;&#x5DD; &#x5D2;&#x5DD; &#x5D0;&#x5D5;&#x5EA;&#x5D5;! (&#x5E1;&#x5D5;&#x5D9;&#x5D9;&#x5E8; - 40 &#x5D3;&#x5E7;&#x5D5;&#x5EA;).
&#x3C;/p&#x3E;
&#x3C;/li&#x3E;

&#x3C;/ul&#x3E;

&#x3C;p&#x3E;
&#x5D4;&#x5DE;&#x5E4;&#x5D2;&#x5E9; &#x5D4;&#x5D5;&#x5D0; &#x5D7;&#x5D9;&#x5E0;&#x5DE;&#x5D9; &#x5D5;&#x5DB;&#x5D5;&#x5DC;&#x5DD; &#x5DE;&#x5D5;&#x5D6;&#x5DE;&#x5E0;&#x5D9;&#x5DD;. &#x5E0;&#x5EA;&#x5E8;&#x5D0;&#x5D4; &#x5E9;&#x5DD;!
&#x3C;/p&#x3E;

&#x3C;/div&#x3E;

&#x3C;h3&#x3E;English Version&#x3C;/h3&#x3E;

&#x3C;p&#x3E;
&#x3C;b&#x3E;Please note the change of venue.&#x3C;/b&#x3E; We&#x27;re moving to the next adjacent
building to where we were. You can use the original entrance or use the
listed address.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
On 31 August, 2011 (Wednesday), the Tel Aviv Perl Mongers will hold their monthly 
meetup. We meet at 18:30 and start at 19:00. The address is: Shenkar College,
Mitchel building, Yeda Am 8, Ramat Gan, Room 2106. The theme of this meeting 
will be the git version control system.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
One can find more details in &#x3C;a href=&#x22;http://telaviv.pm.org/&#x22; rel=&#x22;nofollow&#x22;&#x3E;the web-site&#x3C;/a&#x3E; of
the Tel Aviv Perl mongers.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
This meeting will hold the following talks:
&#x3C;/p&#x3E;

&#x3C;ul&#x3E;
&#x3C;li&#x3E;
&#x3C;p&#x3E;
&#x3C;b&#x3E;Git&#x3C;/b&#x3E; - Git is a decentralized code revision management system. It&#x27;s becoming a
valuable tool for developers (whether programmers, designers, or other) and
is spreading like fire due to its useful nature, being used in the Linux
Kernel development, many free software libraries and programs and many
organizations alike. I intend to teach it to you. (Sawyer - 40 minutes).
&#x3C;/p&#x3E;
&#x3C;/li&#x3E;

&#x3C;li&#x3E;
&#x3C;p&#x3E;
&#x3C;b&#x3E;Gitflow&#x3C;/b&#x3E; - Gitflow is a useful wrapper tool to allow you to set a more streamlined
development process, taking into account features, releases, hot fixes and
more. It&#x27;s very useful when using multiple developers with an integrator, a
QA, a dev team, and so on. I intend to showcase it as well! (Sawyer - 40 minutes.)
&#x3C;/p&#x3E;
&#x3C;/li&#x3E;

&#x3C;/ul&#x3E;

&#x3C;p&#x3E;
The entrance to the meeting is free-of-charge and everyone are welcome to
attend. See you there!
&#x3C;/p&#x3E;</description>
<author>Shlomi Fish ( shlomif@iglu.org.il )</author>
<category>perl</category>
<category>meeting</category>
<category>foss</category>
<comments>http://shlomif-tech.livejournal.com/59692.html</comments>
<guid isPermaLink="true">http://shlomif-tech.livejournal.com/59692.html</guid>
<pubDate>Mon, 29 Aug 2011 10:18:22 GMT</pubDate>
</item>
<item>
<title>Recommendation and Tip: The QUnit JavaScript Automated Tests Library</title>
<link>http://shlomif.livejournal.com/65423.html</link>
<description>&#x3C;p&#x3E;
I&#x27;ve begun working on a JavaScript port of some algorithmic Perl code, to allow
it to run inside a browser. As a result, I had to find a good JavaScript 
automated tests library to allow me to write automated tests for the code. I
first looked at Test.More and Test.Harness from JSAN (the JavaScript Archive
Network) but as it turned out, JSAN was defunct, and no one had time to mark
it as such. Then I asked the &#x201C;Test.Run&#x201D; developer (another thing I had
found on JSAN) to instruct me how to get it
up and running, and he gave me a link to its archive, which was 1.5 MB 
compressed (!), and so was not acceptable.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
I looked at &#x3C;a href=&#x22;http://en.wikipedia.org/wiki/List_of_unit_testing_frameworks#JavaScript&#x22; rel=&#x22;nofollow&#x22;&#x3E;the 
wikipedia list of unit testing frameworks&#x3C;/a&#x3E;, but there were too many. At least
I understood that JSUnit was no longer actively maintained. I looked at Jasmine,
which is a BDD framework for JS, but its syntax seemed too horrid and unnatural.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
Eventually, I decided to ask for recommendation on &#x3C;a href=&#x22;http://stackoverflow.com/&#x22; rel=&#x22;nofollow&#x22;&#x3E;Stack 
Overflow&#x3C;/a&#x3E; and, as after I wrote my title, I found a
&#x3C;a href=&#x22;http://stackoverflow.com/questions/96066/automated-unit-testing-with-javascript&#x22; rel=&#x22;nofollow&#x22;&#x3E;a previous question&#x3C;/a&#x3E;, where there was a recommendation of 
&#x3C;a href=&#x22;http://docs.jquery.com/Qunit&#x22; rel=&#x22;nofollow&#x22;&#x3E;QUnit&#x3C;/a&#x3E;, which I noticed was developed
by the jQuery people, and as I&#x27;m fond of jQuery, I decided to look deeper into
it.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
I wasn&#x27;t disappointed by QUnit - it does what it does well, and I was
able to write my test suite using it, so I can recommend it as well. It has
primitives that are very similar to Perl&#x27;s 
&#x3C;a href=&#x22;http://search.cpan.org/perldoc?Test::More&#x22; rel=&#x22;nofollow&#x22;&#x3E;Test::More&#x3C;/a&#x3E;, and it can
even assert that the number of assertions ran within a test are right (like 
Test::More can).
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
So here&#x27;s a tip for it: if you&#x27;re writing your testing code in a different
file, and you wish to check that no compile-time or run-time exception
was thrown (which will cause QUnit to report a success with zero assertions)
you should wrap the testing code in a &#x3C;tt&#x3E;try { .. } catch&#x3C;/tt&#x3E; block and in
the catch block, run &#x3C;tt&#x3E;ok(false...)&#x3C;/tt&#x3E;. 
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
Here&#x27;s an example from my code:
&#x3C;/p&#x3E;

&#x3C;pre&#x3E;
&#x26;lt;!DOCTYPE HTML PUBLIC &#x26;quot;-//W3C//DTD HTML 4.01 Transitional//EN&#x26;quot; 
                    &#x26;quot;http://www.w3.org/TR/html4/loose.dtd&#x26;quot;&#x26;gt;
&#x26;lt;html&#x26;gt;
&#x26;lt;head&#x26;gt;
&#x26;lt;title&#x26;gt;ABCPath Test&#x26;lt;/title&#x26;gt;
&#x26;lt;script src=&#x26;quot;jquery-latest.js&#x26;quot;&#x26;gt;&#x26;lt;/script&#x26;gt;
&#x26;lt;link rel=&#x26;quot;stylesheet&#x26;quot; href=&#x26;quot;qunit.css&#x26;quot; type=&#x26;quot;text/css&#x26;quot; media=&#x26;quot;screen&#x26;quot; /&#x26;gt;
&#x26;lt;script type=&#x26;quot;text/javascript&#x26;quot; src=&#x26;quot;qunit.js&#x26;quot;&#x26;gt;&#x26;lt;/script&#x26;gt;
&#x26;lt;script type=&#x26;quot;text/javascript&#x26;quot; src=&#x26;quot;joose.mini.js&#x26;quot;&#x26;gt;&#x26;lt;/script&#x26;gt;
&#x26;lt;script type=&#x26;quot;text/javascript&#x26;quot; src=&#x26;quot;abc-path.js&#x26;quot;&#x26;gt;&#x26;lt;/script&#x26;gt;
&#x26;lt;script type=&#x26;quot;text/javascript&#x26;quot; src=&#x26;quot;abc-path-test.js&#x26;quot;&#x26;gt;&#x26;lt;/script&#x26;gt;

  &#x26;lt;script type=&#x26;quot;text/javascript&#x26;quot;&#x26;gt;
      $(document).ready(function () { 
          try {
              test_abc_path();
          }
          catch (err) {
            module(&#x26;quot;Meta&#x26;quot;);
            test(&#x26;quot;global_failure&#x26;quot;, function() {
                ok (false, &#x26;#39;test_abc_path() has thrown an exception or is invalid.&#x26;#39;);
            });
          }
          // Hide passed tests by default.
          $(&#x26;#39;#qunit-tests&#x26;#39;).addClass(&#x26;#39;hidepass&#x26;#39;);
      });
  &#x26;lt;/script&#x26;gt;
  
&#x26;lt;/head&#x26;gt;
&#x26;lt;body&#x26;gt;
  &#x26;lt;h1 id=&#x26;quot;qunit-header&#x26;quot;&#x26;gt;QUnit example&#x26;lt;/h1&#x26;gt;
 &#x26;lt;h2 id=&#x26;quot;qunit-banner&#x26;quot;&#x26;gt;&#x26;lt;/h2&#x26;gt;
 &#x26;lt;div id=&#x26;quot;qunit-testrunner-toolbar&#x26;quot;&#x26;gt;&#x26;lt;/div&#x26;gt;
 &#x26;lt;h2 id=&#x26;quot;qunit-userAgent&#x26;quot;&#x26;gt;&#x26;lt;/h2&#x26;gt;
 &#x26;lt;ol id=&#x26;quot;qunit-tests&#x26;quot;&#x26;gt;&#x26;lt;/ol&#x26;gt;
 &#x26;lt;div id=&#x26;quot;qunit-fixture&#x26;quot;&#x26;gt;test markup, will be hidden&#x26;lt;/div&#x26;gt;
&#x26;lt;/body&#x26;gt;
&#x26;lt;/html&#x26;gt;
&#x3C;/pre&#x3E;

&#x3C;p&#x3E;
Enjoy.
&#x3C;/p&#x3E;</description>
<author>Shlomi Fish ( shlomif@iglu.org.il )</author>
<category>qa</category>
<category>tip</category>
<category>javascript</category>
<category>perl</category>
<category>tech</category>
<category>testing</category>
<comments>http://shlomif.livejournal.com/65423.html</comments>
<guid isPermaLink="true">http://shlomif.livejournal.com/65423.html</guid>
<pubDate>Thu, 11 Aug 2011 16:33:14 GMT</pubDate>
</item>
<item>
<title>Review of the Book Forrest Gump</title>
<link>http://shlomif.livejournal.com/65084.html</link>
<description>&#x3C;p&#x3E;
I received the book 
&#x3C;a href=&#x22;http://en.wikipedia.org/wiki/Forrest_Gump_%28novel%29&#x22; rel=&#x22;nofollow&#x22;&#x3E;&#x3C;i&#x3E;Forrest
Gump&#x3C;/i&#x3E;&#x3C;/a&#x3E;, as a present of gratitude after I tried to help someone with a 
problem he encountered with &#x3C;a href=&#x22;http://fc-solve.berlios.de/&#x22; rel=&#x22;nofollow&#x22;&#x3E;Freecell
Solver&#x3C;/a&#x3E;. I finished reading it a while ago, and would like to review it 
here, as a token for being given it.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
The book is great, and I liked it better than the film (which was based on
it). In the film, it is implied that Forrest Gump is a retard, but in the
book, he is an idiot-savant, who excels in mathematics, music, and some other
mental activities. In the book, Forrest stumbles upon life, one weird happening
after another, in a very lovable way, and the story is captivating, funny
and entertaining.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
I can recommend this book, and I also recommend 
&#x3C;a href=&#x22;http://en.wikipedia.org/wiki/Gump_and_Co.&#x22; rel=&#x22;nofollow&#x22;&#x3E;its sequel&#x3C;/a&#x3E;,
which I had read before reading the first book.
&#x3C;/p&#x3E;

&#x3C;h3&#x3E;Humble Indie Bundle 3&#x3C;/h3&#x3E;

&#x3C;p&#x3E;
I suggest you look at the &#x3C;a href=&#x22;http://www.humblebundle.com/&#x22; rel=&#x22;nofollow&#x22;&#x3E;Humble
Indie Bundle 3&#x3C;/a&#x3E;, which allows you to pay how much you want for seven
indie games, and split the proceeds between charity and the developers of
the games. I&#x27;ve bought the bundle (as I did the previous one) and am now
enjoying the game Crayon Physics Deluxe, which is great.
&#x3C;/p&#x3E;

&#x3C;h3&#x3E;Personal Log&#x3C;/h3&#x3E;

&#x3C;p&#x3E;
I&#x27;ve felt under the weather a while ago, but hopefully, this is mostly behind
me. In the past few days, I&#x27;ve kept myself busy by studying 
&#x3C;a href=&#x22;http://en.wikipedia.org/wiki/Group_theory&#x22; rel=&#x22;nofollow&#x22;&#x3E;Group theory&#x3C;/a&#x3E;, watching
episodes of The Muppet Show, translating some code from Perl to JavaScript
(which has given me a lot of fodder for my 
&#x3C;a href=&#x22;http://www.shlomifish.org/open-source/anti/javascript/&#x22; rel=&#x22;nofollow&#x22;&#x3E;JavaScript&#x3C;/a&#x3E; 
page), and playing various games.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
I&#x27;ve been feeling guilty about not having been following my RSS feeds for
a long while. I&#x27;ve started to
become not very fond of Akregator (the KDE feeds&#x27; aggregator), due to its
lack of RSS service support, and I feel that the developers&#x27; plan to port it 
to Akonadi will make it even worse. I&#x27;ve found two other feeds&#x27; aggregators
(one for Firefox and the other one for GNOME/gtk+) either slow or annoying, 
and so am left without an aggregator.
&#x3C;/p&#x3E;</description>
<author>Shlomi Fish ( shlomif@iglu.org.il )</author>
<comments>http://shlomif.livejournal.com/65084.html</comments>
<guid isPermaLink="true">http://shlomif.livejournal.com/65084.html</guid>
<pubDate>Sun, 07 Aug 2011 16:35:11 GMT</pubDate>
</item>
<item>
<title>New Translations of Stories</title>
<link>http://shlomif-hsite.livejournal.com/16447.html</link>
<description>&#x3C;p&#x3E;
Here are the recent updates for Shlomi Fish&#x2019;s Homepage. The first highlight is
that I&#x2019;ve gone over the site and converted most ASCII single quotes and
double quotes I could find to their Unicode equivalents. In the process,
I corrected many typos, XHTML validation problems, and other issues. 
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
There are new &#x3C;a href=&#x22;http://www.shlomifish.org/humour/fortunes/&#x22; rel=&#x22;nofollow&#x22;&#x3E;fortune cookies&#x3C;/a&#x3E;:
&#x3C;/p&#x3E;

&#x3C;blockquote&#x3E;
    &#x3C;p&#x3E;
    The worst way to waste your time is to never waste it. 
    &#x3C;/p&#x3E;
&#x3C;/blockquote&#x3E;

&#x3C;p&#x3E;
There&#x2019;s a translation of the
of &#x3C;a href=&#x22;http://www.shlomifish.org/humour/human-hacking/&#x22; rel=&#x22;nofollow&#x22;&#x3E;Human Hacking
    Field Guide&#x3C;/a&#x3E; to Written Arabic. This was done by Vieq - thanks!
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
The Hebrew translation of the screenplay
&#x3C;a href=&#x22;http://www.shlomifish.org/humour/humanity/&#x22; rel=&#x22;nofollow&#x22;&#x3E;&#x3C;i&#x3E;Humanity - the Movie&#x3C;/i&#x3E;&#x3C;/a&#x3E; is now complete.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
Furthermore, the
&#x3C;a href=&#x22;http://www.shlomifish.org/open-source/projects/XML-Grammar/Fiction/&#x22; rel=&#x22;nofollow&#x22;&#x3E;XML-Grammar-Fiction page&#x3C;/a&#x3E; was enhanced with examples and links.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
There&#x2019;s a new 
&#x3C;a href=&#x22;http://www.shlomifish.org/open-source/projects/Test.pm-Converter/&#x22; rel=&#x22;nofollow&#x22;&#x3E;Test.pm
    to Test::More partial converter&#x3C;/a&#x3E;, which may be of interest to programmers
maintaining legacy Perl code.
&#x3C;/p&#x3E;</description>
<author>Shlomi Fish ( shlomif@iglu.org.il )</author>
<category>fortune</category>
<category>screenplay</category>
<category>translations</category>
<category>humor</category>
<category>hebrew</category>
<category>english</category>
<category>web</category>
<category>cookies</category>
<category>arabic</category>
<comments>http://shlomif-hsite.livejournal.com/16447.html</comments>
<guid isPermaLink="true">http://shlomif-hsite.livejournal.com/16447.html</guid>
<pubDate>Sat, 23 Jul 2011 09:48:24 GMT</pubDate>
</item>
<item>
<title>  In order to send a signal (such as kill) to all process of a certain UNIX  user, one can do: &#x26;lt;/</title>
<link>http://shlomif-tech.livejournal.com/59478.html</link>
<description>&#x3C;p&#x3E;
In order to send a signal (such as kill) to all process of a certain UNIX 
user, one can do:
&#x3C;/p&#x3E;

&#x3C;pre&#x3E;
pkill -U &#x22;$username&#x22;
&#x3C;/pre&#x3E;

&#x3C;p&#x3E;
To kill them forcibly using the 9 signal (&#x22;SIGKILL&#x22;), you can do:
&#x3C;/p&#x3E;

&#x3C;pre&#x3E;
pkill -9 -U &#x22;$username&#x22;
&#x3C;/pre&#x3E;

&#x3C;p&#x3E;
To just list their process IDs, you can do:
&#x3C;/p&#x3E;

&#x3C;pre&#x3E;
pgrep -U &#x22;$username&#x22;
&#x3C;/pre&#x3E;

&#x3C;h3&#x3E;Personal Log&#x3C;/h3&#x3E;

&#x3C;p&#x3E;
svn.berlios.de has 
&#x3C;a href=&#x22;https://developer.berlios.de/bugs/?func=detailbug&#x26;amp;bug_id=18269&#x26;amp;group_id=1&#x22; rel=&#x22;nofollow&#x22;&#x3E;not
been available in the past day&#x3C;/a&#x3E; , which really drives me mad, so I decided
to:
&#x3C;/p&#x3E;

&#x3C;ol&#x3E;

&#x3C;li&#x3E;Do stuff that don&#x27;t require it, like blog or work on non-svn.berlios.de code.&#x3C;/li&#x3E;

&#x3C;li&#x3E;Transition most of my code away from svn.berlios.de to bitbucket.org and
Mercurial once it is up.&#x3C;/li&#x3E;

&#x3C;/ol&#x3E;

&#x3C;p&#x3E;
Cheers.
&#x3C;/p&#x3E;</description>
<author>Shlomi Fish ( shlomif@iglu.org.il )</author>
<category>tip</category>
<category>tech</category>
<category>tech tip</category>
<comments>http://shlomif-tech.livejournal.com/59478.html</comments>
<guid isPermaLink="true">http://shlomif-tech.livejournal.com/59478.html</guid>
<pubDate>Fri, 22 Jul 2011 12:41:30 GMT</pubDate>
</item>
<item>
<title>More Vim Tips</title>
<link>http://shlomif-tech.livejournal.com/59157.html</link>
<description>&#x3C;p&#x3E;
Here are some more &#x3C;a href=&#x22;http://www.vim.org/&#x22; rel=&#x22;nofollow&#x22;&#x3E;Vim&#x3C;/a&#x3E; tips I collected
recently:
&#x3C;/p&#x3E;

&#x3C;ol&#x3E;

&#x3C;li&#x3E;
&#x3C;p&#x3E;
One can repeat the last &#x3C;a href=&#x22;http://shlomif.livejournal.com/33453.html&#x22;&#x3E;t, 
f, T or F command&#x3C;/a&#x3E; which moves to the next specified character in a line, or
right before that, using 
&#x3C;a href=&#x22;http://vimdoc.sourceforge.net/htmldoc/motion.html#;&#x22; rel=&#x22;nofollow&#x22;&#x3E;;&#x3C;/a&#x3E;, and repeat
in the opposite direction using 
&#x3C;a href=&#x22;http://vimdoc.sourceforge.net/htmldoc/motion.html#,&#x22; rel=&#x22;nofollow&#x22;&#x3E;,&#x3C;/a&#x3E;. I 
discovered those after starting to read through the vim &#x3C;tt&#x3E;usr_*&#x3C;/tt&#x3E; 
manuals.
&#x3C;/p&#x3E;
&#x3C;/li&#x3E;

&#x3C;li&#x3E;
&#x3C;p&#x3E;
One can get the Unicode value of the character under the cursor using the
&#x3C;tt&#x3E;:ascii&#x3C;/tt&#x3E; command-line command or the &#x3C;tt&#x3E;ga&#x3C;/tt&#x3E; normal mode command.
&#x3C;/p&#x3E;
&#x3C;/li&#x3E;

&#x3C;li&#x3E;
&#x3C;p&#x3E;
If you want to find how many lines/words/etc. are in a visual block, you can
select it using &#x22;v&#x22; and friends and then type &#x3C;tt&#x3E;g-Ctrl+G&#x3C;/tt&#x3E;.
&#x3C;/p&#x3E;
&#x3C;/li&#x3E;

&#x3C;li&#x3E;
&#x3C;p&#x3E;
Finally, you can pipe the contents of the buffer or a range to an external
program and view its output temporarily. So you can say 
&#x3C;tt&#x3E;:w !grep &#x27;FOO&#x27; | wc -l&#x3C;/tt&#x3E; to find the number of lines containing &#x27;FOO&#x27;,
or &#x3C;tt&#x3E;:&#x27;a,&#x27;bw !grep &#x27;FOO&#x27; | wc -l&#x3C;/tt&#x3E; within a range.
&#x3C;/p&#x3E;
&#x3C;/li&#x3E;

&#x3C;/ol&#x3E;

&#x3C;p&#x3E;
I should note that one thing that annoyed me lately, is the fact that after I
have a visual selection (&#x3C;tt&#x3E;v&#x3C;/tt&#x3E; or &#x3C;tt&#x3E;V&#x3C;/tt&#x3E;), I sometimes press 
&#x3C;tt&#x3E;u&#x3C;/tt&#x3E; instead of &#x3C;tt&#x3E;y&#x3C;/tt&#x3E; (because they are so nearby) and so cause
the selection to become lowercase instead of yanking it.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
Happy Vimming!
&#x3C;/p&#x3E;</description>
<author>Shlomi Fish ( shlomif@iglu.org.il )</author>
<category>tip</category>
<category>vim tip</category>
<category>tech</category>
<category>vim</category>
<category>tech tip</category>
<comments>http://shlomif-tech.livejournal.com/59157.html</comments>
<guid isPermaLink="true">http://shlomif-tech.livejournal.com/59157.html</guid>
<pubDate>Mon, 18 Jul 2011 09:09:11 GMT</pubDate>
</item>
<item>
<title>Causing an Error in code.google.com</title>
<link>http://shlomif-tech.livejournal.com/58907.html</link>
<description>&#x3C;p&#x3E;
One time when trying to do something with code.google.com, I got a server 
error. I recorded the HTTP session that led to it and converted it to a 
self-reproducing Perl script, which still gives me this error. I reported
this error to Google on the relevant forums twice, but I did not get a reply.
So in the name of 
&#x3C;a href=&#x22;http://en.wikipedia.org/wiki/Full_disclosure&#x22; rel=&#x22;nofollow&#x22;&#x3E;full disclosure&#x3C;/a&#x3E;,
I&#x27;m reporting it here.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
The script in question can be found 
as 
&#x3C;a href=&#x22;http://www.shlomifish.org/Files/files/code/bugs/c.g.c-error.txt&#x22; rel=&#x22;nofollow&#x22;&#x3E;a
text file on my homepage&#x3C;/a&#x3E; or
as &#x3C;a href=&#x22;http://paste.debian.net/122853/&#x22; rel=&#x22;nofollow&#x22;&#x3E;a paste.debian.net paste&#x3C;/a&#x3E;. I
don&#x27;t know what the implications of this error are, but it should still
be dealt with and it wasn&#x27;t.
&#x3C;/p&#x3E;</description>
<author>Shlomi Fish ( shlomif@iglu.org.il )</author>
<category>bug</category>
<category>google</category>
<category>security</category>
<comments>http://shlomif-tech.livejournal.com/58907.html</comments>
<guid isPermaLink="true">http://shlomif-tech.livejournal.com/58907.html</guid>
<pubDate>Thu, 14 Jul 2011 10:23:27 GMT</pubDate>
</item>
<item>
<title>Freecell Solver 3.8.0 was Released</title>
<link>http://fc-solve.blogspot.com/2011/07/freecell-solver-380-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 3.8.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 fixes some crashes using &#x3C;tt&#x3E;--trim-max-stored-states&#x3C;/tt&#x3E;,
adds a more meaningful man page instead of the token one that was previously
present, adds &#x3C;tt&#x3E;scripts/parallel-range-solver-total&#x3C;/tt&#x3E; to solve a range
of deals in parallel by splitting them into chunks, and many smaller
improvements and fixes.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
We also forgot to mention the 3.6.0 release, which fixed the installation of
&#x3C;tt&#x3E;fcs_dllexport.h&#x3C;/tt&#x3E;, added the &#x3C;tt&#x3E;--tracemem&#x3C;/tt&#x3E; compile time option,
added a bug fix for incrementally increasing the iterations/stored-states
limits, added a built-in version of
&#x3C;a href=&#x22;http://www.kylheku.com/~kaz/kazlib.html&#x22;&#x3E;kazlib&#x3C;/a&#x3E;&#x27;s balanced
binary search tree as a possible back-end for storage, and had some
other improvements.
&#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-2745502186764392027?l=fc-solve.blogspot.com&#x27; alt=&#x27;&#x27; /&#x3E;&#x3C;/div&#x3E;</description>
<author>Shlomi Fish ( shlomif@iglu.org.il )</author>
<category>version</category>
<category>bugs</category>
<category>freecell</category>
<category>release</category>
<category>fixes</category>
<category>code</category>
<category>cleanup</category>
<category>solving</category>
<category>solver</category>
<guid isPermaLink="false">tag:blogger.com,1999:blog-96099636168698788.post-2745502186764392027</guid>
<pubDate>Sun, 03 Jul 2011 14:36:00 +0000</pubDate>
<atom:updated>2011-07-03T07:37:49.364-07:00</atom:updated>
</item>
<item>
<title>Google Plus</title>
<link>http://shlomif-tech.livejournal.com/58669.html</link>
<description>&#x3C;p&#x3E;
Here is a message to everyone who is concerned:
&#x3C;/p&#x3E;

&#x3C;ol&#x3E;

&#x3C;li&#x3E;
Please don&#x27;t ask me if I want any Google Plus invites.
&#x3C;/li&#x3E;

&#x3C;li&#x3E;
Please don&#x27;t ask me if I can give any Google Plus invites.
&#x3C;/li&#x3E;

&#x3C;li&#x3E;
It would be a good idea to refrain from doing both of these to other people
as well.
&#x3C;/li&#x3E;

&#x3C;/ol&#x3E;

&#x3C;p&#x3E;
This Google Plus invites thing starts the whole Google Wave thing all over
again, and is incredibly anti-social (which is ironic for a social network). 
So you have been warned. If any of you violate either of these, they will
be referred to this post.
&#x3C;/p&#x3E;</description>
<author>Shlomi Fish ( shlomif@iglu.org.il )</author>
<category>hype</category>
<category>google</category>
<comments>http://shlomif-tech.livejournal.com/58669.html</comments>
<guid isPermaLink="true">http://shlomif-tech.livejournal.com/58669.html</guid>
<pubDate>Sun, 03 Jul 2011 10:15:40 GMT</pubDate>
</item>
<item>
<title>PPI-Based Script to Convert Test.pm-based Test Programs to Test::More</title>
<link>http://blogs.perl.org/users/shlomi_fish/2011/06/ppi-based-script-to-convert-testpm-based-test-programs-to-testmore.html</link>
<description> Some CPAN modules I inherited used the old Test.pm for some of their t/*.t scripts instead of the more modern Test::More. This annoys me to no end because Test.pm is very limited. When I worked on Config-IniFiles, I did...</description>
<author>Shlomi Fish</author>
<category>Perl</category>
<category>PPI</category>
<category>QA</category>
<guid isPermaLink="true">http://blogs.perl.org/users/shlomi_fish/2011/06/ppi-based-script-to-convert-testpm-based-test-programs-to-testmore.html</guid>
<pubDate>Thu, 23 Jun 2011 20:00:36 -0000</pubDate>
<content:encoded content="
        
&#x3C;p&#x3E;
Some CPAN modules I inherited used the old
&#x3C;a href=&#x22;http://search.cpan.org/perldoc?Test&#x22;&#x3E;Test.pm&#x3C;/a&#x3E; for some of their
&#x3C;tt&#x3E;t/*.t&#x3C;/tt&#x3E; scripts instead of the more modern 
&#x3C;a href=&#x22;http://en.wikipedia.org/wiki/Test::More&#x22;&#x3E;Test::More&#x3C;/a&#x3E;. This
annoys me to no end because Test.pm is very limited. When I worked on
&#x3C;a href=&#x22;http://beta.metacpan.org/release/Config-IniFiles&#x22;&#x3E;Config-IniFiles&#x3C;/a&#x3E;,
I did the conversion manually, which was a lot of work. More recently, I 
&#x3C;a href=&#x22;http://blogs.perl.org/users/shlomi_fish/2011/06/resuming-maintenance-of-xml-libxml.html&#x22;&#x3E;started 
working on XML-LibXML&#x3C;/a&#x3E; which has over 40 of those pesky Test.pm scripts, and 
I did not have the nerve to do all the manual and menial work.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
As a result, I ended up spending a few hours studying
&#x3C;a href=&#x22;http://beta.metacpan.org/release/PPI&#x22;&#x3E;PPI&#x3C;/a&#x3E; (the Perl Parsing
Interface), and writing
&#x3C;a href=&#x22;http://www.shlomifish.org/open-source/projects/Test.pm-Converter/&#x22;&#x3E;a 
script&#x3C;/a&#x3E; to automatically convert Test.pm-based scripts to Test::More. The 
main issue at hand was that in Test.pm, a single argument &#x3C;tt&#x3E;ok()&#x3C;/tt&#x3E;
tests for the scalar&#x27;s truth, while a double argument &#x3C;tt&#x3E;ok()&#x3C;/tt&#x3E; tests for 
simple equivalence (similarly to Test::More&#x27;s &#x3C;tt&#x3E;is()&#x3C;/tt&#x3E;). Eventually, I got 
the script working, with some limitations (see &#x3C;a 
href=&#x22;http://www.shlomifish.org/open-source/projects/Test.pm-Converter/&#x22;&#x3E;the page&#x3C;/a&#x3E;).
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
So what was my impression of PPI? It naturally seems more robust than using
regular expressions and hacks to process Perl code, but there were a few quirks.
For example, a PPI
&#x3C;a href=&#x22;http://beta.metacpan.org/module/PPI::Structure::List&#x22;&#x3E;list&#x3C;/a&#x3E; contains
an array of its contents, and the commas are part of them, as are the 
various other tokens in the sub-expressions. Therefore, divining the count of 
the  arguments is pretty hard. I would have expected to get a more &#x3C;a href=&#x22;http://en.wikipedia.org/wiki/Abstract_syntax_tree&#x22;&#x3E;abstract 
syntax tree&#x3C;/a&#x3E; of the arguments, and since I didn&#x27;t I had to work around
it with an ugly kludge.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
Furthermore, after stringifying the document object, the contents of the 
&#x3C;a href=&#x22;http://en.wikipedia.org/wiki/Here_document&#x22;&#x3E;here-documents&#x3C;/a&#x3E; were
not included in the output from some reason. However, I may have done something
wrong. I also wish the PPI PODs contained more meaningful examples.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
Nevertheless, my script is mostly working now and I can utilise it to
&#x22;test-lift&#x22; legacy test programs. You might find it useful too, so it&#x27;s there
in case you need it, and patches to fix its limitations would be welcome.
&#x3C;/p&#x3E;


        
    " xmlbase="http://blogs.perl.org/users/shlomi_fish/"/>
<dcterms:modified>2011-06-23T20:02:04Z</dcterms:modified>
</item>
<item>
<title>Resuming Maintenance of XML-LibXML</title>
<link>http://blogs.perl.org/users/shlomi_fish/2011/06/resuming-maintenance-of-xml-libxml.html</link>
<description> For a long while, work on the XML-LibXML CPAN module halted as the existing maintainer was busy. After a discussion on the Perl-in-XML mailing list, some people and I were given co-maintainer status and we resumed its maintenance inside...</description>
<author>Shlomi Fish</author>
<category>CPAN</category>
<category>libxml</category>
<category>XML</category>
<guid isPermaLink="true">http://blogs.perl.org/users/shlomi_fish/2011/06/resuming-maintenance-of-xml-libxml.html</guid>
<pubDate>Mon, 20 Jun 2011 14:38:13 -0000</pubDate>
<content:encoded content="
        
&#x3C;p&#x3E;
For a long while, work on the 
&#x3C;a href=&#x22;http://beta.metacpan.org/release/XML-LibXML&#x22;&#x3E;XML-LibXML
CPAN module&#x3C;/a&#x3E; halted as the existing maintainer was busy.
After &#x3C;a href=&#x22;http://code.activestate.com/lists/perl-xml/8885/&#x22;&#x3E;a 
discussion&#x3C;/a&#x3E; on the Perl-in-XML mailing list, some people and I were
given co-maintainer status and we resumed its maintenance inside
&#x3C;a href=&#x22;https://bitbucket.org/shlomif/perl-xml-libxml&#x22;&#x3E;a Bitbucket.org
Mercurial repository&#x3C;/a&#x3E;. 
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
So far what I did, was fix some low-hanging fruit 
bugs, apply some patches, as well as start the long process of converting
the test suite, which still uses Test.pm to 
&#x3C;a href=&#x22;http://beta.metacpan.org/module/Test::More&#x22;&#x3E;Test::More&#x3C;/a&#x3E; . There are
still many bugs lurking there, and some of them are XS bugs that are still
beyond my reach, and I could use some assistance there. But it&#x27;s a start.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
If you&#x27;re interested in helping, the clone the repository, write a patch and 
send me a pull request.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
&#x3C;b&#x3E;Text::Table Update:&#x3C;/b&#x3E; I&#x27;ve written about
&#x3C;a href=&#x22;http://blogs.perl.org/users/shlomi_fish/2011/04/introduction-to-blogsperlorg-texttable.html&#x22;&#x3E;resuming 
the maintenance of Text::Table&#x3C;/a&#x3E; in April, and it progressed nicely:
the tests were converted to Test::More, a lot of the code was cleaned up, 
the build system was converted to Module::Build, and keywords and resource
URLs were defined, and some bugs were solved (along with tests). I&#x27;m still 
looking into ways to clean up the code, and if anyone has an idea for a cool
feature, then they should drop me a line (or provide a patch).
&#x3C;/p&#x3E;


        
    " xmlbase="http://blogs.perl.org/users/shlomi_fish/"/>
<dcterms:modified>2011-06-20T14:39:09Z</dcterms:modified>
</item>
<item>
<title>Transferring a Ticket to YAPC::Europe::2011</title>
<link>http://blogs.perl.org/users/shlomi_fish/2011/06/transferring-a-ticket-to-yapceurope2011.html</link>
<description> I originally planned to attend YAPC::Europe::2011 in Riga, Latvia (on 15-17 August, 2011), and so bought an early bird ticket, but will no longer be able to attend due to personal reasons. As a result, I&#x27;m now seaking to...</description>
<author>Shlomi Fish</author>
<category>YAPC</category>
<guid isPermaLink="true">http://blogs.perl.org/users/shlomi_fish/2011/06/transferring-a-ticket-to-yapceurope2011.html</guid>
<pubDate>Mon, 20 Jun 2011 08:13:24 -0000</pubDate>
<content:encoded content="
        
&#x3C;p&#x3E;
I originally planned to attend 
&#x3C;a href=&#x22;http://yapceurope.lv/ye2011/&#x22;&#x3E;YAPC::Europe::2011&#x3C;/a&#x3E; in Riga, Latvia
(on 15-17 August, 2011), and so bought an early bird ticket, but will no 
longer be able to attend due to personal reasons. As a result, I&#x27;m now seaking 
to transfer the ticket to someone else, for the right price (which will be
cheaper than what I bought it.).
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
If you are interested, please 
&#x3C;a href=&#x22;http://www.shlomifish.org/me/contact-me/&#x22;&#x3E;contact me&#x3C;/a&#x3E; and we will
negotiate a price. I hope everybody enjoys the YAPCs.
&#x3C;/p&#x3E;


        
    " xmlbase="http://blogs.perl.org/users/shlomi_fish/"/>
<dcterms:modified>2011-06-20T08:14:58Z</dcterms:modified>
</item>
<item>
<title>Tech Tip: KDE 4: Changing the Names of the Virtual Desktops from the Command Line</title>
<link>http://shlomif-tech.livejournal.com/58391.html</link>
<description>&#x3C;p&#x3E;
I&#x27;ve written 
&#x3C;a href=&#x22;https://bitbucket.org/shlomif/kde4-virtual-desktop-names&#x22; rel=&#x22;nofollow&#x22;&#x3E;a small
command-line utility&#x3C;/a&#x3E; to change the names of the KDE 4 
&#x3C;a href=&#x22;http://en.wikipedia.org/wiki/Virtual_desktop&#x22; rel=&#x22;nofollow&#x22;&#x3E;virtual desktops&#x3C;/a&#x3E;
(also known as &#x22;virtual workspaces&#x22;).
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
To use it, do something like this:
&#x3C;/p&#x3E;

&#x3C;pre&#x3E;
#!/bin/bash
./set_kde4_virtual_desktop_names \
    &#x22;Main&#x22; &#x22;Devel&#x22; &#x22;Chat&#x22; &#x22;Donkey&#x22; \
    &#x22;Music&#x22; &#x22;Config&#x22; &#x22;Workspace 7&#x22; &#x22;Games&#x22;
&#x3C;/pre&#x3E;

&#x3C;p&#x3E;
I&#x27;ve originally thought I could do it by setting the value of
&#x3C;tt&#x3E;_NET_DESKTOP_NAMES&#x3C;/tt&#x3E; in xprop, but that turned out to be futile. Then
I decided that imitation was the sincerest form of flattery and ripped the
relevant code out of kdebase-workspace, and after some modifications, it
worked. I&#x27;d like to thank &#x3C;tt&#x3E;pinotree&#x3C;/tt&#x3E; from &#x3C;tt&#x3E;#kde-devel&#x3C;/tt&#x3E; for
some assistance.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
Here is the code, but the repository also contains a 
&#x3C;tt&#x3E;CMakeLists.txt&#x3C;/tt&#x3E; file:
&#x3C;/p&#x3E;

&#x3C;pre&#x3E;
/*
 * A program to set the names of KDE 4&#x26;#39; virtual desktops (a.k.a virtual
 * workspaces).
 *
 * Adapted from kdebase-workspace-4.6.4 &#x26;#39;s 
 * kwin/kcmkwin/kwindesktop/main.cpp , which is:
********************************************************************
KWin - the KDE window manager
This file is part of the KDE project.

Copyright (C) 2009 Martin Gr&#xE4;&#xDF;lin &#x26;lt;kde@martin-graesslin.com&#x26;gt;

This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program.  If not, see &#x26;lt;http://www.gnu.org/licenses/&#x26;gt;.
*********************************************************************
 *
 * Skeleton of KApplication taken from:
 * http://techbase.kde.org/Development/Tutorials/First_program
 *
 * Written by Shlomi Fish ( http://www.shlomifish.org/ ) while disclaiming
 * all rights on the modifications.
 *
 */
#include &#x26;lt;QX11Info&#x26;gt;
#include &#x26;lt;NETRootInfo&#x26;gt;
#include &#x26;lt;KApplication&#x26;gt;
#include &#x26;lt;KAboutData&#x26;gt;
#include &#x26;lt;KCmdLineArgs&#x26;gt;
#include &#x26;lt;KMessageBox&#x26;gt;
#include &#x26;lt;KLocale&#x26;gt;

int main(int argc, char * argv[])
{
    KAboutData aboutData(
                         // The program name used internally.
                         &#x26;quot;tutorial1&#x26;quot;,
                         // The message catalog name
                         // If null, program name is used instead.
                         0,
                         // A displayable program name string.
                         ki18n(&#x26;quot;Tutorial 1&#x26;quot;),
                         // The program version string.
                         &#x26;quot;1.0&#x26;quot;,
                         // Short description of what the app does.
                         ki18n(&#x26;quot;Displays a KMessageBox popup&#x26;quot;),
                         // The license this code is released under
                         KAboutData::License_GPL,
                         // Copyright Statement
                         ki18n(&#x26;quot;(c) 2007&#x26;quot;),
                         // Optional text shown in the About box.
                         // Can contain any information desired.
                         ki18n(&#x26;quot;Some text...&#x26;quot;),
                         // The program homepage string.
                         &#x26;quot;http://example.com/&#x26;quot;,
                         // The bug report email address
                         &#x26;quot;submit@bugs.kde.org&#x26;quot;);
 
    KCmdLineArgs::init( argc, argv, &#x26;amp;aboutData );
    KCmdLineOptions options;
    options.add(&#x26;quot;!+command&#x26;quot;);

    KCmdLineArgs::addCmdLineOptions( options );

    KApplication app;

    KCmdLineArgs * parsedArgs = KCmdLineArgs::parsedArgs();

    QStringList desktopNames;

    for (int i = 0; i &#x26;lt; parsedArgs-&#x26;gt;count() ; i++)
    {
        desktopNames &#x26;lt;&#x26;lt; parsedArgs-&#x26;gt;arg(i);
    }

    int numDesktops = desktopNames.count();

#ifdef Q_WS_X11
    NETRootInfo info( QX11Info::display(),
        NET::NumberOfDesktops | NET::DesktopNames );
    // set desktop names
    for( int i = 1; i &#x26;lt;= numDesktops; i++ )
    {
        QString desktopName = desktopNames[ i -1 ];
        info.setDesktopName( i, desktopName.toUtf8());
        info.activate();
    }
    // set number of desktops
    info.setNumberOfDesktops( numDesktops );
    info.activate();

    XSync(QX11Info::display(), false);
#endif

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

&#x3C;p&#x3E;
Hope you like it. The reason I&#x27;ve written it is because the names of the 
virtual desktops got reset for me in KDE 4 and I didn&#x27;t want to set them
times and again.
&#x3C;/p&#x3E;</description>
<author>Shlomi Fish ( shlomif@iglu.org.il )</author>
<category>tip</category>
<category>tech</category>
<category>tech tip</category>
<category>kde</category>
<comments>http://shlomif-tech.livejournal.com/58391.html</comments>
<guid isPermaLink="true">http://shlomif-tech.livejournal.com/58391.html</guid>
<pubDate>Thu, 16 Jun 2011 07:56:15 GMT</pubDate>
</item>
<item>
<title>&#x5E9;&#x5D1;&#x5D5;&#x5E2; &#x5D4;&#x5E1;&#x5E4;&#x5E8; &#x5D4;&#x5D0;&#x5DC;&#x5D8;&#x5E8;&#x5E0;&#x5D8;&#x5D9;&#x5D1;&#x5D9; &#x5D1;&#x5D0;&#x5D5;&#x5E0;&#x5D9;&#x5D1;&#x5E8;&#x5E1;&#x5D9;&#x5D8;&#x5EA; &#x5EA;&#x5DC;-&#x5D0;&#x5D1;&#x5D9;&#x5D1;</title>
<link>http://shlomif.livejournal.com/64869.html</link>
<description>&#x3C;div dir=&#x22;rtl&#x22; align=&#x22;right&#x22;&#x3E;

&#x3C;p&#x3E;
&#x5D1;&#x5D0;&#x5D5;&#x5E0;&#x5D9;&#x5D1;&#x5E8;&#x5E1;&#x5D9;&#x5D8;&#x5EA; &#x5EA;&#x5DC; &#x5D0;&#x5D1;&#x5D9;&#x5D1; &#x5D4;&#x5D5;&#x5DC;&#x5DA; &#x5DC;&#x5D4;&#x5EA;&#x5E7;&#x5D9;&#x5D9;&#x5DD; &#x5D1;&#x5D9;&#x5D5;&#x5DD; &#x5E9;&#x5DC;&#x5D9;&#x5E9;&#x5D9;, &#x5D4;-31 &#x5D1;&#x5DE;&#x5D0;&#x5D9; (&#x5D4;&#x5E9;&#x5D1;&#x5D5;&#x5E2;) &#x3C;b&#x3E;&#x5E9;&#x5D1;&#x5D5;&#x5E2; &#x5D4;&#x5E1;&#x5E4;&#x5E8; &#x5D4;&#x5D0;&#x5DC;&#x5D8;&#x5E8;&#x5E0;&#x5D8;&#x5D9;&#x5D1;&#x5D9;&#x3C;/b&#x3E; (&#x5E8;&#x5D0;&#x5D5; &#x5D0;&#x5EA;
&#x3C;a href=&#x22;http://www.facebook.com/event.php?eid=122261137854339&#x26;amp;ref=ts&#x22; rel=&#x22;nofollow&#x22;&#x3E;&#x5D4;&#x5D3;&#x5E3;
&#x5E9;&#x5DC; &#x5D4;&#x5D0;&#x5D9;&#x5E8;&#x5D5;&#x5E2; &#x5D1;&#x5E4;&#x5D9;&#x5D9;&#x5E1;&#x5D1;&#x5D5;&#x5E7;&#x3C;/a&#x3E; ) &#x5D1;&#x5D0;&#x5D5;&#x5E0;&#x5D9;&#x5D1;&#x5E8;&#x5E1;&#x5D9;&#x5D8;&#x5EA; &#x5EA;&#x5DC; &#x5D0;&#x5D1;&#x5D9;&#x5D1;, &#x5DE;&#x5DE;&#x5D5;&#x5DC; &#x5DC;&#x5D1;&#x5E0;&#x5D9;&#x5D9;&#x5DF; &#x5D2;&#x5D9;&#x5DC;&#x5DE;&#x5DF;, &#x5D4;&#x5E4;&#x5E7;&#x5D5;&#x5DC;&#x5D8;&#x5D4; &#x5DC;&#x5DE;&#x5D3;&#x5E2;&#x5D9; &#x5D4;&#x5E8;&#x5D5;&#x5D7;, &#x5D1;&#x5D9;&#x5DF; &#x5D4;&#x5E9;&#x5E2;&#x5D5;&#x5EA; 09:30 &#x5D1;&#x5D1;&#x5D5;&#x5E7;&#x5E8; &#x5DC;-16:30 &#x5D0;&#x5D7;&#x5D4;&#x22;&#x5E6;. 
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
&#x5D0;&#x5DD; &#x5DC;&#x5E7;&#x5E8;&#x5D5;&#x5D0; &#x5DE;&#x5D4;&#x5EA;&#x5D9;&#x5D0;&#x5D5;&#x5E8;:
&#x3C;/p&#x3E;

&#x3C;blockquote&#x3E;
	
&#x3C;p&#x3E;
&#x5D1;&#x5D9;&#x5D5;&#x5DD; &#x5E9;&#x5DC;&#x5D9;&#x5E9;&#x5D9; &#x5D4;31/5 &#x5D0;&#x5E0;&#x5D7;&#x5E0;&#x5D5; &#x5E2;&#x5D5;&#x5E8;&#x5DB;&#x5D9;&#x5DD; &#x5D9;&#x5D5;&#x5DD; &#x5D0;&#x5DC;&#x5D8;&#x5E8;&#x5E0;&#x5D8;&#x5D9;&#x5D1;&#x5D9; &#x5DC;&#x5E7;&#x5E8;&#x5D0;&#x5EA; &#x5E9;&#x5D1;&#x5D5;&#x5E2; &#x5D4;&#x5E1;&#x5E4;&#x5E8; &#x5D1;&#x5E9;&#x5D9;&#x5EA;&#x5D5;&#x5E3; &#x5D4;&#x5D0;&#x5D2;&#x5D5;&#x5D3;&#x5D4; &#x5D5;&#x5D4;&#x5D7;&#x5D5;&#x5D2; &#x5DC;&#x5E1;&#x5E4;&#x5E8;&#x5D5;&#x5EA; &#x5D1;&#x5D0;&#x5D5;&#x5E0;&#x5D9;&#x5D1;&#x5E8;&#x5E1;&#x5D9;&#x5D8;&#x5D4;
&#x5DE;10:00 &#x5D1;&#x5D5;&#x5E7;&#x5E8; &#x5D5;&#x5E2;&#x5D3; &#x5D0;&#x5D7;&#x5E8; &#x5D4;&#x5E6;&#x5D4;&#x5E8;&#x5D9;&#x5D9;&#x5DD; &#x5D9;&#x5D5;&#x5E6;&#x5D1;&#x5D5; &#x5D3;&#x5D5;&#x5DB;&#x5E0;&#x5D9; &#x5E1;&#x5E4;&#x5E8;&#x5D9;&#x5DD; &#x5E9;&#x5DC; &#x5D9;&#x5D5;&#x5E6;&#x5E8;&#x5D9;&#x5DD; &#x5E2;&#x5E6;&#x5DE;&#x5D0;&#x5D9;&#x5DD; &#x5D5;&#x5D9;&#x5D5;&#x5E6;&#x5E8;&#x5D9;&#x5DD; &#x5D7;&#x5D3;&#x5E9;&#x5D9;&#x5DD;, &#x22;&#x5E1;&#x5E4;&#x5E8; &#x5EA;&#x5DE;&#x5D5;&#x5E8;&#x5EA; &#x5E1;&#x5E4;&#x5E8;&#x22; &#x5D4;&#x5D1;&#x5D9;&#x5D0;&#x5D5; &#x5E1;&#x5E4;&#x5E8; &#x5E9;&#x5E2;&#x5E9;&#x5D4; &#x5D0;&#x5EA; &#x5E9;&#x5DC;&#x5D5; &#x5D5;&#x5D4;&#x5D7;&#x5DC;&#x5D9;&#x5E4;&#x5D5; &#x5D0;&#x5D5;&#x5EA;&#x5D5; &#x5D1;&#x5D0;&#x5D7;&#x5E8; &#x5D0;&#x5D5; &#x5DC;&#x5D7;&#x5DC;&#x5D5;&#x5E4;&#x5D9;&#x5DF; &#x5DC;&#x5EA;&#x5E8;&#x5D5;&#x5DE;&#x5D4;
&#x5E2;&#x5DC; &#x5D4;&#x5D3;&#x5E9;&#x5D0; &#x5DE;&#x5D5;&#x5DC; &#x5D2;&#x5D9;&#x5DC;&#x5DE;&#x5DF; &#x5EA;&#x5E2;&#x5DE;&#x5D5;&#x5D3; &#x5D1;&#x5DE;&#x5D4; &#x5E4;&#x5EA;&#x5D5;&#x5D7;&#x5D4; &#x5DC;&#x5E7;&#x5E8;&#x5D9;&#x5D0;&#x5EA; &#x5E9;&#x5D9;&#x5E8;&#x5D4; &#x5D5;&#x5E4;&#x5E8;&#x5D5;&#x5D6;&#x5D4; &#x5E7;&#x5E6;&#x5E8;&#x5D4; &#x5E9;&#x5EA;&#x5E4;&#x5E2;&#x5DC; &#x5D1;&#x5D4;&#x5E4;&#x5E1;&#x5E7;&#x5D5;&#x5EA; &#x5D4;&#x5DC;&#x5D9;&#x5DE;&#x5D5;&#x5D3;&#x5D9;&#x5DD;
&#x5D1;&#x5D5;&#x5D0;&#x5D5; &#x5DC;&#x5E7;&#x5E8;&#x5D5;&#x5D0; &#x5D5;&#x5DC;&#x5D4;&#x5E7;&#x5E8;&#x5D9;&#x5D0;, &#x5DC;&#x5E9;&#x5DE;&#x5D5;&#x5E2; &#x5D5;&#x5DC;&#x5D4;&#x5E9;&#x5DE;&#x5D9;&#x5E2;, &#x5DC;&#x5D3;&#x5E4;&#x5D3;&#x5E3; &#x5D5;&#x5DC;&#x5D9;&#x5D4;&#x5E0;&#x5D5;&#x5EA; &#x5DE;&#x5D7;&#x5D5;&#x5D5;&#x5D9;&#x5EA; &#x5E1;&#x5E4;&#x5E8;&#x5D5;&#x5EA; &#x5E9;&#x5DC;&#x5D0; &#x5EA;&#x5DE;&#x5E6;&#x5D0;&#x5D5; &#x5D1;&#x5D3;&#x5D5;&#x5DB;&#x5E0;&#x5D9; &#x5E9;&#x5D1;&#x5D5;&#x5E2; &#x5E1;&#x5E4;&#x5E8; &#x5E8;&#x5D2;&#x5D9;&#x5DC;&#x5D9;&#x5DD;
&#x5D5;&#x5EA;&#x5D4;&#x5D9;&#x5D4; &#x5D1;&#x5D9;&#x5E8;&#x5D4; &#x5D1;&#x5D6;&#x5D5;&#x5DC;
&#x3C;/p&#x3E;

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

&#x3C;p&#x3E;
&#x5DE;&#x5D1;&#x5D8;&#x5D9;&#x5D7;&#x5D9;&#x5DD; &#x5D4;&#x5E4;&#x5EA;&#x5E2;&#x5D5;&#x5EA; &#x5E0;&#x5D5;&#x5E1;&#x5E4;&#x5D5;&#x5EA;!
&#x3C;/p&#x3E;

&#x3C;/blockquote&#x3E;

&#x3C;p&#x3E;
&#x5D2;&#x5DD; &#x5D0;&#x5E0;&#x5D9; &#x5DE;&#x5EA;&#x5DB;&#x5D5;&#x5D5;&#x5DF; &#x5DC;&#x5D1;&#x5D5;&#x5D0; &#x5DC;&#x5E9;&#x5DD; &#x5DB;&#x5D3;&#x5D9; &#x5DC;&#x5D4;&#x5E7;&#x5E8;&#x5D9;&#x5D0;
&#x3C;a href=&#x22;http://www.shlomifish.org/humour/&#x22; rel=&#x22;nofollow&#x22;&#x3E;&#x5DE;&#x5D4;&#x5E1;&#x5D9;&#x5E4;&#x5D5;&#x5E8;&#x5D9;&#x5DD; &#x5E9;&#x5DC;&#x5D9;&#x3C;/a&#x3E;
(&#x5D5;&#x5D1;&#x5DB;&#x5DC;&#x5DC;&#x5DD; &#x5E0;&#x5D5;&#x5D1;&#x5D9;&#x5DC;&#x5D5;&#x5EA;, &#x5EA;&#x5E1;&#x5E8;&#x5D9;&#x5D8;&#x5D9;&#x5DD;, &#x5D0;&#x5DE;&#x5E8;&#x5D5;&#x5EA; &#x5E9;&#x5E4;&#x5E8;, &#x5D5;&#x5DE;&#x5D5;&#x5D1;&#x5D0;&#x5D5;&#x5EA;), &#x5E9;&#x5D7;&#x5DC;&#x5E7;&#x5DD; &#x5D4;&#x5EA;&#x5D7;&#x5DC;&#x5EA;&#x5D9; &#x5DC;&#x5EA;&#x5E8;&#x5D2;&#x5DD; &#x5DC;&#x5E2;&#x5D1;&#x5E8;&#x5D9;&#x5EA;
&#x5DC;&#x5E7;&#x5E8;&#x5D0;&#x5EA; &#x5D4;&#x5D0;&#x5D9;&#x5E8;&#x5D5;&#x5E2;. &#x5D0;&#x5E0;&#x5D9; &#x5DE;&#x5E7;&#x5D5;&#x5D5;&#x5D4; &#x5DC;&#x5E8;&#x5D0;&#x5D5;&#x5EA; &#x5D2;&#x5DD; &#x5D0;&#x5EA;&#x5DB;&#x5DD; &#x5E9;&#x5DD;. 
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
&#x5E7;&#x5E8;&#x5D9;&#x5D0;&#x5D4; &#x5E0;&#x5E2;&#x5D9;&#x5DE;&#x5D4;!
&#x3C;/p&#x3E;

&#x3C;/div&#x3E;</description>
<author>Shlomi Fish ( shlomif@iglu.org.il )</author>
<category>stories</category>
<category>tau</category>
<category>israel</category>
<category>university</category>
<category>tel aviv</category>
<comments>http://shlomif.livejournal.com/64869.html</comments>
<guid isPermaLink="true">http://shlomif.livejournal.com/64869.html</guid>
<pubDate>Sat, 28 May 2011 21:03:30 GMT</pubDate>
</item>
<item>
<title>Translations of Stories to Hebrew (For the Alternative Book Week)</title>
<link>http://shlomif-hsite.livejournal.com/16317.html</link>
<description>&#x3C;p&#x3E;
Here are the recent updates for Shlomi Fish&#x2019;s Homepage. Most of these are
ongoing translations of various English stories to Hebrew. These were done
in preparation for the &#x201C;Alternative Book Week&#x201D; in
&#x3C;a href=&#x22;http://www.tau.ac.il/&#x22; rel=&#x22;nofollow&#x22;&#x3E;Tel Aviv University&#x3C;/a&#x3E; (see its
&#x3C;a href=&#x22;http://www.facebook.com/event.php?eid=122261137854339&#x22; rel=&#x22;nofollow&#x22;&#x3E;Facebook 
    page&#x3C;/a&#x3E;). It is going to take place on Tuesday, 31 May 2011 between 09:30 
and 16:30 in Tel Aviv University, next to the Gilman building, the department
of Humanities. Several indepentant writers are going to read from their 
prose there, including me. You are welcome to attend, listen to the
participating writers, and provide us with welcome support and input. Hope to
see you there!
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
There&#x2019;s &#x3C;a href=&#x22;http://www.shlomifish.org/humour.html#cats-in-soviet-russia&#x22; rel=&#x22;nofollow&#x22;&#x3E;a
    new joke in the aphorisms and quotes page&#x3C;/a&#x3E;:
&#x3C;/p&#x3E;

&#x3C;blockquote&#x3E;
&#x3C;p&#x3E;
In Soviet Russia, cats own you. No, wait! Cats own you everywhere.
&#x3C;/p&#x3E;
&#x3C;/blockquote&#x3E;

&#x3C;p&#x3E;
I posted the first part of my 
&#x3C;a href=&#x22;http://www.shlomifish.org/humour/Selena-Mandrake/&#x22; rel=&#x22;nofollow&#x22;&#x3E;&#x3C;i&#x3E;Selena 
        Mandrake - The Slayer&#x3C;/i&#x3E;&#x3C;/a&#x3E; screenplay to
&#x3C;a href=&#x22;http://www.fanfiction.net/s/6989657/1/&#x22; rel=&#x22;nofollow&#x22;&#x3E;its 
    place in FanFiction.net&#x3C;/a&#x3E; where one can rate it and post comments. There
is some new text in the
&#x3C;a href=&#x22;http://www.shlomifish.org/humour/Selena-Mandrake/ideas.txt&#x22; rel=&#x22;nofollow&#x22;&#x3E;ideas
for the future&#x3C;/a&#x3E; document.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
I started preparing a
&#x3C;a href=&#x22;http://www.shlomifish.org/humour/humanity/ongoing-text-hebrew.html&#x22; rel=&#x22;nofollow&#x22;&#x3E;Hebrew 
    translation&#x3C;/a&#x3E; of my
&#x3C;a href=&#x22;http://www.shlomifish.org/humour/humanity/&#x22; rel=&#x22;nofollow&#x22;&#x3E;&#x3C;i&#x3E;Humanity - 
        The Movie&#x3C;/i&#x3E;&#x3C;/a&#x3E; screenplay.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
There are two new fortunes in &#x3C;a href=&#x22;http://www.shlomifish.org/humour/fortunes/&#x22; rel=&#x22;nofollow&#x22;&#x3E;fortune collection&#x3C;/a&#x3E;.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
We now mirror the web parody
&#x3C;a href=&#x22;http://www.shlomifish.org/humour/by-others/was-the-death-star-attack-an-inside-job/&#x22; rel=&#x22;nofollow&#x22;&#x3E;&#x201C;Uncomfortable Questions: Was the Death Star Attack an Inside Job?&#x201D;&#x3C;/a&#x3E; (via Websurdity and &#x3C;a href=&#x22;http://www.debunking911.com/questions.htm&#x22; rel=&#x22;nofollow&#x22;&#x3E;Debunking 911&#x3C;/a&#x3E;). 
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
The various screenplays in English in the 
&#x3C;a href=&#x22;http://www.shlomifish.org/humour/stories/&#x22; rel=&#x22;nofollow&#x22;&#x3E;stories section&#x3C;/a&#x3E; now 
have better capitalisation, punctuation and grammar, and their visual style 
was also improved. There are also many
grammatical corrections to the story
&#x3C;a href=&#x22;http://www.shlomifish.org/humour/human-hacking/&#x22; rel=&#x22;nofollow&#x22;&#x3E;&#x3C;i&#x3E;The 
        Human Hacking Field Guide&#x3C;/i&#x3E;&#x3C;/a&#x3E; and a lot of progress was made in
&#x3C;a href=&#x22;http://www.shlomifish.org/humour/human-hacking/hebrew-v2.html&#x22; rel=&#x22;nofollow&#x22;&#x3E;its
    Hebrew translation&#x3C;/a&#x3E;. 
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
&#x3C;a href=&#x22;http://www.shlomifish.org/open-source/projects/XML-Grammar/Fiction/&#x22; rel=&#x22;nofollow&#x22;&#x3E;The
    XML-Grammar-Fiction page&#x3C;/a&#x3E; now
contains coverage of Screenplay-Text and Screenplay-XML, as well as examples
for the grammars and their outputs.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
Enjoy!
&#x3C;/p&#x3E;</description>
<author>Shlomi Fish ( shlomif@iglu.org.il )</author>
<category>translations</category>
<category>hebrew</category>
<category>cc</category>
<category>fanfiction</category>
<category>cookies</category>
<category>humour</category>
<category>fortune</category>
<category>screenplay</category>
<category>creativecommons</category>
<category>humor</category>
<category>english</category>
<category>web</category>
<category>starwars</category>
<category>hack</category>
<category>hacking</category>
<comments>http://shlomif-hsite.livejournal.com/16317.html</comments>
<guid isPermaLink="true">http://shlomif-hsite.livejournal.com/16317.html</guid>
<pubDate>Fri, 27 May 2011 15:29:44 GMT</pubDate>
</item>
<item>
<title>Tech Tip: Displaying Hebrew/Arabic/etc. Right-aligned in Kate</title>
<link>http://shlomif-tech.livejournal.com/58200.html</link>
<description>&#x3C;p&#x3E;
By default, the &#x3C;a href=&#x22;http://kate-editor.org/&#x22;&#x3E;Kate 
editor of the KDE project&#x3C;/a&#x3E; displays Hebrew/Arabic text etc. left aligned
in the window instead of aligned to the right edge of the window even after
the &#x22;Enhanced support for languages written right-to-left&#x22; is
checked in the &#x3C;tt&#x3E;qtconfig&#x3C;/tt&#x3E; applet. To remedy this you need to
invoke Kate, go to its configuration screen (&#x22;Settings &#x2192; Configure Kate&#x22;, &#x3C;b&#x3E;not&#x3C;/b&#x3E; the KDE global systemsettings application) and then go to &#x201C;Editor Component &#x2192; Appearance &#x2192; General &#x2192; Dynamic Word Wrap&#x201D; and toggle it on and after doing that the mostly Hebrew lines will be properly aligned.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
(I don&#x27;t know why the &#x201C;Dynamic Word Wrap&#x201D; should affect that, and it took
a long time to realise this was the problem due to the web searches and the
KDE developers on IRC being ignorant, but that seems to be the solution to
this.)
&#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>kde</category>
<comments>http://shlomif-tech.livejournal.com/58200.html</comments>
<guid isPermaLink="true">http://shlomif-tech.livejournal.com/58200.html</guid>
<pubDate>Wed, 18 May 2011 02:42:18 GMT</pubDate>
</item>
<item>
<title>&#x201C;Selena Mandrake&#x201D; and Improvements to Other Stories</title>
<link>http://shlomif-hsite.livejournal.com/16110.html</link>
<description>&#x3C;p&#x3E;
Here is what&#x2019;s new on
&#x3C;a href=&#x22;http://www.shlomifish.org/&#x22;&#x3E;Shlomi Fish&#x2019;s
    Homepage&#x3C;/a&#x3E; since the last update. It&#x2019;s been a month and there are many
major changes.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
A new work-in-progress screenplay titled
&#x3C;a href=&#x22;http://www.shlomifish.org/humour/Selena-Mandrake/&#x22;&#x3E;&#x3C;i&#x3E;Selena Mandrake
        - The Slayer&#x3C;/i&#x3E;&#x3C;/a&#x3E; can be found in the stories section. This is a 
supernatural dramedie, that is a parody/tribute/spin-off of 
&#x3C;a href=&#x22;http://en.wikipedia.org/wiki/Buffy_the_Vampire_Slayer&#x22;&#x3E;Buffy the 
    Vampire Slayer&#x3C;/a&#x3E; and some other works of fiction and non-fiction. I have
a pretty good roadmap for what I&#x2019;d like to write there so I hope to get the
first draft soon.
&#x3C;/p&#x3E;

&#x3C;blockquote&#x3E;
&#x3C;p&#x3E;&#x3C;strong&#x3E;Selena:&#x3C;/strong&#x3E; This reminds me. I really should update my Mandriva system at home.
I have not in several days, now. And to think I originally had my friend
Aaron install Mandrake Linux for me, because I thought it was cool that
it was called the same as my last name.
&#x3C;/p&#x3E;
&#x3C;p&#x3E;&#x3C;strong&#x3E;Jessica:&#x3C;/strong&#x3E; Heh, maybe you should become Selena Mandriva now.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;&#x3C;strong&#x3E;Jonathan:&#x3C;/strong&#x3E; Or Selena Mageia.
&#x3C;/p&#x3E;
&#x3C;p&#x3E;
[
Selena bursts out laughing.
]
&#x3C;/p&#x3E;

&#x3C;p&#x3E;&#x3C;strong&#x3E;Selena:&#x3C;/strong&#x3E; That sounds like a name of a vampire slayer&#x2026; or a vampire.
&#x3C;/p&#x3E;
&#x3C;p&#x3E;&#x3C;strong&#x3E;Jonathan:&#x3C;/strong&#x3E; Or both.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;&#x3C;strong&#x3E;Selena:&#x3C;/strong&#x3E; Yeah. I told you about how I was nicknamed &#x201C;Puffy&#x201D; and then &#x201C;Buffy&#x201D;
during one summer camp, right?
&#x3C;/p&#x3E;
&#x3C;p&#x3E;&#x3C;strong&#x3E;Jessica:&#x3C;/strong&#x3E; Yes, many times.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;&#x3C;strong&#x3E;Selena:&#x3C;/strong&#x3E; Yeah, I found it amusing at the time. For a while afterwards, I
insisted that my friends call me &#x201C;Buffy&#x201D; until I realised it was silly, and
reverted back to &#x201C;Selena&#x201D;.
&#x3C;/p&#x3E;
&#x3C;/blockquote&#x3E;

&#x3C;p&#x3E;
I&#x2019;ve also began translating the second version of my novella
&#x3C;a href=&#x22;http://www.shlomifish.org/humour/human-hacking/&#x22;&#x3E;&#x3C;i&#x3E;The Human Hacking
        Field Guide&#x3C;/i&#x3E;&#x3C;/a&#x3E; to Hebrew. One can find
&#x3C;a href=&#x22;http://www.shlomifish.org/humour/human-hacking/hebrew-v2.html&#x22;&#x3E;the ongoing
    Hebrew translation&#x3C;/a&#x3E; and its 
&#x3C;a href=&#x22;http://www.shlomifish.org/humour/human-hacking/human-hacking-field-guide-hebrew-v2.txt&#x22;&#x3E;Fiction-Text source&#x3C;/a&#x3E;, under CC-by-sa - same licence
as the English original. In addition, I can say that the story is being
translated to 
&#x3C;a href=&#x22;http://en.wikipedia.org/wiki/Modern_Standard_Arabic&#x22;&#x3E;Modern Standard
    Arabic&#x3C;/a&#x3E; in the OpenDocument format by an Egyptian enthusiast of
open-source software, and more translations will be welcome.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
In addition to all that, version 7 of my novella
&#x3C;a href=&#x22;http://www.shlomifish.org/humour/TheEnemy/&#x22;&#x3E;&#x3C;i&#x3E;The Enemy
        and How I Helped to Fight It&#x3C;/i&#x3E;&#x3C;/a&#x3E;, in Hebrew and English, with many 
improvements is now available online. I especially would like to thank
&#x3C;a href=&#x22;http://www.miriamereztranslations.co.il/&#x22;&#x3E;Miriam Erez Translations&#x3C;/a&#x3E;
for providing some copy-editing work.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
Moreover, I explicitly marked
many of the &#x3C;a href=&#x22;http://www.shlomifish.org/humour/&#x22;&#x3E;the works of fiction&#x3C;/a&#x3E;
on the site, &#x3C;a href=&#x22;http://www.shlomifish.org/philosophy/&#x22;&#x3E;the essays&#x3C;/a&#x3E;,
and the &#x3C;a href=&#x22;http://www.shlomifish.org/open-source/&#x22;&#x3E;software resources&#x3C;/a&#x3E;
with a Creative Commons licence. Share and enjoy!
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
There are some style tweaks, I&#x2019;ve documented the use of the 
&#x3C;a href=&#x22;http://www.shlomifish.org/meta/FAQ/#evilphish-emblem&#x22;&#x3E;EvilPHish 
    emblem&#x3C;/a&#x3E;, and there are some new 
&#x3C;a href=&#x22;http://www.shlomifish.org/humour/fortunes/&#x22;&#x3E;fortune cookies&#x3C;/a&#x3E;:
&#x3C;/p&#x3E;

&#x3C;blockquote&#x3E;
&#x3C;ul&#x3E;
&#x3C;li&#x3E;&#x3C;b&#x3E;rindolf:&#x3C;/b&#x3E; Mithaldu: I think most contemporary T.V. kinda sucks.&#x3C;/li&#x3E;
&#x3C;li&#x3E;&#x3C;b&#x3E;rindolf:&#x3C;/b&#x3E; Mithaldu: it seems very phony.&#x3C;/li&#x3E;
&#x3C;li&#x3E;&#x3C;b&#x3E;Mithaldu:&#x3C;/b&#x3E; rindolf: same, i haven&#x2019;t actually switched on my tv in five years&#x3C;/li&#x3E;
&#x3C;li&#x3E;&#x3C;b&#x3E;rindolf:&#x3C;/b&#x3E; I prefer a YouTube video of a kitten riding on a turtle.&#x3C;/li&#x3E;
&#x3C;li&#x3E;&#x3C;b&#x3E;rindolf:&#x3C;/b&#x3E; Mithaldu: :-)&#x3C;/li&#x3E;
&#x3C;li&#x3E;&#x3C;b&#x3E;Mithaldu:&#x3C;/b&#x3E; :D&#x3C;/li&#x3E;
&#x3C;li&#x3E;&#x3C;b&#x3E;rindolf:&#x3C;/b&#x3E; Mithaldu: yes.&#x3C;/li&#x3E;
&#x3C;li&#x3E;&#x3C;b&#x3E;rindolf:&#x3C;/b&#x3E; Mithaldu: there is one, BTW.&#x3C;/li&#x3E;
&#x3C;li&#x3E;&#x3C;b&#x3E;Mithaldu:&#x3C;/b&#x3E; oh i do not doubt that&#x3C;/li&#x3E;
&#x3C;li&#x3E;&#x3C;b&#x3E;rindolf:&#x3C;/b&#x3E; Don&#x2019;t know if it&#x2019;s authentic.&#x3C;/li&#x3E;
&#x3C;li&#x3E;&#x3C;b&#x3E;rindolf:&#x3C;/b&#x3E; I saw a friendly cat today, and he purred after I scratched his head.&#x3C;/li&#x3E;
&#x3C;li&#x3E;&#x3C;b&#x3E;rindolf:&#x3C;/b&#x3E; I like Friendly cats.&#x3C;/li&#x3E;
&#x3C;li&#x3E;&#x3C;b&#x3E;rindolf:&#x3C;/b&#x3E; I think lolcats are very subversive.&#x3C;/li&#x3E;
&#x3C;li&#x3E;&#x3C;b&#x3E;rindolf:&#x3C;/b&#x3E; Or were.&#x3C;/li&#x3E;
&#x3C;li&#x3E;&#x3C;b&#x3E;rindolf:&#x3C;/b&#x3E; &#x201C;Ceiling cat is watching you&#x201D;&#x3C;/li&#x3E;
&#x3C;li&#x3E;&#x3C;b&#x3E;Mithaldu:&#x3C;/b&#x3E; cats are the definition of subversive&#x3C;/li&#x3E;
&#x3C;li&#x3E;&#x3C;b&#x3E;Mithaldu:&#x3C;/b&#x3E; they adopt you&#x3C;/li&#x3E;
&#x3C;li&#x3E;&#x3C;b&#x3E;rindolf:&#x3C;/b&#x3E; Mithaldu: heh.&#x3C;/li&#x3E;
&#x3C;li&#x3E;&#x3C;b&#x3E;rindolf:&#x3C;/b&#x3E; In Soviet Russia, cats own you!&#x3C;/li&#x3E;
&#x3C;li&#x3E;&#x3C;b&#x3E;rindolf:&#x3C;/b&#x3E; In Soviet Russia, cats are your master!&#x3C;/li&#x3E;
&#x3C;li&#x3E;&#x3C;b&#x3E;rindolf:&#x3C;/b&#x3E; Well, in Soviet Russia and everywhere.&#x3C;/li&#x3E;
&#x3C;li&#x3E;&#x3C;b&#x3E;kent\n:&#x3C;/b&#x3E; rindolf: you got it backwards.&#x3C;/li&#x3E;
&#x3C;li&#x3E;&#x3C;b&#x3E;kent\n:&#x3C;/b&#x3E; In soviet russia, cats are actually your pets.&#x3C;/li&#x3E;
&#x3C;li&#x3E;&#x3C;b&#x3E;Mithaldu:&#x3C;/b&#x3E; hahaha&#x3C;/li&#x3E;
&#x3C;li&#x3E;&#x3C;b&#x3E;rindolf:&#x3C;/b&#x3E; kent\n: heh.&#x3C;/li&#x3E;
&#x3C;li&#x3E;&#x3C;b&#x3E;rindolf:&#x3C;/b&#x3E; kent\n++&#x3C;/li&#x3E;
&#x3C;li&#x3E;&#x3C;b&#x3E;rindolf:&#x3C;/b&#x3E; I feel better now.&#x3C;/li&#x3E;
&#x3C;li&#x3E;&#x3C;b&#x3E;rindolf:&#x3C;/b&#x3E; Empowered but calm.&#x3C;/li&#x3E;
&#x3C;li&#x3E;&#x3C;b&#x3E;rindolf:&#x3C;/b&#x3E; Thanks to the cats jokes.&#x3C;/li&#x3E;
&#x3C;li&#x3E;&#x3C;b&#x3E;Mithaldu:&#x3C;/b&#x3E; world healing by cat jokes&#x3C;/li&#x3E;
&#x3C;li&#x3E;&#x3C;b&#x3E;rindolf:&#x3C;/b&#x3E; Hopefully, I&#x2019;ll sleep well tonight.&#x3C;/li&#x3E;
&#x3C;li&#x3E;&#x3C;b&#x3E;kent\n:&#x3C;/b&#x3E; Next on the agenda. DICK JOKES!&#x3C;/li&#x3E;
&#x3C;li&#x3E;&#x3C;b&#x3E;rindolf:&#x3C;/b&#x3E; Mithaldu: cats are good for healing I think.&#x3C;/li&#x3E;
&#x3C;li&#x3E;&#x3C;b&#x3E;rindolf:&#x3C;/b&#x3E; kent\n: NO!!!!!&#x3C;/li&#x3E;
&#x3C;li&#x3E;&#x3C;b&#x3E;kent\n:&#x3C;/b&#x3E; ( don&#x2019;t worry, this won&#x2019;t take long )&#x3C;/li&#x3E;
&#x3C;li&#x3E;&#x3C;b&#x3E;Mithaldu:&#x3C;/b&#x3E; yes, as long as you do not own cables&#x3C;/li&#x3E;
&#x3C;li&#x3E;&#x3C;b&#x3E;Mithaldu:&#x3C;/b&#x3E; kent\n: you mean it won&#x2019;t BE very long&#x3C;/li&#x3E;
&#x3C;li&#x3E;&#x3C;b&#x3E;Mithaldu:&#x3C;/b&#x3E; hurr hurr&#x3C;/li&#x3E;
&#x3C;li&#x3E;&#x3C;b&#x3E;rindolf:&#x3C;/b&#x3E; kent\n: I&#x2019;ve got 99 problems but kent\n ain&#x2019;t one.&#x3C;/li&#x3E;
&#x3C;li&#x3E;&#x3C;b&#x3E;kent\n:&#x3C;/b&#x3E; ;)&#x3C;/li&#x3E;
&#x3C;/ul&#x3E;
&#x3C;/blockquote&#x3E;

&#x3C;p&#x3E;
Hope you enjoy the new stuff on the site and stay tuned for more.
&#x3C;/p&#x3E;</description>
<author>Shlomi Fish ( shlomif@iglu.org.il )</author>
<category>vampires</category>
<category>translations</category>
<category>hebrew</category>
<category>cc</category>
<category>cookies</category>
<category>humour</category>
<category>fortune</category>
<category>buffy</category>
<category>screenplay</category>
<category>creativecommons</category>
<category>humor</category>
<category>english</category>
<category>web</category>
<category>hack</category>
<category>hacking</category>
<comments>http://shlomif-hsite.livejournal.com/16110.html</comments>
<guid isPermaLink="true">http://shlomif-hsite.livejournal.com/16110.html</guid>
<pubDate>Fri, 13 May 2011 18:19:16 GMT</pubDate>
</item>
<item>
<title>Film Review of Just Go with It</title>
<link>http://shlomif.livejournal.com/64707.html</link>
<description>&#x3C;p&#x3E;
I&#x27;m taking a break from the usual political and philosophical posts in this blog and posting a review of a film I recently saw and enjoyed.
&#x3C;/p&#x3E;

&#x3C;a href=&#x22;http://en.wikipedia.org/wiki/File:Just_Go_with_It_Poster.jpg&#x22; rel=&#x22;nofollow&#x22;&#x3E;&#x3C;img alt=&#x22;Just Go with It Poster.jpg&#x22; src=&#x22;Film_Review_of_Just_Go_with_It_files/220px-Just_Go_with_It_Poster.jpg&#x22; style=&#x22;float:right;&#x22; height=&#x22;326&#x22; width=&#x22;220&#x22; /&#x3E;&#x3C;/a&#x3E;
&#x3C;p&#x3E;&#x3C;a href=&#x22;http://en.wikipedia.org/wiki/Just_Go_With_It&#x22; title=&#x22;Just Go With It&#x22; rel=&#x22;nofollow&#x22;&#x3E;Just Go With It&#x3C;/a&#x3E; is a Hollywood film starring &#x3C;a href=&#x22;http://en.wikipedia.org/wiki/Adam_Sandler&#x22; title=&#x22;Adam Sandler&#x22; rel=&#x22;nofollow&#x22;&#x3E;Adam Sandler&#x3C;/a&#x3E; and &#x3C;a href=&#x22;http://en.wikipedia.org/wiki/Jennifer_Aniston&#x22; title=&#x22;Jennifer Aniston&#x22; rel=&#x22;nofollow&#x22;&#x3E;Jennifer Aniston&#x3C;/a&#x3E;. I give this film a rating of 9/10, and can highly recommend it.&#x3C;/p&#x3E;
        &#x3C;h2&#x3E;
          General Impression from the Movie
        &#x3C;/h2&#x3E;
        &#x3C;p&#x3E;The movie is very funny, insightful, entertaining, and in general - highly recommended. The acting is great, there are many beautiful scenes in the movie (of Hawaii, etc.), there are many sexy elements to the film, and it is a very fun and thought-provoking movie. I&#x27;ll discuss the various messages of the movie, and the mental and emotional experience it has given me, only after I discuss its bad aspects. This is done in order to get them out of the way.&#x3C;/p&#x3E;
        &#x3C;h2&#x3E;
          The Bad Aspects of the Movie
        &#x3C;/h2&#x3E;
        &#x3C;p&#x3E;The first bad aspect of the movie is that the plot is very shopworn and expected. I could figure out most of what will happen throughout the movie till its end after reading the beginning of &#x3C;a href=&#x22;http://en.wikipedia.org/wiki/Just_Go_With_It&#x22; title=&#x22;Just Go With It&#x22; rel=&#x22;nofollow&#x22;&#x3E;the wikipedia summary of the plot&#x3C;/a&#x3E;. Despite all that, there are still many unexpected elements and plot devices and many funny moments.&#x3C;/p&#x3E;
        &#x3C;p&#x3E;Another bad aspect is that the film gets unrealistic very quickly as the characters build more and more absurd lies, and the character of Palmer (played by &#x3C;a href=&#x22;http://en.wikipedia.org/wiki/Brooklyn_Decker&#x22; title=&#x22;Brooklyn Decker&#x22; rel=&#x22;nofollow&#x22;&#x3E;Brooklyn Decker&#x3C;/a&#x3E;), continues to believe them, while it is obvious that any woman of her intelligence and general ability to sense when someone is lying (or much below that), would have become extremely suspicious, if not completely emotional about it, a short time into the movie. In addition, I think that the screenplay writer went to too great lengths to make us believe that Palmer was indeed more stupid and immature than she actually first appeared to be (like the fact that Seventeen was her favourite magazine, or that she was permanently scarred from the fact that &#x27;N Sync broke up). I believe that the film could have given a more well-rounded message if it still presented her as an intelligent and well-rounded woman.&#x3C;/p&#x3E;
        &#x3C;p&#x3E;We are also required to suspend disbelief for Adam Sandler&#x27;s character of a Don Juan, who uses a wedding ring to lie to women and get them into bed. A real life character of such would have become impotent a long time ago, but I suppose it is a necessary plot device and is one of the film&#x27;s &#x22;known bugs&#x22;.&#x3C;/p&#x3E;
        &#x3C;p&#x3E;Moreover, the film consciously sports many common myths, fashions and hyperboles in 90s or sometimes even more modern American culture, up to the extent of nausea. These stereotypes add to the spice of the movie, and are done with good humour, but they may be a little too much.&#x3C;/p&#x3E;
        &#x3C;p&#x3E;As a result, I&#x27;ve been feeling that this film may be too polished and a prime example of the Hollywood successful film assembly line, which has become a bit too overdone lately. I really think the film&#x27;s script writers and director, could have used less of such stereotypes, while still experiencing the emotional and intellectual process that the film-makers wanted us to go through.&#x3C;/p&#x3E;
        &#x3C;h2&#x3E;
          Insights from the Movie
        &#x3C;/h2&#x3E;
        &#x3C;p&#x3E;Decker&#x27;s character is initially portrayed as intelligent and sexy, both physically and verbally, and a worthy competition to Jennifer Aniston. As the movie progresses we think of her more as na&#x26;#xEF;ve, good-hearted and childish, which causes the audience to more pity her than be attracted to her, so the movie makers were successful.&#x3C;/p&#x3E;
        &#x3C;p&#x3E;On the other hand, Jennifer Aniston convincingly portrays the single-parent mother, who is surprised to discover she can still be very chic, intelligent, inventive, and most importantly - sexy, until the audience is genuinely more attracted to her instead of her younger and extremely physically attractive competition.&#x3C;/p&#x3E;
        &#x3C;p&#x3E;Adam Sandler is very convincing as a modern day &#x3C;a href=&#x22;http://en.wikipedia.org/wiki/Pygmalion_%28mythology%29&#x22; title=&#x22;Pygmalion (mythology)&#x22; rel=&#x22;nofollow&#x22;&#x3E;pygmalion&#x3C;/a&#x3E; who gradually turns his unattractive underling (Aniston), whom he believes is not his type, into a woman whom he finds extremely attractive up to falling in love with.&#x3C;/p&#x3E;
        &#x3C;p&#x3E;I think one of the main hidden messages of the movie, despite a common belief to the contrary, was that sexy women (and men, naturally) are not incompetent, and &#x22;sleazy&#x22;, but quite the opposite - that their sexiness is indicative of a great competency and confidence and maybe even being a noble and honest person.&#x3C;/p&#x3E;
        &#x3C;p&#x3E;Naturally, the movie calls upon women in their 30s and 40s (or even older), including those that have children from prior marriages, to acknowledge the fact that they still have sex appeal, and that they can compete for the attention of attractive men.&#x3C;/p&#x3E;
        &#x3C;p&#x3E;One thing I&#x27;m ambivalent about the film is its implication that it is hard to bridge the gap between the members of &#x3C;a href=&#x22;http://en.wikipedia.org/wiki/Generation_X&#x22; title=&#x22;Generation X&#x22; rel=&#x22;nofollow&#x22;&#x3E;Generation X&#x3C;/a&#x3E; and younger people. While being born in &#x3C;a href=&#x22;http://en.wikipedia.org/wiki/1977&#x22; title=&#x22;1977&#x22; rel=&#x22;nofollow&#x22;&#x3E;1977&#x3C;/a&#x3E; (and have turned 34 in 2011), which may be the edge-of-generation-X, and that I feel a lot of cultural dissonance between people of younger age (who mostly have not watched &#x3C;a href=&#x22;http://en.wikipedia.org/wiki/The_Princess_Bride&#x22; title=&#x22;The Princess Bride&#x22; rel=&#x22;nofollow&#x22;&#x3E;The Princess Bride&#x3C;/a&#x3E;, care little about such popular 90&#x27;s T.V. shows as &#x3C;a href=&#x22;http://en.wikipedia.org/wiki/Friends&#x22; title=&#x22;Friends&#x22; rel=&#x22;nofollow&#x22;&#x3E;Friends&#x3C;/a&#x3E;, &#x3C;a href=&#x22;http://en.wikipedia.org/wiki/Star_Trek:_The_Next_Generation&#x22; title=&#x22;Star Trek: The Next Generation&#x22; rel=&#x22;nofollow&#x22;&#x3E;Star Trek: The Next Generation&#x3C;/a&#x3E; (and &#x22;Deep Space Nine&#x22;), &#x3C;a href=&#x22;http://en.wikipedia.org/wiki/Buffy_the_Vampire_Slayer&#x22; title=&#x22;Buffy the Vampire Slayer&#x22; rel=&#x22;nofollow&#x22;&#x3E;Buffy the Vampire Slayer&#x3C;/a&#x3E;, and are not excited about many hits of the late 80s and 90s), I still feel that we can find a common ground. I also don&#x27;t rule out that mature men who are romantically involved with much younger women (or vice versa), expect them to behave in an immature way, and it becomes a self-fulfilling prophecy. Meaning, older women are not necessarily more mature, but when in a relationship with them, they are expected to behave more maturely, due to the &#x3C;a href=&#x22;http://en.wikipedia.org/wiki/Halo_effect&#x22; title=&#x22;Halo effect&#x22; rel=&#x22;nofollow&#x22;&#x3E;Halo effect&#x3C;/a&#x3E;.&#x3C;/p&#x3E;
        &#x3C;h3&#x3E;
          Jennifer Aniston
        &#x3C;/h3&#x3E;
        &#x3C;p&#x3E;I was out of touch with gossip about Jennifer Aniston for a while (though I have naturally heard about Brad Pitt breaking up with her), so I was pleasantly surprised to read on &#x3C;a href=&#x22;http://en.wikipedia.org/wiki/Jennifer_Aniston&#x22; rel=&#x22;nofollow&#x22; rel=&#x22;nofollow&#x22;&#x3E;her wikipedia page&#x3C;/a&#x3E; that after her breakout role in the Television show &#x3C;a href=&#x22;http://en.wikipedia.org/wiki/Friends&#x22; title=&#x22;Friends&#x22; rel=&#x22;nofollow&#x22;&#x3E;Friends&#x3C;/a&#x3E;, she ended up becoming a very successful Film and Television actress, breaking the &#x22;Friends&#x22; curse. However, while in the film in question, she portrays a middle-aged woman, who has two children whom she cares about a lot and ends up at a dead end career, in real life, Aniston had a successful career, and a string of bad relationships (although she is the godmother of her associate and friend&#x27;s Courtney Cox-Arquette daughter). It&#x27;s hard to know whether Aniston wanted to have children within a steady relationship, or that she put her career first, but it&#x27;s still highly probable that making &#x3C;i&#x3E;Just Go With It&#x3C;/i&#x3E; was painful for her.&#x3C;/p&#x3E;
        &#x3C;p&#x3E;After talking about that with my mother, we agreed that there are many factors that inhibit a successful Hollywood actress from raising a family (among them needing to travel a lot on demand, the prying eyes of the media, including a lot of jealousy and envy, and an otherwise very busy schedule), so naturally a decision not to have children is a valid approach.&#x3C;/p&#x3E;
        &#x3C;h3&#x3E;
          Adam Sandler
        &#x3C;/h3&#x3E;
        &#x3C;p&#x3E;I don&#x27;t recall seeing any previous films with Sandler in them, but he appears to be a fine comedian and a drama actor, and I&#x27;d like to catch up with some of his previous motion pictures, when I have some spare time.&#x3C;/p&#x3E;
        &#x3C;h3&#x3E;
          Brooklyn Decker
        &#x3C;/h3&#x3E;
        &#x3C;p&#x3E;This is Decker&#x27;s first appearance in a film, and she was obviously chosen for it, because of her good looks and her youth. Nevertheless, she appears to play very well, within the purposely unrealistic behavioural constraints that her character exhibits in the plot. As a model, with some natural aspirations for becoming an actress, Decker could have done much worse than this film, and I&#x27;m looking forward to see her in future films.&#x3C;/p&#x3E;
        &#x3C;h3&#x3E;
          The Children
        &#x3C;/h3&#x3E;
        &#x3C;p&#x3E;The Child actors who were picked up for playing the two children in the film give a convincing and funny performance.&#x3C;/p&#x3E;
        &#x3C;h2&#x3E;
          Verdict
        &#x3C;/h2&#x3E;
        &#x3C;p&#x3E;I enjoyed watching Just Go With It, and it apparently has many deeper meanings, both positive and negative. You should probably watch it.&#x3C;/p&#x3E;</description>
<author>Shlomi Fish ( shlomif@iglu.org.il )</author>
<category>movie</category>
<comments>http://shlomif.livejournal.com/64707.html</comments>
<guid isPermaLink="true">http://shlomif.livejournal.com/64707.html</guid>
<pubDate>Mon, 09 May 2011 17:22:02 GMT</pubDate>
</item>
<item>
<title>We are the Qs of the Q continuum!</title>
<link>http://shlomifish.livejournal.com/1342.html</link>
<description>&#x3C;p&#x3E;
We are Qs! Q is us! We have formed the Q continuum. And soon everyone will be
happy, shining, benevolent, unstoppable, Qs. And the New Age will finally
begin, succeeding Modernism and post-Modernism. 
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
So who are Qs? Read my screenplay
&#x3C;a href=&#x22;http://www.shlomifish.org/humour/Star-Trek/We-the-Living-Dead/&#x22;&#x3E;Star
    Trek: &#x22;We, the Living Dead&#x22;&#x3C;/a&#x3E;, to find out. But here&#x27;s a short summary:
&#x3C;/p&#x3E;

&#x3C;h2&#x3E;Animals&#x3C;/h2&#x3E;

&#x3C;p&#x3E;
Animals live their life without choice. They are self-controlling and alive,
but have no choice. Humans are not like that. Human are conscious, they are
sentient, they have choice.
&#x3C;/p&#x3E;

&#x3C;h2&#x3E;Mortals&#x3C;/h2&#x3E;

&#x3C;p&#x3E;
Mortals are everyday humans. They can be very bad or very good or somewhere
between that. But they are still mortals and their psyche may die, leaving them
as dead human beings. As people with psyche death, they become resentful and
less and less capable, and more envious and eventually bad, mystical people,
who are parasites and try to suck life out of the living. Sometimes they 
succeed, but often they don&#x27;t because mortals and especially vampires (see
below) know better.
&#x3C;/p&#x3E;

&#x3C;h2&#x3E;Vampires&#x3C;/h2&#x3E;

&#x3C;p&#x3E;
Vampires are mortals who have determined to stay young forever (at least
in their heart), to keep a live and healthy psyche and to enjoy life, more
and more no matter what happens to them.  
&#x3C;/p&#x3E;

&#x3C;h2&#x3E;Rings&#x3C;/h2&#x3E;

&#x3C;p&#x3E;
Rings are supreme vampires. Not only are they vampires, but they are very
influential and turn all those around them into vampires, and can see through
irrationality and illogicality . Even if they are not violent, they
cannot lose and cannot be stopped.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
There were nine (9) most notable rings in human history:
&#x3C;/p&#x3E;

&#x3C;ol&#x3E;
&#x3C;li&#x3E;Moses - The Jew&#x3C;/li&#x3E;
&#x3C;li&#x3E;Cyrus - The Liberator&#x3C;/li&#x3E;
&#x3C;li&#x3E;Aristotle - The Objective&#x3C;/li&#x3E;
&#x3C;li&#x3E;Muhammad - The Messenger&#x3C;/li&#x3E;
&#x3C;li&#x3E;Saladin - The Just&#x3C;/li&#x3E;
&#x3C;li&#x3E;Gutenberg - The Printer&#x3C;/li&#x3E;
&#x3C;li&#x3E;Galileo - The Scientist&#x3C;/li&#x3E;
&#x3C;li&#x3E;George Washington - The Liberal&#x3C;/li&#x3E;
&#x3C;li&#x3E;Ayn Rand - The Objectivist&#x3C;/li&#x3E;
&#x3C;/ol&#x3E;

&#x3C;p&#x3E;
Ayn Rand&#x27;s legacy was that many people who have read her words (or better,
learned from her deeds) became rings themselves. So there was no use in 
keeping track of more. But what&#x27;s missing?
&#x3C;/p&#x3E;

&#x3C;h2&#x3E;Q - The Invisible&#x3C;/h2&#x3E;

&#x3C;p&#x3E;
Q is the one ring of the lord of darkness (= the Q continuum). He is &#x201C;The
Invisible&#x201D;, the most legendary vampire profile of all who was believed that
they would never be found signifying the invisible hand that guides history.
Even if he&#x27;s fictional and imaginary, he is alive - he lives in our hearts
and minds. Q&#x27;s legacy was
that he jumpstarted what is now one of the universe&#x27;s most advanced 
civilisations, while still not being omnipotent (which is a logical
and mathematical impossibility), and still starting off as a mortal. What
made Q extraordinary, is that he was a ring who expected anyone else to be
rings. Not only that, but he expected everyone else to become Qs and thus
multiply exponentially.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
Q is not someone else. We don&#x27;t have to go afar to seek the holy grail. Q is
us. We are Q. We will ascend from mortals to vampires to rings to Qs. We
will be invincible, and no one will be able to stop us.
&#x3C;/p&#x3E;

&#x3C;h2&#x3E;Who are the Qs of today?&#x3C;/h2&#x3E;

&#x3C;p&#x3E;
&#x3C;a href=&#x22;http://en.wikiquote.org/wiki/Peter_Ustinov&#x22;&#x3E;Peter Ustinov&#x3C;/a&#x3E; (a
great ring of the past) once said that &#x201C;If Botticelli were alive today he&#x27;d be 
working for Vogue&#x201D;. Back when he said that, Vogue was more subversive and
avant-garde and was considered a culture of low taste. Nowadays, Vogue is
more established, and many intelligent women and men will boast writing
for it in their bio or resume. The same goes for Playboy, BTW.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
So if an artist as avantgarde and as controversial as Ayn Rand lived today
who will she be? No, she will not be on Flickr, which is great as it is, is 
not too subversive. She will likely be someone like 
&#x3C;a href=&#x22;http://en.wikipedia.org/wiki/Christina_Grimmie&#x22;&#x3E;Christina Grimmie&#x3C;/a&#x3E;.
Ms. Grimmie may only be a vampirella, but if she is determined, she too 
can become a ring and a Q. And so can you.
&#x3C;/p&#x3E;

&#x3C;h2&#x3E;What will the Qs be like?&#x3C;/h2&#x3E;

&#x3C;p&#x3E;
The male and female Qs will be young-at-heart-if-not-in-body. They will be
attractive and sexy. They will be very diverse. They will share their knowledge,
and give away all their &#x22;secrets&#x22;. They will be admired and lusted. They will
be able to have any true parasite (many men, but especially many women) admit
this is the case for them by using simple
&#x3C;a href=&#x22;http://en.wikipedia.org/wiki/Socratic_method&#x22;&#x3E;Socratic irony&#x3C;/a&#x3E;.
While not being supermen and superwomen, they will be resourceful and the
anti-thesis of needy, and will try to never blame external factors in their
own problems.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
The enemies of the Qs will be no match for their power, for they possess
power far greater than firearms. They will possess the power of The
Slayer, 
&#x3C;a href=&#x22;http://en.wikipedia.org/wiki/Milady_de_Winter&#x22;&#x3E;Milady de Winter&#x3C;/a&#x3E;, 
a formidable vampirella, who was sexy, competent and independent and only 
portrayed as an non-realistic criminal mastermind, who could &#x22;slay&#x22; all the
truly evil people she encountered (&#x22;slay&#x22; - not kill). Moreover, they will
possess the power of The Dispeller, the fictional Selena Mandrake, an
Anglo-American female girl in her senior year in high school today, who
was the first one who was able to slay The Slayer, because she did not slay
individual people, but actually focused on dispelling their prejudices and
superstitions. The Dispeller is one step ahead of The Slayer like The Liberator
was one step ahead of The Free, and the Liberal was one step ahead of
Liberator. (And who knows what the future will bring.).
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
Despite being Qs, they will never look down on other vampires or even other
mortals, because they know that they don&#x27;t know, and that dismissing a less
experienced, or less talented, person, as someone who cannot teach them 
anything
is something only &#x22;fools&#x22; do, and an &#x3C;a href=&#x22;http://en.wikipedia.org/wiki/Ad_hominem&#x22;&#x3E;ad-hominem&#x3C;/a&#x3E;. Some very
inexperienced people can beat highly experienced ones at their own game,
because that&#x27;s how nature is.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
Finally, the Qs will not aim to be &#x22;original&#x22;, they will aim to be good.
They will restore the age-long tradition of fan art (which is prevalent
in such ancient books as the Hebrew Bible and the Greek writings), and it will 
be considered a first-class citizen, in comparison to having 100% original 
artworks.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
The Qs of today will be the winners, and together they will start the New Age,
an exciting age where people are sexy, 
hard-working-and-have-a-lot-of-fun-in-the-process; are masters of their own
future and destiny; know that the worst way to waste your time is to 
&#x3C;a href=&#x22;http://en.wikipedia.org/wiki/Momo_%28novel%29&#x22;&#x3E;never waste it&#x3C;/a&#x3E;;
and that regardless of how complicated and comprehensive your rules are,
you must always use logic and reason, that justice is defined as practised
by &#x3C;a href=&#x22;http://en.wikipedia.org/wiki/Saladin&#x22;&#x3E;Saladin&#x3C;/a&#x3E; and
Gandhi, not
the simplistic &#x22;eye for an eye, tooth for the tooth&#x22; of the Jewish Torah; 
and they will never blindly follow orders, because that is what ultimately 
caused all the great human-made calamities in the past, including World War II.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
It will be a great age.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
Sincerely yours, -- 
&#x3C;a href=&#x22;http://www.shlomifish.org/&#x22;&#x3E;Shlomi Fish&#x3C;/a&#x3E;, The Eternal Jew, The
Neo-Tech Invisible, and a Q.
&#x3C;/p&#x3E;</description>
<author>Shlomi Fish ( shlomif@iglu.org.il )</author>
<category>internet</category>
<category>objectivism</category>
<category>q</category>
<category>neotech</category>
<category>mysticism</category>
<category>startrek</category>
<category>revolution</category>
<category>power</category>
<category>insanity</category>
<comments>http://shlomifish.livejournal.com/1342.html</comments>
<guid isPermaLink="true">http://shlomifish.livejournal.com/1342.html</guid>
<pubDate>Sat, 30 Apr 2011 13:26:04 GMT</pubDate>
</item>
<item>
<title>Introduction to blogs.perl.org + Text::Table</title>
<link>http://blogs.perl.org/users/shlomi_fish/2011/04/introduction-to-blogsperlorg-texttable.html</link>
<description> Hello, Perl bloggers! I decided to start blogging about a most of my exclusively Perl-related stuff here on blogs.perl.org, in hope of getting more comments from active Perlers. (Until now, I&#x27;ve blogged about it on my technical LiveJournal blog...</description>
<author>Shlomi Fish</author>
<category>cpan</category>
<category>dos</category>
<category>perl</category>
<category>table</category>
<category>text</category>
<category>unicode</category>
<guid isPermaLink="true">http://blogs.perl.org/users/shlomi_fish/2011/04/introduction-to-blogsperlorg-texttable.html</guid>
<pubDate>Thu, 21 Apr 2011 13:07:28 -0000</pubDate>
<content:encoded content="
        
&#x3C;p&#x3E;
Hello, Perl bloggers! I decided to start 
blogging about a most of my exclusively Perl-related stuff here on 
blogs.perl.org, in hope of getting more comments 
from active Perlers. (Until now, I&#x27;ve blogged about it 
&#x3C;a href=&#x22;http://shlomif-tech.livejournal.com/&#x22;&#x3E;on
my technical LiveJournal blog&#x3C;/a&#x3E; and previously on 
&#x3C;a href=&#x22;http://use.perl.org/~Shlomi+Fish/journal/&#x22;&#x3E;use.perl.org Journal&#x3C;/a&#x3E;.).
You can learn more about me on &#x3C;a href=&#x22;http://www.shlomifish.org/&#x22;&#x3E;my home 
site - www.shlomifish.org&#x3C;/a&#x3E; .
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
OK, having put that aside - let&#x27;s move on to the main topic of this post.
&#x3C;/p&#x3E;

&#x3C;hr /&#x3E;

&#x3C;p&#x3E;
Many months ago I wanted to use the
&#x3C;a href=&#x22;http://search.cpan.org/dist/Text-Table/&#x22;&#x3E;Text::Table CPAN module&#x3C;/a&#x3E;
to present a table related to the meta-scan heuristics construction 
scheme of &#x3C;a href=&#x22;http://fc-solve.berlios.de/&#x22;&#x3E;Freecell Solver&#x3C;/a&#x3E;. Now,
I wanted to present nicely formatted borders, using the 
&#x3C;a href=&#x22;http://en.wikipedia.org/wiki/Box-drawing_characters&#x22;&#x3E;Unicode 
box-drawing characters&#x3C;/a&#x3E; (which some people would recall from DOS).
However, I found it difficult to specify the separators in the
rulers properly based on their indices - they were assumed to be the
same globally. As a result, I&#x27;ve written 
&#x3C;a href=&#x22;https://rt.cpan.org/Public/Bug/Display.html?id=61610&#x22;&#x3E;a patch&#x3C;/a&#x3E;,
and placed the modifications in 
&#x3C;a href=&#x22;http://github.com/shlomif/Text-Table&#x22;&#x3E;a github repository&#x3C;/a&#x3E;.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
The author of Text-Table (ANNO) told me he was working on a new version
of Text-Table, which will contain many improvements. However, I was still
interested in an enhanced version of the old Text-Table codebase with my 
patch, and after talking on &#x3C;a href=&#x22;irc://irc.freenode.net/#perl&#x22;&#x3E;#perl&#x3C;/a&#x3E;, 
ANNO said I could have co-maint
on Text-Table-1.x and continue to improve it. The new Text-Table will be 
released under a separate namespace - &#x3C;tt&#x3E;Text::Table2&#x3C;/tt&#x3E; or so.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
Many thanks go to ANNO for agreeing that I further develop Text::Table.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
Using my git repository, I did many cleanups, like add 
pod.t and pod-coverage.t, tweak the author information, add more strict and
warnings to the file, etc. ANNO &#x27;s original licence is 
&#x3C;a href=&#x22;http://perlbuzz.com/2009/07/help-end-licensing-under-same-terms-as-perl-itself.html&#x22;&#x3E;&#x22;Same 
terms as Perl&#x22;&#x3C;/a&#x3E;, but since it is an iffy licensing, I decided that all
further changes will be under the terms of the Public-Domain/X11L/etc.. People
who send me pull requests on github may wish to add their names to the credits
(in the changes or even in the core module) but must not claim copyrights to
their changes.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
OK, now for some output of the Unicode table:
&#x3C;/p&#x3E;

&#x3C;pre&#x3E;
&#x250C;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2565;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x252C;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x252C;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x252C;&#x2500;&#x2500;&#x2500;&#x2500;&#x252C;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2510;
&#x2502; Place &#x2551; 1   &#x2502; 2    &#x2502; 3   &#x2502; 4  &#x2502; 5    &#x2502;
&#x251C;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x256B;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x253C;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x253C;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x253C;&#x2500;&#x2500;&#x2500;&#x2500;&#x253C;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2524;
&#x2502; 1     &#x2551; 68  &#x2502; 317  &#x2502; 15  &#x2502; 3  &#x2502; 381  &#x2502;
&#x251C;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x256B;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x253C;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x253C;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x253C;&#x2500;&#x2500;&#x2500;&#x2500;&#x253C;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2524;
&#x2502; 2     &#x2551; 171 &#x2502; 482  &#x2502; 31  &#x2502; 14 &#x2502; 594  &#x2502;
&#x251C;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x256B;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x253C;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x253C;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x253C;&#x2500;&#x2500;&#x2500;&#x2500;&#x253C;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2524;
&#x2502; 3     &#x2551; 275 &#x2502; 867  &#x2502; 42  &#x2502; 22 &#x2502; 1007 &#x2502;
&#x251C;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x256B;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x253C;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x253C;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x253C;&#x2500;&#x2500;&#x2500;&#x2500;&#x253C;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2524;
&#x2502; 4     &#x2551; 458 &#x2502; 1442 &#x2502; 125 &#x2502; 30 &#x2502; 1630 &#x2502;
&#x251C;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x256B;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x253C;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x253C;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x253C;&#x2500;&#x2500;&#x2500;&#x2500;&#x253C;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2524;
&#x2502; 5     &#x2551; 640 &#x2502; 1715 &#x2502; 137 &#x2502; 47 &#x2502; 1730 &#x2502;
&#x2514;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2568;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2534;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2534;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2534;&#x2500;&#x2500;&#x2500;&#x2500;&#x2534;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2518;
&#x3C;/pre&#x3E;

&#x3C;p&#x3E;
Future plans are:
&#x3C;/p&#x3E;

&#x3C;ol&#x3E;

&#x3C;li&#x3E;
Convert the remaining test scripts to Test::More.
&#x3C;/li&#x3E;

&#x3C;li&#x3E;
Go over the code and clean it up
&#x3C;/li&#x3E;

&#x3C;li&#x3E;
Add CPAN keywords to the &#x3C;tt&#x3E;META.yml&#x3C;/tt&#x3E;. (Perhaps this will require
defining a Module-Build-based Build.PL file).
&#x3C;/li&#x3E;

&#x3C;li&#x3E;
Add URLs to the &#x3C;tt&#x3E;META.ym&#x3C;/tt&#x3E;l - to the module&#x27;s homepage, to the github repository, 
etc..
&#x3C;/li&#x3E;

&#x3C;li&#x3E;
Possibly implement some future features.
&#x3C;/li&#x3E;

&#x3C;li&#x3E;
Add some more tests.
&#x3C;/li&#x3E;

&#x3C;/ol&#x3E;

&#x3C;p&#x3E;
Contributions are naturally welcome, just fork the github repository and send
me a pull request. (Or patches are also OK.)
&#x3C;/p&#x3E;


        
    " xmlbase="http://blogs.perl.org/users/shlomi_fish/"/>
<dcterms:modified>2011-04-21T13:12:24Z</dcterms:modified>
</item>
<item>
<title>Tech Tip: Caching the XHTML DTDs</title>
<link>http://shlomif-tech.livejournal.com/57943.html</link>
<description>&#x3C;p&#x3E;
Some days ago I needed to speed up validating an 
&#x3C;a href=&#x22;http://en.wikipedia.org/wiki/XHTML&#x22;&#x3E;XHTML&#x3C;/a&#x3E; document (the module
XHTML 1.1) based on the DTDs provided by the W3C, so I sought a way
to cache them on the disk. Problem is I could not effectively download them 
from the W3C because their download speed was throttled.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
Eventually, &#x3C;a href=&#x22;http://www.gentoo-wiki.info/HOWTO_W3C_Validator&#x22;&#x3E;the 
Gentoo Wiki&#x27;s &#x201C;W3C Validator HOWTO&#x201D; document&#x3C;/a&#x3E; provided some insights. Just
download 
&#x3C;a href=&#x22;http://validator.w3.org/sgml-lib.tar.gz&#x22;&#x3E;http://validator.w3.org/sgml-lib.tar.gz&#x3C;/a&#x3E;, 
unpack it, cd to its directory and do
&#x3C;tt&#x3E;export XML_CATALOG_FILES=&#x22;$(pwd)/catalog.xml&#x22;&#x3C;/tt&#x3E; to set the XML
catalogue appropriately. It&#x27;s too bad I could not find a Mandriva Linux
package for that.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
Anyway, after I did that, the validation and other XML processing worked
nicely.
&#x3C;/p&#x3E;</description>
<author>Shlomi Fish ( shlomif@iglu.org.il )</author>
<category>xml</category>
<category>tip</category>
<category>web</category>
<category>tech</category>
<category>html</category>
<category>tech tip</category>
<comments>http://shlomif-tech.livejournal.com/57943.html</comments>
<guid isPermaLink="true">http://shlomif-tech.livejournal.com/57943.html</guid>
<pubDate>Sat, 16 Apr 2011 20:09:58 GMT</pubDate>
</item>
<item>
<title>Your Programming Language Must Suck</title>
<link>http://shlomif-tech.livejournal.com/57811.html</link>
<description>&#x3C;p&#x3E;
All languages of the world suck. If you require people to declare variables
(like in Pascal, C, &#x3C;a href=&#x22;http://en.wikipedia.org/wiki/Scheme_%28programming_language%29&#x22;&#x3E;Scheme&#x3C;/a&#x3E;
or Perl 5 with &#x3C;a href=&#x22;http://perldoc.perl.org/strict.html&#x22;&#x3E;strict&#x3C;/a&#x3E;), then
people will tell you they like variables to spring up upon first use. Without
variable declarations, then you get various weird side-effects of the implicit
scoping. If you use curly braces for scoping, then you&#x27;ll have to type more and
there&#x27;s more clutter. With indentation-based scoping (like in Python), you&#x27;ll
find it hard to introduce multiple-expression &#x3C;a href=&#x22;http://en.wikipedia.org/wiki/Lambda_calculus#First-class_functions&#x22;&#x3E;lambdas&#x3C;/a&#x3E;.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
Rob Pike and Paul Graham hated object oriented programming (OOP) and so they
didn&#x27;t introduce it in their &#x3C;a href=&#x22;http://en.wikipedia.org/wiki/Go_%28programming_language%29&#x22;&#x3E;&#x22;Go&#x22;&#x3C;/a&#x3E;
and &#x3C;a href=&#x22;http://en.wikipedia.org/wiki/Arc_%28programming_language%29&#x22;&#x3E;&#x22;Arc&#x22;&#x3C;/a&#x3E;
languages, well after OOP has become mainstream. And guess what? Many people,
including me, think that OOP is still a good thing (and no, in my opinion, C++
did not do OOP very well) and so gave up on Arc quickly and did not look
closely at Go. Many people who oppose OOP claim that it mashes together many
separate feature, such as typing, capability of being instantiated, 
and polymorphism which belong as separate features in the language, but
naturally it &#x3C;b&#x3E;is&#x3C;/b&#x3E; convenient to have them integrated as one, because
they are often useful together.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;
Dynamically typed languages (like Perl 5, Python, Ruby, or Lisp) possibly
suffer from many subtle errors&#x26;#160;; Statically typed languages (like Haskell)
are less expressive and it seems that about one third of the language design
papers published on &#x3C;a href=&#x22;http://lambda-the-ultimate.org/&#x22;&#x3E;Lambda the
    Ultimate&#x3C;/a&#x3E; are about various funky extensions to the Haskell type system
to allow for better expressiveness.
&#x3C;/p&#x3E;

&#x3C;p&#x3E;Purely functional languages have no
assignment and most people find them harder, in part because the world around
us has a lot of state, and they also need to do funky compiler tricks to make
you feel like you don&#x27;t need assignment. Non-functional languages have
side-effects and so are prone to many errors.&#x3C;/p&#x3E;

&#x3C;p&#x3E;If you have goto or
goto-like statements (such as exceptions or Perl 5&#x27;s &#x22;last LABEL;&#x22; (more like
&#x22;break&#x22; in C) or &#x22;next LABEL;&#x22;), then you encourage code to not be factored
correctly. If you don&#x27;t have such stuff, then programmers will hate you for
having to go through many hoops to write quick-and-dirty code.&#x3C;/p&#x3E;

&#x3C;p&#x3E;Perl 5
has a dedicated regular expression syntax which is treated magically by the
parser. PHP and Java use strings for them, and require weird escaping and
backslashing rules to interpolate the sub-regexes inside them. And if you
incorporate a first-order syntax for regular expressions, then people will want
similar first-order syntaxes for XPath, for XML (like some recent versions of
Visual Basic .NET have), and for all other grammars you may need to embed.&#x3C;/p&#x3E;

&#x3C;p&#x3E;Finally, many people absolutely hate all the clutter created by the leading
&#x3C;a href=&#x22;http://en.wikipedia.org/wiki/Sigil_%28computer_programming%29&#x22;&#x3E;sigils&#x3C;/a&#x3E;
of Perl 5 (the &#x22;$&#x22;, &#x22;@&#x22;, etc.), and similar languages, but they allow for much
better backward compatibility, facilitate the so-called &#x22;interpolation&#x22; (=
embedding inside strings), and also give some important visual cues when
skimming code (even without syntax highlighting).&#x3C;/p&#x3E;

&#x3C;p&#x3E;&#x3C;b&#x3E;You are damned either way&#x3C;/b&#x3E;, whatever you do.&#x3C;/p&#x3E;

&#x3C;p&#x3E;I could have gone
on, but I think I got my message across. Thing is, when designing a programming
language, you need to make a lot of design decisions - what to include, what to
exclude, etc. However, many of these design decisions are not 100% advantages
or 100% disadvantages, but in fact trade-offs, and many people will question
them and be unhappy. You can never please all the people. So make a design
decision, and stick with it, and realise that &#x3C;b&#x3E;your programming language must
    suck&#x3C;/b&#x3E;, but that it may suck less for some tasks, or for some people.&#x3C;/p&#x3E;

&#x3C;p&#x3E;Joel on Software &#x3C;a href=&#x22;http://www.joelonsoftware.com/items/2003/10/15.html&#x22;&#x3E;refers&#x3C;/a&#x3E; to
the book &#x3C;a href=&#x22;http://www.amazon.com/exec/obidos/ASIN/1400040507/joelonsoftware/ref=nosim&#x22;&#x3E;&#x3C;i&#x3E;Small
        Things Considered: Why There Is No Perfect Design&#x3C;/i&#x3E;&#x3C;/a&#x3E;, which I have
not read, but I&#x27;ve concluded it holds for programming language design.
Moreover, even when writing code, we run into many trade-offs. For example, if
our methods or functions are very short, then they are easier to over-ride and
re-use, but, in that case, the code would be harder to follow and will perform
worse than code with longer methods.&#x3C;/p&#x3E;</description>
<author>Shlomi Fish ( shlomif@iglu.org.il )</author>
<category>perl</category>
<category>languages</category>
<category>programming</category>
<comments>http://shlomif-tech.livejournal.com/57811.html</comments>
<guid isPermaLink="true">http://shlomif-tech.livejournal.com/57811.html</guid>
<pubDate>Wed, 13 Apr 2011 09:53:56 GMT</pubDate>
</item>
<item>
<title>Photo of a bench with a White Wagtail bird.</title>
<link>http://www.flickr.com/photos/shlomif/5611132184/</link>
<description>			&#x3C;p&#x3E;&#x3C;a href=&#x22;http://www.flickr.com/people/shlomif/&#x22;&#x3E;Shlomi Fish&#x3C;/a&#x3E; posted a photo:&#x3C;/p&#x3E;
	
&#x3C;p&#x3E;&#x3C;a href=&#x22;http://www.flickr.com/photos/shlomif/5611132184/&#x22; title=&#x22;Photo of a bench with a White Wagtail bird.&#x22;&#x3E;&#x3C;img src=&#x22;http://farm6.staticflickr.com/5067/5611132184_496d7bb484_m.jpg&#x22; width=&#x22;240&#x22; height=&#x22;180&#x22; alt=&#x22;Photo of a bench with a White Wagtail bird.&#x22; /&#x3E;&#x3C;/a&#x3E;&#x3C;/p&#x3E;

&#x3C;p&#x3E;I saw a White Wagtail bird over there next to the bench and tried to catch&#x3C;br /&#x3E;
it with the camera. I was able to but it&#x27;s very small. Still, it&#x27;s a nice&#x3C;br /&#x3E;
photo of the bench.&#x3C;br /&#x3E;
&#x3C;br /&#x3E;
Oh, and I should note that someone decided to sponsor my renewed Flickr.com&#x3C;br /&#x3E;
subscription as an appreciation for my recent post about dealing with &#x3C;br /&#x3E;
provocative Internet people (see &#x3C;a href=&#x22;http://unarmed.shlomifish.org/909.html&#x22; rel=&#x22;nofollow&#x22;&#x3E;unarmed.shlomifish.org/909.html&#x3C;/a&#x3E; ), so&#x3C;br /&#x3E;
thanks! This motivated me to take and upload more photos here.&#x3C;br /&#x3E;
&#x3C;br /&#x3E;
This photo was taken in Ramat Aviv Gimel, Tel Aviv, Israel.&#x3C;br /&#x3E;
&#x3C;br /&#x3E;
This photo is made available under the Public Domain (CC-Zero / CC0). However,&#x3C;br /&#x3E;
if you make use of this work, or otherwise like it, then crediting me as its originator (giving attribution), sharing derived works under liberal licences, or &#x3C;br /&#x3E;
a donation of money or goods (see &#x3C;a href=&#x22;http://www.shlomifish.org/meta/donate/&#x22; rel=&#x22;nofollow&#x22;&#x3E;www.shlomifish.org/meta/donate/&#x3C;/a&#x3E; )&#x3C;br /&#x3E;
would all be appreciated. See this resource on my page for what the public &#x3C;br /&#x3E;
domain means: &#x3C;a href=&#x22;http://www.shlomifish.org/meta/copyrights/&#x22; rel=&#x22;nofollow&#x22;&#x3E;www.shlomifish.org/meta/copyrights/&#x3C;/a&#x3E; .&#x3C;br /&#x3E;
&#x3C;br /&#x3E;
This photo is public domain, but is marked as CC-by, because it&#x27;s the closest&#x3C;br /&#x3E;
option that Flickr offers.&#x3C;/p&#x3E;</description>
<author>Shlomi Fish ( shlomif@iglu.org.il )</author>
<guid isPermaLink="false">tag:flickr.com,2004:/photo/5611132184</guid>
<pubDate>Mon, 11 Apr 2011 13:21:28 -0700</pubDate>
</item>
<item>
<title>Playful Black Dog from a Distance</title>
<link>http://www.flickr.com/photos/shlomif/5603132865/</link>
<description>			&#x3C;p&#x3E;&#x3C;a href=&#x22;http://www.flickr.com/people/shlomif/&#x22;&#x3E;Shlomi Fish&#x3C;/a&#x3E; posted a photo:&#x3C;/p&#x3E;
	
&#x3C;p&#x3E;&#x3C;a href=&#x22;http://www.flickr.com/photos/shlomif/5603132865/&#x22; title=&#x22;Playful Black Dog from a Distance&#x22;&#x3E;&#x3C;img src=&#x22;http://farm6.staticflickr.com/5149/5603132865_fc27b714f5_m.jpg&#x22; width=&#x22;240&#x22; height=&#x22;180&#x22; alt=&#x22;Playful Black Dog from a Distance&#x22; /&#x3E;&#x3C;/a&#x3E;&#x3C;/p&#x3E;

&#x3C;p&#x3E;Playful dogs near the supermarket. They were running after each other in circles. This is a photo of the black dog running.&#x3C;br /&#x3E;
&#x3C;br /&#x3E;
Oh, and I should note that someone decided to sponsor my renewed Flickr.com&#x3C;br /&#x3E;
subscription as an appreciation for my recent post about dealing with &#x3C;br /&#x3E;
provocative Internet people (see &#x3C;a href=&#x22;http://unarmed.shlomifish.org/909.html&#x22; rel=&#x22;nofollow&#x22;&#x3E;unarmed.shlomifish.org/909.html&#x3C;/a&#x3E; ), so&#x3C;br /&#x3E;
thanks! This motivated me to take and upload more photos here.&#x3C;br /&#x3E;
&#x3C;br /&#x3E;
This photo was taken in Ramat Aviv Gimel, Tel Aviv, Israel.&#x3C;br /&#x3E;
&#x3C;br /&#x3E;
This photo is made available under the Public Domain (CC-Zero / CC0). However,&#x3C;br /&#x3E;
if you make use of this work, or otherwise like it, then crediting me as its originator (giving attribution), sharing derived works under liberal licences, or &#x3C;br /&#x3E;
a donation of money or goods (see &#x3C;a href=&#x22;http://www.shlomifish.org/meta/donate/&#x22; rel=&#x22;nofollow&#x22;&#x3E;www.shlomifish.org/meta/donate/&#x3C;/a&#x3E; )&#x3C;br /&#x3E;
would all be appreciated. See this resource on my page for what the public &#x3C;br /&#x3E;
domain means: &#x3C;a href=&#x22;http://www.shlomifish.org/meta/copyrights/&#x22; rel=&#x22;nofollow&#x22;&#x3E;www.shlomifish.org/meta/copyrights/&#x3C;/a&#x3E; .&#x3C;br /&#x3E;
&#x3C;br /&#x3E;
This photo is public domain, but is marked as CC-by, because it&#x27;s the closest&#x3C;br /&#x3E;
option that Flickr offers.&#x3C;/p&#x3E;</description>
<author>Shlomi Fish ( shlomif@iglu.org.il )</author>
<guid isPermaLink="false">tag:flickr.com,2004:/photo/5603132865</guid>
<pubDate>Sat, 09 Apr 2011 10:25:39 -0700</pubDate>
</item>
<item>
<title>Ascent to a building</title>
<link>http://www.flickr.com/photos/shlomif/5603713220/</link>
<description>			&#x3C;p&#x3E;&#x3C;a href=&#x22;http://www.flickr.com/people/shlomif/&#x22;&#x3E;Shlomi Fish&#x3C;/a&#x3E; posted a photo:&#x3C;/p&#x3E;
	
&#x3C;p&#x3E;&#x3C;a href=&#x22;http://www.flickr.com/photos/shlomif/5603713220/&#x22; title=&#x22;Ascent to a building&#x22;&#x3E;&#x3C;img src=&#x22;http://farm6.staticflickr.com/5107/5603713220_044902bb6d_m.jpg&#x22; width=&#x22;180&#x22; height=&#x22;240&#x22; alt=&#x22;Ascent to a building&#x22; /&#x3E;&#x3C;/a&#x3E;&#x3C;/p&#x3E;

&#x3C;p&#x3E;An ascent into a building in Feinstein Street. I took three photos and this is the one that came out the best.&#x3C;br /&#x3E;
&#x3C;br /&#x3E;
Oh, and I should note that someone decided to sponsor my renewed Flickr.com&#x3C;br /&#x3E;
subscription as an appreciation for my recent post about dealing with &#x3C;br /&#x3E;
provocative Internet people (see &#x3C;a href=&#x22;http://unarmed.shlomifish.org/909.html&#x22; rel=&#x22;nofollow&#x22;&#x3E;unarmed.shlomifish.org/909.html&#x3C;/a&#x3E; ), so&#x3C;br /&#x3E;
thanks! This motivated me to take and upload more photos here.&#x3C;br /&#x3E;
&#x3C;br /&#x3E;
This photo was taken in Ramat Aviv Gimel, Tel Aviv, Israel.&#x3C;br /&#x3E;
&#x3C;br /&#x3E;
This photo is made available under the Public Domain (CC-Zero / CC0). However,&#x3C;br /&#x3E;
if you make use of this work, or otherwise like it, then crediting me as its originator (giving attribution), sharing derived works under liberal licences, or &#x3C;br /&#x3E;
a donation of money or goods (see &#x3C;a href=&#x22;http://www.shlomifish.org/meta/donate/&#x22; rel=&#x22;nofollow&#x22;&#x3E;www.shlomifish.org/meta/donate/&#x3C;/a&#x3E; )&#x3C;br /&#x3E;
would all be appreciated. See this resource on my page for what the public &#x3C;br /&#x3E;
domain means: &#x3C;a href=&#x22;http://www.shlomifish.org/meta/copyrights/&#x22; rel=&#x22;nofollow&#x22;&#x3E;www.shlomifish.org/meta/copyrights/&#x3C;/a&#x3E; .&#x3C;br /&#x3E;
&#x3C;br /&#x3E;
This photo is public domain, but is marked as CC-by, because it&#x27;s the closest&#x3C;br /&#x3E;
option that Flickr offers.&#x3C;/p&#x3E;</description>
<author>Shlomi Fish ( shlomif@iglu.org.il )</author>
<guid isPermaLink="false">tag:flickr.com,2004:/photo/5603713220</guid>
<pubDate>Sat, 09 Apr 2011 10:24:25 -0700</pubDate>
</item>
</channel>
</rss>
