<?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>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>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>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>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>
</channel>
</rss>
