<?xml version="1.0"?>
<rss version="2.0.">
  <channel>
    <title>Advogato blog for chromatic</title>
    <link>http://www.advogato.org/person/chromatic/</link>
    <description>Advogato blog for chromatic</description>
    <language>en-us</language>
    <generator>mod_virgule</generator>
    <pubDate>Thu, 24 Jul 2008 19:21:23 GMT</pubDate>
    <item>
      <pubDate>Wed, 23 Jul 2008 07:11:21 GMT</pubDate>
      <title>Perl on Google's App Engine</title>
      <link>http://www.advogato.org/person/chromatic/diary.html?start=339</link>
      <guid>http://use.perl.org/~chromatic/journal/36993?from=rss</guid>
      <description>&lt;summary type="xhtml"&gt;&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;p&gt;&lt;a href="http://radar.oreilly.com/2008/07/perl-on-app-engine.html" &gt;Artur Bergman discusses Perl on Google's App Engine&lt;/a&gt;, while &lt;a href="http://brad.livejournal.com/2388824.html" &gt;Brad Fitzpatrick announced Perl on App Engine&lt;/a&gt;.  The important information is that Google will support the project only if the Perl community does most of the hard work.  (This position seems reasonable to me; gift horses and all that.)&lt;/p&gt;&lt;/div&gt;&lt;/summary&gt;</description>
    </item>
    <item>
      <pubDate>Mon, 21 Jul 2008 05:07:15 GMT</pubDate>
      <title>They Call This a Softball Question in Interviews</title>
      <link>http://www.advogato.org/person/chromatic/diary.html?start=338</link>
      <guid>http://use.perl.org/~chromatic/journal/36968?from=rss</guid>
      <description>&lt;blockquote&gt;&lt;div&gt;&lt;p&gt; &lt;em&gt;Recently there has been a feeling of growing discontent: how could Ruby &amp;#8212; which felt so new and liberating two years ago &amp;#8212; get saddled with so much negative baggage, so quickly?&lt;/em&gt;&lt;/p&gt;&lt;/div&gt; &lt;/blockquote&gt;&lt;p&gt;&amp;mdash; &lt;a href="http://www.peteforde.com/" &gt;Pete Forde&lt;/a&gt;, &lt;a href="http://rethink.unspace.ca/2008/7/20/we-are-rubyfringe" &gt;We are RubyFringe&lt;/a&gt; &lt;/p&gt;&lt;p&gt;Take your pick of the &lt;a href="http://www.flickr.com/photos/planetargon/127984254/" &gt;aggressively dismissive attitude toward other approaches&lt;/a&gt;, &lt;a href="http://oreilly.com/catalog/9780596100940/" &gt;vigorous and self-congratulatory messianic zeal&lt;/a&gt;, &lt;a href="http://www.37signals.com/svn/posts/347-youre-not-on-a-fucking-plane-and-if-you-are-it-doesnt-matter" &gt;egocentric and deliberate misunderstanding of the rest of the world of software development&lt;/a&gt;, &lt;a href="http://www.cosine.org/2007/08/16/languagepowered-domain-specific-language/" &gt;verbose and willful discussion of, despite baffling ignorance of, other programming languages&lt;/a&gt;, &lt;a href="http://blog.objectmentor.com/articles/2007/11/02/active-record-vs-objects" &gt;misunderstanding of MVC and the Active Record pattern&lt;/a&gt;, booing Dave Thomas at RailsConf 2007 for questioning why it was necessary to create a "Women of Rails" website featuring pictures of attendees, cheering at RailsConf 2007 when Chad Fowler said "People call us arrogant" when his point is that that's a &lt;em&gt;bad&lt;/em&gt; thing, and the baffling fourteen year old boy sensibilities of the &lt;a href="http://www.railsenvy.com/tags/Commercials" &gt;Rails Envy commercials&lt;/a&gt;, including my personal favorite,
&lt;a href="http://www.youtube.com/watch?v=ku3QkWcPSEw" &gt;comparing the V in MVC to a drunken prom date&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;I can understand arrogance from Olympians or research scientists who've just cured cancer.  It seems out of place for people writing CRUD applications, even if they're all shiny with rounded corners and Ajax fade ins.&lt;/p&gt;</description>
    </item>
    <item>
      <pubDate>Sun, 20 Jul 2008 08:09:34 GMT</pubDate>
      <title>The Difference Between Jazz and Programming</title>
      <link>http://www.advogato.org/person/chromatic/diary.html?start=337</link>
      <guid>http://use.perl.org/~chromatic/journal/36962?from=rss</guid>
      <description>&lt;blockquote&gt;&lt;div&gt;&lt;p&gt; &lt;em&gt;The modern jazz small ensemble is built upon the&lt;/em&gt; rhythm &lt;em&gt;section -- piano, bass, and drums.&lt;/em&gt; &lt;/p&gt;&lt;p&gt; &lt;em&gt;The easiest parallel to programming is libraries, frameworks and patterns. These are the building blocks upon which we code. A well-designed library makes your work as a programmer easier and more enjoyable in the same way a solid, experienced rhythm section complements a soloist.&lt;/em&gt; &lt;/p&gt;&lt;/div&gt; &lt;/blockquote&gt;&lt;p&gt;&amp;mdash; &lt;a href="http://blog.nicksieger.com/" &gt;Nick Sieger&lt;/a&gt;, &lt;a href="http://blog.nicksieger.com/articles/2008/07/19/jazzers-and-programmers" &gt;Jazzers and Programmers&lt;/a&gt; &lt;/p&gt;&lt;p&gt;One important difference between programming and music is that in programming, correctness often supersedes aesthetics.  It's not that aesthetics are unimportant, or that there can or should be no joy in programming -- but if your code doesn't work, it doesn't matter how much of a punk fringe rock star you consider yourself.&lt;/p&gt;&lt;p&gt;Color me (what, two nods to my pseudonym in two paragraphs?) uninspired.  I doubt improv will pass my test suite.  See &lt;a href="http://www.idlewords.com/2005/04/dabblers_and_blowhards.htm" &gt;Dabblers and Blowhards&lt;/a&gt; for a deeper debunking of similarly silly comparisons.&lt;/p&gt;</description>
    </item>
    <item>
      <pubDate>Fri, 27 Jun 2008 02:12:06 GMT</pubDate>
      <title>Maybe IFF Everyone Always Gets it Completely Right</title>
      <link>http://www.advogato.org/person/chromatic/diary.html?start=336</link>
      <guid>http://use.perl.org/~chromatic/journal/36792?from=rss</guid>
      <description>&lt;p&gt;&lt;blockquote&gt;&lt;div&gt;&lt;p&gt; &lt;em&gt;[The recent Ruby security vulnerabilities], and others like it in Python/Perl/etc are interesting for a lot of reasons but mostly because too many people point to using these languages as a safe alternative to C/C++...&lt;/em&gt;&lt;/p&gt;&lt;/div&gt; &lt;/blockquote&gt;&lt;p&gt;&amp;mdash; &lt;a href="http://www.digitalbond.com/index.php/author/daniel-peck/" &gt;Daniel Peck&lt;/a&gt;, &lt;a href="http://www.digitalbond.com/index.php/2008/06/23/vulnerabilities-in-interpereted-languages/" &gt;http://www.digitalbond.com/index.php/2008/06/23/vulnerabilities-in-interpereted&lt;nobr&gt;-&lt;wbr&gt;&lt;/nobr&gt; languages/&lt;/a&gt; &lt;/p&gt;&lt;p&gt;Right, because there's no difference in requiring &lt;em&gt;everyone&lt;/em&gt; to get their pointers and allocations and deallocations and initializations right as you do in C and C++ and requiring &lt;em&gt;only the people writing the compiler or interpreter and possibly any extensions&lt;/em&gt; to get these right, as you do in Ruby, Perl, PHP, and Python.  A well-designed language extension system will even allow you to reuse the language's memory allocation/deallocation system, further minimzing your risk.&lt;/p&gt;&lt;p&gt;Apparently this part of security is not one where minimizing your exposure is valuable.&lt;/p&gt;&lt;p&gt;(Then again, you may want to reconsider taking security advice from someone whose command of technical details misses the fact that, of the languages listed, only Ruby is "interpereted" [sic] -- and interpret/compile is generally an implementation detail, not a language requirement.)&lt;/p&gt;</description>
    </item>
    <item>
      <pubDate>Fri, 27 Jun 2008 01:08:45 GMT</pubDate>
      <title>Perl 6 Design Minutes for 11 June 2008</title>
      <link>http://www.advogato.org/person/chromatic/diary.html?start=335</link>
      <guid>http://use.perl.org/~chromatic/journal/36791?from=rss</guid>
      <description>&lt;p&gt;The Perl 6 design team met by phone on 11 June 2008.  Larry, Allison,
Patrick, Jerry, Jesse, Nicholas, and chromatic attended.&lt;/p&gt;&lt;p&gt; &lt;strong&gt;Larry:&lt;/strong&gt; &lt;/p&gt;&lt;p&gt;&lt;ul&gt;
&lt;li&gt;slowly improving&lt;/li&gt;&lt;li&gt;seems like I'm getting smarter, but appearances can be deceiving&lt;/li&gt;&lt;li&gt;my brain's not really back to a lot of spec work yet&lt;/li&gt;&lt;li&gt;continuing to refactor and debug the gimme5/STD5/cursor5 galaxy of pain&lt;/li&gt;&lt;li&gt;making progress on that&lt;/li&gt;&lt;li&gt;parses all of &lt;em&gt;radix.t&lt;/em&gt;, though I'm not sure it's doing that correctly&lt;/li&gt;&lt;li&gt;starting to make progress on parsing &lt;em&gt;STD.pm&lt;/em&gt; itself, though it's not getting far&lt;/li&gt;&lt;li&gt;hope to be able to parse most of &lt;em&gt;STD.pm&lt;/em&gt; using &lt;em&gt;STD.pm&lt;/em&gt; by my talk next week&lt;/li&gt;&lt;li&gt;my future plans are to switch over from using lists (which cannot easily be lazy in Perl 5) to using lazy scalar iterators&lt;/li&gt;&lt;li&gt;that'll probably make the produced Perl code look a little prettier too&lt;/li&gt;&lt;li&gt;unless your idea of prettiness is a lot of nested &lt;code&gt;map&lt;/code&gt; statements&lt;/li&gt;&lt;li&gt;going to Chicago on Friday&lt;/li&gt;&lt;li&gt;giving a talk a week from tomorrow at Google in Chicago&lt;/li&gt;&lt;/ul&gt;&lt;p&gt; &lt;strong&gt;Patrick:&lt;/strong&gt; &lt;/p&gt;&lt;p&gt;&lt;ul&gt;
&lt;li&gt;things are going very well&lt;/li&gt;&lt;li&gt;Rakudo and PCT now support the &lt;code&gt;return&lt;/code&gt; statement&lt;/li&gt;&lt;li&gt;hooks for the other types of exceptions implemented&lt;/li&gt;&lt;li&gt;have a version of &lt;code&gt;fail&lt;/code&gt; implemented, but it fails in certain cases&lt;/li&gt;&lt;li&gt;want to clean that up&lt;/li&gt;&lt;/ul&gt;&lt;p&gt; &lt;strong&gt;Larry:&lt;/strong&gt; &lt;/p&gt;&lt;p&gt;&lt;ul&gt;
&lt;li&gt;it fails to fail?&lt;/li&gt;&lt;/ul&gt;&lt;p&gt; &lt;strong&gt;Patrick:&lt;/strong&gt; &lt;/p&gt;&lt;p&gt;&lt;ul&gt;
&lt;li&gt;it fails badly&lt;/li&gt;&lt;li&gt;mostly need to find where we did things the Parrot way and layer the Perl 6 way on there instead&lt;/li&gt;&lt;li&gt;fixing little bugs here and there to get more spectests running&lt;/li&gt;&lt;li&gt;wrote my own small version of Test::Harness to get the output results in a format that makes it easy for us to chart our progress&lt;/li&gt;&lt;li&gt;this one tells us how many we passed&lt;/li&gt;&lt;li&gt;running a test right now to find out where we were this morning&lt;/li&gt;&lt;li&gt;essentially, we're passing around 700 spec tests this week&lt;/li&gt;&lt;li&gt;last week we were passing 624&lt;/li&gt;&lt;li&gt;we may be quite a bit more than 700&lt;/li&gt;&lt;li&gt;all of this will show up in a journal post in the next day or two&lt;/li&gt;&lt;li&gt;writing code distracts me from journal posts, or vice versa&lt;/li&gt;&lt;li&gt;no other distractions&lt;/li&gt;&lt;li&gt;looking forward to YAPC and the hackathon&lt;/li&gt;&lt;li&gt;putting together a list of things to work on at the hackathon&lt;/li&gt;&lt;li&gt;one big thing is how people can help us with the spectests&lt;/li&gt;&lt;li&gt;doing more thinking about how to update PGE to do protoregexes and longest token matching&lt;/li&gt;&lt;li&gt;seems doable this summer&lt;/li&gt;&lt;li&gt;maybe between YAPC and OSCON&lt;/li&gt;&lt;li&gt;tomorrow is Jonathan's Rakudo day&lt;/li&gt;&lt;li&gt;we'll do lazy lists in Parrot&lt;/li&gt;&lt;/ul&gt;&lt;p&gt; &lt;strong&gt;Jerry:&lt;/strong&gt; &lt;/p&gt;&lt;p&gt;&lt;ul&gt;
&lt;li&gt;applied a few patches&lt;/li&gt;&lt;li&gt;answered some questions&lt;/li&gt;&lt;li&gt;we set up the Parrot Foundation, a new non-profit for supporting Parrot in specific&lt;/li&gt;&lt;li&gt;assigned directors, incorporated, set up a bank account, will announce at YAPC and OSCON&lt;/li&gt;&lt;li&gt;involved in the logistics of setting that up and so on&lt;/li&gt;&lt;li&gt;finalized the purchase of parrot.org&lt;/li&gt;&lt;li&gt;we'll put up a site there as soon as the domain transfer happens&lt;/li&gt;&lt;/ul&gt;&lt;p&gt; &lt;strong&gt;Jesse:&lt;/strong&gt; &lt;/p&gt;&lt;p&gt;&lt;ul&gt;
&lt;li&gt;what are you transferring over?&lt;/li&gt;&lt;/ul&gt;&lt;p&gt; &lt;strong&gt;Jerry:&lt;/strong&gt; &lt;/p&gt;&lt;p&gt;&lt;ul&gt;
&lt;li&gt;the Parrot milestone funds&lt;/li&gt;&lt;/ul&gt;&lt;p&gt; &lt;strong&gt;Jesse:&lt;/strong&gt; &lt;/p&gt;&lt;p&gt;&lt;ul&gt;
&lt;li&gt;are you getting your own infrastructure for this, or will it run on perl.org?&lt;/li&gt;&lt;/ul&gt;&lt;p&gt; &lt;strong&gt;Jerry:&lt;/strong&gt; &lt;/p&gt;&lt;p&gt;&lt;ul&gt;
&lt;li&gt;need to talk to TPF about that&lt;/li&gt;&lt;li&gt;just met with Auzon about the Perl 6 tests&lt;/li&gt;&lt;li&gt;have some questions for discussion&lt;/li&gt;&lt;li&gt;Kevin Tew's back on track with his project as well&lt;/li&gt;&lt;li&gt;fighting some PGE brainos&lt;/li&gt;&lt;li&gt;#parrot helped him move on&lt;/li&gt;&lt;li&gt;he can parse a 6000 line C++ header file in a minute and a half&lt;/li&gt;&lt;/ul&gt;&lt;p&gt; &lt;strong&gt;c:&lt;/strong&gt; &lt;/p&gt;&lt;p&gt;&lt;ul&gt;
&lt;li&gt;fixing some bugs&lt;/li&gt;&lt;li&gt;still working on the string system&lt;/li&gt;&lt;li&gt;made some improvements there&lt;/li&gt;&lt;li&gt;cleaned up some grotty code, more to go&lt;/li&gt;&lt;li&gt;might look at the string PDD after the hackathon&lt;/li&gt;&lt;li&gt;continue to mentor Andrew's GC work; he's on the right track and I have high confidence in him&lt;/li&gt;&lt;li&gt;helped Kevin profile his code&lt;/li&gt;&lt;li&gt;found some spots in PGE that could use optimization&lt;/li&gt;&lt;li&gt;Patrick could put in a couple of hours and get some improvements for everyone&lt;/li&gt;&lt;/ul&gt;&lt;p&gt; &lt;strong&gt;Patrick:&lt;/strong&gt; &lt;/p&gt;&lt;p&gt;&lt;ul&gt;
&lt;li&gt;I spent a couple of hours on that this morning&lt;/li&gt;&lt;li&gt;too much backtracking&lt;/li&gt;&lt;li&gt;found some other stuff I want to clean up in the process&lt;/li&gt;&lt;li&gt;we'll get more speed from longest-token matching though&lt;/li&gt;&lt;/ul&gt;&lt;p&gt; &lt;strong&gt;c:&lt;/strong&gt; &lt;/p&gt;&lt;p&gt;&lt;ul&gt;
&lt;li&gt;and a better garbage collector, Parrot-side&lt;/li&gt;&lt;li&gt;but a 20% improvement now is a good thing&lt;/li&gt;&lt;/ul&gt;&lt;p&gt; &lt;strong&gt;Patrick:&lt;/strong&gt; &lt;/p&gt;&lt;p&gt;&lt;ul&gt;
&lt;li&gt;also for people who aren't using protoregexes and such&lt;/li&gt;&lt;/ul&gt;&lt;p&gt; &lt;strong&gt;Larry:&lt;/strong&gt; &lt;/p&gt;&lt;p&gt;&lt;ul&gt;
&lt;li&gt;the &lt;code&gt;xor&lt;/code&gt; problem is between whether you treat them as binaries or list precedence&lt;/li&gt;&lt;li&gt;do you think treating them as lists makes optimization more effective?&lt;/li&gt;&lt;li&gt;it's not the only thing in that precedence level&lt;/li&gt;&lt;li&gt;if we treated them all as list precedence, does that open up more general optimization improvements?&lt;/li&gt;&lt;li&gt;I'm getting the feeling that the answer is yes&lt;/li&gt;&lt;/ul&gt;&lt;p&gt; &lt;strong&gt;Patrick:&lt;/strong&gt; &lt;/p&gt;&lt;p&gt;&lt;ul&gt;
&lt;li&gt;PGE's issue is implementation&lt;/li&gt;&lt;li&gt;with eleven alternations, it stored ten backtracking points&lt;/li&gt;&lt;/ul&gt;&lt;p&gt; &lt;strong&gt;Larry:&lt;/strong&gt; &lt;/p&gt;&lt;p&gt;&lt;ul&gt;
&lt;li&gt;it's simpler to implement short-circuit logicals as binaries&lt;/li&gt;&lt;li&gt;implementing them as a list operator might not buy you anything&lt;/li&gt;&lt;li&gt;but they degrade to left-associative anyway, if the operator changes&lt;/li&gt;&lt;li&gt;I could change all of those left-associative ops to list-associative with no change in the binary case&lt;/li&gt;&lt;li&gt;I'm going back and forth on that for &lt;code&gt;infix:xor&lt;/code&gt; &lt;/li&gt;&lt;li&gt;should they have the useless semantics of parity?&lt;/li&gt;&lt;li&gt;it's a tradeoff&lt;/li&gt;&lt;/ul&gt;&lt;p&gt; &lt;strong&gt;Patrick:&lt;/strong&gt; &lt;/p&gt;&lt;p&gt;&lt;ul&gt;
&lt;li&gt;if they were listops, I don't think we'd get that big an improvement&lt;/li&gt;&lt;li&gt;it wouldn't bother me if it were there&lt;/li&gt;&lt;li&gt;it's not hard to implement them that way&lt;/li&gt;&lt;/ul&gt;&lt;p&gt; &lt;strong&gt;Larry:&lt;/strong&gt; &lt;/p&gt;&lt;p&gt;&lt;ul&gt;
&lt;li&gt;the listop could implement them in terms as binary, if it wanted&lt;/li&gt;&lt;li&gt;that's fine&lt;/li&gt;&lt;/ul&gt;&lt;p&gt; &lt;strong&gt;Patrick:&lt;/strong&gt; &lt;/p&gt;&lt;p&gt;&lt;ul&gt;
&lt;li&gt;having the &lt;code&gt;one&lt;/code&gt; sense would have been really handy&lt;/li&gt;&lt;/ul&gt;&lt;p&gt; &lt;strong&gt;Larry:&lt;/strong&gt; &lt;/p&gt;&lt;p&gt;&lt;ul&gt;
&lt;li&gt;you have an explicit &lt;code&gt;one&lt;/code&gt; now, but that's just junctions&lt;/li&gt;&lt;/ul&gt;&lt;p&gt; &lt;strong&gt;Patrick:&lt;/strong&gt; &lt;/p&gt;&lt;p&gt;&lt;ul&gt;
&lt;li&gt;and it doesn't short-circuit&lt;/li&gt;&lt;/ul&gt;&lt;p&gt; &lt;strong&gt;Larry:&lt;/strong&gt; &lt;/p&gt;&lt;p&gt;&lt;ul&gt;
&lt;li&gt;if you have one that's true, tell me which one&lt;/li&gt;&lt;li&gt;that's probably more useful&lt;/li&gt;&lt;/ul&gt;&lt;p&gt; &lt;strong&gt;Patrick:&lt;/strong&gt; &lt;/p&gt;&lt;p&gt;&lt;ul&gt;
&lt;li&gt;I could do parity easily&lt;/li&gt;&lt;/ul&gt;&lt;p&gt; &lt;strong&gt;Nicholas:&lt;/strong&gt; &lt;/p&gt;&lt;p&gt;&lt;ul&gt;
&lt;li&gt;would be nice to restart the Perl 6 list summaries&lt;/li&gt;&lt;li&gt;the Perl 5 summaries have produced some productive work&lt;/li&gt;&lt;li&gt;David Landgren spends about a full day of work on the summaries every week&lt;/li&gt;&lt;li&gt;the Perl 6 lists have a bit more traffic combined than p5p&lt;/li&gt;&lt;/ul&gt;&lt;p&gt; &lt;strong&gt;Jesse:&lt;/strong&gt; &lt;/p&gt;&lt;p&gt;&lt;ul&gt;
&lt;li&gt;we've had trouble finding anyone interested in doing the summaries last time&lt;/li&gt;&lt;/ul&gt;&lt;p&gt; &lt;strong&gt;Nicholas:&lt;/strong&gt; &lt;/p&gt;&lt;p&gt;&lt;ul&gt;
&lt;li&gt;there's also the huge problem of trying to summarize IRC&lt;/li&gt;&lt;li&gt;David's reaction was "ugh"&lt;/li&gt;&lt;/ul&gt;&lt;p&gt; &lt;strong&gt;Patrick:&lt;/strong&gt; &lt;/p&gt;&lt;p&gt;&lt;ul&gt;
&lt;li&gt;I'll try this and report it in the next two weeks&lt;/li&gt;&lt;li&gt;I haven't been reporting on my progress as frequently as I'd like&lt;/li&gt;&lt;li&gt;weekly might be better, especially given our velocity&lt;/li&gt;&lt;li&gt;I prefer that someone else does the summaries&lt;/li&gt;&lt;li&gt;getting more people to participate is more important&lt;/li&gt;&lt;li&gt;and it's easier for someone involved to summarize than someone who isn't&lt;/li&gt;&lt;li&gt;I'll look for some interested people at YAPC&lt;/li&gt;&lt;li&gt;if that doesn't happen, I'll set aside a day a week to write a summary report&lt;/li&gt;&lt;/ul&gt;&lt;p&gt; &lt;strong&gt;Jesse:&lt;/strong&gt; &lt;/p&gt;&lt;p&gt;&lt;ul&gt;
&lt;li&gt;I'd happily pay in beer or whatever for that&lt;/li&gt;&lt;/ul&gt;&lt;p&gt; &lt;strong&gt;Jerry:&lt;/strong&gt; &lt;/p&gt;&lt;p&gt;&lt;ul&gt;
&lt;li&gt;conference season is a great time to find someone&lt;/li&gt;&lt;/ul&gt;&lt;p&gt; &lt;strong&gt;Patrick:&lt;/strong&gt; &lt;/p&gt;&lt;p&gt;&lt;ul&gt;
&lt;li&gt;if we don't, I'll make that one of my deliverables for my next grant, if I get one&lt;/li&gt;&lt;li&gt;one question from the SoC meeting before this&lt;/li&gt;&lt;li&gt;how do we handle design questions?&lt;/li&gt;&lt;li&gt;I feel badly dumping these on Larry, but I don't know where else to go for resolution of these things&lt;/li&gt;&lt;li&gt;what should my approach be?&lt;/li&gt;&lt;/ul&gt;&lt;p&gt; &lt;strong&gt;Larry:&lt;/strong&gt; &lt;/p&gt;&lt;p&gt;&lt;ul&gt;
&lt;li&gt;I treat p6l as a queue of things I ought to have thought about&lt;/li&gt;&lt;/ul&gt;&lt;p&gt; &lt;strong&gt;Patrick:&lt;/strong&gt; &lt;/p&gt;&lt;p&gt;&lt;ul&gt;
&lt;li&gt;I'll start posting to p6l then&lt;/li&gt;&lt;li&gt;I was thinking of p6c, but if p6l works better, I'll use that&lt;/li&gt;&lt;/ul&gt;&lt;p&gt; &lt;strong&gt;Larry:&lt;/strong&gt; &lt;/p&gt;&lt;p&gt;&lt;ul&gt;
&lt;li&gt;p6c tends to read to me like a lot of implementation things my eyes glaze over&lt;/li&gt;&lt;/ul&gt;&lt;p&gt; &lt;strong&gt;Patrick:&lt;/strong&gt; &lt;/p&gt;&lt;p&gt;&lt;ul&gt;
&lt;li&gt;we'll use p6l from now on&lt;/li&gt;&lt;/ul&gt;&lt;p&gt; &lt;strong&gt;Larry:&lt;/strong&gt; &lt;/p&gt;&lt;p&gt;&lt;ul&gt;
&lt;li&gt;you get a little more noise from the theory folks at times&lt;/li&gt;&lt;/ul&gt;&lt;p&gt; &lt;strong&gt;Patrick:&lt;/strong&gt; &lt;/p&gt;&lt;p&gt;&lt;ul&gt;
&lt;li&gt;if things still get Warnocked, I'll bring it up again&lt;/li&gt;&lt;/ul&gt;&lt;p&gt; &lt;strong&gt;Larry:&lt;/strong&gt; &lt;/p&gt;&lt;p&gt;&lt;ul&gt;
&lt;li&gt;that's one reason we have a weekly phone call&lt;/li&gt;&lt;/ul&gt;&lt;p&gt; &lt;strong&gt;Jesse:&lt;/strong&gt; &lt;/p&gt;&lt;p&gt;&lt;ul&gt;
&lt;li&gt;speaking of that, no phone call next week while everyone's at YAPC&lt;/li&gt;&lt;/ul&gt;</description>
    </item>
    <item>
      <pubDate>Mon, 23 Jun 2008 19:14:51 GMT</pubDate>
      <title>At Least the FAIL Part was Accurate</title>
      <link>http://www.advogato.org/person/chromatic/diary.html?start=334</link>
      <guid>http://use.perl.org/~chromatic/journal/36754?from=rss</guid>
      <description>&lt;p&gt;Dear CPAN Testers,&lt;/p&gt;

&lt;p&gt;I know you're trying to help, but if you can't configure your client to build any modules at all, your failure reports aren't telling me anything interesting that I can fix about my software.&lt;/p&gt;

&lt;p&gt;If you really want my help getting this code to install, I'll send you my rate card in exchange for sudo access to your machine.&lt;/p&gt;

&lt;p&gt;All the best,&lt;br&gt;
chromatic&lt;/p&gt;

&lt;p&gt;(See &lt;a href="http://www.nntp.perl.org/group/perl.cpan.testers/2006/04/msg304861.html" &gt;FAIL UNIVERSAL-can-1.12 x86_64-linux-gnu-thread-multi 2.6.8.1&lt;/a&gt; and its two replies, as well as &lt;a href="http://www.nntp.perl.org/group/perl.cpan.testers/2008/06/msg1773434.html" &gt;FAIL parrot-0.6.2 i686-linux 2.4.27-2-386&lt;/a&gt;.)&lt;/p&gt;</description>
    </item>
    <item>
      <pubDate>Fri, 20 Jun 2008 00:10:03 GMT</pubDate>
      <title>The Fallacy of "If You Ask Me"</title>
      <link>http://www.advogato.org/person/chromatic/diary.html?start=333</link>
      <guid>http://use.perl.org/~chromatic/journal/36732?from=rss</guid>
      <description>&lt;p&gt;&lt;blockquote&gt; &lt;div&gt;&lt;em&gt;And if you ask me, there's nothing wrong with non-commercial redistribution of publicly-available content.&lt;/em&gt;&lt;/div&gt; &lt;/blockquote&gt;

&lt;p&gt;&amp;mdash; &lt;a href="http://www.shlomifish.org/" &gt;Shlomi Fish&lt;/a&gt;, &lt;a href="http://www.shlomifish.org/philosophy/philosophy/closed-books-are-so-19th-century/" &gt;Why Closed Books are So 19th-Century&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;Snarky response: maybe you should ask the copyright holder instead, or a legislative body in your jurisdiction, or a legal scholar.&lt;/p&gt;

&lt;p&gt;Substantive response: how about another quote?&lt;/p&gt; &lt;p&gt;&lt;blockquote&gt; &lt;div&gt;&lt;em&gt;By making your book available online, you're giving yourself a huge publicity, and earning a lot of repute.&lt;/em&gt;&lt;/div&gt; &lt;/blockquote&gt;

&lt;p&gt;&amp;mdash; ibid&lt;/p&gt;

&lt;p&gt;Substantive response cont'd: I can't decide if this is the Lake Wobegon fallacy or the In A Perfect World fallacy.  &lt;em&gt;Of course&lt;/em&gt; it's possible that Stephen King's first novel made him millions of dollars and helped him become a full-time novelist with dozens or hundreds of other books.  It's easy to point to a big success like that.&lt;/p&gt;

&lt;p&gt;Guess what?  There are plenty of other novelists like me, whose first novels didn't sell very many copies at all (if they even made it to bookshelves -- so this is not complaining on my part; I achieved my artistic goals with that book long, long ago).  You hear about the one-in-a-million successes and you don't hear about the nine-hundred-ninety-nine-thousand-nine-hundred-ninety-nine-in-a-million modest successes and (mostly) failures.&lt;/p&gt;

&lt;p&gt;Put another way: it's no surprise that Cory Doctorow, editor of a site with millions of page views, popular speaker, long-time writer, long-time activist, and effective publicist can write a book, give it away online, and get a lot of attention.  He's good at getting attention, especially when he does something that's very consistent with the goals and mores and ethics of the people who pay attention to what he does.&lt;/p&gt;

&lt;p&gt;Similarly the argument that copyright infringement didn't cost J.K. Rowling substantive money fails to move me.&lt;/p&gt;

&lt;p&gt;If &lt;em&gt;my&lt;/em&gt; argument here fails to convince you, here's another quotefrom an earlier essay:&lt;/p&gt; &lt;p&gt;&lt;blockquote&gt; &lt;div&gt;&lt;em&gt;Perl is very hard to learn from public electronic resources alone. I believe there may even be a clash of interests because the core Perl people also write them and so may not have enough motivation to improve the online documentation. Making them public will resolve that.&lt;/em&gt;&lt;/div&gt; &lt;/blockquote&gt;

&lt;p&gt;&amp;mdash; Shlomi Fish, &lt;a href="http://www.shlomifish.org/philosophy/perl-newcomers/" &gt;"Usability" of the Perl Online World for Newcomers&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;Good things happen not because magical candy-flavored unicorns fly over and drop sparkly glitter on projects where some hand-waving pundit said "All you have to do is make it a wiki and in mere seconds your teeth will be whiter, your waistline slimmer, your hair thicker, and all of your problems disappear."  Good things happen because someone sat down and did the hard work to make good things happen.&lt;/p&gt;

&lt;p&gt;Is the Perl FAQ materially better than it was ten years ago because it's easier to work on now?  (I'm not sure it's even substantively &lt;em&gt;different&lt;/em&gt; than it was ten years ago.)&lt;/p&gt;

&lt;p&gt;There's an interesting discussion on the subject of mechanisms by which to encourage participation (and I do believe that liberal policies of contributions and licensing can encourage such participation), but the argument that merely allowing non-commercial redistribution summons those delicious sexy unicorns is hollow, shallow, and completely unsupported by facts and experience.  (That's even laying aside the ridiculous conspiracy theory that suggests that Perl book authors are organized and sinister enough to plot to keep the core documentation skimpy and yet stupid enough not to realize that it's easier to get rich flipping burgers for a living than writing technical books full-time.)&lt;/p&gt;</description>
    </item>
    <item>
      <pubDate>Thu, 12 Jun 2008 21:15:36 GMT</pubDate>
      <title>Dear CPAN Tester, Please Join Us in the 21st Century!</title>
      <link>http://www.advogato.org/person/chromatic/diary.html?start=332</link>
      <guid>http://use.perl.org/~chromatic/journal/36676?from=rss</guid>
      <description>&lt;summary type="xhtml"&gt;&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;p&gt;&lt;a href="http://www.nntp.perl.org/group/perl.cpan.testers/2007/12/msg901438.html" &gt;UNIVERSAL::can 1.13_001 fails on Perl 5.005 running on FreeBSD 6.2&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;Wrap your head around that for a second -- that's the same &lt;a href="http://www.freebsd.org/releases/6.2R/announce.html" &gt;FreeBSD 6.2 released in January 2007&lt;/a&gt;.  There were sixteen stable releases of Perl 5 between the releases of Perl 5.005 and FreeBSD 6.2.  Surely in nine years, someone might have had a few moments to try to upgrade to a version of Perl released sometime in the 21st century.  Just skip the commercials during a week's worth of television, no?&lt;/p&gt;&lt;p&gt;Or, you know, stick with the modern version of Perl included with FreeBSD 6.2.&lt;/p&gt;&lt;p&gt;Possibly my favorite part is that my &lt;em&gt;Build.PL&lt;/em&gt; requires at least Perl 5.6.2, which is in my mind now also ancient Perl (seven stable releases old).  This is the last bit of motivation I need to stop coddling this ridiculous situation by writing passthrough &lt;em&gt;Makefile.PL&lt;/em&gt; files.  What a waste of my time for such an unbelievably stupid situation.&lt;/p&gt;&lt;/div&gt;&lt;/summary&gt;</description>
    </item>
    <item>
      <pubDate>Wed, 11 Jun 2008 23:12:57 GMT</pubDate>
      <title>Perl 6 Design Minutes for 04 June 2008</title>
      <link>http://www.advogato.org/person/chromatic/diary.html?start=331</link>
      <guid>http://use.perl.org/~chromatic/journal/36660?from=rss</guid>
      <description>&lt;summary type="xhtml"&gt;&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;p&gt;The Perl 6 design team met on 04 June 2008 by phone.  Larry, Allison, Patrick, Jerry, Jesse, and chromatic attended.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Jerry:&lt;/strong&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;things are going well with GSoC&lt;/li&gt;&lt;li&gt;Kevin's on vacation, and due back tomorrow&lt;/li&gt;&lt;li&gt;he'll be getting to work then&lt;/li&gt;&lt;li&gt;the other students seem to be working according to plan&lt;/li&gt;&lt;li&gt;we'll start using the Pugs Trac to track additions to the Perl 6 test suite&lt;/li&gt;&lt;li&gt;a place to request new tests&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;Jesse:&lt;/strong&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;is there a really good reason to use two different ticketing systems?&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;Jerry:&lt;/strong&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;it's already there and already has a category for Perl 6 tests&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;Patrick:&lt;/strong&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;already in use for Pugs&lt;/li&gt;&lt;li&gt;and the Pugs repo already hosts the tests&lt;/li&gt;&lt;li&gt;Rakudo still uses RT&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;Jerry:&lt;/strong&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;and there's nothing Perl 6 spec-related I know of that lives in any other ticketing system&lt;/li&gt;&lt;li&gt;applying some good patches from contributors&lt;/li&gt;&lt;li&gt;modified the test suite tools to make it easier to work with the spec tests in Rakudo&lt;/li&gt;&lt;li&gt;you can specify a local list of tests to run&lt;/li&gt;&lt;li&gt;added the ability to run the spec tests purely as they are, or fudged&lt;/li&gt;&lt;li&gt;you can use a test config file for that&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;Larry:&lt;/strong&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;fudge already kinda has that built in&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;Jerry:&lt;/strong&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;if there are no directives in the file&lt;/li&gt;&lt;li&gt;my addition allows you to ignore implementation-specific directives and run the file directly&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;Larry:&lt;/strong&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;and take the consequences&lt;/li&gt;&lt;li&gt;that's fine&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;Jerry:&lt;/strong&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;talked to Patrick about Rakudo management&lt;/li&gt;&lt;li&gt;we're considering adding some new committers&lt;/li&gt;&lt;li&gt;looking for a better way to handle tickets for patches&lt;/li&gt;&lt;li&gt;it's getting difficult for Patrick to apply all incoming patches&lt;/li&gt;&lt;li&gt;interrupting his work&lt;/li&gt;&lt;li&gt;we want to be able to appoint a person or persons to apply approved patches&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;c:&lt;/strong&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;I'm happy to apply anything once you've approved it and it's ready to apply&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;Jerry:&lt;/strong&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;that's what we're looking for&lt;/li&gt;&lt;li&gt;that should make things easier for Patrick&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;Patrick:&lt;/strong&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;mostly Parrot time this week&lt;/li&gt;&lt;li&gt;refactored list and array handling in Rakudo&lt;/li&gt;&lt;li&gt;list assignment now works!&lt;/li&gt;&lt;li&gt;the various composer works&lt;/li&gt;&lt;li&gt;bare curly hash composition doesn't work yet&lt;/li&gt;&lt;li&gt;that won't be hard to do&lt;/li&gt;&lt;li&gt;just need to write some rules to detect when to build a block versus build a hash&lt;/li&gt;&lt;li&gt;it'll happen soon&lt;/li&gt;&lt;li&gt;Jonathan implemented a Mutable PMC, which implements Perl 6 scalars&lt;/li&gt;&lt;li&gt;forwards its operations to what it contains&lt;/li&gt;&lt;li&gt;we can assign to it and do type checks in the process&lt;/li&gt;&lt;li&gt;some issues in Parrot's type management&lt;/li&gt;&lt;li&gt;not always clear when we want to talk about the scalar as a scalar versus what it's containing&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;Allison:&lt;/strong&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;container type versus value type?&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;Patrick:&lt;/strong&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;yes&lt;/li&gt;&lt;li&gt;the particularly nasty vtable entry for that is &lt;code&gt;find_method&lt;/code&gt; &lt;/li&gt;&lt;li&gt;we'll look more into that in the next couple of weeks&lt;/li&gt;&lt;li&gt;it's not impeding progress on us anymore&lt;/li&gt;&lt;li&gt;lots of cleanup of the AST building routines&lt;/li&gt;&lt;li&gt;some duplicated code, some refactoring there&lt;/li&gt;&lt;li&gt;more of that coming in the next few days&lt;/li&gt;&lt;li&gt;lots of little improvements and changes&lt;/li&gt;&lt;li&gt;small cleanups&lt;/li&gt;&lt;li&gt;more tests pass&lt;/li&gt;&lt;li&gt;starting to keep a daily count of the number of passing tests of the official test suite&lt;/li&gt;&lt;li&gt;I'll report improvements on a daily basis&lt;/li&gt;&lt;li&gt;as of yesterday afternoon, we had 55 files and 638 passing tests&lt;/li&gt;&lt;li&gt;that's an improvement of 344 over the passing week&lt;/li&gt;&lt;li&gt;Jerry and Moritz deserve special compliments for the work they've done on the tests and the suite&lt;/li&gt;&lt;li&gt;much easier to work with now&lt;/li&gt;&lt;li&gt;much easier to find low-hanging fruit&lt;/li&gt;&lt;li&gt;optimistic about our progress over the next few weeks&lt;/li&gt;&lt;li&gt;Jonathan is doing a lot of work on classes and types and subsets&lt;/li&gt;&lt;li&gt;you can declare subset types and have them work&lt;/li&gt;&lt;li&gt;a variety of improvements are on the way there too&lt;/li&gt;&lt;li&gt;things are coming together a little faster than I expected&lt;/li&gt;&lt;li&gt;like Jerry said, one day this week, I spent a few hours applying patches&lt;/li&gt;&lt;li&gt;that's a good problem to have&lt;/li&gt;&lt;li&gt;would be nice to read over it for sanity then have someone else test to see that it doesn't break things and perhaps apply it&lt;/li&gt;&lt;li&gt;not always easy for me to do without colliding with what I'm doing currently&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;Larry:&lt;/strong&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;did a little bit of spec work&lt;/li&gt;&lt;li&gt;trying to remain responsive&lt;/li&gt;&lt;li&gt;due to a confluence of very many factors, I've been running as hard as I can to stay in one spot&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;Allison:&lt;/strong&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;closing out a few last bugs in the concurrency branch&lt;/li&gt;&lt;li&gt;adding a few new features&lt;/li&gt;&lt;li&gt;PGE uses &lt;code&gt;bsr&lt;/code&gt; and &lt;code&gt;branch&lt;/code&gt; heavily&lt;/li&gt;&lt;li&gt;they don't play well with continuations&lt;/li&gt;&lt;li&gt;added a new feature for continuation-safe branching&lt;/li&gt;&lt;li&gt;about to submit the paperwork for the new foundation this week or next&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;c:&lt;/strong&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;fixing bugs, closing tickets&lt;/li&gt;&lt;li&gt;mostly adding polish&lt;/li&gt;&lt;li&gt;did some work on optimizing string usage; will have more benefits there shortly&lt;/li&gt;&lt;li&gt;watching over Andrew and his GC work&lt;/li&gt;&lt;li&gt;he's on the right track, hasn't needed much guidance&lt;/li&gt;&lt;li&gt;otherwise preparing for YAPC&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;Jesse:&lt;/strong&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;not much to report&lt;/li&gt;&lt;li&gt;just work&lt;/li&gt;&lt;li&gt;what do you need?&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;c:&lt;/strong&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;maybe encouraging people on #parrot to apply patches and test them locally and report their results would help out&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;Jesse:&lt;/strong&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;maybe doing that as an example would help?&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;Patrick:&lt;/strong&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;we're going to require all patches to go through RT first&lt;/li&gt;&lt;li&gt;that gives us a little process&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;Jesse:&lt;/strong&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;how many patches need massaging?&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;Patrick:&lt;/strong&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;some 80% apply and work, but make incorrect assumptions&lt;/li&gt;&lt;li&gt;I can apply it and say we'll fix the assumptions later&lt;/li&gt;&lt;li&gt;or I can respond and give guidance to resubmit the patch&lt;/li&gt;&lt;li&gt;or I can make the minor changes and fix them as I apply it&lt;/li&gt;&lt;li&gt;pretty rare to get a 100% patch&lt;/li&gt;&lt;li&gt;but I don't want to become the bottleneck&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;Jesse:&lt;/strong&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;what's the time-consuming part of the apply and test cycle?&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;Patrick:&lt;/strong&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;I'm trying to avoid something&lt;/li&gt;&lt;li&gt;someone comes out with a patch that solves a test case&lt;/li&gt;&lt;li&gt;they submit it somehow&lt;/li&gt;&lt;li&gt;you want to give them instant gratification&lt;/li&gt;&lt;li&gt;if I'm in the middle of working on a feature myself&lt;/li&gt;&lt;li&gt;and many that I work on aren't small&lt;/li&gt;&lt;li&gt;I need a separate checkout to apply and test and commit&lt;/li&gt;&lt;li&gt;that takes a few minutes, maybe ten&lt;/li&gt;&lt;li&gt;then I have to pick up where I was, merging their changes into mine&lt;/li&gt;&lt;li&gt;the low-hanging fruit is all in the same files&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;Jesse:&lt;/strong&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;it doesn't sound like tooling is the important thing to fix here&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;Jerry:&lt;/strong&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;it's the process&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;Patrick:&lt;/strong&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;a lot of it will fix itself in a short period of time&lt;/li&gt;&lt;li&gt;part of the problem is that I was absent from code review for a couple of months&lt;/li&gt;&lt;li&gt;I'm glad we made progress during that point&lt;/li&gt;&lt;li&gt;but now it's the time to refactor away some of the assumptions there&lt;/li&gt;&lt;li&gt;it may not be as big a deal if I get caught up soon&lt;/li&gt;&lt;li&gt;that will happen sooner if I don't have to deal with the other things&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;c:&lt;/strong&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;about 80% of the patches I see for Parrot in general are high quality&lt;/li&gt;&lt;li&gt;not a lot adding new features, which may affect that&lt;/li&gt;&lt;li&gt;but the quality is good, and I'm pleased&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/summary&gt;</description>
    </item>
    <item>
      <pubDate>Mon, 9 Jun 2008 07:10:37 GMT</pubDate>
      <title>Kwalitee Without a Point</title>
      <link>http://www.advogato.org/person/chromatic/diary.html?start=330</link>
      <guid>http://use.perl.org/~chromatic/journal/36627?from=rss</guid>
      <description>&lt;summary type="xhtml"&gt;&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;p&gt;&lt;a href="http://szabgab.com/blog/2008/06/1212827982.html" &gt;Gabor Szabo requested comments on several new CPANTS metrics&lt;/a&gt;.  Short comment: these are the worst metrics yet.&lt;/p&gt;&lt;p&gt;Medium comment: Yeah, yeah, Kwalitee isn't a measure of Quality.  I get that, but it's no excuse for piling on even more lousy metrics that not only don't know Quality, but have never even bumped into Quality accidentally at the grocery store.&lt;/p&gt;&lt;p&gt;Longer comment:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;em&gt;distributed_by_debian&lt;/em&gt; -- I'm sure all users of Win32-specific modules, for example, will be happy to learn that their Kwalitee could be higher if they sweet-talked a Debian Developer into polluting their repository with code useless to Debian.&lt;/li&gt;&lt;li&gt;&lt;em&gt;latest_version_distributed_by_debian&lt;/em&gt; -- maintainer on vacation?  Sorry, no Kwalitee for you!&lt;/li&gt;&lt;li&gt;&lt;em&gt;has_no_bugs_reported_in_debian&lt;/em&gt; -- finally, the Win32 developers get a break.  Again, I'm not sure what this really means for them, but hey, it's a free Kwalitee point.  Life is good.&lt;/li&gt;&lt;li&gt;&lt;em&gt;has_no_patches_in_debian&lt;/em&gt; -- I've only been doing this for a decade, but I'm still under the impression that most of the OSI-certified licenses seen in CPAN distributions allow downstream modification and redistribution.  In that decade, I've also seen how often downstream never notifies upstream of changes.  (Though
&lt;a href="http://www.debian.org/~bod/" &gt;Brendan O'Dea&lt;/a&gt; of Debian is one of the most responsive downstream developers from any distribution for Perl 5.)&lt;/li&gt;&lt;li&gt;&lt;em&gt;uses_test_nowarnings&lt;/em&gt; -- because the POD testing metrics work oh-so-well and because testing for custom lexical warnings is evil and bad and wrong, or at least stuffing a do-nothing string "use Test::NoWarnings" in your &lt;em&gt;t/&lt;/em&gt; directory somewhere is a &lt;em&gt;certain&lt;/em&gt; sign of Kwalitee.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;80% of these new metrics only measure Kwalitee of a distribution to Debian users.  That may be useful for Debian users, but it's highly inappropriate (and worse, irrelevant) for everyone else.  (I believe Ubuntu has a bug somewhere that not all of the world uses a Debian-based distribution.)&lt;/p&gt;&lt;p&gt;Constructive criticism: How about a way to opt into only the useful CPANTS metrics?  I'd hate for users of my code to get confused by meaningless Kwalitee Theater.&lt;/p&gt;&lt;/div&gt;&lt;/summary&gt;</description>
    </item>
  </channel>
</rss>
