<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
    <title>The Sumō of Programming</title>
    <link rel="alternate" type="text/html" href="http://blogs.perl.org/users/erez_schatz/" />
    <link rel="self" type="application/atom+xml" href="http://blogs.perl.org/users/erez_schatz/atom.xml" />
    <id>tag:blogs.perl.org,2009-11-03:/users/erez_schatz//173</id>
    <updated>2011-12-05T10:13:21Z</updated>
    <subtitle>[Japanese sumō : su, mutually + mō, to rush at]</subtitle>
    <generator uri="http://www.sixapart.com/movabletype/">Movable Type Pro 4.38</generator>

<entry>
    <title>Is there in truth no Perl?</title>
    <link rel="alternate" type="text/html" href="http://blogs.perl.org/users/erez_schatz/2011/12/is-there-in-truth-no-perl.html" />
    <id>tag:blogs.perl.org,2011:/users/erez_schatz//173.2541</id>

    <published>2011-12-05T09:27:31Z</published>
    <updated>2011-12-05T10:13:21Z</updated>

    <summary>While working on my Tel Aviv.pm talk about DBIx::Class talk (more to follow on that), I met an acquaintance of mine from a deceased start-up I worked on a few years back. We chatted a bit, he said he&apos;s still...</summary>
    <author>
        <name>Erez Schatz</name>
        <uri>http://identi.ca/erez</uri>
    </author>
    
    
    <content type="html" xml:lang="en" xml:base="http://blogs.perl.org/users/erez_schatz/">
        <![CDATA[<p>While working on my <a href="http://telaviv.pm.org">Tel Aviv.pm</a> talk about DBIx::Class talk (more to follow on that), I met an acquaintance of mine from a deceased start-up I worked on a few years back. We chatted a bit, he said he's still writing in C/C++ (mainly GUI stuff), and when I mentioned I work with Perl nowadays, he said "Oh, I love Perl, I wish there were other languages like it". I, as usual, remarked that there are the Pythons, and even PHPs of the world, and he surprised me by saying "no, I mean really like Perl".</p>

<p>What he, and now I, mean, is not Perl as a "dynamic language" with some general ideas found in many other languages like Python, Ruby, JavaScript et al, but the idea of Perl as a "<a href="http://www.perl.com/pub/1999/03/pm.html">Post-Modern</a>" programming language, that encompass ideas of <a href="http://wall.org/~larry/natural.html">Natural Languages</a>. In this sense, Perl is unlike any other language I know. There have been elements that were borrowed, inherited, or lifted lock, stock and barrel from other languages (shell, awk, C, python), and there have been elements or features that have been borrowed from Perl (regexp and PCRE, to name one). I also am not referring here to CPAN, either as a Perl feature, or to ideas implemented in CPAN modules here, but to the core Perl 5 as it is implemented in the perl program.</p>

<p>I raised the question in <a href="http://identi.ca/conversation/85965465">identi.ca</a> (and <a href="http://twitter.com/erez">Twitter</a>), and found... not much. <a href="http://marcus.nordaaker.com/">Marcus Ramberg</a> suggested Objective-C as being "just as ugly and just as awesome as Perl". <a href="http://corky.net/dotan">Dotan Dimet</a> found <a href="http://qore.org">Qore</a> that "Looks like perl with a java accent". Others suggested, again, Python, which, in this context, could be seen as an "anti-perl", and Ruby, that I'm not very familiar with, but have the feeling borrowed features from Perl, rather than philosophy.</p>

<p>That made me think. Is Perl really a one-off, a, ahem, pearl of language design, formed from the beautiful mind of Larry Wall, but never before, or since, have been implemented in the design of a programming language? Or have there been other attempts in a similar vein that I have missed, what with there being 20 or 30 gazillion programming languages out there?</p>]]>
        
    </content>
</entry>

<entry>
    <title>Rewriting the language</title>
    <link rel="alternate" type="text/html" href="http://blogs.perl.org/users/erez_schatz/2011/07/rewriting-the-language.html" />
    <id>tag:blogs.perl.org,2011:/users/erez_schatz//173.1985</id>

    <published>2011-07-18T07:26:41Z</published>
    <updated>2011-07-22T18:26:33Z</updated>

    <summary>Not Perl, mind you, I&apos;m not in that area (yet?). But some key terms I keep hear buzzing around, and, in the tradition of starting the Christmas season in late July, I&apos;ll begin my Festivus preparation with some minor Airing...</summary>
    <author>
        <name>Erez Schatz</name>
        <uri>http://identi.ca/erez</uri>
    </author>
    
    
    <content type="html" xml:lang="en" xml:base="http://blogs.perl.org/users/erez_schatz/">
        <![CDATA[<p>Not Perl, mind you, I'm not in that area (yet?). But some key terms I keep hear buzzing around, and, in the tradition of starting the Christmas season in late July, I'll begin my Festivus preparation with some minor Airing of Grievances.</p>

<ul>
	<li><strong><big>X Driven Development</big></strong></li><br>
Brain child of the people behind <a href="http://www.extremeperl.org/">Extreme Programming</a> (mainly <a href="http://www.threeriversinstitute.org/blog/">Kent Beck</a>), this blew up into a big <a href="http://itre.cis.upenn.edu/~myl/languagelog/archives/000350.html">snowclone</a>, as every minute variant of "how we do things" can immediately shovelled under a "X driven development" headline.

<p>For example, you start the development process by writing a design doc? Design Driven Development.<br />
You create a list of features? Feature Driven Development.<br />
How about compiling a list of tickets, requests and bugs in a tracker? Bug Driven Development.<br />
You write the interface first? API Driven Development (Probably better abbreviated APIDD)</p>

<p>Just <a href="https://duckduckgo.com/?q=driven+development">search for "Driven Development"</a> and you'll find Domain DD, Database DD, Model DD, Component DD, Behaviour DD, Prototype DD and even, my personal favourite, <a href="http://tom.preston-werner.com/2010/08/23/readme-driven-development.html">Readme Driven Development</a>.</p>

<p>I say: enough. Whatever methodology you use to "drive" your development, you'll still end up writing source code, compiling, running, QAing it, judging it according to whatever spec you initially (or ultimately, or medianly) wrote. The work is the same, the result is the same. You can name it however you like. Call it "Development Driven Development" for all I care, it doesn't matter, and only stops cross-pollination of ideas seeing as "your" X Driven Development isn't "my" XDD.</p>

<p>And while on the subject of snowclones,</p>

<p>        <li><strong><big>Considered Harmful</big></strong></li><br />
Right. So there's this guy, Edsger W. Dijkstra, who once wanted to urge programmers to use a more structured, procedural methodology, rather than use Goto's. He wrote an article "The case against the Goto statement" and sent it to ACM magazine. The editor, another guy called Niklaus Wirth, renamed it, using an established phrase used by editors to "alert readers that the writer is going to be expressing negative opinions about X" (<a href="http://itre.cis.upenn.edu/~myl/languagelog/archives/004675.html">Language Log, CONSIDERED HARMFUL</a>). </p>

<p>Fortunately, the argument stuck. Goto is now reviled among programmers, if only for its reputation. Unfortunately, the headline also stuck, and is now one of the most abused terms in programming (and technical) blogging. And for a good reason. It's catchy. It's well known. It has an <a href="https://secure.wikimedia.org/wikipedia/en/wiki/Template%3ABy_whom%3F">authoritative</a> air to it. Programmers have, by now, conditioned to consider the term a definite argument, in the same vein that "best practices" are usually considered "laws" rather than "sensible suggestions". It definitely sounds much better than "Why I think this idea isn't good" (or, heavens forbid, "The Case against ...").</p>

<p>It should cease to exist. Nothing in programming is definite. There is no single element that is either a silver bullet or the Antichrist. It cheapens the argument, Glenn Beck style, by reducing it to a war of slogans. (see also Eric Meyers' <a href="http://meyerweb.com/eric/comment/chech.html">"Considered Harmful" Essays Considered Harmful</a>).</p>

<p>Dijkstra himself, in later articles and speeches, have shown he learned the lesson Wirth taught him, and substituted well described arguments with a short, catchy, provocative one-liners, such as calling FORTRAN "the infantile disorder", and arguing that "[COBOL] teaching should ... be regarded as a criminal offence." ("<a href="http://www.cs.utexas.edu/users/EWD/transcriptions/EWD04xx/EWD498.html">How do we tell truths that might hurt?</a>"</p>

<p>        <li><strong><big>LAMP</big></strong></li><br />
On a different matter, <a href="http://blogs.perl.org/users/erez_schatz/2011/06/it-was-bound-to-happen---perl-numbrenclature.html">I've written before</a> on the perceived importance of nomenclature, at least for marketing reasons, and this one's a biggie, and not just for Perl. Common interpretation of the abbreviation place it as "Linux, Apache, MySQL, and PHP", and while you can claim that it could also mean Perl, or Python, this is what is commonly known as. </p>

<p>I take a cue from <a href="http://bethesignal.org">Jeff Waugh</a>, who jokingly suggested that LAMP should mean "Linux, Apache, Most of our cool scripting languages start with P, PostgreSQL" (<a href="http://bethesignal.org/blog/2006/03/16/what-does-lamp-stand-for/">What does LAMP stand for?</a>), and suggest we now re-explain LAMP to *actually* mean: Linux, Apache, Modern-perl, and a Persistence layer (to each his own).<br />
</ul></p>]]>
        
    </content>
</entry>

<entry>
    <title>It was bound to happen - Perl numbrenclature</title>
    <link rel="alternate" type="text/html" href="http://blogs.perl.org/users/erez_schatz/2011/06/it-was-bound-to-happen---perl-numbrenclature.html" />
    <id>tag:blogs.perl.org,2011:/users/erez_schatz//173.1928</id>

    <published>2011-06-30T07:06:32Z</published>
    <updated>2011-06-30T08:14:52Z</updated>

    <summary>Here&apos;s what happened. A few weeks ago, the Mozilla Foundation have pulled a Microsoft by releasing what is essentially Firefox 4.0.1 as Firefox 5. This had the added benefits of getting some corporate IT guys to throw their hands in...</summary>
    <author>
        <name>Erez Schatz</name>
        <uri>http://identi.ca/erez</uri>
    </author>
    
    
    <content type="html" xml:lang="en" xml:base="http://blogs.perl.org/users/erez_schatz/">
        <![CDATA[<p>Here's what happened. <br />
A few weeks ago, the Mozilla Foundation have pulled a Microsoft by <a href="http://blog.mozilla.com/blog/2011/06/21/mozilla-delivers-new-version-of-firefox-first-web-browser-to-support-do-not-track-on-multiple-platforms/">releasing what is essentially Firefox 4.0.1 as Firefox 5.</a> This had the added benefits of getting some corporate IT guys to throw their hands in the air and shout that they <a href="http://mike.kaply.com/2011/06/21/firefox-rapid-release-process/">cannot migrate to Firefox 4</a> now that it reached it's so called <a href="http://www.computerworld.com/s/article/9217837/Mozilla_retires_Firefox_4_from_security_support">End of Life</a>, </p>

<p>This would've been glazed over as yet another evidence that corporate IT is brain-dead, if it wasn't for the idea that the Perl community need to win over corporate IT to become the key player it once was. <br />
Sadly, catering to one's insanity can only cause even more insanity. <br />
And so, trying to find logic in the madness has brought forth the irrational thinking that "all we need to do is <a href="http://blogs.perl.org/users/alberto_simoes/2011/06/perl-perl-5-perl-6-and-names.html">drop the 5 and 6 from Perl 5 and 6</a>".</p>

<p>Now, this might be the silver bullet, it's so crazy it might work. But you don't have to actually do anything. </p>

<p>Take <a href="http://java.com">Java</a> for example. According to the java.com page, the current version is "Version 6 Update 26". Only it isn't. It's 1.6.0_26. A few years ago, Sun decided that the move from version 1.1 to 1.2 of Java was significant enough that it was actually "Java 2", hence the J2SE/EE/ME acronym. In this sense, Perl could easily refer to its recent iteration as "Perl 14" or refer to Perl 5.10 as "Modern Perl" and call 5.14 "Modern Perl 3" or something similar.</p>

<p>But you don't need to go that far. A safer, less "in-your-face" route is using a codename. It has the benefit of giving each release a different marketing brand while keeping the actual version numbering sane. The best example are Apple's MacOS X, and, to a degree, Microsoft's Windows releases. </p>

<p>Apple's latest Mac OS X is getting ready for its "Lion" release. "Lion" is 10.7. 10.0, "Cheetah" was released 10 years ago. Yep, 10 years and no Mac OS X 11 (OS XI?). Does anyone care? Of course not. <br />
Microsoft are no strangers to this practice, for example, releasing Windows NT 5.1 as "Windows XP". However, the guffaw that NT 6 "Windows Vista" was, forced them to use the false numbering technique and release NT 6.1 as "Windows 7" in what was one of their greatest marketing moves.</p>

<p>In summation, I suggest to call Perl 5.8 "Camel" (or maybe 5.6 even), in lieu of it being the version described in the canonical book. Then call 5.10 "Perl Onion", 5.12 "Perl Butterfly", and 5.14 "Perl Raptor", and Perl 5.16... whatever you like. Then stop referring to them with their version, and just use the names. <br />
The Perl 6 guys already do that with Perl Rakudo, and Perl 6 could be referred to as Perl Camelia. </p>

<p>Or we could just stop catering to the corporate IT.</p>]]>
        
    </content>
</entry>

<entry>
    <title>Why don&apos;t they contribute to open source projects</title>
    <link rel="alternate" type="text/html" href="http://blogs.perl.org/users/erez_schatz/2011/01/why-dont-they-contribute-to-open-source-projects.html" />
    <id>tag:blogs.perl.org,2011:/users/erez_schatz//173.1365</id>

    <published>2011-01-16T14:49:45Z</published>
    <updated>2011-01-16T15:23:55Z</updated>

    <summary>Recently, on the Israel.pm list Gabor Szabo wrote: In a recent poll conducted by Elizabeth Naramore people were asked why they don&apos;t contribute to open source projects? He also linked, at the bottom, to Shlomi Fish&apos;s article about How to...</summary>
    <author>
        <name>Erez Schatz</name>
        <uri>http://identi.ca/erez</uri>
    </author>
    
    
    <content type="html" xml:lang="en" xml:base="http://blogs.perl.org/users/erez_schatz/">
        <![CDATA[<p>Recently, on the Israel.pm list <a href="http://szabgab.com/">Gabor Szabo</a> wrote:</p>

<blockquote> In a <a href="http://naramore.net/blog/why-people-don-t-contribute-to-os-projects-and-what-we-can-do-about-it">recent poll conducted by Elizabeth Naramore</a> people were asked why they don't contribute to open source projects? </blockquote>

<p>He also linked, at the bottom, to Shlomi Fish's article about <a href="http://teachingopensource.org/index.php/How_to_start_contributing_to_or_using_Open_Source_Software">How to start contributing to or using Open Source Software</a>.</p>

<p>Both articles are a mouthful, and try to be very thorough in the advices and ideas they present. Sadly, both miss the point completely by assuming that "contributing" means "committing code". And this is not only wrong, its part of the reason people hesitate to contribute </p>

<p>For starters, "Open Source" projects tend to be seen as a hard-core programmers-only club, where you have to know how to program (mainly in C/C++), or you have no reason to be there. Seeing that the high profile projects are such complex systems, I can understand how did this image.</p>

<p>I would even point to the whole concept of nomenclature (Free Software/Open Source) as another clue to this "hackers only" image. When new users ask about what is FOSS, they are given a confusing lecture about the freedom of reading the code, changing the code, etc. They read articles about Open source and realise they need to learn about build systems and about version control, and get scared away. </p>

<p>This is sad because, as I said before, contribution to FOSS project is never limited only to committing code. Ask many project leaders about what they need and the will tell you that other than code, documentation is the number 1 issue in almost any FLOSS project, starting from user-manuals to API and design documentation. Other fields that are traditionally lacking include community management, community support, creating a web-presence, graphical design, coordination, packaging, testing, and I'm probably missing another half a dozen. </p>

<p>In all actuality, centring your recruitment efforts around those areas will benefit your project in the more technical oriented areas, as projects that make good progress in those fields will be more visible, new-comers friendly and will end up attracting more programmers who will see it as a thriving project that they could jump into and not get entangled with undocumented, untested cruft, or need to face puzzled, annoyed users. Solid community management and shiny web presence give the feeling of a stable project, which is what most developers seek.</p>

<p>Not only that, but a lot of projects that focus on getting more developers, do end up neglecting the other parts of the package, and might end up losing the community of contributors they already have, since programmers don't want to do web design, mailing list moderation, or other non-programming things.</p>

<p>Not all projects are GNU/Linux, who were a technical, no eye-candy affair, and whose community developed as a meritocracy of programmers. Most projects do need to clean up the façade,  replace the door mattress, wipe the windows and dust up the attic to get builders and architects interested.</p>]]>
        
    </content>
</entry>

<entry>
    <title>Creating a task manager, stage the first, or: the itcy and scratchy show</title>
    <link rel="alternate" type="text/html" href="http://blogs.perl.org/users/erez_schatz/2010/11/creating-a-task-manager-stage-the-first-or-the-itcy-and-scratchy-show.html" />
    <id>tag:blogs.perl.org,2010:/users/erez_schatz//173.1206</id>

    <published>2010-11-26T19:14:06Z</published>
    <updated>2010-12-01T15:18:51Z</updated>

    <summary>So I decided to write a task manager. I have recently tried to streamline my daily assignments in a task list, so I&apos;ll have track of stuff I do, or need to do. However, the way I work, I often...</summary>
    <author>
        <name>Erez Schatz</name>
        <uri>http://identi.ca/erez</uri>
    </author>
    
    
    <content type="html" xml:lang="en" xml:base="http://blogs.perl.org/users/erez_schatz/">
        <![CDATA[<p>So I decided to write a task manager.<br />
 <br />
I have recently tried to streamline my daily assignments in a task list, so I'll have track of stuff I do, or need to do. However, the way I work, I often find that a simple list does not suffice.</p>

<p>I would like a second level todo list that will collect several tasks that need to be accomplished before I can mark an item completed. Most of these are common for each job, but some are not. For instance, I want to tick off "merge from master before pushing" for every task, but "write POD" might not apply for pure-GUI (Template::Toolkit, HTML and JavaScript) jobs. Naturally, I want those to be available every time I add a task, and selecting from those should be as simple as possible.</p>

<p>Sadly, I found that, for all the plethora of solutions available, none gives me what I actually need. </p>

<p>I was using <a href="http://www.vim.org/scripts/script.php?script_id=3264">vimtodo</a>, a simple todo list for Vim, which allowed me to add tasks and checklists, but there was no way to actually automate this process, which meant a lot of copy/paste work for every item, and it had no online component. <a href="http://gtg.fritalk.com/">Getting Things Gnome</a> has sub-tasks and can be synched via <a href="http://www.rememberthemilk.com">Remember the Milk</a>, but tasks, again, need to be entered manually every time. Other web solutions had parts of what I wanted, but not all. The closest I got was <a href="https://www.pivotaltracker.com">Pivotal Tracker</a> that allowed me to add tasks to each job, but, again, manually.</p>

<p>While at it, there were other features I thought as "nice to have". There should be a "start/pause/end" button that I could toggle, and a way to tell me how long I actually worked (In a more robust way than started on/ended on). </p>

<p>I've decided to work with <a href="http://hiveminder.com">Hiveminder</a> as a back-end, I used it once, and remember it as flexible and reliable. It's also written in Perl and has a nice interface via <a href="http://search.cpan.org/~sartak/Net-Hiveminder-0.08/">Net::Hiveminder</a>, and a very clear API.<br />
It also has a feature that allows you to link another task as a "But first..." or "And then..." which I'll use to link the todo's to the tasks. I'm not sure about the exact interface I'll use, so for the meanwhile, I'll focus on the functionality.</p>

<p>Next: linking Hiveminder and hacking around it.</p>]]>
        
    </content>
</entry>

<entry>
    <title>The October that will never be</title>
    <link rel="alternate" type="text/html" href="http://blogs.perl.org/users/erez_schatz/2010/11/the-october-that-will-never-be.html" />
    <id>tag:blogs.perl.org,2010:/users/erez_schatz//173.1202</id>

    <published>2010-11-25T11:05:11Z</published>
    <updated>2010-11-25T11:42:26Z</updated>

    <summary>There&apos;s a thread on the Israeli Perl mailing list regarding &quot;What don&apos;t you like in Perl&quot;. There are the usual answers (Perl thread model is a disaster, Perl OO model does not go well with scotch etc.), but the real...</summary>
    <author>
        <name>Erez Schatz</name>
        <uri>http://identi.ca/erez</uri>
    </author>
    
    
    <content type="html" xml:lang="en" xml:base="http://blogs.perl.org/users/erez_schatz/">
        <![CDATA[<p>There's a thread on the Israeli Perl mailing list regarding "What don't you like in Perl". There are the usual answers (Perl thread model is a disaster, Perl OO model does not go well with scotch etc.), but the real answer is only revealed on another thread, where a guy who made the unfortunate mistake of replying personally is getting berated for three or four paragraphs, before is also accused of "Top-posting".</p>

<p>Now, for the record, netiquette was invented by a bunch of nerdy snobs who really wanted something to use when explaining why others are not worthy of their time. The less people obey them, the faster we can get to a point where corporations are willing to listen to what "geeks" have to offer, since every time an "Enterprise" guy is looking in a Perl mailing list, all they see are bunch of petty "you do not follow rule 23 of how I want the world to act".</p>

<p>It's also hard to explain the benefit of the "Unix culture" to anyone who just was told to "RTFM means read the FUCKING manual, FUCKER" on #DBIx-Class. It's even harder when said someone is the owner of the leading Perl/Catalyst company. <br />
OTOH, DHH is also known to be an <a href="http://www.flickr.com/photos/planetargon/127984254/">F-bomb terrorist</a> so maybe it's a prerequisite or something.</p>]]>
        
    </content>
</entry>

<entry>
    <title>How the other half lives</title>
    <link rel="alternate" type="text/html" href="http://blogs.perl.org/users/erez_schatz/2010/10/how-the-other-half-lives.html" />
    <id>tag:blogs.perl.org,2010:/users/erez_schatz//173.1072</id>

    <published>2010-10-02T13:13:27Z</published>
    <updated>2010-10-02T13:54:58Z</updated>

    <summary>Here&#8217;s a bitter, but very accurate description of what goes for open community development in the realm of .NET (Thanks, Merlyn!). It&#8217;s a pretty sad state of affair, and I can attest for at least some of it, mainly: &#8220;Last...</summary>
    <author>
        <name>Erez Schatz</name>
        <uri>http://identi.ca/erez</uri>
    </author>
    
    
    <content type="html" xml:lang="en" xml:base="http://blogs.perl.org/users/erez_schatz/">
        <![CDATA[<p>Here&#8217;s a bitter, but very accurate description of what goes for <a href="http://whatupdave.tumblr.com/post/1170718843/leaving-net">open community development in the realm of .NET</a> (Thanks, <a href="http://merlyn.posterous.com/why-vendors-publishing-source-isnt-much-bette">Merlyn</a>!). It&#8217;s a pretty sad state of affair, and I can attest for at least some of it, mainly:</p>

<blockquote>
  <p>&#8220;Last year Microsoft released a new web framework called MVC. It&#8217;s not new by web standards &#8230; Yet people were waiting for it. People were waiting for Microsoft to deliver it to them.&#8221;</p>

<p>&#8220;Microsoft themselves &#8230; are so cleverly changing just fast enough to keep developers from solving problems themselves.&#8221;</p>
</blockquote>

<p>And this also goes for faulty &#8220;standards&#8221;. Some half-baked ideas (like the Microsoft .NET remoting framework) are getting implemented into core systems before someone, Microsoft or else, realises that these are the technical equivalent of horse manure that spent several days in the sun, and now, not only that they are stuck with it, but Microsoft is no longer providing support for their festering framework of scum and villainy.</p>

<p>This is not to say the world of open-community/open-source development is all made out of shiny bits and bytes, but I think we can see how the community leverage the bad parts and enforce standards that other communities can only be envious of, like the way CPAN modules are released along with full documentation and a test suite, the way Git was embraced by the community, how Moose and Catalyst became the forerunners of web and OO development, and how perl itself is now being rapidly developed and released. Unlike the .NET attempt at community, the Perl ecosystem is very healthy and is strong on maintaining its health, in many great ways.</p>
]]>
        

    </content>
</entry>

<entry>
    <title>What&apos;s in a name?</title>
    <link rel="alternate" type="text/html" href="http://blogs.perl.org/users/erez_schatz/2010/09/whats-in-a-name.html" />
    <id>tag:blogs.perl.org,2010:/users/erez_schatz//173.1063</id>

    <published>2010-09-30T19:11:17Z</published>
    <updated>2010-09-30T19:58:20Z</updated>

    <summary>For my recent projects, I&apos;ve been using Dist::Zilla and enjoying its very advanced features. The reason I&apos;ve never used it before? I thought it had a silly name. I still do, in fact, just that I managed to ignore the...</summary>
    <author>
        <name>Erez Schatz</name>
        <uri>http://identi.ca/erez</uri>
    </author>
    
    
    <content type="html" xml:lang="en" xml:base="http://blogs.perl.org/users/erez_schatz/">
        <![CDATA[<p>For my recent projects, I've been using Dist::Zilla and enjoying its very advanced features. The reason I've never used it before? I thought it had a silly name. I still do, in fact, just that I managed to ignore the silliness enough to find out it incorporates some major wins.</p>

<p>Another project I overlooked is KiokuDB. I was looking around for a non-relational/Object-based/Document-based Database (aka NoSQL), and kept overlooking KiokuDB for two reasons; first, KiokuDB is a front-end to several different back-ends, including RDBMS like MySQL and Postgresql, making me unsure whether it is a true object-based DB, or just a glorified ORM, and second, it has a silly name.</p>

<p>It's not that I judge projects by their names, but in the rich plethora of solutions that is CPAN, most searches will bring in such an abundance of results, that if any of those have a silly name, I would probably overlook them first, and return to them only if others fail to meet my needs. And, Larry help me, Perl programmers have a tendency to really hit the silly when naming their work. </p>

<p>From the usual tongue-in-cheek puns (cpanminus, Config::JFDI), to the odd obsession geeks have with Japan (Rakudo, KiokuDB, Kaizendo, to name a few), to downright obscureness (Mojolicious, Dist::Zilla, Starman, Twiggy). It reminds me the time I tried to install LiveJournal through CPAN, and after installing a major continent of modules, the project complained that it can't find "TheSchwartz". I didn't even bother looking that one up.</p>

<p>Mind you, this habit is not reserved to Perl, and is a well-known Unix hackers' tradition of selecting "names that make marketeers wince", but once in a while, I would like to actually know what something does just by its name.</p>]]>
        
    </content>
</entry>

<entry>
    <title>If you don&apos;t do your homework, you don&apos;t get to Perl</title>
    <link rel="alternate" type="text/html" href="http://blogs.perl.org/users/erez_schatz/2010/09/do-your-homework.html" />
    <id>tag:blogs.perl.org,2010:/users/erez_schatz//173.1040</id>

    <published>2010-09-23T08:26:31Z</published>
    <updated>2010-09-23T09:03:00Z</updated>

    <summary>One of the most common responses to simple, text-book-quality questions on many Perl community outlets is &quot;We are not here to do your homework&quot;. It&apos;s usually thrown in a swift, abase, manner, as if saying &quot;How DARE you ask us...</summary>
    <author>
        <name>Erez Schatz</name>
        <uri>http://identi.ca/erez</uri>
    </author>
    
    
    <content type="html" xml:lang="en" xml:base="http://blogs.perl.org/users/erez_schatz/">
        <![CDATA[<p>One of the most common responses to simple, text-book-quality questions on many Perl community outlets is "We are not here to do your homework". It's usually thrown in a swift, abase, manner, as if saying "How DARE you ask us to answer your assignment for you?!", and at times is accompanied by a general comment as to the asker's intelligence, seriousness, effort, capabilities, values, ethics and sexual capabilities. It is also, always, the most incorrect response possible.</p>

<p>One of my first assignment, back when I was a technical supporter, was to "refactor" a Perl script, which turned out to be more of a glorified shell script riddled with back-ticked system calls to <em>wget</em>, <em>grep</em>, et al. After rewriting those as actual Perl, I was left with the last element of the script that I wanted, upper-casing text in the files the script downloaded. The problem wasn't of how to perform the upper-casing, but how to perform it under specific terms, but before I got to that, I thought the best way would be to grab the text I needed using a regexp, then maybe substituting it using <em>s///</em>, now, what is the best way to uppercase text with a regexp?</p>

<p>I can only imaging what would've happened had I attempted to post that question to a PerlMonks thread, or an IRC channel. While it does look like a sort of Perl beginner course assignment, It wasn't. Perl is like that. The amount of things to know before you can hack some baby-Perl script is amazingly minimal, and Perl's DWIM design doesn't enforce you to understand why do things work the way they do, so the learning curve is shallow, and no-one can really say whether a question is from a course, or a real-world I-need-this-for-my-job question.</p>

<p>And even if it is homework, what of it? Why not just help the guy out, and allow him to progress faster to the more interesting parts of Perl?</p>]]>
        
    </content>
</entry>

<entry>
    <title>&quot;Slides&quot; for my Haifa.pm talk</title>
    <link rel="alternate" type="text/html" href="http://blogs.perl.org/users/erez_schatz/2010/04/slides-for-my-haifapm-talk.html" />
    <id>tag:blogs.perl.org,2010:/users/erez_schatz//173.445</id>

    <published>2010-04-05T18:25:21Z</published>
    <updated>2010-04-05T18:50:18Z</updated>

    <summary>Here are the slides I&apos;ve use while delivering my Fishing for Perl: The Perl New User Experience talk. These are not really slides, in any sense, the Powerpoint one or else, but actually a .pdf file that I generated out...</summary>
    <author>
        <name>Erez Schatz</name>
        <uri>http://identi.ca/erez</uri>
    </author>
    
    
    <content type="html" xml:lang="en" xml:base="http://blogs.perl.org/users/erez_schatz/">
        <![CDATA[<p>Here are the slides I've use while delivering my <a href="http://blogs.perl.org/users/erez_schatz/2010/04/05/fishperl.pdf">Fishing for Perl: The Perl New User Experience</a> talk. These are not really slides, in any sense, the Powerpoint one or else, but actually a .pdf file that I generated out of <a href="http://blogs.perl.org/users/erez_schatz/2010/04/05/fishperl.tex">this LaTeX source</a>.</p>

<p>My main work method in creating this talk was two-fold. One, I jotted down ideas I had on the most immediate means, paper or electric (I found Google Wave to be an excellent tool for this, the only actual use I found for it). Two, I edited those ideas to a LaTeX document until they actually formed what seemed (at the time) a sensible narration. I also tend to follow the idea that if you can understand the talk by just reading the slides then the talk has no value. This actually means you may not understand much of what I'm talking about by just reading the slides.<br />
That's OK, because I intend to use that as a base for several posts here.</p>

<p>First thing I want to mention, is that one of the main ideas I tried to push forward was that of context. That is, you don't address people in a meeting like you do on a "water-cooler chat" or like you do when you're giving a speech, etc. I was a bit guilty of violating that rule when I gave my talk in a manner I was more accustomed to from my job, which is "get in, get on with it, get out". Hardly suitable for a Perl Mongers meeting. And part of the reason for me wanting to expand on that subject here.</p>]]>
        
    </content>
</entry>

<entry>
    <title>Post Haifa.pm</title>
    <link rel="alternate" type="text/html" href="http://blogs.perl.org/users/erez_schatz/2010/03/post-haifapm.html" />
    <id>tag:blogs.perl.org,2010:/users/erez_schatz//173.374</id>

    <published>2010-03-17T06:01:22Z</published>
    <updated>2010-03-17T07:41:51Z</updated>

    <summary>A while ago, I answered to Sawyer&apos;s blog post &quot;On low attendance in TelAviv.pm meetings&quot; basically saying that I challenge the idea that the event he referred to is a TelAviv.pm at all. I was being facetious and nitpicking, but...</summary>
    <author>
        <name>Erez Schatz</name>
        <uri>http://identi.ca/erez</uri>
    </author>
    
    
    <content type="html" xml:lang="en" xml:base="http://blogs.perl.org/users/erez_schatz/">
        <![CDATA[<p>A while ago, I answered to Sawyer's blog post "<a href="http://blogs.perl.org/users/sawyer_x/2010/01/on-low-attendance-in-telavivpm-meetings.html">On low attendance in TelAviv.pm meetings</a>" basically saying that I challenge the idea that the event he referred to is a TelAviv.pm at all. I was being facetious and nitpicking, but my motive was, and still is, my belief that the .pm meetings are a perl-centric, social gathering of like-minded Perl, ahem, mongers, and should be treated in the same way that you treat 4-5 perl guys who meet in a pub.</p>

<p>This is why I was very excited about the re-emergence of Haifa.pm, which was exactly what I was thinking about, a non-formal, friendly gathering of like-minded people that wanted to share their affection for Perl. And for that I want to thank both <a href="http://bruck.co.il">Uri Bruck</a> and <a href="http://www.semuel.co.il/">Shmuel Fomberg</a> for organizing this event, and for inviting me to speak, which I always love and dread to do.</p>

<p>I will also use this as an opportunity to launch this blog more officially. During the next days I'll post the slides and source of the presentation, with some personal post-mortem about it. Most of what I touch there were just points, that I'll expand on during the following weeks.</p>

<p>Finally, if anyone reading this lives in the vicinity of Haifa (Israel), and is a perl enthusiast, has a topic they want to share, or are interested in meeting folks from the local Perlosphere, please comment here and I'll make sure to pass the word to Uri and Shmuel for the next meeting.</p>]]>
        
    </content>
</entry>

<entry>
    <title>I heed the call</title>
    <link rel="alternate" type="text/html" href="http://blogs.perl.org/users/erez_schatz/2010/01/i-heed-the-call.html" />
    <id>tag:blogs.perl.org,2010:/users/erez_schatz//173.207</id>

    <published>2010-01-25T06:53:56Z</published>
    <updated>2010-01-25T07:18:48Z</updated>

    <summary>I will use this space to blog about Perl, which might not sound peculiar, but wait! Unlike most here, I don&apos;t make my living by programming in Perl, but rather by working on several unconnected Microsoft frameworks that have a...</summary>
    <author>
        <name>Erez Schatz</name>
        <uri>http://identi.ca/erez</uri>
    </author>
    
    
    <content type="html" xml:lang="en" xml:base="http://blogs.perl.org/users/erez_schatz/">
        <![CDATA[<p>I will use this space to blog about Perl, which might not sound peculiar, but wait!</p>

<p>Unlike most here, I don't make my living by programming in Perl, but rather by working on several unconnected Microsoft frameworks that have a .NET in their brand name. I do use Perl for my pet projects and tools I work on my space time. In this sense I'm a hobbyist Perl programmer.</p>

<p>I think this gives me a unique look on the world of Perl, one of an outsider looking inside. Now, this is quite an oversimplification of the matter, as I should make clear. I frequent the different Perl online presences, such as PerlMonks, use.Perl, blogs.perl.org and planetperl. But I do all that as an enthusiast rather than as a professional. </p>]]>
        
    </content>
</entry>

</feed>
