<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xmlns:default="http://www.w3.org/1999/xhtml">
  <title xmlns="http://www.w3.org/2005/Atom">Planet YAPC</title>
  <link xmlns="http://www.w3.org/2005/Atom" rel="alternate" href="http://yapc.kasei.com/" type="text/html"/>
  <updated xmlns="http://www.w3.org/2005/Atom">2009-07-03T18:13:23-04:00</updated>
  <generator xmlns="http://www.w3.org/2005/Atom">Plagger/0.7.17</generator>
  <subtitle xmlns="http://www.w3.org/2005/Atom">Yet Another Perl Conference</subtitle>
  <id xmlns="http://www.w3.org/2005/Atom">tag:yapc.kasei.com,2006:smartfeed:all</id>
  <entry xmlns="http://www.w3.org/2005/Atom" xmlns:default="http://www.w3.org/1999/xhtml">
    <title xmlns="http://www.w3.org/2005/Atom">Week 10 of Web.pm -- Genshi, Grampa and some docs (2009.07.03 16:19)</title>
    <link xmlns="http://www.w3.org/2005/Atom" rel="alternate" href="http://use.perl.org/~masak/journal/39224?from=rss" type="text/html"/>
    <summary xmlns="http://www.w3.org/2005/Atom">      Happy Cat sez, &quot;I gots a plan. Momz wantz booze, she getz booze.
      Fill teh bukkitz with waterz.&quot; And teh doodz fillded dem full.

      He sed to teh doodz, &quot;Teyk som waters to teh party dood.&quot; Tehy didz
      it. Teh party dood was liek, &quot;Tihs iz teh booze! I lieks tihs
      booze! Where didz tihs come?&quot; (Teh doodz who broughted teh booze
      knowd.) Teh party dood wentz to teh pplz gettin hitchded and sed,
      &quot;WTF!? Most doodz gives teh gud booze first, and tehn crappy booze
      when pplz iz too drunk to care. But tihs booze pwns!&quot;

      Happy Cat didded this, teh first of hiz signz, in Cana inz Galilee,
      and revealded hiz Pwnage; and Happy Cat's doodz beleved in him. —
      John 2:7-11

Today I've had some fairly good progress with Hitomi, the XML templater.
Using the draft grammar moritz++ helped me build, I created a class that
takes an XML document and translates it to a stream of events. This makes
about half of the tests that I ported from Genshi last time pass; the
other half of that test file concern tag soup input — I think I'll punt
that one for now, and go for the lower hanging fruit: the classes
Template and MarkupTemplate. With those, it should be possible to
actually, you know, do some templating.

I'm getting more and more familiar with the original Python code, and
starting to have some significant respect for the Genshi code base. It's
simply a very well-thought-out piece of software. I can see why people
like it. The project doesn't seem terribly active, unfortunately, so
sometimes questions from me and others go unanswered on the
#python-genshi IRC channel.

Is Hitomi a good name? jnthn++ pointed out today that it sounded very
similar to &quot;hit on me&quot;, and I find myself constantly writing either
&quot;Hitmo&quot; or &quot;Himoti&quot;. Then again, I kinda like that it means (or so I've
read) &quot;doubly beautiful&quot;, and I don't have a better suggestion at the
moment.

Another thing that has been going on in the past week is that viklund++
said, almost in passing, that it'd be nice to have an XPath engine for
Match objects. I thought it was a great idea, and incubated the project
&quot;Grampa&quot; (short for &quot;grammar paths&quot;) on github. I've since made some good
progress on it, and it's already slightly useful. Not to mention that
I've learned a few new things about XPath and EBNF that I didn't know
before. pmichaud++ helped me with some questions on the latter.

How does that tie into Web.pm? Well, it turns out that at least two of
the subprojects of Web.pm would benefit from XPath searches: Hitomi, and
Happle (our Hpricot clone). This suggests that Grampa should really be a
Match front-end to an XPath query back-end, so that the back-end can then
be reused in other projects. I've been implementing Grampa with this in
mind.

Finally, since it's nearing the end of my original part of the grant,
I've taken a fresh look at doc/PLAN and refined it a little. No major
course corrections were needed, which feels comforting. I'll probably
write some more about the status of the subprojects in next week's blog
post.

Another thing I plan to do in the coming week is start on my Web.pm talk
for YAPC::EU. I thought I'd write the talk in Perl 6 Pod, and then do
various conversions to end up with a PDF. Since most of the toolchain for
doing that doesn't exist yet, I thought I'd better start now. 哈哈

I wish to thank The Perl Foundation for sponsoring the Web.pm effort.</summary>
    <content xmlns="http://www.w3.org/2005/Atom" xmlns:default="http://www.w3.org/1999/xhtml" type="xhtml">
      <default:div xmlns="http://www.w3.org/1999/xhtml">
        <default:dl> <default:dd> <default:i>Happy Cat sez, &quot;I gots a plan. Momz wantz booze, she getz booze. Fill teh bukkitz with waterz.&quot; And teh doodz fillded dem full.</default:i> </default:dd><default:dd> <default:i>He sed to teh doodz, &quot;Teyk som waters to teh party dood.&quot; Tehy didz it. Teh party dood was liek, &quot;Tihs iz teh booze! I lieks tihs booze! Where didz tihs come?&quot; (Teh doodz who broughted teh booze knowd.) Teh party dood wentz to teh pplz gettin hitchded and sed, &quot;WTF!? Most doodz gives teh gud booze first, and tehn crappy booze when pplz iz too drunk to care. But tihs booze pwns!&quot;</default:i> </default:dd><default:dd> <default:i>Happy Cat didded this, teh first of hiz signz, in Cana inz Galilee, and revealded hiz Pwnage; and Happy Cat's doodz beleved in him.</default:i> — John 2:7-11</default:dd></default:dl>
        <default:p>Today I've had some fairly good progress with Hitomi, the XML templater. Using the draft grammar moritz++ helped me build, I created a class that takes an XML document and translates it to a stream of events. This makes about half of the tests that I ported from Genshi <default:a href="http://use.perl.org/~masak/journal/39137">last time</default:a> pass; the other half of that test file concern tag soup input — I think I'll punt that one for now, and go for the lower hanging fruit: the classes <default:code>Template</default:code> and <default:code>MarkupTemplate</default:code>. With those, it should be possible to actually, you know, do some templating.</default:p>
        <default:p>I'm getting more and more familiar with the original Python code, and starting to have some significant respect for the Genshi code base. It's simply a very well-thought-out piece of software. I can see why people like it. The project doesn't seem terribly active, unfortunately, so sometimes questions from me and others go unanswered on the <default:code>#python-genshi</default:code> IRC channel.</default:p>
        <default:p>Is Hitomi a good name? jnthn++ pointed out today that it sounded very similar to &quot;hit on me&quot;, and I find myself constantly writing either &quot;Hitmo&quot; or &quot;Himoti&quot;. Then again, I kinda like that it means (or so I've read) &quot;doubly beautiful&quot;, and I don't have a better suggestion at the moment.</default:p>
        <default:p>Another thing that has been going on in the past week is that viklund++ said, almost in passing, that it'd be nice to have an XPath engine for <default:code>Match</default:code> objects. I thought it was a great idea, and incubated the project <default:a href="http://github.com/masak/grampa">&quot;Grampa&quot;</default:a> (short for &quot;grammar paths&quot;) on github. I've since made some good progress on it, and it's already slightly useful. Not to mention that I've learned a few new things about XPath and EBNF that I didn't know before. pmichaud++ helped me with some questions on the latter.</default:p>
        <default:p>How does that tie into Web.pm? Well, it turns out that at least two of the subprojects of Web.pm would benefit from XPath searches: Hitomi, and Happle (our Hpricot clone). This suggests that Grampa should really be a <default:code>Match</default:code> front-end to an XPath query back-end, so that the back-end can then be reused in other projects. I've been implementing Grampa with this in mind.</default:p>
        <default:p>Finally, since it's nearing the end of my original part of the grant, I've taken a fresh look at <default:a href="http://github.com/masak/web/blob/master/doc/PLAN">doc/PLAN</default:a> and refined it a little. No major course corrections were needed, which feels comforting. I'll probably write some more about the status of the subprojects in next week's blog post.</default:p>
        <default:p>Another thing I plan to do in the coming week is start on my Web.pm talk for YAPC::EU. I thought I'd write the talk in Perl 6 Pod, and then do various conversions to end up with a PDF. Since most of the toolchain for doing that doesn't exist yet, I thought I'd better start now. 哈哈</default:p>
        <default:p>I wish to thank The Perl Foundation for sponsoring the Web.pm effort.</default:p>
      </default:div>
    </content>
    <category xmlns="http://www.w3.org/2005/Atom" term="perl6"/>
    <published xmlns="http://www.w3.org/2005/Atom">2009-07-03T21:19:10Z</published>
    <updated xmlns="http://www.w3.org/2005/Atom">2009-07-03T21:19:10Z</updated>
    <author xmlns="http://www.w3.org/2005/Atom">
      <name xmlns="http://www.w3.org/2005/Atom">masak</name>
    </author>
    <id xmlns="http://www.w3.org/2005/Atom">tag:yapc.kasei.com,2006:http://use.perl.org/~masak/journal/39224?from=rss</id>
  </entry>
  <entry xmlns="http://www.w3.org/2005/Atom" xmlns:default="http://www.w3.org/1999/xhtml">
    <title xmlns="http://www.w3.org/2005/Atom">Bids for YAPC::EU::2010 - Pisa and Kiev!</title>
    <link xmlns="http://www.w3.org/2005/Atom" rel="alternate" href="http://greenokapi.net/blog/2009/07/03/bids-for-yapceu2010-pisa-and-kiev/" type="text/html"/>
    <summary xmlns="http://www.w3.org/2005/Atom">Organizing a conference is hard, let's go shopping! For the first time
I'm officially helping, not just for the Italian Perl Workshop this year,
but possibly for YAPC::EU::2010 too. I've been working with the perl.it
guys on the proposal to host the European Perl Conference 2010 in Pisa.
We ...</summary>
    <content xmlns="http://www.w3.org/2005/Atom" xmlns:default="http://www.w3.org/1999/xhtml" type="xhtml">
      <default:div xmlns="http://www.w3.org/1999/xhtml">Organizing a conference is hard, let's go shopping! For the first time I'm officially helping, not just for the Italian Perl Workshop this year, but possibly for <default:b>YAPC</default:b>::EU::2010 too. I've been working with the perl.it guys on the proposal to host the European Perl Conference 2010 in Pisa. We <default:b>...</default:b> </default:div>
    </content>
    <published xmlns="http://www.w3.org/2005/Atom">2009-07-03T13:56:00-05:00</published>
    <updated xmlns="http://www.w3.org/2005/Atom">2009-07-03T13:56:00-05:00</updated>
    <author xmlns="http://www.w3.org/2005/Atom">
      <name xmlns="http://www.w3.org/2005/Atom">osfameron</name>
    </author>
    <id xmlns="http://www.w3.org/2005/Atom">tag:yapc.kasei.com,2006:ae3062b1405ab2345b778ad0d7413346</id>
  </entry>
  <entry xmlns="http://www.w3.org/2005/Atom" xmlns:default="http://www.w3.org/1999/xhtml">
    <title xmlns="http://www.w3.org/2005/Atom">Reboot</title>
    <link xmlns="http://www.w3.org/2005/Atom" rel="alternate" href="http://blog.weftsoar.net/2009/07/reboot.html" type="text/html"/>
    <summary xmlns="http://www.w3.org/2005/Atom">Last Monday, I and 6 or 7 others were laid off from OpenSourcery. I'd
just given my first talk at YAPC, and I wasn't really expecting to find
out that I didn't have a job anymore. Whoops! If anyone wants to hire an
experienced Perl programmer, take a look at my resume. I'm going to try
to fill most ...</summary>
    <content xmlns="http://www.w3.org/2005/Atom" xmlns:default="http://www.w3.org/1999/xhtml" type="xhtml">
      <default:div xmlns="http://www.w3.org/1999/xhtml">Last Monday, I and 6 or 7 others were laid off from OpenSourcery. I'd just given my first talk at <default:b>YAPC</default:b>, and I wasn't really expecting to find out that I didn't have a job anymore. Whoops! If anyone wants to hire an experienced Perl programmer, take a look at my resume. I'm going to try to fill most <default:b>...</default:b> </default:div>
    </content>
    <published xmlns="http://www.w3.org/2005/Atom">2009-07-03T11:13:00-05:00</published>
    <updated xmlns="http://www.w3.org/2005/Atom">2009-07-03T11:13:00-05:00</updated>
    <author xmlns="http://www.w3.org/2005/Atom">
      <name xmlns="http://www.w3.org/2005/Atom">Hans Dieter Pearcey </name>
    </author>
    <id xmlns="http://www.w3.org/2005/Atom">tag:yapc.kasei.com,2006:4aee99acf5e888f470039b7de9e83ae3</id>
  </entry>
  <entry xmlns="http://www.w3.org/2005/Atom" xmlns:default="http://www.w3.org/1999/xhtml">
    <title xmlns="http://www.w3.org/2005/Atom">Perl 6 Design Minutes for 27 May 2009 (2009.07.02 18:03)</title>
    <link xmlns="http://www.w3.org/2005/Atom" rel="alternate" href="http://use.perl.org/~chromatic/journal/39216?from=rss" type="text/html"/>
    <summary xmlns="http://www.w3.org/2005/Atom">The Perl 6 design team met by phone on 27 May 2009. Larry, Allison,
Patrick, Jerry, and chromatic attended.

Larry:

  * changed the time function to return a Rat

  * thinking about the traits that have been bothering Jonathan and
    others

  * have some changes to check into the spec when I'm happy with them

  * thinking about the primitives we use to define use

  * breaks down into load and import

  * thinking of establishing compile-time keywords for both concepts

  * intended so that I can import from anything acting like a module --
    an inlined role, for example

  * otherwise trying to keep up with the flow of IRC

Allison:

  * working on the Parrot book

  * changed its focus to a small, 100-page PIR book from a monolithic
    Parrot book

  * the intent is to get something out for YAPC and OSCON

  * will send out a draft for review

  * will merge my changes into the repo later this week

Patrick:

  * released Rakudo #17 last week

  * was easy again

  * 875 more tests since #16, so we pass 68% of the spectest suite

  * finished implementing the root_new opcode in Parrot

  * cleans up a lot of the PMCProxy issues from moving Rakudo to its own
    HLL

  * gained half of the speed we lost from the migration

  * we'll get more back as we update more places that need it

  * NQP never expected anything like that

  * I have to rework some it and PCT

  * haven't quite figured out how to do that

  * refactoring use and import in Rakudo

  * the current implementation doesn't work

  * will hopefully match with what Larry's putting in the spec

  * it seems like the logical way to do things

  * updated Rakudo's ROADMAP in docs/ROADMAP

  * gives us an idea of dependencies and next tasks

  * may also help people understand what blocks features they want

Jerry:

  * the bonding period has ended for GSoC

  * time for students to start coding

  * everyone on the Perl 6 and Parrot projects is ready

c:

  * fixed some memory leaks in Parrot and Rakudo

  * there are still some in Rakudo, but the web examples should be able
    to live longer

  * did more profiling

  * think NFG is important for Parrot in the near term

  * have some documentation to write

  * have been editing the Parrot book

Patrick:

  * how's the command line for Rakudo coming?

Jerry:

  * I expect to get back to that

Patrick:

  * the &quot;parens build captures&quot; decision surprised me

  * what's the rationale?

  * I really liked &quot;parens mean grouping&quot;

  * maybe I haven't reconfigured my worldview yet, but it feels messy

Larry:

  * when used in an argument list, it has the same effect as a capture

Patrick:

  * it even works when they're used as a term

Larry:

  * they still mean that you have to look at what you're binding to and
    decide

  * am I binding this to a scalar or to an array?

  * (1, 2, 3) bound to an array...

Patrick:

  * I'm going to have to think about that

  * the zip operator in slice context....

  * is this three or one positional arguments? zip($a,$b,$c)

  * how many positional arguments are in this case? zip($a,$b,$c;$d)

Larry:

  * one slice

  * you wouldn't want to write that

Patrick:

  * what in the arg list distinguishes the use of the semicolon versus
    the comma

  * inside of an argument list we have to recognize a variety of
    syntactic things

  * comma, semicolon, colon, array or hash sigil, named parameters

  * seems like captures need more information than just positional

  * they need to store metadata about positional arguments

  * I like the syntactic stuff showing up in the argument list

  * but I don't want to handle them in three different ways

Larry:

  * I'll have to think about that

Patrick:

  * haven't figured out how to deal with slice context either

Larry:

  * might say that the presence of a semicolon implies the presence of
    other parens

  * the comma implies...

  * that might be more consistent binding for a top-level list

Patrick:

  * I half expected that answer

  * I can see the semicolon as just a lower precedence grouping operator

Larry:

  * otherwise you have a semicolon that's just not there in every other
    argument list

Patrick:

  * assuming that, the other commas form an argument list through the
    infix semicolon

  * an array in there means Capture of Capture of Capture

  * we were about to refactor List and Array in Rakudo anyway

  * the question is &quot;Do we really have a List type now?&quot;

  * Rakudo assumes that

Larry:

  * if we can unify args list with List, that's probably healthy

Patrick:

  * I'd really like that

  * that makes things a lot cleaner

  * infix comma and infix semis now just create arglists

Larry:

  * or Lists

  * if you define List as &quot;something that has out of band metadata&quot;

Patrick:

  * any more decisions that you can make about that will help our
    implementation

  * I probably won't get around to that this week

Larry:

  * we make syntactic distinctions

  * we know that this is an arg list

  * we treat pairs as named arguments

  * we don't do that if we know it's not an argument list

  * it stays positional

  * that's the only distinction between an arg list and a List

  * purely syntactic

Patrick:

  * to summarize

  * zip($a, $b, $c) has three positional arguments

  * zip($a, $b, $c; $d) has two, the first of which is itself a
    list/capture</summary>
    <content xmlns="http://www.w3.org/2005/Atom" xmlns:default="http://www.w3.org/1999/xhtml" type="xhtml">
      <default:div xmlns="http://www.w3.org/1999/xhtml">
        <default:p>The Perl 6 design team met by phone on 27 May 2009. Larry, Allison, Patrick, Jerry, and chromatic attended.</default:p>
        <default:p> <default:strong>Larry:</default:strong> </default:p>
        <default:ul>
<default:li>changed the <default:code>time</default:code> function to return a <default:code>Rat</default:code> </default:li><default:li>thinking about the traits that have been bothering Jonathan and others</default:li><default:li>have some changes to check into the spec when I'm happy with them</default:li><default:li>thinking about the primitives we use to define <default:code>use</default:code> </default:li><default:li>breaks down into load and import</default:li><default:li>thinking of establishing compile-time keywords for both concepts</default:li><default:li>intended so that I can import from anything acting like a module -- an inlined role, for example</default:li><default:li>otherwise trying to keep up with the flow of IRC</default:li></default:ul>
        <default:p> <default:strong>Allison:</default:strong> </default:p>
        <default:ul>
<default:li>working on the Parrot book</default:li><default:li>changed its focus to a small, 100-page PIR book from a monolithic Parrot book</default:li><default:li>the intent is to get something out for YAPC and OSCON</default:li><default:li>will send out a draft for review</default:li><default:li>will merge my changes into the repo later this week</default:li></default:ul>
        <default:p> <default:strong>Patrick:</default:strong> </default:p>
        <default:ul>
<default:li>released Rakudo #17 last week</default:li><default:li>was easy again</default:li><default:li>875 more tests since #16, so we pass 68% of the spectest suite</default:li><default:li>finished implementing the <default:code>root_new</default:code> opcode in Parrot</default:li><default:li>cleans up a lot of the PMCProxy issues from moving Rakudo to its own HLL</default:li><default:li>gained half of the speed we lost from the migration</default:li><default:li>we'll get more back as we update more places that need it</default:li><default:li>NQP never expected anything like that</default:li><default:li>I have to rework some it and PCT</default:li><default:li>haven't quite figured out how to do that</default:li><default:li>refactoring <default:code>use</default:code> and <default:code>import</default:code> in Rakudo</default:li><default:li>the current implementation doesn't work</default:li><default:li>will hopefully match with what Larry's putting in the spec</default:li><default:li>it seems like the logical way to do things</default:li><default:li>updated Rakudo's ROADMAP in <default:em>docs/ROADMAP</default:em> </default:li><default:li>gives us an idea of dependencies and next tasks</default:li><default:li>may also help people understand what blocks features they want</default:li></default:ul>
        <default:p> <default:strong>Jerry:</default:strong> </default:p>
        <default:ul>
<default:li>the bonding period has ended for GSoC</default:li><default:li>time for students to start coding</default:li><default:li>everyone on the Perl 6 and Parrot projects is ready</default:li></default:ul>
        <default:p> <default:strong>c:</default:strong> </default:p>
        <default:ul>
<default:li>fixed some memory leaks in Parrot and Rakudo</default:li><default:li>there are still some in Rakudo, but the web examples should be able to live longer</default:li><default:li>did more profiling</default:li><default:li>think NFG is important for Parrot in the near term</default:li><default:li>have some documentation to write</default:li><default:li>have been editing the Parrot book</default:li></default:ul>
        <default:p> <default:strong>Patrick:</default:strong> </default:p>
        <default:ul>
<default:li>how's the command line for Rakudo coming?</default:li></default:ul>
        <default:p> <default:strong>Jerry:</default:strong> </default:p>
        <default:ul>
<default:li>I expect to get back to that</default:li></default:ul>
        <default:p> <default:strong>Patrick:</default:strong> </default:p>
        <default:ul>
<default:li>the &quot;parens build captures&quot; decision surprised me</default:li><default:li>what's the rationale?</default:li><default:li>I really liked &quot;parens mean grouping&quot;</default:li><default:li>maybe I haven't reconfigured my worldview yet, but it feels messy</default:li></default:ul>
        <default:p> <default:strong>Larry:</default:strong> </default:p>
        <default:ul>
<default:li>when used in an argument list, it has the same effect as a capture</default:li></default:ul>
        <default:p> <default:strong>Patrick:</default:strong> </default:p>
        <default:ul>
<default:li>it even works when they're used as a term</default:li></default:ul>
        <default:p> <default:strong>Larry:</default:strong> </default:p>
        <default:ul>
<default:li>they still mean that you have to look at what you're binding to and decide</default:li><default:li>am I binding this to a scalar or to an array?</default:li><default:li> <default:code>(1, 2, 3)</default:code> bound to an array...</default:li></default:ul>
        <default:p> <default:strong>Patrick:</default:strong> </default:p>
        <default:ul>
<default:li>I'm going to have to think about that</default:li><default:li>the <default:code>zip</default:code> operator in slice context....</default:li><default:li>is this three or one positional arguments?  <default:code>zip($a,$b,$c)</default:code> </default:li><default:li>how many positional arguments are in this case? <default:code>zip($a,$b,$c;$d)</default:code> </default:li></default:ul>
        <default:p> <default:strong>Larry:</default:strong> </default:p>
        <default:ul>
<default:li>one slice</default:li><default:li>you wouldn't want to write that</default:li></default:ul>
        <default:p> <default:strong>Patrick:</default:strong> </default:p>
        <default:ul>
<default:li>what in the arg list distinguishes the use of the semicolon versus the comma</default:li><default:li>inside of an argument list we have to recognize a variety of syntactic things</default:li><default:li>comma, semicolon, colon, array or hash sigil, named parameters</default:li><default:li>seems like captures need more information than just positional</default:li><default:li>they need to store metadata about positional arguments</default:li><default:li>I like the syntactic stuff showing up in the argument list</default:li><default:li>but I don't want to handle them in three different ways</default:li></default:ul>
        <default:p> <default:strong>Larry:</default:strong> </default:p>
        <default:ul>
<default:li>I'll have to think about that</default:li></default:ul>
        <default:p> <default:strong>Patrick:</default:strong> </default:p>
        <default:ul>
<default:li>haven't figured out how to deal with slice context either</default:li></default:ul>
        <default:p> <default:strong>Larry:</default:strong> </default:p>
        <default:ul>
<default:li>might say that the presence of a semicolon implies the presence of other parens</default:li><default:li>the comma implies...</default:li><default:li>that might be more consistent binding for a top-level list</default:li></default:ul>
        <default:p> <default:strong>Patrick:</default:strong> </default:p>
        <default:ul>
<default:li>I half expected that answer</default:li><default:li>I can see the semicolon as just a lower precedence grouping operator</default:li></default:ul>
        <default:p> <default:strong>Larry:</default:strong> </default:p>
        <default:ul>
<default:li>otherwise you have a semicolon that's just not there in every other argument list</default:li></default:ul>
        <default:p> <default:strong>Patrick:</default:strong> </default:p>
        <default:ul>
<default:li>assuming that, the other commas form an argument list through the infix semicolon</default:li><default:li>an array in there means Capture of Capture of Capture</default:li><default:li>we were about to refactor List and Array in Rakudo anyway</default:li><default:li>the question is &quot;Do we really have a List type now?&quot;</default:li><default:li>Rakudo assumes that</default:li></default:ul>
        <default:p> <default:strong>Larry:</default:strong> </default:p>
        <default:ul>
<default:li>if we can unify args list with List, that's probably healthy</default:li></default:ul>
        <default:p> <default:strong>Patrick:</default:strong> </default:p>
        <default:ul>
<default:li>I'd really like that</default:li><default:li>that makes things a lot cleaner</default:li><default:li>infix comma and infix semis now just create arglists</default:li></default:ul>
        <default:p> <default:strong>Larry:</default:strong> </default:p>
        <default:ul>
<default:li>or Lists</default:li><default:li>if you define List as &quot;something that has out of band metadata&quot;</default:li></default:ul>
        <default:p> <default:strong>Patrick:</default:strong> </default:p>
        <default:ul>
<default:li>any more decisions that you can make about that will help our implementation</default:li><default:li>I probably won't get around to that this week</default:li></default:ul>
        <default:p> <default:strong>Larry:</default:strong> </default:p>
        <default:ul>
<default:li>we make syntactic distinctions</default:li><default:li>we know that this is an arg list</default:li><default:li>we treat pairs as named arguments</default:li><default:li>we don't do that if we know it's not an argument list</default:li><default:li>it stays positional</default:li><default:li>that's the only distinction between an arg list and a List</default:li><default:li>purely syntactic</default:li></default:ul>
        <default:p> <default:strong>Patrick:</default:strong> </default:p>
        <default:ul>
<default:li>to summarize</default:li><default:li> <default:code>zip($a, $b, $c)</default:code> has three positional arguments</default:li><default:li> <default:code>zip($a, $b, $c; $d)</default:code> has two, the first of which is itself a list/capture</default:li></default:ul>
      </default:div>
    </content>
    <category xmlns="http://www.w3.org/2005/Atom" term="journal"/>
    <published xmlns="http://www.w3.org/2005/Atom">2009-07-02T23:03:51Z</published>
    <updated xmlns="http://www.w3.org/2005/Atom">2009-07-02T23:03:51Z</updated>
    <author xmlns="http://www.w3.org/2005/Atom">
      <name xmlns="http://www.w3.org/2005/Atom">chromatic</name>
    </author>
    <id xmlns="http://www.w3.org/2005/Atom">tag:yapc.kasei.com,2006:http://use.perl.org/~chromatic/journal/39216?from=rss</id>
  </entry>
  <entry xmlns="http://www.w3.org/2005/Atom">
    <title xmlns="http://www.w3.org/2005/Atom">What Haskell did to my brain | slides from &lt;B&gt;YAPC&lt;/B&gt;::NA 2009</title>
    <link xmlns="http://www.w3.org/2005/Atom" rel="alternate" href="http://swik.net/Haskell/del.icio.us+tag%2Fhaskell/What+Haskell+did+to+my+brain+%7C+slides+from+YAPC%3A%3ANA+2009/c00cc" type="text/html"/>
    <published xmlns="http://www.w3.org/2005/Atom">2009-07-02T19:38:00Z</published>
    <updated xmlns="http://www.w3.org/2005/Atom">2009-07-02T19:38:00Z</updated>
    <author xmlns="http://www.w3.org/2005/Atom">
      <name xmlns="http://www.w3.org/2005/Atom">nobody</name>
    </author>
    <id xmlns="http://www.w3.org/2005/Atom">tag:yapc.kasei.com,2006:http://swik.net/Haskell/del.icio.us+tag%2Fhaskell/What+Haskell+did+to+my+brain+%7C+slides+from+YAPC%3A%3ANA+2009/c00cc</id>
  </entry>
  <entry xmlns="http://www.w3.org/2005/Atom">
    <title xmlns="http://www.w3.org/2005/Atom">&quot;Warming up to Modular Testing&quot; slides available (2009.07.01 15:50)</title>
    <link xmlns="http://www.w3.org/2005/Atom" rel="alternate" href="http://use.perl.org/~bradoaks/journal/39205?from=rss" type="text/html"/>
    <summary xmlns="http://www.w3.org/2005/Atom">For those of you who attended my talk &quot;Warming up to Modular Testing with
Test::Class&quot; at YAPC::NA in June, my slides are online:
http://www.slideshare.net/bradoaks/

Thanks again to the organizers, presenters and attendees. I had a great
time and am already looking forward to next year.</summary>
    <content xmlns="http://www.w3.org/2005/Atom" type="text">For those of you who attended my talk
&quot;&lt;a href=&quot;http://yapc10.org/yn2009/talk/1996&quot;&gt;Warming up to Modular Testing with Test::Class&lt;/a&gt;&quot; at YAPC::NA in June, my slides are online:&lt;br&gt;

&lt;a href=&quot;http://www.slideshare.net/bradoaks/&quot;&gt;http://www.slideshare.net/bradoaks/&lt;/a&gt;

&lt;p&gt;
Thanks again to the organizers, presenters and attendees.  I had a great time and am already looking forward to next year.&lt;/p&gt;</content>
    <category xmlns="http://www.w3.org/2005/Atom" term="journal"/>
    <published xmlns="http://www.w3.org/2005/Atom">2009-07-01T20:50:16Z</published>
    <updated xmlns="http://www.w3.org/2005/Atom">2009-07-01T20:50:16Z</updated>
    <author xmlns="http://www.w3.org/2005/Atom">
      <name xmlns="http://www.w3.org/2005/Atom">bradoaks</name>
    </author>
    <id xmlns="http://www.w3.org/2005/Atom">tag:yapc.kasei.com,2006:http://use.perl.org/~bradoaks/journal/39205?from=rss</id>
  </entry>
  <entry xmlns="http://www.w3.org/2005/Atom" xmlns:default="http://www.w3.org/1999/xhtml">
    <title xmlns="http://www.w3.org/2005/Atom">Untitled</title>
    <link xmlns="http://www.w3.org/2005/Atom" rel="alternate" href="http://ocelotn.livejournal.com/22269.html" type="text/html"/>
    <summary xmlns="http://www.w3.org/2005/Atom">Today's [Person I Wish I'd Known About As A Girl] :
http://en.wikipedia.org/wiki/Emily_Roebling Otherwise, bummed to miss
Concertino, but YAPC was mostly fabulous. Even the downsides made me
pissed enough to go kick some [thing that needs kicking]. Am home and
inspired to crank out the code ...</summary>
    <content xmlns="http://www.w3.org/2005/Atom" xmlns:default="http://www.w3.org/1999/xhtml" type="xhtml">
      <default:div xmlns="http://www.w3.org/1999/xhtml">Today's [Person I Wish I'd Known About As A Girl] : http://en.wikipedia.org/wiki/Emily_Roebling Otherwise, bummed to miss Concertino, but <default:b>YAPC</default:b> was mostly fabulous. Even the downsides made me pissed enough to go kick some [thing that needs kicking]. Am home and inspired to crank out the code <default:b>...</default:b> </default:div>
    </content>
    <published xmlns="http://www.w3.org/2005/Atom">2009-07-01T15:00:00-05:00</published>
    <updated xmlns="http://www.w3.org/2005/Atom">2009-07-01T15:00:00-05:00</updated>
    <author xmlns="http://www.w3.org/2005/Atom">
      <name xmlns="http://www.w3.org/2005/Atom">ocelotn</name>
    </author>
    <id xmlns="http://www.w3.org/2005/Atom">tag:yapc.kasei.com,2006:8f7515a30121c1a218ed347cf957772e</id>
  </entry>
  <entry xmlns="http://www.w3.org/2005/Atom">
    <title xmlns="http://www.w3.org/2005/Atom">Autodie 2.00 released (2009.07.01  0:45)</title>
    <link xmlns="http://www.w3.org/2005/Atom" rel="alternate" href="http://use.perl.org/~pjf/journal/39200?from=rss" type="text/html"/>
    <summary xmlns="http://www.w3.org/2005/Atom">Autodie 2.00 released
This weekend the long awaited autodie 2.00 for Perl was released to the
CPAN, which was almost immediately replaced by 2.02, which fixes some
oopsed tests and which adds a couple more features to give us a really
sweet experience. This blog entry assumes you're using 2.02.

Observant viewers will notice that the major version number has changed.
I've taken the great leap from 1.999 to 2.00. Clearly, something is
different, and you might be wondering what.

Well, autodie 2.0 now supports a hinting interface for user-defined
subroutines. Put simply, if you have a user-defined subroutine that does
something funny to signify failure, you can now tell autodie about that.
Once it knows, it can Do The Right Thing when checking your subroutine.
You can even put the hints into the same file as those subs, and if
someone is using autodie 2.00, it will find the hints and use them.

This may not sound very exciting, but it is. It means that a lot of
really ugly error-checking code, both on the CPAN and the DarkPAN, can go
away. Lexically. Still not convinced this will change your life? Let's
look a little more closely; trust me, you'll like it.

Let's pretend you're working on a piece of legacy code. For some reason,
the people who wrote this code decided the best way to signal errors is
by returning the list (undef, &quot;Error message&quot;). I don't know why, but
I've seen this anti-pattern emerge independently in three 100k+ line
projects I've been involved in.

  sub some_sub {
  if ( not batteries_full() ) {
  return ( undef, &quot;insufficient energy&quot; );
  }

  if ( not coin_inserted() ) {
  return ( undef, &quot;insufficient credit&quot; );
  }

  my @results = some_calculation();

  return @results;
  }

If you want to check to see if some_sub() returns an error, you need to
capture its return values, look at the first one to see if it's
undefined, and if it's not, use the second one as your error. At least,
that's what you're supposed to do.

What actually happens is most developers decide that's way too hard, and
don't bother checking for errors. Then one day, the batteries on your
doomsday-asteroid-destroying-satellite go flat, nobody notices, and
through an ironic twist of fate you're left as the last known human
survivor, and there are zombie hordes and walking killer plants outside.

So, how can autodie help us? Well, before version 2.00, it couldn't. But
now, with autodie::hints, it can! We can give autodie hints about how the
return values are checked. They look like this:

  use autodie::hints;

  autodie::hints-&gt;set_hints_for(
  'Some::Package::some_sub' =&gt; {
  scalar =&gt; sub { 1 },
  list =&gt; sub { @_ == 2 and not defined $_[0] },
  },
  );

Our hints here are simple subroutines. If they return true, our
subroutine has failed. If they return false, it's executed successfully.
Notice that our scalar hint always returns true. That's because we
consider any call of our subroutine in scalar context to be a mistake.
It's returning a list of values, and you should be checking that list.

Once we've set our hints, we can then use autodie to automatically check
if we're successful:

  use Some::Module qw(some_sub);

  sub target_asteroid {

  use autodie qw( ! some_sub );

  # autodie has lexical scope, so only calls to some_sub inside
  # the target_asteroid subroutine are affected.

  my @results = some_sub(); # Succeeds or dies
  }

  sub target_ufo {
  my @results = some_sub();

  # autodie is out of lexical scope, so we have to manually
  # process @results here.
  }

If you're wondering what that exclamation mark means, it means &quot;insist on
hints&quot;, and is a new piece of syntax with autodie 2.00. If for any reason
autodie can't find the hints for some_sub, our code won't compile. That's
a very good thing, and avoids us having a false sense of security if we
use autodie on an unhinted sub.

However the error messages from autodie aren't really that useful.
They're going to be things like &quot;Can't some_sub() at space_defense.pl
line 53&quot;. There's a noticable lack of explanation as to why some_sub()
failed.

Luckily, since the way early versions of autodie, we've been able to
register message handlers. And with the new features in autodie 2.02, we
can produce very rich messages. Let's see how!

  use autodie::exception;

  autodie::exception-&gt;register(
  'Some::Module::some_sub' =&gt; sub {
  my ($error) = @_;

  if ($error-&gt;context eq &quot;scalar&quot;) {
  return &quot;some_sub() can't be called in a scalar context&quot;;
  }

  # $error-&gt;return gives a list of everything our failed sub
  # returned. We know this particular sub puts the error
  # message the second argument (index 1).

  my $error_msg = $error-&gt;return-&gt;[1];

  return &quot;some_sub() failed: $error_msg&quot;;
  }
  );

Now, whenever some_sub() fails, it'll print a genuinely useful message,
like &quot;some_sub() failed: Insufficient energy at space_defense.pl line 53&quot;.
Yes, autodie automatically adds the file and line number for you. Nice!

But wait, there's more! We don't want to see this sort of code floating
around in your programs. You may be dealing with other people's modules
that you can't modify, so we can't hide all this configuration in there.
So, we can write our own pragma that contains all this info. Here's the
full code for a theoretical my::autodie pragma, and is the exact same
code used by the t/blog_hints.t file in autodie's test suite.

  package my::autodie;
  use strict;
  use warnings;

  use base qw(autodie);
  use autodie::exception;
  use autodie::hints;

  autodie::hints-&gt;set_hints_for(
  'Some::Module::some_sub' =&gt; {
  scalar =&gt; sub { 1 },
  list =&gt; sub { @_ == 2 and not defined $_[0] }
  },
  );

  autodie::exception-&gt;register(
  'Some::Module::some_sub' =&gt; sub {
  my ($E) = @_;

  if ($E-&gt;context eq &quot;scalar&quot;) {
  return &quot;some_sub() can't be called in scalar context&quot;;
  }

  my $error = $E-&gt;return-&gt;[1];

  return &quot;some_sub() failed: $error&quot;;
  }
  );

  1;

It works exactly the same as regular autodie, except it also knows how to
handle some_sub(), and display good looking error messages. Here's how
we'd use it:

  use Some::Module qw(some_sub);
  use my::autodie qw( ! some_sub );

  my @results = some_sub(); # Succeeds or dies with a useful error!

There's a lot more you can do with autodie, and if you want to learn
more, I'd suggest coming to my talk at OSCON or YAPC::EU, where I'll be
covering all this and more, with a distinctive Star Trek twist. ;)</summary>
    <content xmlns="http://www.w3.org/2005/Atom" type="html">&lt;p&gt; &lt;b&gt;Autodie 2.00 released&lt;/b&gt; &lt;br&gt;
This weekend the long awaited &lt;a href=&quot;http://search.cpan.org/perldoc?autodie&quot;&gt;autodie 2.00&lt;/a&gt; for
Perl was released to the CPAN, which was almost immediately replaced
by 2.02, which fixes some oopsed tests and which adds a couple more features to
give us a really sweet experience.  This blog entry assumes you're
using 2.02.
&lt;/p&gt;&lt;p&gt;
Observant viewers will notice that the major version number has
changed.  I've taken the great leap from 1.999 to 2.00.  Clearly,
something is different, and you might be wondering what.
&lt;/p&gt;&lt;p&gt;
Well, autodie 2.0 now supports a &lt;a href=&quot;http://search.cpan.org/perldoc?autodie::hints&quot;&gt;hinting
interface&lt;/a&gt; for user-defined subroutines.  Put simply, if you have a
user-defined subroutine that does something funny to signify failure,
you can now tell autodie about that.  Once it knows, it can Do The
Right Thing when checking your subroutine.  You can even put the hints
into the same file as those subs, and if someone is using autodie
2.00, it will find the hints and use them.
&lt;/p&gt;&lt;p&gt;
This may not sound very exciting, but it is.  It means that a lot of
really ugly error-checking code, both on the CPAN and the DarkPAN, can
go away.  Lexically.  Still not convinced this will change your life?
Let's look a little more closely; trust me, you'll like it.
&lt;/p&gt;&lt;p&gt;
Let's pretend you're working on a piece of legacy code.  For some
reason, the people who wrote this code decided the best way to
signal errors is by returning the list &lt;tt&gt;(undef, &quot;Error
message&quot;)&lt;/tt&gt;.  I don't know why, but I've seen this anti-pattern
emerge independently in &lt;i&gt;three&lt;/i&gt; 100k+ line projects I've been
involved in.
&lt;/p&gt;&lt;blockquote&gt;&lt;div&gt;&lt;p&gt; &lt;tt&gt;sub some_sub {&lt;br&gt;&amp;nbsp; &amp;nbsp; if ( not batteries_full() ) {&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return ( undef, &quot;insufficient energy&quot; );&lt;br&gt;&amp;nbsp; &amp;nbsp; }&lt;br&gt; &lt;br&gt;&amp;nbsp; &amp;nbsp; if ( not coin_inserted() ) {&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return ( undef, &quot;insufficient credit&quot; );&lt;br&gt;&amp;nbsp; &amp;nbsp; }&lt;br&gt; &lt;br&gt;&amp;nbsp; &amp;nbsp; my @results = some_calculation();&lt;br&gt; &lt;br&gt;&amp;nbsp; &amp;nbsp; return @results;&lt;br&gt;}&lt;/tt&gt;&lt;/p&gt;&lt;/div&gt; &lt;/blockquote&gt;&lt;p&gt;
If you want to check to see if &lt;tt&gt;some_sub()&lt;/tt&gt; returns an error,
you need to capture its return values, look at the first one to see if
it's undefined, and if it's not, use the second one as your error.
At least, that's what you're &lt;i&gt;supposed&lt;/i&gt; to do.
&lt;/p&gt;&lt;p&gt;
What actually happens is most developers decide that's way too hard,
and don't bother checking for errors.  Then one day, the batteries on
your doomsday-asteroid-destroying-satellite go flat, nobody notices,
and through an ironic twist of fate you're left as the last known human
survivor, and there are zombie hordes and walking killer plants
outside.
&lt;/p&gt;&lt;p&gt;
So, how can &lt;a href=&quot;http://search.cpan.org/perldoc?autodie&quot;&gt;autodie&lt;/a&gt; help us?
Well, before version 2.00, it couldn't.  But now, with
&lt;a href=&quot;http://search.cpan.org/perldoc?autodie::hints&quot;&gt;autodie::hints&lt;/a&gt;,
it can!  We can give autodie hints about how the return values are
checked.  They look like this:
&lt;/p&gt;&lt;blockquote&gt;&lt;div&gt;&lt;p&gt; &lt;tt&gt;use autodie::hints;&lt;br&gt; &lt;br&gt;autodie::hints-&amp;gt;set_hints_for(&lt;br&gt;&amp;nbsp; &amp;nbsp; 'Some::Package::some_sub' =&amp;gt; {&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; scalar =&amp;gt; sub { 1 },&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; list&amp;nbsp; &amp;nbsp;=&amp;gt; sub { @_ == 2 and not defined $_[0] },&lt;br&gt;&amp;nbsp; &amp;nbsp; },&lt;br&gt;);&lt;/tt&gt;&lt;/p&gt;&lt;/div&gt; &lt;/blockquote&gt;&lt;p&gt;
Our hints here are simple subroutines.  If they return true, our
subroutine has failed.  If they return false, it's executed
successfully.  Notice that our scalar hint always returns true.
That's because we consider any call of our subroutine in scalar
context to be a mistake.  It's returning a list of values, and
you should be checking that list.
&lt;/p&gt;&lt;p&gt;
Once we've set our hints, we can then use autodie to automatically
check if we're successful:
&lt;/p&gt;&lt;blockquote&gt;&lt;div&gt;&lt;p&gt; &lt;tt&gt;use Some::Module qw(some_sub);&lt;br&gt; &lt;br&gt;sub target_asteroid {&lt;br&gt; &lt;br&gt;&amp;nbsp; &amp;nbsp; use autodie qw( ! some_sub );&lt;br&gt; &lt;br&gt;&amp;nbsp; &amp;nbsp; # autodie has lexical scope, so only calls to some_sub inside&lt;br&gt;&amp;nbsp; &amp;nbsp; # the target_asteroid subroutine are affected.&lt;br&gt; &lt;br&gt;&amp;nbsp; &amp;nbsp; my @results = some_sub();&amp;nbsp; &amp;nbsp; &amp;nbsp;# Succeeds or dies&lt;br&gt;}&lt;br&gt; &lt;br&gt;sub target_ufo {&lt;br&gt;&amp;nbsp; &amp;nbsp; my @results = some_sub();&lt;br&gt; &lt;br&gt;&amp;nbsp; &amp;nbsp; # autodie is out of lexical scope, so we have to manually&lt;br&gt;&amp;nbsp; &amp;nbsp; # process @results here.&lt;br&gt;}&lt;/tt&gt;&lt;/p&gt;&lt;/div&gt; &lt;/blockquote&gt;&lt;p&gt;
If you're wondering what that exclamation mark means, it means &quot;insist
on hints&quot;, and is a new piece of syntax with autodie 2.00.  If for any
reason autodie can't find the hints for &lt;tt&gt;some_sub&lt;/tt&gt;, our code
won't compile.  That's a very good thing, and avoids us having a false
sense of security if we use autodie on an unhinted sub.
&lt;/p&gt;&lt;p&gt;
However the error messages from autodie aren't really that useful.
They're going to be things like &lt;tt&gt;&quot;Can't some_sub() at
space_defense.pl line 53&quot;&lt;/tt&gt;.  There's a noticable lack of
explanation as to why &lt;tt&gt;some_sub()&lt;/tt&gt; failed.
&lt;/p&gt;&lt;p&gt;
Luckily, since the way early versions of autodie, we've been able
to register message handlers.  And with the new features in autodie
2.02, we can produce very rich messages.  Let's see how!
&lt;/p&gt;&lt;blockquote&gt;&lt;div&gt;&lt;p&gt; &lt;tt&gt;use autodie::exception;&lt;br&gt; &lt;br&gt;autodie::exception-&amp;gt;register(&lt;br&gt;&amp;nbsp; &amp;nbsp; 'Some::Module::some_sub' =&amp;gt; sub {&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; my ($error) = @_;&lt;br&gt; &lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if ($error-&amp;gt;context eq &quot;scalar&quot;) {&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return &quot;some_sub() can't be called in a scalar context&quot;;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br&gt; &lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; # $error-&amp;gt;return gives a list of everything our failed sub&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; # returned.&amp;nbsp; We know this particular sub puts the error&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; # message the second argument (index 1).&lt;br&gt; &lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; my $error_msg = $error-&amp;gt;return-&amp;gt;[1];&lt;br&gt; &lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return &quot;some_sub() failed: $error_msg&quot;;&lt;br&gt;&amp;nbsp; &amp;nbsp; }&lt;br&gt;);&lt;/tt&gt;&lt;/p&gt;&lt;/div&gt; &lt;/blockquote&gt;&lt;p&gt;
Now, whenever &lt;tt&gt;some_sub()&lt;/tt&gt; fails, it'll print a genuinely
useful message, like &lt;tt&gt;&quot;some_sub() failed: Insufficient energy at
space_defense.pl line 53&quot;&lt;/tt&gt;.  Yes, autodie automatically adds the
file and line number for you.  Nice!
&lt;/p&gt;&lt;p&gt;
But wait, there's more!  We don't want to see this sort of code
floating around in your programs.  You may be dealing
with other people's modules that you can't modify, so we can't hide
all this configuration in there.  So, we can &lt;i&gt;write our own
pragma&lt;/i&gt; that contains all this info.  Here's the full
code for a theoretical &lt;tt&gt;my::autodie&lt;/tt&gt; pragma, and is the exact
same code used by the &lt;tt&gt;t/blog_hints.t&lt;/tt&gt; file in autodie's
test suite.
&lt;/p&gt;&lt;blockquote&gt;&lt;div&gt;&lt;p&gt; &lt;tt&gt;package my::autodie;&lt;br&gt;use strict;&lt;br&gt;use warnings;&lt;br&gt; &lt;br&gt;use base qw(autodie);&lt;br&gt;use autodie::exception;&lt;br&gt;use autodie::hints;&lt;br&gt; &lt;br&gt;autodie::hints-&amp;gt;set_hints_for(&lt;br&gt;&amp;nbsp; &amp;nbsp; 'Some::Module::some_sub' =&amp;gt; {&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; scalar =&amp;gt; sub { 1 },&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; list&amp;nbsp; &amp;nbsp;=&amp;gt; sub { @_ == 2 and not defined $_[0] }&lt;br&gt;&amp;nbsp; &amp;nbsp; },&lt;br&gt;);&lt;br&gt; &lt;br&gt;autodie::exception-&amp;gt;register(&lt;br&gt;&amp;nbsp; &amp;nbsp; 'Some::Module::some_sub' =&amp;gt; sub {&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; my ($E) = @_;&lt;br&gt; &lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if ($E-&amp;gt;context eq &quot;scalar&quot;) {&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return &quot;some_sub() can't be called in scalar context&quot;;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br&gt; &lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; my $error = $E-&amp;gt;return-&amp;gt;[1];&lt;br&gt; &lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return &quot;some_sub() failed: $error&quot;;&lt;br&gt;&amp;nbsp; &amp;nbsp; }&lt;br&gt;);&lt;br&gt; &lt;br&gt;1;&lt;/tt&gt;&lt;/p&gt;&lt;/div&gt; &lt;/blockquote&gt;&lt;p&gt;
It works exactly the same as regular autodie, except it also knows
how to handle &lt;tt&gt;some_sub()&lt;/tt&gt;, and display good looking error
messages.  Here's how we'd use it:
&lt;/p&gt;&lt;blockquote&gt;&lt;div&gt;&lt;p&gt; &lt;tt&gt;use Some::Module qw(some_sub);&lt;br&gt;use my::autodie qw( ! some_sub );&lt;br&gt; &lt;br&gt;my @results = some_sub();&amp;nbsp; # Succeeds or dies with a useful error!&lt;/tt&gt;&lt;/p&gt;&lt;/div&gt; &lt;/blockquote&gt;&lt;p&gt;
There's a lot more you can do with autodie, and if you want to learn
more, I'd suggest coming to my talk at &lt;a href=&quot;http://en.oreilly.com/oscon2009/public/schedule/detail/8165&quot;&gt;OSCON&lt;/a&gt; or &lt;a href=&quot;http://yapceurope2009.org/ye2009/talk/2063&quot;&gt;YAPC::EU&lt;/a&gt;, where I'll be covering all this and more, with a distinctive Star Trek twist.&lt;nobr&gt; &lt;wbr&gt;&lt;/nobr&gt;;)
&lt;/p&gt;</content>
    <category xmlns="http://www.w3.org/2005/Atom" term="journal"/>
    <published xmlns="http://www.w3.org/2005/Atom">2009-07-01T05:45:12Z</published>
    <updated xmlns="http://www.w3.org/2005/Atom">2009-07-01T05:45:12Z</updated>
    <author xmlns="http://www.w3.org/2005/Atom">
      <name xmlns="http://www.w3.org/2005/Atom">pjf</name>
    </author>
    <id xmlns="http://www.w3.org/2005/Atom">tag:yapc.kasei.com,2006:http://use.perl.org/~pjf/journal/39200?from=rss</id>
  </entry>
  <entry xmlns="http://www.w3.org/2005/Atom">
    <title xmlns="http://www.w3.org/2005/Atom">Rakudo day:  operators in setting and lots of RT bugfixes (2009.06.30 23:08)</title>
    <link xmlns="http://www.w3.org/2005/Atom" rel="alternate" href="http://use.perl.org/~pmichaud/journal/39199?from=rss" type="text/html"/>
    <summary xmlns="http://www.w3.org/2005/Atom">At the beginning of June the Vienna.pm organization generously committed
to funding me for 1-day-per-week of Rakudo effort, but because of the
Rakudo release, Parrot Virtual Machine Workshop, YAPC::NA, and a short
vacation, today is the first day that I had available to really dedicate
to the task. In fact, to catch things up a bit I plan to do another
Rakudo day tomorrow or Thursday.

Here's what I accomplished for today's Vienna.pm-funded Rakudo day.

The biggest task I tackled for the Rakudo day was to be able to write
operators in the setting (Perl 6) instead of PIR (RT #66826). In fact, I
had actually done most of this last week during the YAPC::NA hackathon
day, but interruptions then and a few annoying Parrot bugs kept me from
marking the task as completely accomplished then. What this means is that
we can now begin defining operators directly in Perl 6 code (perhaps with
some inlined PIR), which moritz++ has already been exercising for
infix:&lt;...&gt;, infix:&lt;eqv&gt;, and a few other operators. Over the next few
weeks I expect we'll move even more operators out of PIR and into the
setting.

The rest of today's Rakudo day was spent reviewing and cleaning up the RT
queue; it had grown to over 400 tickets but by the end of the day
Jonathan and I have shrunk it back down to 387. I think we collectively
closed about 16 tickets today, and I responded with requests for
clarification or updates on several more. Here are some of the
highlights:

RT #66060 noted a problem that the .uc method would fail on some strings
where .lc worked. I tracked this down to a Parrot issue in its handling
of Unicode strings when ICU wasn't present, and refactored the code to be
a bit more robust there.

RT #66640 noted that the minmax operator wasn't implemented, so after
some discussion about what it should do I added it to the setting (using
the operator features mentioned above).

In RT #66624, the exception message coming back from not finding a
substring within a string was particularly misleading; I adjusted .substr
to provide a more useful error message.

For RT #66928 .WHAT would not work on some subs like &amp;infix:&lt;+&gt;; this was
because some of the builtin operators are still using Parrot's MultiSub
PMC instead of the Perl6MultiSub PMC, and those didn't have a mapping to
the type object. Eventually all of the operators will become
Perl6MultiSub; in the meantime I set Parrot MultiSub PMCs to map to the
Multi() type objects in the same manner that other Parrot PMC classes are
mapped to Perl 6 types.

RT #66818 noted a problem with unwanted flattening of %*VM in a for
statement; this was because the contents of %*VM were incorrectly bound
to the Hash directly instead of going through a non-flattening reference
(Perl6Scalar). Eventually I expect %*VM to be initialized in the setting,
though, which will provide a more robust and direct solution to this
problem.

In RT #66840 it was discovered that precedence errors in the ternary
operator would cause Rakudo to issue an error message and exit
completely, instead of throwing a catchable exception. I tracked this
down to PGE's OPTable handling of the ternary operator, it was actually
using &quot;exit&quot; when the error occurred (probably because it came from
before Parrot's exception model was firmly in place). This was changed to
throw an exception instead; the actual exception message needs a bit of
work but I expect that will come from the much larger PGE refactoring
that will be done as part of the Hague grant.

Lastly, today I spent a good bit of time discussing Rakudo and Parrot
build/install issues with Allison, and I think we have basic agreement on
the changes we'll be making in order to get those working. Hopefully we
can get all of that done in time for the July release.

So, that's my first Vienna.pm Rakudo day -- lots of little pestering bug
fixes, and a key bit of infrastructure to fully enable writing the
builtin operators in Perl 6. Later this week I plan to do a long-needed
refactor of container handling in Rakudo, and maybe to get a more
complete implementation of BEGIN blocks (which we massively cheat on at
the moment).

Thanks again to Vienna.pm for sponsoring this work.

Pm</summary>
    <content xmlns="http://www.w3.org/2005/Atom" type="html">&lt;p&gt;At the beginning of June the Vienna.pm organization generously
committed to funding me for 1-day-per-week of Rakudo effort,
but because of the Rakudo release, Parrot Virtual Machine Workshop,
YAPC::NA, and a short vacation, today is the first day that I
had available to really dedicate to the task.  In fact, to catch
things up a bit I plan to do another Rakudo day tomorrow or Thursday.
&lt;/p&gt;&lt;p&gt;Here's what I accomplished for today's Vienna.pm-funded Rakudo day.
&lt;/p&gt;&lt;p&gt;The biggest task I tackled for the Rakudo day was to be able to
write operators in the setting (Perl 6) instead of PIR (RT #66826).
In fact, I had actually done most of this last week during the
YAPC::NA hackathon day, but interruptions then and a few annoying
Parrot bugs kept me from marking the task as completely accomplished
then.  What this means is that we can now begin defining operators
directly in Perl 6 code (perhaps with some inlined PIR), which
moritz++ has already been exercising for infix:&amp;lt;...&amp;gt;, infix:&amp;lt;eqv&amp;gt;,
and a few other operators.  Over the next few weeks I expect we'll
move even more operators out of PIR and into the setting.
&lt;/p&gt;&lt;p&gt;The rest of today's Rakudo day was spent reviewing and cleaning up
the RT queue; it had grown to over 400 tickets but by the end of
the day Jonathan and I have shrunk it back down to 387.  I think
we collectively closed about 16 tickets today, and I responded with
requests for clarification or updates on several more.  Here are
some of the highlights:
&lt;/p&gt;&lt;p&gt;RT #66060 noted a problem that the&lt;nobr&gt; &lt;wbr&gt;&lt;/nobr&gt;.uc method would fail on some
strings where&lt;nobr&gt; &lt;wbr&gt;&lt;/nobr&gt;.lc worked.  I tracked this down to a Parrot issue
in its handling of Unicode strings when ICU wasn't present, and
refactored the code to be a bit more robust there.
&lt;/p&gt;&lt;p&gt;RT #66640 noted that the minmax operator wasn't implemented, so after
some discussion about what it should do I added it to the setting
(using the operator features mentioned above).
&lt;/p&gt;&lt;p&gt;In RT #66624, the exception message coming back from
not finding a substring within a string was particularly misleading;
I adjusted&lt;nobr&gt; &lt;wbr&gt;&lt;/nobr&gt;.substr to provide a more useful error message.
&lt;/p&gt;&lt;p&gt;For RT #66928&lt;nobr&gt; &lt;wbr&gt;&lt;/nobr&gt;.WHAT would not work on some subs like &amp;amp;infix:&amp;lt;+&amp;gt;;
this was because some of the builtin operators are still using
Parrot's MultiSub PMC instead of the Perl6MultiSub PMC, and those
didn't have a mapping to the type object.  Eventually all of the
operators will become Perl6MultiSub; in the meantime I set Parrot
MultiSub PMCs to map to the Multi() type objects in the same
manner that other Parrot PMC classes are mapped to Perl 6 types.
&lt;/p&gt;&lt;p&gt;RT #66818 noted a problem with unwanted flattening of %*VM
in a for statement; this was because the contents of %*VM were
incorrectly bound to the Hash directly instead of going through
a non-flattening reference (Perl6Scalar).  Eventually I expect
%*VM to be initialized in the setting, though, which will provide
a more robust and direct solution to this problem.
&lt;/p&gt;&lt;p&gt;In RT #66840 it was discovered that precedence errors in the
ternary operator would cause Rakudo to issue an error message
and exit completely, instead of throwing a catchable exception.
I tracked this down to PGE's OPTable handling of the ternary
operator, it was actually using &quot;exit&quot; when the error occurred
(probably because it came from before Parrot's exception model
was firmly in place).  This was changed to throw an exception
instead; the actual exception message needs a bit of work but
I expect that will come from the much larger PGE refactoring
that will be done as part of the Hague grant.
&lt;/p&gt;&lt;p&gt;Lastly, today I spent a good bit of time discussing Rakudo
and Parrot build/install issues with Allison, and I think we
have basic agreement on the changes we'll be making in order to
get those working.  Hopefully we can get all of that done
in time for the July release.
&lt;/p&gt;&lt;p&gt;So, that's my first Vienna.pm Rakudo day -- lots of little
pestering bug fixes, and a key bit of infrastructure to fully
enable writing the builtin operators in Perl 6.  Later this week I
plan to do a long-needed refactor of container handling in
Rakudo, and maybe to get a more complete implementation of BEGIN
blocks (which we massively cheat on at the moment).
&lt;/p&gt;&lt;p&gt;Thanks again to Vienna.pm for sponsoring this work.
&lt;/p&gt;&lt;p&gt;Pm
&lt;/p&gt;</content>
    <category xmlns="http://www.w3.org/2005/Atom" term="perl6"/>
    <published xmlns="http://www.w3.org/2005/Atom">2009-07-01T04:08:20Z</published>
    <updated xmlns="http://www.w3.org/2005/Atom">2009-07-01T04:08:20Z</updated>
    <author xmlns="http://www.w3.org/2005/Atom">
      <name xmlns="http://www.w3.org/2005/Atom">pmichaud</name>
    </author>
    <id xmlns="http://www.w3.org/2005/Atom">tag:yapc.kasei.com,2006:http://use.perl.org/~pmichaud/journal/39199?from=rss</id>
  </entry>
  <entry xmlns="http://www.w3.org/2005/Atom" xmlns:default="http://www.w3.org/1999/xhtml">
    <title xmlns="http://www.w3.org/2005/Atom">Pair Programming with a Customer. EXTREME.</title>
    <link xmlns="http://www.w3.org/2005/Atom" rel="alternate" href="http://blog.afoolishmanifesto.com/archives/838" type="text/html"/>
    <summary xmlns="http://www.w3.org/2005/Atom">The week before YAPC was terrible. First my AC went out. That’s a drag in
Texas. Because the AC was out, my apartment got really hot, I couldn’t
sleep, and then the mantle fell off the wall. That was crazy. Then I
found out that I purchased a plane ticket to Raleigh, NC for a family
reunion ...</summary>
    <content xmlns="http://www.w3.org/2005/Atom" xmlns:default="http://www.w3.org/1999/xhtml" type="xhtml">
      <default:div xmlns="http://www.w3.org/1999/xhtml">The week before <default:b>YAPC</default:b> was terrible. First my AC went out. That’s a drag in Texas. Because the AC was out, my apartment got really hot, I couldn’t sleep, and then the mantle fell off the wall. That was crazy. Then I found out that I purchased a plane ticket to Raleigh, NC for a family reunion <default:b>...</default:b> </default:div>
    </content>
    <published xmlns="http://www.w3.org/2005/Atom">2009-06-30T18:53:00-05:00</published>
    <updated xmlns="http://www.w3.org/2005/Atom">2009-06-30T18:53:00-05:00</updated>
    <author xmlns="http://www.w3.org/2005/Atom">
      <name xmlns="http://www.w3.org/2005/Atom">fREW Schmidt</name>
    </author>
    <id xmlns="http://www.w3.org/2005/Atom">tag:yapc.kasei.com,2006:7fb7a1c15ec9c2b53cb001a3681a989c</id>
  </entry>
  <entry xmlns="http://www.w3.org/2005/Atom">
    <title xmlns="http://www.w3.org/2005/Atom">Playing with Tektronix emulation for vector graphics! (2009.06.30 13:44)</title>
    <link xmlns="http://www.w3.org/2005/Atom" rel="alternate" href="http://use.perl.org/~scrottie/journal/39195?from=rss" type="text/html"/>
    <summary xmlns="http://www.w3.org/2005/Atom">This is one of those, hmm, seems possible, wonder why no one has done it
things.

The stock xterm that comes with X has emulation built in for the old
Tektronix 4014 graphics terminal in addition to DEC220 emulation.

The Tektronix 4014 is a Vectrex like thing where lines are drawn directly
onto the screen rather than being broken up into pixels and the entire
surface of the display scanned. It also used a &quot;storage tube&quot; strategy
where the beam detects what's already lit and re-energizes it, apparently
mixing scanning with direct vector drawing. But that's beside the point
of this. I've actually seen some of these beasts at UVA's Unix lab. The
interesting bit is they draw vector graphics, xterm emulates them, and
this works over bloody telnet.

http://vt100.net/tektronix/4014-um/4014-um.pdf is the best resource I
could find -- the original manual. Other example programs sucked. But
even that manual was tricky.

  print unpack &quot;u&quot;,
  q{M&amp;UL_,SAH&amp;PP=?U]O7QUW7W=;'7];;UL=&gt;U=_4QU_4V]3'7M7&lt;U,=?TMO1QU_22V]/'7-'&lt;T\=?T-O
  0QUO0V]`};

... my new JAPH. Requires a real xterm (probably) without GNU screen in
the way. That was the 3rd thing I wrote.

  $|=1;print chr(27),&quot;[?38h&quot;,chr(29);while(1){print chr(32+rand
  32),chr(96+rand 32),chr(32+rand 32),chr(64+rand 32);}

... demo program, shortened for Twitter. That was the 2nd thing I wrote.

  use strict;
  use warnings;
  use IO::Handle;
  STDOUT-&gt;autoflush(1);
  print chr(27), &quot;[?38h&quot;; sleep 1; # TEK mode from vt-whatever mode;
  this is an xterm/DEC escape sequence, not a TEK one
  print chr(27), chr(12); sleep 1; # clear screen

  print chr(13+16); # 13 plus some offset relating to shift+ctrl to get
  into graphics mode

  while(1) {
  print chr(32 + int rand 32), chr(96 + int rand 32), # the 5 high bits
  of Y+32, 5 low bits of Y + 96
  chr(32 + int rand 32), chr(64 + int rand 32); # the 5 high bits of
  X+32, 5 low bits of X+64
  sleep 1;
  }

The first program in its final form, which is just a long version of the
above.

The manual explained that to get into Tek graphics mode, push
shift+control+M with the thing in loopback mode. I have no idea what
ASCII code a Tektronix terminal sends when you do that so that was a
little useless and originally I misread the table as just being a
control-M. Through trial and error, I established it as being
ord(&quot;^M&quot;)+16. Some control codes are escape (chr(27)) plus another
character; others are just a control character. Tektronix terminals also
have a character mode which itself has many options including up to 133
char display. I haven't played with any of that yet except that it
operates as a dumb terminal with an addressable cursor (movable cursor)
when its not in graphics mode, and text and graphics can be mixed.

The while loop needs explanation. To draw lines, four characters of
certain ranges are sent. The X and Y high bits

Send the Y high byte (ASCII value of 32-63 encoding the top 5 bits), the
Y low byte (96-127 encoding the low 5 bits), the X high byte (32-63,
again), then the X low byte (64-95). I guess when it sees that X low
byte, it actually draws the line. It's possible to skip sending the high
bits and only send the low bits in which case the high bits just stay
zero. The JAPH program does that.

There's no &quot;okay, this is a line draw!&quot; code or escape sequence between
the line data; the line data just goes in place of ASCII and gets
interpreted as points. That three different character ranges are used to
specify four different points is a bit tricky. The X-high and Y-high
ranges are one and the same and the value gets set twice. X-low and Y-low
are different ranges though.

When sending coordinates like this, it always draws a line from the last
coordinate unless you just switched to graphics mode with a chr(29). Of
course you can switch into graphics mode while in graphics mode, so to
reposition the beam and start drawing a new, unattached line, send
chr(29) and then the four bytes encoding the coordinates. Also, the
coordinates are relative the top right of the screen. Try to figure that
one out. While the X and Y values can encode up to 1024 positions, the Y
resolution is only 768 (hey, completely standard resolution!) so it's
possible to draw off of the top of the screen (cuz, you know, the
coordinates are backwards and upsidedown).

Output and input do not happen at the same time, but there's an
additional mode where the cursor becomes a crosshair and mouse clicks are
sent with the mouse location are sent and can be polled. The real 4014
didn't have a mouse but instead had two knobs, not unlike an
Etch-o-sketch. The text mode is of course an input mode.

What's next? Hmm, do the sinus scroller I meant to do for YAPC for
presentation software? XTank clone that runs over telnet? First person 3D
GUI for the MUD with wireframe orcs and elves?

-scott</summary>
    <content xmlns="http://www.w3.org/2005/Atom" type="html">&lt;p&gt;This is one of those, hmm, seems possible, wonder why no one has done it things.&lt;/p&gt;&lt;p&gt;The stock xterm that comes with X has emulation built in for the old Tektronix 4014 graphics terminal in addition to DEC220 emulation.&lt;/p&gt;&lt;p&gt;The Tektronix 4014 is a Vectrex like thing where lines are drawn directly onto the screen rather than being broken up into pixels and the entire surface of the display scanned.  It also used a &quot;storage tube&quot; strategy where the beam detects what's already lit and re-energizes it, apparently mixing scanning with direct vector drawing.  But that's beside the point of this.  I've actually seen some of these beasts at UVA's Unix lab.  The interesting bit is they draw vector graphics, xterm emulates them, and this works over bloody telnet.&lt;/p&gt;&lt;p&gt;http://vt100.net/tektronix/4014-um/4014-um.pdf is the best resource I could find -- the original manual.  Other example programs sucked.  But even that manual was tricky.&lt;/p&gt;&lt;blockquote&gt;&lt;div&gt;&lt;p&gt; &lt;tt&gt;print unpack &quot;u&quot;, q{M&amp;amp;UL_,SAH&amp;amp;PP=?U]O7QUW7W=;'7];;UL=&amp;gt;U=_4QU_4V]3'7M7&amp;lt;U,=?TMO1QU_22V]/'7-'&amp;lt;T\=?T-&lt;nobr&gt;O&lt;wbr&gt;&lt;/nobr&gt;  0QUO0V]`};&lt;/tt&gt;&lt;/p&gt;&lt;/div&gt; &lt;/blockquote&gt;&lt;p&gt;... my new JAPH.  Requires a real xterm (probably) without GNU screen in the way.  That was the 3rd thing I wrote.&lt;/p&gt;&lt;blockquote&gt;&lt;div&gt;&lt;p&gt; &lt;tt&gt;$|=1;print chr(27),&quot;[?38h&quot;,chr(29);while(1){print chr(32+rand 32),chr(96+rand 32),chr(32+rand 32),chr(64+rand 32);}&lt;/tt&gt;&lt;/p&gt;&lt;/div&gt; &lt;/blockquote&gt;&lt;p&gt;... demo program, shortened for Twitter.  That was the 2nd thing I wrote.&lt;/p&gt;&lt;blockquote&gt;&lt;div&gt;&lt;p&gt; &lt;tt&gt;use strict;&lt;br&gt;use warnings;&lt;br&gt;use IO::Handle;&lt;br&gt;STDOUT-&amp;gt;autoflush(1);&lt;br&gt;print chr(27), &quot;[?38h&quot;; sleep 1;&amp;nbsp; # TEK mode from vt-whatever mode; this is an xterm/DEC escape sequence, not a TEK one&lt;br&gt;print chr(27), chr(12); sleep 1;&amp;nbsp; # clear screen&lt;br&gt;
&amp;nbsp; &lt;br&gt;print chr(13+16);&amp;nbsp; # 13 plus some offset relating to shift+ctrl to get into graphics mode&lt;br&gt;
&amp;nbsp; &lt;br&gt;while(1) {&lt;br&gt;&amp;nbsp; &amp;nbsp; print chr(32 + int rand 32), chr(96 + int rand 32), # the 5 high bits of Y+32, 5 low bits of Y + 96&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; chr(32 + int rand 32), chr(64 + int rand 32); # the 5 high bits of X+32, 5 low bits of X+64&lt;br&gt;&amp;nbsp; &amp;nbsp; sleep 1;&lt;br&gt;}&lt;/tt&gt;&lt;/p&gt;&lt;/div&gt; &lt;/blockquote&gt;&lt;p&gt;The first program in its final form, which is just a long version of the above.&lt;/p&gt;&lt;p&gt;The manual explained that to get into Tek graphics mode, push shift+control+M with the thing in loopback mode.  I have no idea what ASCII code a Tektronix terminal sends when you do that so that was a little useless and originally I misread the table as just being a control-M.  Through trial and error, I established it as being ord(&quot;^M&quot;)+16.  Some control codes are escape (chr(27)) plus another character; others are just a control character.  Tektronix terminals also have a character mode which itself has many options including up to 133 char display.  I haven't played with any of that yet except that it operates as a dumb terminal with an addressable cursor (movable cursor) when its not in graphics mode, and text and graphics can be mixed.&lt;/p&gt;&lt;p&gt;The while loop needs explanation.  To draw lines, four characters of certain ranges are sent.  The X and Y high bits&lt;/p&gt;&lt;p&gt;Send the Y high byte (ASCII value of 32-63 encoding the top 5 bits), the Y low byte (96-127 encoding the low 5 bits), the X high byte (32-63, again), then the X low byte (64-95).  I guess when it sees that X low byte, it actually draws the line.  It's possible to skip sending the high bits and only send the low bits in which case the high bits just stay zero.  The JAPH program does that.&lt;/p&gt;&lt;p&gt;There's no &quot;okay, this is a line draw!&quot; code or escape sequence between the line data; the line data just goes in place of ASCII and gets interpreted as points.  That three different character ranges are used to specify four different points is a bit tricky.  The X-high and Y-high ranges are one and the same and the value gets set twice.  X-low and Y-low are different ranges though.&lt;/p&gt;&lt;p&gt;When sending coordinates like this, it always draws a line from the last coordinate unless you just switched to graphics mode with a chr(29).  Of course you can switch into graphics mode while in graphics mode, so to reposition the beam and start drawing a new, unattached line, send chr(29) and then the four bytes encoding the coordinates.  Also, the coordinates are relative the top right of the screen.  Try to figure that one out.  While the X and Y values can encode up to 1024 positions, the Y resolution is only 768 (hey, completely standard resolution!) so it's possible to draw off of the top of the screen (cuz, you know, the coordinates are backwards and upsidedown).&lt;/p&gt;&lt;p&gt;Output and input do not happen at the same time, but there's an additional mode where the cursor becomes a crosshair and mouse clicks are sent with the mouse location are sent and can be polled.  The real 4014 didn't have a mouse but instead had two knobs, not unlike an Etch-o-sketch.  The text mode is of course an input mode.&lt;/p&gt;&lt;p&gt;What's next?  Hmm, do the sinus scroller I meant to do for YAPC for presentation software?  XTank clone that runs over telnet?  First person 3D GUI for the MUD with wireframe orcs and elves?&lt;/p&gt;&lt;p&gt;-scott&lt;/p&gt;</content>
    <category xmlns="http://www.w3.org/2005/Atom" term="journal"/>
    <published xmlns="http://www.w3.org/2005/Atom">2009-06-30T18:44:02Z</published>
    <updated xmlns="http://www.w3.org/2005/Atom">2009-06-30T18:44:02Z</updated>
    <author xmlns="http://www.w3.org/2005/Atom">
      <name xmlns="http://www.w3.org/2005/Atom">scrottie</name>
    </author>
    <id xmlns="http://www.w3.org/2005/Atom">tag:yapc.kasei.com,2006:http://use.perl.org/~scrottie/journal/39195?from=rss</id>
  </entry>
  <entry xmlns="http://www.w3.org/2005/Atom" xmlns:default="http://www.w3.org/1999/xhtml">
    <title xmlns="http://www.w3.org/2005/Atom">YAPC::EU::2009 Newsletter #7 - Stats, sponsors, newbies, etc (2009.06.30  9:47)</title>
    <link xmlns="http://www.w3.org/2005/Atom" rel="alternate" href="http://use.perl.org/~cog/journal/39194?from=rss" type="text/html"/>
    <summary xmlns="http://www.w3.org/2005/Atom">Greetings, and welcome to the seventh YAPC::EU::2009 newsletter.

In this issue:

  * current stats

  * further sponsors

  * send-a-newbie updates

  * other things we're working on

Current Stats

We're now at 230 confirmed attendees.

Several people have registered to the different training courses (there
are still some seats left) and the partner program currently has a group
of 9 people (not counting the guides), and several inquiries from other
interested people (yes, you can still register for the partner program).

It's going to be an amazing conference.

Further sponsors

To the ranks of Booking.com, logicLAB, SAPO, Eurotux, log, Caixa Mágica,
Best Practical, FCUL, Active State, TAP, O'Reilly, Apress, Onyx Neon
Press, $foo magazine, The Perl Review and o3 magazine, the following now
also get on board:

  *  Shadowcat Systems - Not only is Shadowcat sponsoring YAPC::EU,
    they're also providing a free 1 day workshop in collaboration with
    EPO the day right after YAPC.

Send-a-newbie updates

All the candidates were asked to answer a set of questions in order to
help the jury select the lucky ones who will be attending this YAPC::EU.

The answers were given and the jury is now working their way through
them. We can tell you that some of the replies were really impressive.

The selected candidates should be announced pretty soon.

Send-a-Newbie is currently at 1,745 euros. You can still help.

What we're working on

We're working on several things. Here are some headlines:

  * conference dinner - this year's conference dinner will be sponsored
    by Booking.com; we're taking care of the arrangements.

  * coffee breaks - we're also working on these ones.

  * conference proceedings - a number of speakers have written articles
    for the conference proceedings and we're now working on them.

  * conference tshirts - we're working closely with a clothing company to
    make the conference tshirts.

  * auction - this year we'll have two separate auctions: the silent one,
    with all the books, t-shirts and other cool things, and the live
    auction, with all the crazy stuff.

  * several other things.

That's all for this newsletter, but you can count on further updates
pretty soon.

Feel free to contact us at organizers@yapceurope2009.org for anything

conference related.

See you at the next newsletter,

the organizers</summary>
    <content xmlns="http://www.w3.org/2005/Atom" xmlns:default="http://www.w3.org/1999/xhtml" type="xhtml">
      <default:div xmlns="http://www.w3.org/1999/xhtml">
        <default:p>Greetings, and welcome to the seventh YAPC::EU::2009 newsletter.</default:p>
        <default:p>In this issue:</default:p>
        <default:ul>
          <default:li>current stats</default:li>
          <default:li>further sponsors</default:li>
          <default:li>send-a-newbie updates</default:li>
          <default:li>other things we're working on</default:li>
        </default:ul>
        <default:p>
          <default:strong>Current Stats</default:strong>
        </default:p>
        <default:p>We're now at 230 confirmed attendees.</default:p>
        <default:p>Several people have registered to the different training courses (there are still some seats left) and the partner program currently has a group of 9 people (not counting the guides), and several inquiries from other interested people (yes, you can still register for the partner program).</default:p>
        <default:p>It's going to be an amazing conference.</default:p>
        <default:p>
          <default:strong>Further sponsors</default:strong>
        </default:p>
        <default:p>To the ranks of Booking.com, logicLAB, SAPO, Eurotux, log, Caixa Mágica, Best Practical, FCUL, Active State, TAP, O'Reilly, Apress, Onyx Neon Press, $foo magazine, The Perl Review and o3 magazine, the following now also get on board:</default:p>
        <default:ul> <default:li> <default:strong> <default:a href="http://www.shadowcat.co.uk/">Shadowcat Systems</default:a> </default:strong> - Not only is Shadowcat sponsoring YAPC::EU, they're also providing a <default:a href="http://yapceurope2009.org/ye2009/talk/1874">free 1 day workshop</default:a> in collaboration with EPO the day right after YAPC.</default:li></default:ul>
        <default:p>
          <default:strong>Send-a-newbie updates</default:strong>
        </default:p>
        <default:p>All the candidates were asked to answer a set of questions in order to help the jury select the lucky ones who will be attending this YAPC::EU.</default:p>
        <default:p>The answers were given and the jury is now working their way through them. We can tell you that some of the replies were really impressive.</default:p>
        <default:p>The selected candidates should be announced pretty soon.</default:p>
        <default:p>Send-a-Newbie is currently at 1,745 euros. <default:a href="http://www.send-a-newbie.com/donate">You can still help</default:a>.</default:p>
        <default:p>
          <default:strong>What we're working on</default:strong>
        </default:p>
        <default:p>We're working on several things. Here are some headlines:</default:p>
        <default:ul>
          <default:li>conference dinner - this year's conference dinner will be sponsored by Booking.com; we're taking care of the arrangements.</default:li>
          <default:li>coffee breaks - we're also working on these ones.</default:li>
          <default:li>conference proceedings - a number of speakers have written articles for the conference proceedings and we're now working on them.</default:li>
          <default:li>conference tshirts - we're working closely with a clothing company to make the conference tshirts.</default:li>
          <default:li>auction - this year we'll have two separate auctions: the silent one, with all the books, t-shirts and other cool things, and the live auction, with all the crazy stuff.</default:li>
          <default:li>several other things.</default:li>
        </default:ul>
        <default:p>That's all for this newsletter, but you can count on further updates pretty soon.</default:p>
        <default:p>Feel free to contact us at organizers@yapceurope2009.org for anything</default:p>
        <default:p>conference related.</default:p>
        <default:p>See you at the next newsletter,</default:p>
        <default:p>the organizers</default:p>
      </default:div>
    </content>
    <category xmlns="http://www.w3.org/2005/Atom" term="journal"/>
    <published xmlns="http://www.w3.org/2005/Atom">2009-06-30T14:47:44Z</published>
    <updated xmlns="http://www.w3.org/2005/Atom">2009-06-30T14:47:44Z</updated>
    <author xmlns="http://www.w3.org/2005/Atom">
      <name xmlns="http://www.w3.org/2005/Atom">cog</name>
    </author>
    <id xmlns="http://www.w3.org/2005/Atom">tag:yapc.kasei.com,2006:http://use.perl.org/~cog/journal/39194?from=rss</id>
  </entry>
  <entry xmlns="http://www.w3.org/2005/Atom" xmlns:default="http://www.w3.org/1999/xhtml">
    <title xmlns="http://www.w3.org/2005/Atom">#7 Newsletter: Current stats, Further Sponsors, Send-a-Newbie Updates</title>
    <link xmlns="http://www.w3.org/2005/Atom" rel="alternate" href="http://yapceurope2009.org/ye2009/news/430" type="text/html"/>
    <summary xmlns="http://www.w3.org/2005/Atom">In this issue:

  * current stats - more than 230 registered atendees

  * further sponsors - welcome, ShadowCat

  * send-a-newbie updates - results should be available shortly

More in the Wiki.</summary>
    <content xmlns="http://www.w3.org/2005/Atom" xmlns:default="http://www.w3.org/1999/xhtml" type="xhtml">
      <default:div xmlns="http://www.w3.org/1999/xhtml">
        <default:p><default:p>In this issue:</default:p>
<default:ul>
<default:li>current stats - more than 230 registered atendees</default:li>
<default:li>further sponsors - welcome, ShadowCat</default:li>
<default:li>send-a-newbie updates - results should be available shortly</default:li>
</default:ul>
<default:p>More in the <default:a href="http://yapceurope2009.org/ye2009/wiki?node=newsletter7">Wiki</default:a>.</default:p></default:p>
      </default:div>
    </content>
    <published xmlns="http://www.w3.org/2005/Atom">2009-06-30T12:39:00Z</published>
    <updated xmlns="http://www.w3.org/2005/Atom">2009-06-30T12:39:00Z</updated>
    <author xmlns="http://www.w3.org/2005/Atom">
      <name xmlns="http://www.w3.org/2005/Atom">ambs</name>
    </author>
    <id xmlns="http://www.w3.org/2005/Atom">tag:yapc.kasei.com,2006:http://yapceurope2009.org/ye2009/en/430</id>
  </entry>
  <entry xmlns="http://www.w3.org/2005/Atom" xmlns:default="http://www.w3.org/1999/xhtml">
    <title xmlns="http://www.w3.org/2005/Atom">YAPC|10 in Pittsburgh</title>
    <link xmlns="http://www.w3.org/2005/Atom" rel="alternate" href="http://www.plainblack.com/pr/staff/blog/yapc10-in-pittsburgh" type="text/html"/>
    <summary xmlns="http://www.w3.org/2005/Atom">Doug's First &lt;B&gt;YAPC&lt;/B&gt; (Yet Another Perl Conference) proves to be an informative and fun experience with only a slight hint of debauchery. </summary>
    <content xmlns="http://www.w3.org/2005/Atom" xmlns:default="http://www.w3.org/1999/xhtml" type="xhtml">
      <default:div xmlns="http://www.w3.org/1999/xhtml">Doug's First <default:B>YAPC</default:B> (Yet Another Perl Conference) proves to be an informative and fun experience with only a slight hint of debauchery. </default:div>
    </content>
    <published xmlns="http://www.w3.org/2005/Atom">2009-06-29T23:43:00-05:00</published>
    <updated xmlns="http://www.w3.org/2005/Atom">2009-06-29T23:43:00-05:00</updated>
    <author xmlns="http://www.w3.org/2005/Atom">
      <name xmlns="http://www.w3.org/2005/Atom">preaction</name>
    </author>
    <id xmlns="http://www.w3.org/2005/Atom">tag:yapc.kasei.com,2006:4c73a2265a1f0716e73e7303885ba5d0</id>
  </entry>
  <entry xmlns="http://www.w3.org/2005/Atom" xmlns:default="http://www.w3.org/1999/xhtml">
    <title xmlns="http://www.w3.org/2005/Atom">CHI - Universal caching for Perl - YAPC 2009</title>
    <link xmlns="http://www.w3.org/2005/Atom" rel="alternate" href="http://www.myplick.com/view/2PD70iMu2-_/CHI-Universal-caching-for-Perl-YAPC-2009" type="text/html"/>
    <summary xmlns="http://www.w3.org/2005/Atom">From anon-78616.</summary>
    <content xmlns="http://www.w3.org/2005/Atom" xmlns:default="http://www.w3.org/1999/xhtml" type="xhtml">
      <default:div xmlns="http://www.w3.org/1999/xhtml">From anon-78616.</default:div>
    </content>
    <published xmlns="http://www.w3.org/2005/Atom">2009-06-29T22:48:40Z</published>
    <updated xmlns="http://www.w3.org/2005/Atom">2009-06-29T22:48:40Z</updated>
    <author xmlns="http://www.w3.org/2005/Atom">
      <name xmlns="http://www.w3.org/2005/Atom">unknown</name>
    </author>
    <id xmlns="http://www.w3.org/2005/Atom">tag:yapc.kasei.com,2006:tag:www.myplick.com,2009-06-29:/view/2PD70iMu2-_/CHI-Universal-caching-for-Perl-YAPC-2009/</id>
  </entry>
  <entry xmlns="http://www.w3.org/2005/Atom" xmlns:default="http://www.w3.org/1999/xhtml">
    <title xmlns="http://www.w3.org/2005/Atom">looking for CPANTS (co-) maintainers (2009.06.29 15:02)</title>
    <link xmlns="http://www.w3.org/2005/Atom" rel="alternate" href="http://use.perl.org/~domm/journal/39189?from=rss" type="text/html"/>
    <summary xmlns="http://www.w3.org/2005/Atom">After another year of doing basically nothing with CPANTS, I think it is
finally time to look for somebody to take over maintainership. I don't
see any tuits to emerge in the next 3 months (thanks to two big, cool,
all-perl jobs) to fix all the bugs that become more an more apparent, as
CPANTS data is used by more and more third parties. Plus there are lots
of interesting new projects (mostly Metabase) that could and should be
considered.

As a first step, I moved the repo from google code (and svn) to github
for easier collaboration. But to really move CPANTS forward, the switch
to git is by far not enough...

So if you're interested in taking a very close look at the ugly parts of
CPAN, or want to tweak the algorithm of the CPANTS game to make you
finally show up on top, drop me a line and I'll either add you as
co-maint (or even as full maintainer, if somebody wants to take over
completely (which I'd prefer)).

I guess that we can keep the site hosted on the Vienna.pm server, unless
somebody wants to move the site to their own machine. I could also give
an inofficial short/long intro/tutorial at YAPC::Europe to help the new
maintainers find their way round the code.

CPANTS consists of three components, two of which (M:C:Analyse &amp;
M:C:Site) are rather easy to understand, while M:C:ProcessCPAN is a bit
more complex. It has no real tests and takes ages for a complete run - so
it's quite a pain in the ass to fix bugs and implement new features (hm,
bad advertising...).

So if you're interested in taking over (parts) of CPANTS, please comment
below and/or drop me a line (domm AT cpan.org)</summary>
    <content xmlns="http://www.w3.org/2005/Atom" xmlns:default="http://www.w3.org/1999/xhtml" type="xhtml">
      <default:div xmlns="http://www.w3.org/1999/xhtml">
        <default:p>After another year of doing basically nothing with <default:a href="http://cpants.perl.org/">CPANTS</default:a>, I think it is finally time to
look for somebody to take over maintainership. I don't see any tuits to
 emerge in the next 3 months (thanks to two big, cool, all-perl jobs) to
fix all the bugs that become more an more apparent, as CPANTS data is
used by more and more third parties. Plus there are lots of interesting
new projects (mostly Metabase) that could and should be considered.</default:p>
        <default:p>As a first step, I moved the repo from google code (and svn) to
<default:a href="http://github.com/domm/CPANTS/tree">github</default:a> for easier
collaboration. But to really move CPANTS forward, the switch to git is
by far not enough... </default:p>
        <default:p>So if you're interested in taking a very close look at the ugly parts
of CPAN, or want to tweak the algorithm of the CPANTS game to make you
finally show up on top, drop me a line and I'll either add you as
co-maint (or even as full maintainer, if somebody wants to take over
completely (which I'd prefer)).</default:p>
        <default:p>I guess that we can keep the site hosted on the Vienna.pm server,
unless somebody wants to move the site to their own machine. I could
also give an inofficial short/long intro/tutorial at YAPC::Europe to
help the new maintainers find their way round the code.</default:p>
        <default:p>CPANTS consists of three components, two of which (M:C:Analyse &amp;
M:C:Site) are rather easy to understand, while M:C:ProcessCPAN is a bit
more complex. It has no real tests and takes ages for a complete run -
so it's quite a pain in the ass to fix bugs and implement new features
(hm, bad advertising...).</default:p>
        <default:p>So if you're interested in taking over (parts) of CPANTS, please
comment below and/or drop me a line (domm AT cpan.org)</default:p>
      </default:div>
    </content>
    <category xmlns="http://www.w3.org/2005/Atom" term="journal"/>
    <published xmlns="http://www.w3.org/2005/Atom">2009-06-29T20:02:37Z</published>
    <updated xmlns="http://www.w3.org/2005/Atom">2009-06-29T20:02:37Z</updated>
    <author xmlns="http://www.w3.org/2005/Atom">
      <name xmlns="http://www.w3.org/2005/Atom">domm</name>
    </author>
    <id xmlns="http://www.w3.org/2005/Atom">tag:yapc.kasei.com,2006:http://use.perl.org/~domm/journal/39189?from=rss</id>
  </entry>
  <entry xmlns="http://www.w3.org/2005/Atom" xmlns:default="http://www.w3.org/1999/xhtml">
    <title xmlns="http://www.w3.org/2005/Atom">YAPC::NA 2009 - Slides Posted</title>
    <link xmlns="http://www.w3.org/2005/Atom" rel="alternate" href="http://chris.prather.org/yapcna-2009-slides-posted/" type="text/html"/>
    <summary xmlns="http://www.w3.org/2005/Atom">So YAPC::NA is over. I’ve mostly recovered from the Moose Flu that seems
to have circulated around at it. I’ve posted my slides for both
XML::Toolkit and the EPO-EC talks. The first went “okay”, while I’d been
doing a lot of work with ...</summary>
    <content xmlns="http://www.w3.org/2005/Atom" xmlns:default="http://www.w3.org/1999/xhtml" type="xhtml">
      <default:div xmlns="http://www.w3.org/1999/xhtml">So <default:b>YAPC</default:b>::NA is over. I’ve mostly recovered from the Moose Flu that  seems to have circulated around at it. I’ve posted my slides for both XML::Toolkit and the EPO-EC talks. The first went “okay”, while I’d been doing a lot of work with ...</default:div>
    </content>
    <published xmlns="http://www.w3.org/2005/Atom">2009-06-29T19:26:40Z</published>
    <updated xmlns="http://www.w3.org/2005/Atom">2009-06-29T19:26:40Z</updated>
    <author xmlns="http://www.w3.org/2005/Atom">
      <name xmlns="http://www.w3.org/2005/Atom">Chris</name>
    </author>
    <id xmlns="http://www.w3.org/2005/Atom">tag:yapc.kasei.com,2006:tag:chris.prather.org,2009-06-29:/yapcna-2009-slides-posted//</id>
  </entry>
  <entry xmlns="http://www.w3.org/2005/Atom" xmlns:default="http://www.w3.org/1999/xhtml">
    <title xmlns="http://www.w3.org/2005/Atom">YAPB</title>
    <link xmlns="http://www.w3.org/2005/Atom" rel="alternate" href="http://kmhoofnagle.livejournal.com/175919.html" type="text/html"/>
    <summary xmlns="http://www.w3.org/2005/Atom">... offensive pissing me off &quot;How to stop being a n00b&quot; talk EVAR at YAPC
and while I like the guy who gave it, and will not ream him out publicly
(I gave him what-for in his survey response) I am now convinced that a
talk on helping n00bs is something only someone who can remember being a
n00b can do. I ...</summary>
    <content xmlns="http://www.w3.org/2005/Atom" xmlns:default="http://www.w3.org/1999/xhtml" type="xhtml">
      <default:div xmlns="http://www.w3.org/1999/xhtml"><default:b>...</default:b> offensive pissing me off &quot;How to stop being a n00b&quot; talk EVAR at <default:b>YAPC</default:b> and while I like the guy who gave it, and will not ream him out publicly (I gave him what-for in his survey response) I am now convinced that a talk on helping n00bs is something only someone who can remember being a n00b can do. I <default:b>...</default:b> </default:div>
    </content>
    <published xmlns="http://www.w3.org/2005/Atom">2009-06-29T09:53:00-05:00</published>
    <updated xmlns="http://www.w3.org/2005/Atom">2009-06-29T09:53:00-05:00</updated>
    <author xmlns="http://www.w3.org/2005/Atom">
      <name xmlns="http://www.w3.org/2005/Atom">kmhoofnagle</name>
    </author>
    <id xmlns="http://www.w3.org/2005/Atom">tag:yapc.kasei.com,2006:1207baf334ac7c620aa27e2fbd167891</id>
  </entry>
  <entry xmlns="http://www.w3.org/2005/Atom" xmlns:default="http://www.w3.org/1999/xhtml">
    <title xmlns="http://www.w3.org/2005/Atom">YAPC::Europe - Lisbon, 3rd-5th August 2009</title>
    <link xmlns="http://www.w3.org/2005/Atom" rel="alternate" href="http://www.oreillygmt.co.uk/2009/06/yapceurope-2009-lisbon.html" type="text/html"/>
    <summary xmlns="http://www.w3.org/2005/Atom">The &lt;B&gt;YAPC&lt;/B&gt;::Europe conference will take place in Lisbon from the 3rd to the 5th August 2009. A fine array of speakers are scheduled for 4 tracks over the three days, with a sizeable handful of O'Reilly... </summary>
    <content xmlns="http://www.w3.org/2005/Atom" xmlns:default="http://www.w3.org/1999/xhtml" type="xhtml">
      <default:div xmlns="http://www.w3.org/1999/xhtml">The <default:B>YAPC</default:B>::Europe conference will take place in Lisbon from the 3rd to the 5th August 2009. A fine array of speakers are scheduled for 4 tracks over the three days, with a sizeable handful of O'Reilly... </default:div>
    </content>
    <published xmlns="http://www.w3.org/2005/Atom">2009-06-29T08:28:00-05:00</published>
    <updated xmlns="http://www.w3.org/2005/Atom">2009-06-29T08:28:00-05:00</updated>
    <author xmlns="http://www.w3.org/2005/Atom">
      <name xmlns="http://www.w3.org/2005/Atom">O'ReillyGMT</name>
    </author>
    <id xmlns="http://www.w3.org/2005/Atom">tag:yapc.kasei.com,2006:f329e6d1dcce32fe6d3002f27562beee</id>
  </entry>
  <entry xmlns="http://www.w3.org/2005/Atom" xmlns:default="http://www.w3.org/1999/xhtml">
    <title xmlns="http://www.w3.org/2005/Atom">YAPC::Europe - Lisbon, 3rd-5th August 2009</title>
    <link xmlns="http://www.w3.org/2005/Atom" rel="alternate" href="http://feedproxy.google.com/~r/Oreillygmt/~3/3y8AamxwiiY/yapceurope-2009-lisbon.html" type="text/html"/>
    <summary xmlns="http://www.w3.org/2005/Atom"> The YAPC::Europe conference will take place in Lisbon from the 3rd to
the 5th August 2009. A fine array of speakers are scheduled for 4 tracks
over the three days, with a sizeable handful of O'Reilly...</summary>
    <content xmlns="http://www.w3.org/2005/Atom" xmlns:default="http://www.w3.org/1999/xhtml" type="xhtml">
      <default:div xmlns="http://www.w3.org/1999/xhtml"> The <default:b>YAPC</default:b>::Europe conference will take place in Lisbon from the 3rd to the 5th August 2009. A fine array of speakers are scheduled for 4 tracks over the three days, with a sizeable handful of O'Reilly...             </default:div>
    </content>
    <published xmlns="http://www.w3.org/2005/Atom">2009-06-29T13:28:00Z</published>
    <updated xmlns="http://www.w3.org/2005/Atom">2009-06-29T13:28:00Z</updated>
    <author xmlns="http://www.w3.org/2005/Atom">
      <name xmlns="http://www.w3.org/2005/Atom">nobody</name>
    </author>
    <id xmlns="http://www.w3.org/2005/Atom">tag:yapc.kasei.com,2006:http://feedproxy.google.com/~r/Oreillygmt/~3/3y8AamxwiiY/yapceurope-2009-lisbon.html</id>
  </entry>
  <entry xmlns="http://www.w3.org/2005/Atom" xmlns:default="http://www.w3.org/1999/xhtml">
    <title xmlns="http://www.w3.org/2005/Atom">&lt;B&gt;YAPC&lt;/B&gt;::EU timetable is brutal. It tells you the audience size for ...</title>
    <link xmlns="http://www.w3.org/2005/Atom" rel="alternate" href="http://identi.ca/notice/5858476" type="text/html"/>
    <summary xmlns="http://www.w3.org/2005/Atom">&lt;B&gt;YAPC&lt;/B&gt;::EU timetable is brutal.  It tells you the audience size for each talk.  For one of mine, it's 3 ppl, including myself http://ur1.ca/6gc6.</summary>
    <content xmlns="http://www.w3.org/2005/Atom" xmlns:default="http://www.w3.org/1999/xhtml" type="xhtml">
      <default:div xmlns="http://www.w3.org/1999/xhtml"><default:B>YAPC</default:B>::EU timetable is brutal.  It tells you the audience size for each talk.  For one of mine, it's 3 ppl, including myself http://ur1.ca/6gc6.</default:div>
    </content>
    <published xmlns="http://www.w3.org/2005/Atom">2009-06-29T11:36:00Z</published>
    <updated xmlns="http://www.w3.org/2005/Atom">2009-06-29T11:36:00Z</updated>
    <author xmlns="http://www.w3.org/2005/Atom">
      <name xmlns="http://www.w3.org/2005/Atom">nobody</name>
    </author>
    <id xmlns="http://www.w3.org/2005/Atom">tag:yapc.kasei.com,2006:http://identi.ca/notice/5858476</id>
  </entry>
  <entry xmlns="http://www.w3.org/2005/Atom" xmlns:default="http://www.w3.org/1999/xhtml">
    <title xmlns="http://www.w3.org/2005/Atom">We're looking for YAPC::Asia Tokyo 2009 sponsors!</title>
    <link xmlns="http://www.w3.org/2005/Atom" rel="alternate" href="http://feedproxy.google.com/~r/YapcAsia/~3/QmX8dUTSMgU/429" type="text/html"/>
    <summary xmlns="http://www.w3.org/2005/Atom">We're currently looking for sponsors for YAPC::Asia Tokyo 2009.
YAPC::Asia is the world's largest YAPC, where Perl's most brilliant minds
will converge from all over the world. This is your opportunity to
increase visibility amongst these talents!

Minimum suggested sponsorship fee starts at 50,000 yen. Please email
info@perlassociation.org for more details.</summary>
    <content xmlns="http://www.w3.org/2005/Atom" xmlns:default="http://www.w3.org/1999/xhtml" type="xhtml">
      <default:div xmlns="http://www.w3.org/1999/xhtml"><default:p>We're currently looking for sponsors for YAPC::Asia Tokyo 2009. YAPC::Asia  is the world's largest YAPC, where Perl's most brilliant minds will converge from all over the world. This is your opportunity to increase visibility amongst these talents!</default:p>
<default:p>Minimum suggested sponsorship fee starts at 50,000 yen. Please email info@perlassociation.org for more details.</default:p><default:img xmlns:xhtml="http://www.w3.org/1999/xhtml" height="1" width="1"/></default:div>
    </content>
    <published xmlns="http://www.w3.org/2005/Atom">2009-06-29T04:29:00Z</published>
    <updated xmlns="http://www.w3.org/2005/Atom">2009-06-29T04:29:00Z</updated>
    <author xmlns="http://www.w3.org/2005/Atom">
      <name xmlns="http://www.w3.org/2005/Atom">lestrrat</name>
    </author>
    <id xmlns="http://www.w3.org/2005/Atom">tag:yapc.kasei.com,2006:http://conferences.yapcasia.org/ya2009/en/429</id>
  </entry>
  <entry xmlns="http://www.w3.org/2005/Atom" xmlns:default="http://www.w3.org/1999/xhtml">
    <title xmlns="http://www.w3.org/2005/Atom">Warming up to Modular Testing (&lt;B&gt;YAPC&lt;/B&gt;::NA::2009)</title>
    <link xmlns="http://www.w3.org/2005/Atom" rel="alternate" href="http://b.hatena.ne.jp/charsbar/20090629" type="text/html"/>
    <summary xmlns="http://www.w3.org/2005/Atom">Warming up to Modular Testing (&lt;B&gt;YAPC&lt;/B&gt;::NA::2009) Loading...Flash Player 9 (or above) is needed to view presentations.</summary>
    <content xmlns="http://www.w3.org/2005/Atom" xmlns:default="http://www.w3.org/1999/xhtml" type="xhtml">
      <default:div xmlns="http://www.w3.org/1999/xhtml">Warming up to Modular Testing (<default:B>YAPC</default:B>::NA::2009) Loading...Flash Player 9 (or above) is needed to view presentations.</default:div>
    </content>
    <published xmlns="http://www.w3.org/2005/Atom">2009-06-29T12:26:00+09:00</published>
    <updated xmlns="http://www.w3.org/2005/Atom">2009-06-29T12:26:00+09:00</updated>
    <author xmlns="http://www.w3.org/2005/Atom">
      <name xmlns="http://www.w3.org/2005/Atom">nobody</name>
    </author>
    <id xmlns="http://www.w3.org/2005/Atom">tag:yapc.kasei.com,2006:http://b.hatena.ne.jp/charsbar/20090629</id>
  </entry>
  <entry xmlns="http://www.w3.org/2005/Atom" xmlns:default="http://www.w3.org/1999/xhtml">
    <title xmlns="http://www.w3.org/2005/Atom">sartak: Reflections on YAPC::NA 2009</title>
    <link xmlns="http://www.w3.org/2005/Atom" rel="alternate" href="http://blog.sartak.org/2009/06/reflections-on-yapcna-2009.html" type="text/html"/>
    <summary xmlns="http://www.w3.org/2005/Atom">This year, YAPC::NA is running surveys on talks and courses, so I expect
I'll learn more ways that the class could be improved. If you attended
the class, please do not worry about offending Dave or me if you disliked
something. ...</summary>
    <content xmlns="http://www.w3.org/2005/Atom" xmlns:default="http://www.w3.org/1999/xhtml" type="xhtml">
      <default:div xmlns="http://www.w3.org/1999/xhtml">This year, <default:b>YAPC</default:b>::NA is running surveys on talks and courses, so I expect I'll learn more ways that the class could be improved. If you attended the class, please do not worry about offending Dave or me if you disliked something. ...</default:div>
    </content>
    <published xmlns="http://www.w3.org/2005/Atom">2009-06-29T03:13:00Z</published>
    <updated xmlns="http://www.w3.org/2005/Atom">2009-06-29T03:13:00Z</updated>
    <author xmlns="http://www.w3.org/2005/Atom">
      <name xmlns="http://www.w3.org/2005/Atom">Shawn M Moore</name>
    </author>
    <id xmlns="http://www.w3.org/2005/Atom">tag:yapc.kasei.com,2006:tag:blog.sartak.org,2009-06-29:/2009/06/reflections-on-yapcna-2009.html/</id>
  </entry>
  <entry xmlns="http://www.w3.org/2005/Atom" xmlns:default="http://www.w3.org/1999/xhtml">
    <title xmlns="http://www.w3.org/2005/Atom">tmoertel: Shanks Blackwell: the first recipe inspired by #yapc ...</title>
    <link xmlns="http://www.w3.org/2005/Atom" rel="alternate" href="http://identi.ca/notice/5846898" type="text/html"/>
    <summary xmlns="http://www.w3.org/2005/Atom">Shanks Blackwell: the first recipe inspired by #yapc?
http://www.flickr.com/photos/tmoertel/3669667768/in/photostream/</summary>
    <content xmlns="http://www.w3.org/2005/Atom" xmlns:default="http://www.w3.org/1999/xhtml" type="xhtml">
      <default:div xmlns="http://www.w3.org/1999/xhtml">Shanks Blackwell: the first recipe inspired by #<default:b>yapc</default:b>? http://www.flickr.com/photos/tmoertel/3669667768/in/photostream/</default:div>
    </content>
    <published xmlns="http://www.w3.org/2005/Atom">2009-06-29T03:12:25Z</published>
    <updated xmlns="http://www.w3.org/2005/Atom">2009-06-29T03:12:25Z</updated>
    <author xmlns="http://www.w3.org/2005/Atom">
      <name xmlns="http://www.w3.org/2005/Atom">Tom Moertel</name>
    </author>
    <id xmlns="http://www.w3.org/2005/Atom">tag:yapc.kasei.com,2006:tag:identi.ca,2009-06-29:/notice/5846898/</id>
  </entry>
  <entry xmlns="http://www.w3.org/2005/Atom" xmlns:default="http://www.w3.org/1999/xhtml">
    <title xmlns="http://www.w3.org/2005/Atom">Wiki - PresentationSlides - YAPC|10 - Pittsburgh - June 22-24, 2009</title>
    <link xmlns="http://www.w3.org/2005/Atom" rel="alternate" href="http://yapc10.org/yn2009/wiki?node=PresentationSlides" type="text/html"/>
    <summary xmlns="http://www.w3.org/2005/Atom">Wiki - PresentationSlides - YAPC|10 - Pittsburgh - June 22-24, 2009...</summary>
    <content xmlns="http://www.w3.org/2005/Atom" xmlns:default="http://www.w3.org/1999/xhtml" type="xhtml">
      <default:div xmlns="http://www.w3.org/1999/xhtml">Wiki - PresentationSlides - YAPC|10 - Pittsburgh - June 22-24, 2009...</default:div>
    </content>
    <published xmlns="http://www.w3.org/2005/Atom">2009-06-29T03:10:00Z</published>
    <updated xmlns="http://www.w3.org/2005/Atom">2009-06-29T03:10:00Z</updated>
    <author xmlns="http://www.w3.org/2005/Atom">
      <name xmlns="http://www.w3.org/2005/Atom">nobody</name>
    </author>
    <id xmlns="http://www.w3.org/2005/Atom">tag:yapc.kasei.com,2006:http://yapc10.org/yn2009/wiki?node=PresentationSlides</id>
  </entry>
  <entry xmlns="http://www.w3.org/2005/Atom" xmlns:default="http://www.w3.org/1999/xhtml">
    <title xmlns="http://www.w3.org/2005/Atom">YAPC ...</title>
    <link xmlns="http://www.w3.org/2005/Atom" rel="alternate" href="http://scrottie.livejournal.com/13122.html" type="text/html"/>
    <summary xmlns="http://www.w3.org/2005/Atom">http://www.flickr.com/photos/85201403@N00/3664390382/in/set-72157620475426891/&gt;/a&gt;
Myself, Awwaiid, and Beppu. Beppu is in the green shirt just to my right.
Awwaiid is on the far left of the photo in the white shirt. None of us
knew we were being photographed. YAPC... my talk went very well ...</summary>
    <content xmlns="http://www.w3.org/2005/Atom" xmlns:default="http://www.w3.org/1999/xhtml" type="xhtml">
      <default:div xmlns="http://www.w3.org/1999/xhtml">http://www.flickr.com/photos/85201403@N00/3664390382/in/set-72157620475426891/&gt;/a&gt; Myself, Awwaiid, and Beppu. Beppu is in the green shirt just to my right. Awwaiid is on the far left of the photo in the white shirt. None of us knew we were being photographed. <default:b>YAPC</default:b>... my talk went very well <default:b>...</default:b> </default:div>
    </content>
    <published xmlns="http://www.w3.org/2005/Atom">2009-06-28T20:16:00-05:00</published>
    <updated xmlns="http://www.w3.org/2005/Atom">2009-06-28T20:16:00-05:00</updated>
    <author xmlns="http://www.w3.org/2005/Atom">
      <name xmlns="http://www.w3.org/2005/Atom">scrottie</name>
    </author>
    <id xmlns="http://www.w3.org/2005/Atom">tag:yapc.kasei.com,2006:99ced6349215f2b9926586d0089b8bc5</id>
  </entry>
  <entry xmlns="http://www.w3.org/2005/Atom">
    <title xmlns="http://www.w3.org/2005/Atom">Convo with YAPC2010 organizer: it's all about Sun, Oracle (2009.06.28 13:37)</title>
    <link xmlns="http://www.w3.org/2005/Atom" rel="alternate" href="http://use.perl.org/~scrottie/journal/39185?from=rss" type="text/html"/>
    <summary xmlns="http://www.w3.org/2005/Atom">  *** Candybar (~u38625503@s133948615.onlinehome.us) has joined channel
  #yapc
  &lt;Candybar&gt; Hi... I hear some folks are chatting about YAPC::NA::2010
  in Columbus
  *** karen (~karen@pool-71-162-10-245.pitbpa.fios.verizon.net) has
  joined channel #yapc
  &lt;cwest&gt; that did happen
  &gt; I think after chatting about it, they said &quot;yes&quot;.
  &gt; isn't that another steel town though?
  &gt; do we really need two steel towns, back to back?
  &lt;rjbs&gt; Yes.
  &lt;rjbs&gt; Bethlehem 2011
  &lt;Yaakov&gt; Candybar: Howdy!
  &lt;Yaakov&gt; Candybar: People are excited about Columbus, as is usual
  after a successful YAPC the next YAPC is anticipated.
  &gt; hrm, maybe if I take passage as a crewmember on a steam ship I
  could afford YAPC::EU...
  *** lando (~orlando@S0106001c10086ef3.vc.shawcable.net) has joined
  channel #yapc
  &lt;Yaakov&gt; scrottie0: Stow away, its the cheapest.
  &lt;duaneb&gt; as a first time attender of YAPC this year I'm looking
  forward to next years
  &lt;Yaakov&gt; duaneb: Excellent.
  &lt;Candybar&gt; I have already contacted the Bio Perl people
  &lt;Candybar&gt; and they are very excited
  &lt;Yaakov&gt; duaneb: Candybar is the crazy person^W^Worganizer.
  &lt;Candybar&gt; here is our plan
  &lt;Candybar&gt; two main threads
  &lt;Candybar&gt; and a &quot;misc&quot; thread
  &lt;Candybar&gt; bio perl thread
  &lt;Candybar&gt; corporate perl thread
  &lt;Yaakov&gt; Don't use threads! fork()!
  &lt;Candybar&gt; and misc things that kinda match
  *** stash (~Adium@S0106001c100a7a61.vc.shawcable.net) has joined
  channel #yapc
  &lt;Candybar&gt; I have already contacted the OpenSource club at OSU
  &gt; I was talking to the SNOBOL guys after this go. Myself and someone
  else have both done SNOBOL talks now. It would be interesting to
  +see them come out and even give a short talk themselves.
  &gt; 20 minutes is a wonderful thing.
  &gt; or, more broadly, I think it would be good for the Perl community
  to be exposed to more related topics if they can be presented by
  +experts. not every talk has to be a Perl tech talk.
  &lt;Candybar&gt; the OpenSource club has already reserved the architecture
  building
  &lt;Candybar&gt; for free
  &lt;purl&gt; for free are they mad?
  &gt; shoot, go recruit someone to give a robotics talk.
  &gt; is there an I2C module for Perl?
  &lt;Candybar&gt; my &quot;Corporate Perl&quot; is along the lines of how perl is used
  in big business
  &gt; sorry, I'm stuck on that &quot;misc&quot; track you mentioned.
  &lt;Candybar&gt; I am talking to Oracle to see if I can get them involved
  and as a sponser
  &gt; oraperl, w00t!
  &lt;Candybar&gt; dude I still got 4.036 clients man
  &lt;Candybar&gt; they use oraperl 7.3.2 clients
  *** Signoff: karen (Quit: karen)
  &lt;Candybar&gt; ok YAPC is a year away and the misc track will probibly
  become somthing else
  &lt;Candybar&gt; it all depends on what talks get submitted
  &gt; I missed the last DEFCON but there are always network security
  tools that get written in Perl... think about looking over that
  +schedule and asking a few of those speakers to come out and give
  their talk again.
  *** khaos (~karen@pool-71-162-10-245.pitbpa.fios.verizon.net) has
  joined channel #yapc
  *** Mode change &quot;+o khaos&quot; on channel #yapc by BinGOs
  &gt; YAPC is a wonderful thing but something isn't sitting right with
  me. well, there's always something not sitting right with me. and
  +in this case, I think YAPC needs broaded horizons. it's becoming too
  much of an echo chamber.
  &gt; and becoming too isolated.
  &gt; I should not be an example of someone doing something neat with
  Perl. other people doing far more interesting things should be.
  &lt;khaos&gt; Well at a YAPC around 50% of the attendees won't have been to
  one before
  &lt;Candybar&gt; scrottie0: I would agree
  &lt;khaos&gt; I'll have to wait for the survey responses to see what the
  stats are like for this one - but there were a lot of first time
  +people there
  &lt;Candybar&gt; but isn't that really what lighting talks are... people
  showing off cool things that end up being a talk later on
  &lt;khaos&gt; Lightening talks are supposed to be that
  &gt; well, I wasn't refering to my lightning talk.
  &gt; but yes, lightning talks should be that.
  &gt; and various other things. I was referring to the Vegas talk.
  &lt;khaos&gt; but in the past few years they are become entertainment
  &lt;Candybar&gt; ok here is what we have ...
  &lt;Candybar&gt; we have a lot of corporations that need to see that perl
  is still used in business
  &gt; dunno. I say we get Rocky Horror and pants the newbies.
  &lt;Candybar&gt; we have a lot of students that use perl in the OSU biology
  department
  *** Signoff: stash (Quit: Leaving.)
  &lt;Candybar&gt; so that is two big hitters
  *** stash (~Adium@S0106001c100a7a61.vc.shawcable.net) has joined
  channel #yapc
  &lt;Candybar&gt; so that is two big hitters
  *** stash (~Adium@S0106001c100a7a61.vc.shawcable.net) has joined
  channel #yapc
  &gt; and you have attendees that want to be excited about Perl. but
  maintaining huge piles of legacy code ain't that.
  &gt; actually I almost put in a talk for maintaining huge piles of
  legacy code... which seems to be the defining characteristic of Perl
  in
  +a large company.
  &gt; &quot;How to Scale Your Big Ball of Mud Even Larger&quot; or something like
  that.
  &lt;Candybar&gt; **Wave** I get to maintain a big old warm pile of stinky
  &quot;legacy code&quot;
  &lt;Candybar&gt; my unofficial title is &quot;Perl Janitor&quot;
  &gt; virtually everywhere. it's not that companies have something
  against perl itself... they've come to hate the codebases,
  specifically
  +the difficulty in extending them, that are written in Perl
  &lt;Candybar&gt; I get to help clean up everyone piles of warm &quot;code&quot;
  &gt; they can't separate &quot;rewrite&quot; from &quot;switch to &lt;other language&gt;&quot; in
  their head. no one wants a rewrite, but everyone wants to switch
  +to Java|Ruby|Python|whatever
  &lt;Candybar&gt; Ok so I know that Oracle uses perl. I know Veritas uses
  perl. I know that SUN (now Oracle) uses perl
  &lt;Candybar&gt; and I have sales contacts in each one that I am working
  &gt; well, don't just worry about catering to your sponsors -- cater to
  your audiance.
  &lt;Yaakov&gt; Candybar: I expect great things in Columbus.
  &gt; in fact, the way you're presenting this to me now, I'm nervous
  about the whole thing.
  &gt; I don't mind in principle of YAPC gets commercialized up a bit one
  go but if the content isn't geared towards me or anyone I know, I
  +lack incentive to go.
  &lt;Candybar&gt; the Columbus.PM bid was all about &quot;involving&quot; corporations
  in perl
  &lt;Yaakov&gt; scrottie0: Another selling point!
  &lt;Candybar&gt; the TPF decided that this was the direction that they
  wanted to try and go
  &lt;khaos&gt; the theme for YAPC::EU this year is &quot;Corporate Perl&quot;
  &lt;khaos&gt; and their program looks fine to me - as it is a good mix of
  things
  &gt; again, you've said a lot about what you're doing for your sponsors
  but not a thing about what you're doing for the attendees. is this
  +a free conference, like InteropNetworld?
  &lt;Candybar&gt; I am not planning on &quot;selling&quot; perl out to anyone
  &lt;Yaakov&gt; Candybar: I was thinking &quot;Enterprise Perl&quot; is a good way to
  go.
  &lt;Yaakov&gt; scrottie0: Don't make Candybar cry you bastard.
  &lt;Yaakov&gt; scrottie0: He's working one side at a time.
  &lt;Candybar&gt; Sorry my 18 month old just threw her cheerios at me...
  Back for a sec...
  &lt;Yaakov&gt; Heh.
  &lt;Yaakov&gt; She is also afraid you are selling out!
  &lt;purl&gt; okay, Yaakov.
  &lt;Candybar&gt; The message that I get all of the time from my Corporation
  is that perl is dead and java is the word
  &lt;Candybar&gt; yet
  &lt;Candybar&gt; they continue to purchase vendor applications written in
  perl
  &lt;Yaakov&gt; Perl is the hidden hero.
  &lt;Candybar&gt; they continue to use perl but &quot;hide&quot; it
  &lt;Candybar&gt; exactly
  &gt; what corporations think matters. what corporations can offer YAPC
  matters. but I want to hear it out of your flapping pie hole
  +feeder appendages that the people going to this and paying money to
  do so matter too.
  &lt;Yaakov&gt; scrottie0: We are waiting for you to leave before revealing
  thesexy details of the attendee &quot;special benefits&quot;.
  &lt;Candybar&gt; here is what I don't want to do
  &lt;Candybar&gt; I don't want to have T-Shirts that have Oracle or SUN
  spread all over them
  &gt; I don't care about that.
  &gt; the shirts already have sponsors on them.
  &lt;Candybar&gt; I don't want to rename YAPC to Oracle World
  &gt; Java Mongers. been there, done that.
  &lt;rGeoffrey&gt; yippie, shirts that can be worn without extra advertising
  &gt; I hope youporn sponspors YAPC.
  &lt;Candybar&gt; why not... lets ask em
  &lt;dngor&gt; Has Mexico put in a bid for 2012?
  &lt;Yaakov&gt; dngor: Amnesiac is an USAian now!
  &gt; Candybar, that's all tangent to what I was asking about -- yet
  again, do any of your plans revolve around bringing interesting
  content
  +to the attendees? or is this just Oracle's and Sun's job?
  &lt;rGeoffrey&gt; 2012 should be extra special as we will never beyond the
  winter solstice that year
  &gt; your reasons listed for the two tracks you talked about had to do
  with the sponsor's wishes, not the betterment of the attendees.
  &gt; I wouldn't suppose that that's your only motive but you're not
  helping me dispel that myth either.
  &lt;Candybar&gt; ok so I support over 300 perl programmers in my little
  corporation
  &lt;Candybar&gt; I know tht this sounds crazy but I am their perl dude
  &lt;Candybar&gt; I am planning this YAPC to cater to the corporation perl
  programmers in Columbus to get them excited about using perl more
  &lt;Candybar&gt; the tracks are not set in stone but you might find the Bio
  Perl then more interesting
  &gt; okay, that's something. but it still sounds to me a bit like a
  career fair, not a technical gathering.
  &lt;Candybar&gt; actually it will be a career fair in a way
  &lt;Yaakov&gt; People need jobs, a lot.
  &lt;Candybar&gt; because I am working with the OSU office of student
  affairs
  &lt;Yaakov&gt; It is currently very relevant.
  &lt;Candybar&gt; and I want a perl class taught to seniors
  &lt;Candybar&gt; with the understanding that right after graduation that
  they can attend and talk to recruiters
  &lt;Yaakov&gt; yay!
  &lt;Yaakov&gt; Candybar: Idea: One of the forks can be a &quot;Practical Perl&quot;
  fork.
  &lt;Candybar&gt; that is interesting
  &lt;Yaakov&gt; Enterprise Perl, Bio Perl, Practical Perl
  &lt;Candybar&gt; because I already have a committment from my friend Mr
  Conway to come
  &gt; okay, so my Vegas talk shouldn't be an example of someone doing
  something exciting with Perl; doing maitenance with 299 other Perl
  +programmers should be.
  &lt;Candybar&gt; ok my kids are now screaming at me louder then scrottie0
  &lt;Candybar&gt; I will be back sometime...
  &gt; give them icescream and a triple lattes and Mickey's for me.
  &lt;Candybar&gt; take care and keep track of your thoughts
  *** Signoff: Candybar (Quit: Leaving)</summary>
    <content xmlns="http://www.w3.org/2005/Atom" type="html">&lt;blockquote&gt;&lt;div&gt;&lt;p&gt; &lt;tt&gt;*** Candybar (~u38625503@s133948615.onlinehome.us) has joined channel #yapc&lt;br&gt;&amp;lt;Candybar&amp;gt; Hi... I hear some folks are chatting about YAPC::NA::2010 in Columbus&lt;br&gt;*** karen (~karen@pool-71-162-10-245.pitbpa.fios.verizon.net) has joined channel #yapc&lt;br&gt;&amp;lt;cwest&amp;gt; that did happen&lt;br&gt;&amp;gt; I think after chatting about it, they said &quot;yes&quot;.&lt;br&gt;&amp;gt; isn't that another steel town though?&lt;br&gt;&amp;gt; do we really need two steel towns, back to back?&lt;br&gt;&amp;lt;rjbs&amp;gt; Yes.&lt;br&gt;&amp;lt;rjbs&amp;gt; Bethlehem 2011&lt;br&gt;&amp;lt;Yaakov&amp;gt; Candybar: Howdy!&lt;br&gt;&amp;lt;Yaakov&amp;gt; Candybar: People are excited about Columbus, as is usual after a successful YAPC the next YAPC is anticipated.&lt;br&gt;&amp;gt; hrm, maybe if I take passage as a crewmember on a steam ship I could afford YAPC::EU...&lt;br&gt;*** lando (~orlando@S0106001c10086ef3.vc.shawcable.net) has joined channel #yapc&lt;br&gt;&amp;lt;Yaakov&amp;gt; scrottie0: Stow away, its the cheapest.&lt;br&gt;&amp;lt;duaneb&amp;gt; as a first time attender of YAPC this year I'm looking forward to next years&lt;br&gt;&amp;lt;Yaakov&amp;gt; duaneb: Excellent.&lt;br&gt;&amp;lt;Candybar&amp;gt; I have already contacted the Bio Perl people&lt;br&gt;&amp;lt;Candybar&amp;gt; and they are very excited&lt;br&gt;&amp;lt;Yaakov&amp;gt; duaneb: Candybar is the crazy person^W^Worganizer.&lt;br&gt;&amp;lt;Candybar&amp;gt; here is our plan&lt;br&gt;&amp;lt;Candybar&amp;gt; two main threads&lt;br&gt;&amp;lt;Candybar&amp;gt; and a &quot;misc&quot; thread&lt;br&gt;&amp;lt;Candybar&amp;gt; bio perl thread&lt;br&gt;&amp;lt;Candybar&amp;gt; corporate perl thread&lt;br&gt;&amp;lt;Yaakov&amp;gt; Don't use threads!&amp;nbsp; fork()!&lt;br&gt;&amp;lt;Candybar&amp;gt; and misc things that kinda match&lt;br&gt;*** stash (~Adium@S0106001c100a7a61.vc.shawcable.net) has joined channel #yapc&lt;br&gt;&amp;lt;Candybar&amp;gt; I have already contacted the OpenSource club at OSU&lt;br&gt;&amp;gt; I was talking to the SNOBOL guys after this go.&amp;nbsp; Myself and someone else have both done SNOBOL talks now.&amp;nbsp; It would be interesting to&lt;br&gt;+see them come out and even give a short talk themselves.&lt;br&gt;&amp;gt; 20 minutes is a wonderful thing.&lt;br&gt;&amp;gt; or, more broadly, I think it would be good for the Perl community to be exposed to more related topics if they can be presented by&lt;br&gt;+experts.&amp;nbsp; not every talk has to be a Perl tech talk.&lt;br&gt;&amp;lt;Candybar&amp;gt; the OpenSource club has already reserved the architecture building&lt;br&gt;&amp;lt;Candybar&amp;gt; for free&lt;br&gt;&amp;lt;purl&amp;gt; for free are they mad?&lt;br&gt;&amp;gt; shoot, go recruit someone to give a robotics talk.&lt;br&gt;&amp;gt; is there an I2C module for Perl?&lt;br&gt;&amp;lt;Candybar&amp;gt; my &quot;Corporate Perl&quot; is along the lines of how perl is used in big business&lt;br&gt;&amp;gt; sorry, I'm stuck on that &quot;misc&quot; track you mentioned.&lt;br&gt;&amp;lt;Candybar&amp;gt; I am talking to Oracle to see if I can get them involved and as a sponser&lt;br&gt;&amp;gt; oraperl, w00t!&lt;br&gt;&amp;lt;Candybar&amp;gt; dude I still got 4.036 clients man&lt;br&gt;&amp;lt;Candybar&amp;gt; they use oraperl 7.3.2 clients&lt;br&gt;*** Signoff: karen (Quit: karen)&lt;br&gt;&amp;lt;Candybar&amp;gt; ok YAPC is a year away and the misc track will probibly become somthing else&lt;br&gt;&amp;lt;Candybar&amp;gt; it all depends on what talks get submitted&lt;br&gt;&amp;gt; I missed the last DEFCON but there are always network security tools that get written in Perl... think about looking over that&lt;br&gt;+schedule and asking a few of those speakers to come out and give their talk again.&lt;br&gt;*** khaos (~karen@pool-71-162-10-245.pitbpa.fios.verizon.net) has joined channel #yapc&lt;br&gt;*** Mode change &quot;+o khaos&quot; on channel #yapc by BinGOs&lt;br&gt;&amp;gt; YAPC is a wonderful thing but something isn't sitting right with me.&amp;nbsp; well, there's always something not sitting right with me.&amp;nbsp; and&lt;br&gt;+in this case, I think YAPC needs broaded horizons.&amp;nbsp; it's becoming too much of an echo chamber.&lt;br&gt;&amp;gt; and becoming too isolated.&lt;br&gt;&amp;gt; I should not be an example of someone doing something neat with Perl.&amp;nbsp; other people doing far more interesting things should be.&lt;br&gt;&amp;lt;khaos&amp;gt; Well at a YAPC around 50% of the attendees won't have been to one before&lt;br&gt;&amp;lt;Candybar&amp;gt; scrottie0: I would agree&lt;br&gt;&amp;lt;khaos&amp;gt; I'll have to wait for the survey responses to see what the stats are like for this one - but there were a lot of first time&lt;br&gt;+people there&lt;br&gt;&amp;lt;Candybar&amp;gt; but isn't that really what lighting talks are... people showing off cool things that end up being a talk later on&lt;br&gt;&amp;lt;khaos&amp;gt; Lightening talks are supposed to be that&lt;br&gt;&amp;gt; well, I wasn't refering to my lightning talk.&lt;br&gt;&amp;gt; but yes, lightning talks should be that.&lt;br&gt;&amp;gt; and various other things.&amp;nbsp; I was referring to the Vegas talk.&lt;br&gt;&amp;lt;khaos&amp;gt; but in the past few years they are become entertainment&lt;br&gt;&amp;lt;Candybar&amp;gt; ok here is what we have&lt;nobr&gt; &lt;wbr&gt;&lt;/nobr&gt;...&lt;br&gt;&amp;lt;Candybar&amp;gt; we have a lot of corporations that need to see that perl is still used in business&lt;br&gt;&amp;gt; dunno.&amp;nbsp; I say we get Rocky Horror and pants the newbies.&lt;br&gt;&amp;lt;Candybar&amp;gt; we have a lot of students that use perl in the OSU biology department&lt;br&gt;*** Signoff: stash (Quit: Leaving.)&lt;br&gt;&amp;lt;Candybar&amp;gt; so that is two big hitters&lt;br&gt;*** stash (~Adium@S0106001c100a7a61.vc.shawcable.net) has joined channel #yapc&lt;br&gt;&amp;lt;Candybar&amp;gt; so that is two big hitters&lt;br&gt;*** stash (~Adium@S0106001c100a7a61.vc.shawcable.net) has joined channel #yapc&lt;br&gt;&amp;gt; and you have attendees that want to be excited about Perl.&amp;nbsp; but maintaining huge piles of legacy code ain't that.&lt;br&gt;&amp;gt; actually I almost put in a talk for maintaining huge piles of legacy code... which seems to be the defining characteristic of Perl in&lt;br&gt;+a large company.&lt;br&gt;&amp;gt; &quot;How to Scale Your Big Ball of Mud Even Larger&quot; or something like that.&lt;br&gt;&amp;lt;Candybar&amp;gt; **Wave** I get to maintain a big old warm pile of stinky &quot;legacy code&quot;&lt;br&gt;&amp;lt;Candybar&amp;gt; my unofficial title is &quot;Perl Janitor&quot;&lt;br&gt;&amp;gt; virtually everywhere.&amp;nbsp; it's not that companies have something against perl itself... they've come to hate the codebases, specifically&lt;br&gt;+the difficulty in extending them, that are written in Perl&lt;br&gt;&amp;lt;Candybar&amp;gt; I get to help clean up everyone piles of warm &quot;code&quot;&lt;br&gt;&amp;gt; they can't separate &quot;rewrite&quot; from &quot;switch to &amp;lt;other language&amp;gt;&quot; in their head.&amp;nbsp; no one wants a rewrite, but everyone wants to switch&lt;br&gt;+to Java|Ruby|Python|whatever&lt;br&gt;&amp;lt;Candybar&amp;gt; Ok so I know that Oracle uses perl.&amp;nbsp; I know Veritas uses perl.&amp;nbsp; I know that SUN (now Oracle) uses perl&lt;br&gt;&amp;lt;Candybar&amp;gt; and I have sales contacts in each one that I am working&lt;br&gt;&amp;gt; well, don't just worry about catering to your sponsors -- cater to your audiance.&lt;br&gt;&amp;lt;Yaakov&amp;gt; Candybar: I expect great things in Columbus.&lt;br&gt;&amp;gt; in fact, the way you're presenting this to me now, I'm nervous about the whole thing.&lt;br&gt;&amp;gt; I don't mind in principle of YAPC gets commercialized up a bit one go but if the content isn't geared towards me or anyone I know, I&lt;br&gt;+lack incentive to go.&lt;br&gt;&amp;lt;Candybar&amp;gt; the Columbus.PM bid was all about &quot;involving&quot; corporations in perl&lt;br&gt;&amp;lt;Yaakov&amp;gt; scrottie0: Another selling point!&lt;br&gt;&amp;lt;Candybar&amp;gt; the TPF decided that this was the direction that they wanted to try and go&lt;br&gt;&amp;lt;khaos&amp;gt; the theme for YAPC::EU this year is &quot;Corporate Perl&quot;&lt;br&gt;&amp;lt;khaos&amp;gt; and their program looks fine to me - as it is a good mix of things&lt;br&gt;&amp;gt; again, you've said a lot about what you're doing for your sponsors but not a thing about what you're doing for the attendees.&amp;nbsp; is this&lt;br&gt;+a free conference, like InteropNetworld?&lt;br&gt;&amp;lt;Candybar&amp;gt; I am not planning on &quot;selling&quot; perl out to anyone&lt;br&gt;&amp;lt;Yaakov&amp;gt; Candybar: I was thinking &quot;Enterprise Perl&quot; is a good way to go.&lt;br&gt;&amp;lt;Yaakov&amp;gt; scrottie0: Don't make Candybar cry you bastard.&lt;br&gt;&amp;lt;Yaakov&amp;gt; scrottie0: He's working one side at a time.&lt;br&gt;&amp;lt;Candybar&amp;gt; Sorry my 18 month old just threw her cheerios at me...&amp;nbsp; Back for a sec...&lt;br&gt;&amp;lt;Yaakov&amp;gt; Heh.&lt;br&gt;&amp;lt;Yaakov&amp;gt; She is also afraid you are selling out!&lt;br&gt;&amp;lt;purl&amp;gt; okay, Yaakov.&lt;br&gt;&amp;lt;Candybar&amp;gt; The message that I get all of the time from my Corporation is that perl is dead and java is the word&lt;br&gt;&amp;lt;Candybar&amp;gt; yet&lt;br&gt;&amp;lt;Candybar&amp;gt; they continue to purchase vendor applications written in perl&lt;br&gt;&amp;lt;Yaakov&amp;gt; Perl is the hidden hero.&lt;br&gt;&amp;lt;Candybar&amp;gt; they continue to use perl but &quot;hide&quot; it&lt;br&gt;&amp;lt;Candybar&amp;gt; exactly&lt;br&gt;&amp;gt; what corporations think matters.&amp;nbsp; what corporations can offer YAPC matters.&amp;nbsp; but I want to hear it out of your flapping pie hole&lt;br&gt;+feeder appendages that the people going to this and paying money to do so matter too.&lt;br&gt;&amp;lt;Yaakov&amp;gt; scrottie0: We are waiting for you to leave before revealing thesexy details of the attendee &quot;special benefits&quot;.&lt;br&gt;&amp;lt;Candybar&amp;gt; here is what I don't want to do&lt;br&gt;&amp;lt;Candybar&amp;gt; I don't want to have T-Shirts that have Oracle or SUN spread all over them&lt;br&gt;&amp;gt; I don't care about that.&lt;br&gt;&amp;gt; the shirts already have sponsors on them.&lt;br&gt;&amp;lt;Candybar&amp;gt; I don't want to rename YAPC to Oracle World&lt;br&gt;&amp;gt; Java Mongers.&amp;nbsp; been there, done that.&lt;br&gt;&amp;lt;rGeoffrey&amp;gt; yippie, shirts that can be worn without extra advertising&lt;br&gt;&amp;gt; I hope youporn sponspors YAPC.&lt;br&gt;&amp;lt;Candybar&amp;gt; why not... lets ask em&lt;br&gt;&amp;lt;dngor&amp;gt; Has Mexico put in a bid for 2012?&lt;br&gt;&amp;lt;Yaakov&amp;gt; dngor: Amnesiac is an USAian now!&lt;br&gt;&amp;gt; Candybar, that's all tangent to what I was asking about -- yet again, do any of your plans revolve around bringing interesting content&lt;br&gt;+to the attendees?&amp;nbsp; or is this just Oracle's and Sun's job?&lt;br&gt;&amp;lt;rGeoffrey&amp;gt; 2012 should be extra special as we will never beyond the winter solstice that year&lt;br&gt;&amp;gt; your reasons listed for the two tracks you talked about had to do with the sponsor's wishes, not the betterment of the attendees.&lt;br&gt;&amp;gt; I wouldn't suppose that that's your only motive but you're not helping me dispel that myth either.&lt;br&gt;&amp;lt;Candybar&amp;gt; ok so I support over 300 perl programmers in my little corporation&lt;br&gt;&amp;lt;Candybar&amp;gt; I know tht this sounds crazy but I am their perl dude&lt;br&gt;&amp;lt;Candybar&amp;gt; I am planning this YAPC to cater to the corporation perl programmers in Columbus to get them excited about using perl more&lt;br&gt;&amp;lt;Candybar&amp;gt; the tracks are not set in stone but you might find the Bio Perl then more interesting&lt;br&gt;&amp;gt; okay, that's something.&amp;nbsp; but it still sounds to me a bit like a career fair, not a technical gathering.&lt;br&gt;&amp;lt;Candybar&amp;gt; actually it will be a career fair in a way&lt;br&gt;&amp;lt;Yaakov&amp;gt; People need jobs, a lot.&lt;br&gt;&amp;lt;Candybar&amp;gt; because I am working with the OSU office of student affairs&lt;br&gt;&amp;lt;Yaakov&amp;gt; It is currently very relevant.&lt;br&gt;&amp;lt;Candybar&amp;gt; and I want a perl class taught to seniors&lt;br&gt;&amp;lt;Candybar&amp;gt; with the understanding that right after graduation that they can attend and talk to recruiters&lt;br&gt;&amp;lt;Yaakov&amp;gt; yay!&lt;br&gt;&amp;lt;Yaakov&amp;gt; Candybar: Idea: One of the forks can be a &quot;Practical Perl&quot; fork.&lt;br&gt;&amp;lt;Candybar&amp;gt; that is interesting&lt;br&gt;&amp;lt;Yaakov&amp;gt; Enterprise Perl, Bio Perl, Practical Perl&lt;br&gt;&amp;lt;Candybar&amp;gt; because I already have a committment from my friend Mr Conway to come&lt;br&gt;&amp;gt; okay, so my Vegas talk shouldn't be an example of someone doing something exciting with Perl; doing maitenance with 299 other Perl&lt;br&gt;+programmers should be.&lt;br&gt;&amp;lt;Candybar&amp;gt; ok my kids are now screaming at me louder then scrottie0&lt;br&gt;&amp;lt;Candybar&amp;gt; I will be back sometime...&lt;br&gt;&amp;gt; give them icescream and a triple lattes and Mickey's for me.&lt;br&gt;&amp;lt;Candybar&amp;gt; take care and keep track of your thoughts&lt;br&gt;*** Signoff: Candybar (Quit: Leaving)&lt;/tt&gt;&lt;/p&gt;&lt;/div&gt; &lt;/blockquote&gt;</content>
    <category xmlns="http://www.w3.org/2005/Atom" term="journal"/>
    <published xmlns="http://www.w3.org/2005/Atom">2009-06-28T18:37:52Z</published>
    <updated xmlns="http://www.w3.org/2005/Atom">2009-06-28T18:37:52Z</updated>
    <author xmlns="http://www.w3.org/2005/Atom">
      <name xmlns="http://www.w3.org/2005/Atom">scrottie</name>
    </author>
    <id xmlns="http://www.w3.org/2005/Atom">tag:yapc.kasei.com,2006:http://use.perl.org/~scrottie/journal/39185?from=rss</id>
  </entry>
  <entry xmlns="http://www.w3.org/2005/Atom" xmlns:default="http://www.w3.org/1999/xhtml">
    <title xmlns="http://www.w3.org/2005/Atom">Perl in the Time of Social Networks delivered in Pittsburgh, PA</title>
    <link xmlns="http://www.w3.org/2005/Atom" rel="alternate" href="http://log.damog.net/2009/06/perl-in-the-time-of-social-networks-delivered-in-pittsburgh-pa/" type="text/html"/>
    <summary xmlns="http://www.w3.org/2005/Atom">I attended YAPC|10 during this past week. The overall experience was
quite particular, with ups and downs, but after all I made it back in one
piece. I rode a Greyhound bus on my crusade of saving a few bucks. I
always had issues with buses, when I was a child I used to go from Celaya
to Mexico ...</summary>
    <content xmlns="http://www.w3.org/2005/Atom" xmlns:default="http://www.w3.org/1999/xhtml" type="xhtml">
      <default:div xmlns="http://www.w3.org/1999/xhtml">I attended <default:b>YAPC</default:b>|10 during this past week. The overall experience was quite particular, with ups and downs, but after all I made it back in one piece. I rode a Greyhound bus on my crusade of saving a few bucks. I always had issues with buses, when I was a child I used to go from Celaya to Mexico <default:b>...</default:b> </default:div>
    </content>
    <published xmlns="http://www.w3.org/2005/Atom">2009-06-27T21:01:00-05:00</published>
    <updated xmlns="http://www.w3.org/2005/Atom">2009-06-27T21:01:00-05:00</updated>
    <author xmlns="http://www.w3.org/2005/Atom">
      <name xmlns="http://www.w3.org/2005/Atom">David Moreno</name>
    </author>
    <id xmlns="http://www.w3.org/2005/Atom">tag:yapc.kasei.com,2006:4e6a66e589a4223aab070e5a7d6c6824</id>
  </entry>
  <entry xmlns="http://www.w3.org/2005/Atom" xmlns:default="http://www.w3.org/1999/xhtml">
    <title xmlns="http://www.w3.org/2005/Atom">&lt;B&gt;YAPC&lt;/B&gt; aftermath: perl5 4lyfe</title>
    <link xmlns="http://www.w3.org/2005/Atom" rel="alternate" href="http://b.hatena.ne.jp/charsbar/20090628" type="text/html"/>
    <summary xmlns="http://www.w3.org/2005/Atom">&lt;B&gt;YAPC&lt;/B&gt; aftermath: perl5 4lyfe.  Well, &lt;B&gt;YAPC&lt;/B&gt;::NA was awesome as always. ... &lt;B&gt;YAPC&lt;/B&gt; aftermath: perl5 4lyfe.  Well, &lt;B&gt;YAPC&lt;/B&gt;::NA was awesome as always.</summary>
    <content xmlns="http://www.w3.org/2005/Atom" xmlns:default="http://www.w3.org/1999/xhtml" type="xhtml">
      <default:div xmlns="http://www.w3.org/1999/xhtml"><default:B>YAPC</default:B> aftermath: perl5 4lyfe.  Well, <default:B>YAPC</default:B>::NA was awesome as always. ... <default:B>YAPC</default:B> aftermath: perl5 4lyfe.  Well, <default:B>YAPC</default:B>::NA was awesome as always.</default:div>
    </content>
    <published xmlns="http://www.w3.org/2005/Atom">2009-06-28T10:42:00+09:00</published>
    <updated xmlns="http://www.w3.org/2005/Atom">2009-06-28T10:42:00+09:00</updated>
    <author xmlns="http://www.w3.org/2005/Atom">
      <name xmlns="http://www.w3.org/2005/Atom">nobody</name>
    </author>
    <id xmlns="http://www.w3.org/2005/Atom">tag:yapc.kasei.com,2006:http://b.hatena.ne.jp/charsbar/20090628</id>
  </entry>
  <entry xmlns="http://www.w3.org/2005/Atom" xmlns:default="http://www.w3.org/1999/xhtml">
    <title xmlns="http://www.w3.org/2005/Atom">Cool new-to-me stuff from the past few whiles</title>
    <link xmlns="http://www.w3.org/2005/Atom" rel="alternate" href="http://blog.hoopycat.com/index.php/2009/06/27/cool-new-to-me-stuff-from-the-past-few-w" type="text/html"/>
    <summary xmlns="http://www.w3.org/2005/Atom">... It's got plenty of features for the geek crowd, and is designed with
collaboration in mind. I'm still getting used to it, but I've already
moved my to-do list over with great rejoicing. Thanks to mikegrb for
attending YAPC and telling me about this. GitHub (github.com): I am not a
programmer. Well ...</summary>
    <content xmlns="http://www.w3.org/2005/Atom" xmlns:default="http://www.w3.org/1999/xhtml" type="xhtml">
      <default:div xmlns="http://www.w3.org/1999/xhtml"><default:b>...</default:b> It's got plenty of features for the geek crowd, and is designed with collaboration in mind. I'm still getting used to it, but I've already moved my to-do list over with great rejoicing. Thanks to mikegrb for attending <default:b>YAPC</default:b> and telling me about this. GitHub (github.com): I am not a programmer. Well <default:b>...</default:b> </default:div>
    </content>
    <published xmlns="http://www.w3.org/2005/Atom">2009-06-27T15:14:00-05:00</published>
    <updated xmlns="http://www.w3.org/2005/Atom">2009-06-27T15:14:00-05:00</updated>
    <author xmlns="http://www.w3.org/2005/Atom">
      <name xmlns="http://www.w3.org/2005/Atom">Ryan</name>
    </author>
    <id xmlns="http://www.w3.org/2005/Atom">tag:yapc.kasei.com,2006:a5fa66bfab100c9ab0515aded7eae631</id>
  </entry>
  <entry xmlns="http://www.w3.org/2005/Atom" xmlns:default="http://www.w3.org/1999/xhtml">
    <title xmlns="http://www.w3.org/2005/Atom">tmoertel: The finish line! My #yapc host duties are now complete ...</title>
    <link xmlns="http://www.w3.org/2005/Atom" rel="alternate" href="http://identi.ca/notice/5783817" type="text/html"/>
    <summary xmlns="http://www.w3.org/2005/Atom">The finish line! My #yapc host duties are now complete. Twas a blast, but
also a marathon: long days and little sleep. Now: martini time!</summary>
    <content xmlns="http://www.w3.org/2005/Atom" xmlns:default="http://www.w3.org/1999/xhtml" type="xhtml">
      <default:div xmlns="http://www.w3.org/1999/xhtml">The finish line! My #<default:b>yapc</default:b> host duties are now complete. Twas a blast, but also a marathon: long days and little sleep. Now: martini time!</default:div>
    </content>
    <published xmlns="http://www.w3.org/2005/Atom">2009-06-27T01:05:08Z</published>
    <updated xmlns="http://www.w3.org/2005/Atom">2009-06-27T01:05:08Z</updated>
    <author xmlns="http://www.w3.org/2005/Atom">
      <name xmlns="http://www.w3.org/2005/Atom">Tom Moertel</name>
    </author>
    <id xmlns="http://www.w3.org/2005/Atom">tag:yapc.kasei.com,2006:tag:identi.ca,2009-06-27:/notice/5783817/</id>
  </entry>
</feed>
