tag:blogger.com,1999:blog-19545473205177405792024-03-12T22:11:18.464-07:00Perlcast: Podcasting PerlUnknownnoreply@blogger.comBlogger123125tag:blogger.com,1999:blog-1954547320517740579.post-48416892674494134392010-07-12T16:00:00.000-07:002015-11-13T06:41:51.437-08:00Stevan Little on Moose<div class="post-body entry-content" id="post-body-4841689267449413439" itemprop="description articleBody" style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13.1999998092651px; line-height: 1.4; position: relative; width: 570px;">
Recently I talked with <a href="http://search.cpan.org/~stevan/" style="color: #888888; text-decoration: none;">Stevan Little</a> about the <a href="http://moose.perl.org/" style="color: #888888; text-decoration: none;">Moose</a> project. You can <a href="https://archive.org/download/Perlcast/Perlcast_Interview_050.mp3" style="color: #888888; text-decoration: none;">listen to the interview</a>, or, thanks to <a href="http://jobs.cpanel.net/" style="color: #888888; text-decoration: none;">cPanel</a>, you can read the transcript below.<br />
<div>
<strong><a class="headerlink" href="http://www.perlcast.com.com/audio/Perlcast_Interview_050.mp3" style="color: #888888; text-decoration: none;" title="Click for audio">Transcript</a></strong></div>
<br />
<blockquote class="speaker_1_text">
<cite class="speaker_1">Josh McAdams:</cite><br />
<br />
Welcome to Perlcast. This is your host, Josh McAdams. I'm here with an interview with Stevan Little, the creator of Moose.</blockquote>
<br />
<blockquote class="speaker_4_text">
<cite class="speaker_4">Heather Hendrix-McAdams:</cite><br />
<br />
The transcription of this show was underwritten by cPanel. cPanel is currently hiring talented Perl developers. To Find out more, visit <a href="http://jobs.cpanel.net/" style="color: #888888; text-decoration: none;">jobs.cpanel.net</a>.</blockquote>
<br />
<blockquote class="speaker_1_text">
<cite class="speaker_1">Josh:</cite><br />
<br />
Perlcast back finally, and I'm with Stevan Little. Stevan Little is the creator of Moose. Welcome to the show, Stevan.</blockquote>
<br />
<blockquote class="speaker_2_text">
<cite class="speaker_2">Stevan Little:</cite><br />
<br />
Thank you, Josh.<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh20eplDmtKaEfSbnkFm16oDRgsrwsdJZKupfoW8AZ3gwXSt03V5k9WS2_8MqwtvdAEoowsFnd1YdX5tcybJdliK_KnlduD08-ShytxW1TB4XdiGv3dOWssnLAb43LUPdYTF5omTwMSVavA/s1600/stevan_little.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh20eplDmtKaEfSbnkFm16oDRgsrwsdJZKupfoW8AZ3gwXSt03V5k9WS2_8MqwtvdAEoowsFnd1YdX5tcybJdliK_KnlduD08-ShytxW1TB4XdiGv3dOWssnLAb43LUPdYTF5omTwMSVavA/s1600/stevan_little.jpg" /></a></div>
</blockquote>
<br />
<blockquote class="speaker_3_text">
<cite class="speaker_3">Josh:</cite><br />
<br />
Thank you. Thank you for being on. I know most folks in the Perl community they at least know your name and they know you created Moose, but that might be all they really know. So can you tell us a little bit about yourself, maybe how long you've been programming Perl, where you work and why you got into open source code?</blockquote>
<br />
<blockquote class="speaker_4_text">
<cite class="speaker_4">Stevan:</cite><br />
<br />
OK. well, I've actually been in the web field since approximately 1998. But I actually was mostly a JavaScript programmer for many year. Then about 2002 I got hired on to Infinity Interactive, where I work now. And they basically hired me on to do Perl. So I've done Perl I guess about eight years now.</blockquote>
<br />
<blockquote class="speaker_3_text">
<cite class="speaker_3">Josh:</cite><br />
<br />
What got you into the open source stuff?</blockquote>
<br />
<blockquote class="speaker_4_text">
<cite class="speaker_4">Stevan:</cite><br />
<br />
Well, we're a small consultancy, and we pretty much wouldn't be able to do what we do if we didn't use open source. Perl and all the CPAN and Apache and things like that, it really allows us to build applications for reasonable prices for our clients.<br />
<br />
After a while using a lot of open source we decided we wanted to give back and I think I uploaded my first CPAN module in 2004 and after that I was addicted. It's a fun hobby.</blockquote>
<br />
<blockquote class="speaker_3_text">
<cite class="speaker_3">Josh:</cite><br />
<br />
Well, one CPAN module that you're very noted for is Moose, but before we get to that, what was your first CPAN module?</blockquote>
<br />
<blockquote class="speaker_4_text">
<cite class="speaker_4">Stevan:</cite><br />
<br />
It's a module called Tree::Simple. It was a n-ary tree and I used Caml Case and all sorts of stuff coming from the JavaScript world. I thought that was the way to go. It still works today. We actually still have it in a couple of our prod systems. But it was the first one, the first hit.</blockquote>
<br />
<blockquote class="speaker_3_text">
<cite class="speaker_3">Josh:</cite><br />
<br />
Nice. Nice. So we're here today to talk about Moose, and that is a very popular project now. But I have a feeling that some of our listeners have either possibly never heard of it or at least not know about what it is. Could you give us a little description of Moose?</blockquote>
<br />
<blockquote class="speaker_4_text">
<cite class="speaker_4">Stevan:</cite><br />
<br />
Sure. Moose is, we call it a post-modern object system. That's mostly sort of for fun. But essentially what it is, is it's an attempt to make Perl object-oriented programming a little bit more modern, to give you some features that you get for free in a language like Java or Python or Ruby. But bringing it into Perl, and we borrowed a lot from Perl 6, and we really try to keep the Perl-ish scaling at the core.<br />
<br />
So the real goal that is to make object-oriented programming less tedious, less of the DIY approach that is out there with a lot of the Perl OO.</blockquote>
<br />
<blockquote class="speaker_3_text">
<cite class="speaker_3">Josh:</cite><br />
<br />
Got you. And you called it a post-modern object system. That's kind of hinting that Perl had a modern object system at one time, which I think people would be shocked to call anything in Perl a modern object.</blockquote>
<br />
<blockquote class="speaker_4_text">
<cite class="speaker_4">Stevan:</cite><br />
<br />
Yeah. It's a bit of a joke. It makes reference more to -- Larry Wall had a great article. I believe it was in the Linux World, where he called Perl the first post-modern programming language. We took it from there. It's one of those things that people scratch their head at. It maybe at least gets them a little interested. So they say "What do you mean by post modern?"<br />
<br />
It really is modern, however you want to look at it.</blockquote>
<br />
<blockquote class="speaker_3_text">
<cite class="speaker_3">Josh:</cite><br />
<br />
So whenever you set out to write Moose, did you decide right then, OK, I'm going to write a more convenient objects mechanism in Perl, an object framework in Perl? Or did it just organically grow?</blockquote>
<br />
<blockquote class="speaker_4_text">
<cite class="speaker_4">Stevan:</cite><br />
<br />
It came out of the Pugs project, which is a project that in about 2005 started. It was Audrey Tang who was had decided that she wanted to implement Perl 6 in Haskell. So it was sort of a very fun project. Audrey coined the term "O-fun," optimized for fun.<br />
<br />
And lot of the goal of the project was to get some juice flowing back into the Perl 6 community and really get a working or a semi-working implementation so people could play with it.<br />
<br />
One of the things that I did in that project was to prototype the object system for Perl 6. I read over the Apocalypse 12, read up on a number of different object systems in different languages such as Smalltalk, CLOS, which is the Common Lisp Object System. Objective fees, objects run time, Ruby, Python, all those things. We were doing a lot of research at time and we tried to put a lot of that stuff, a lot of the good ideas, into the Perl 6 object system.<br />
<br />
And then basically as the Pugs project started to peter out, I found myself going back to my work code, which was your basic vanilla Perl 5.OO. And I really craved all the features that I had been prototyping.<br />
<br />
So months here and months there, I fiddled around and I finally came up with a module called Class::MOP which is basically the basis on which Moose sits. And so a couple months after Class::MOP, we released Moose and sort of got running from there.<br />
<br />
So it really came out of the desire to use a lot of concepts that I was seeing in Perl 6 and other languages that I was looking into. Even Java. W pulled a lot of stuff from Java as well, and C#. There's a lot of good ideas out there and we tried to really bring them all in there and keep the core kind of Perl-ishness that Larry had designed into the Perl 6 object system.</blockquote>
<br />
<blockquote class="speaker_3_text">
<cite class="speaker_3">Josh:</cite><br />
<br />
I don't want to put you on the spot too much because I didn't prep at all for this question. But you did say that you pulled a lot of the best things from different languages and one of the languages you mentioned was Java. I know Java's an object-oriented language and it does have some good features, but could you just give some example of possibly on of the good things that Java had that might have influenced Moose?</blockquote>
<br />
<blockquote class="speaker_4_text">
<cite class="speaker_4">Stevan:</cite><br />
<br />
I've heard Java called a manager-friendly language. On some level, people or managers or higher ups start think that the programmers are just replaceable, because there is this one right way to do it in Java, there's the right way and the wrong way.<br />
<br />
There's a consistency to that that. When you walked into a Java programming situation, there's a clear way to build your class attributes. There's a clear way to define methods. Object construction is very worked out. There's no mysteries there.<br />
<br />
Some of the things about the older school Perl OO, if you surf around CPAN a little bit and you start to look at some of the OO modules, you might see many different ways of building objects. Damian Conway's book was a great book, and it showed a ton of different ways to build different objects.<br />
<br />
And there's interesting aspects to that, but on some level, the consistency. Java does it a little bit too much, maybe too draconian about everything is consistent, but there's a value to that. The larger your project gets and the larger your team gets, the more important it is for the code to be readable across all the different developers and be consistent across all the different developers. Not so much because they are replaceable but more just so that everybody who can get on the same page be able to understand one another's code.<br />
<br />
Java is very strong in that direction, and actually that's some of what we were trying to do with Moose, too.</blockquote>
<br />
<blockquote class="speaker_3_text">
<cite class="speaker_3">Josh:</cite><br />
<br />
That's perfect, and that's an excellent segue into what I was going to ask you until I changed my mind on a question. And that was just to tell us a little bit about Moose. Because whenever I'm a Perl programmer and say don't have an object system other than just core Perl, I'm going to create a method probably called "new" maybe not, that I use as a constructor.<br />
<br />
I have to pick how I'm going to take arguments into that, whether it's a hash or an array or a scalar or some data structure, and return that. Every component is negotiable in building an object. So what are those standards that Moose does? What can a Moose developer expect to do?</blockquote>
<br />
<blockquote class="speaker_4_text">
<cite class="speaker_4">Stevan:</cite><br />
<br />
Well, in Moose, we provide a consistent way to define object attributes or class attributes, as everybody calls them. Basically, the slots in your object. On the deep core, we use a hash-based object system, but we provide a way to build metadata around the different attributes that you're going to have within your object.<br />
<br />
Then the constructor that Moose provides adds to that by making sure that you're checking all the attributes, make sure that they're pathed, if they're required attributes, that the requirements are satisfied. There is a convention for Moose to pass a name value to the constructor that is actually overridable if you want, but we use that as the base convention to start off of.<br />
<br />
Moose also provides what's called a build method, which is a way of initializing objects in certain orders. Every build method within your class hierarchy is called in the correct order, and then in the inverse, all the demolishment, which is essentially the Moose version of destroy, are called in the correct order as well. We sort of formalize and make consistent object construction, object destruction, and defining the slots in your objects.<br />
<br />
With the older Perl OO, good Perl OO programmers would have done this themselves. They would have had consistency there, modulate class accessor and things like that. They sort of pushed you in a good direction with that. But Moose provides a larger framework for that, so it's literally all there for you, and it's checked as well as it can be checked. But there actually is still some underlying freedom if you want to mess with it.</blockquote>
<br />
<blockquote class="speaker_3_text">
<cite class="speaker_3">Josh:</cite><br />
<br />
So you do have these defaults. You hinted a few times in the description of the framework that there are ways to bend Moose to do it what you want it to do, or even to extend that. I've peeked and seen the Moose X namespace. What are some of those hooks and the flexibility that you provide?</blockquote>
<br />
<blockquote class="speaker_4_text">
<cite class="speaker_4">Stevan:</cite><br />
<br />
This is something we stole from CLOS, the Common Lisp Object System. It's called the MOP, which is a meta-object protocol. Essentially, what a MOP is, is a formalization of the object system. It's a very low-level API that defines the object creation process and the class creation project.<br />
<br />
What we did, was we broke that up into several different - we call them sub-protocols. So we have a class protocols. You can actually sub-class the meta-class. It's a little confusing. Each class has an associated meta-class, which basically defines the guts of that class. You can actually sub-class or apply roles to that class. You can hook. You can get into the hooks during the class creation process.<br />
<br />
Additionally, there's an attribute sub-protocol, which when you define an attribute on a class, which then defines a slot that ends up in the object instance, there's a number of hooks in there. That's actually the most popular way to extend Moose, is to provide extra implements on the attributes.<br />
<br />
We also have a meta-protocol to find methods and to be able to hook into there. So a lot of where the extensions come from are the underlying object system itself has a number of hooks and a number of places where you can inject your code into there and during the class creation process, you can produce different results.<br />
<br />
One of the most popular ones moved into core last year. If you were to store, in one of your attributes, an array ref or a hash ref, basically a native Perl data structure, we allowed you to delegate to some of the built-in functions of Perl.<br />
<br />
So you can perform delegation just like you would with a normal object-to-object relationship. You can perform delegation with the underlying array ref or the underlying hash ref or the underlying code ref. It basically allows you to make a very declarative way to define an API to access some of the attributes that might have collection in the hash or in an array ref.<br />
<br />
Like I said, it was so popular that we basically decided to core it. Along with that - let's see, what's another good one?<br />
<br />
David Rolsky, who's one of the core developers, he added a way in which you can define class-level data, so class attributes. He extended the class-attribute protocol to basically allow you to put in class attributes. I'm blanking on the other ones.</blockquote>
<br />
<blockquote class="speaker_3_text">
<cite class="speaker_3">Josh:</cite><br />
<br />
No, no, that's perfectly fine. That's two very good examples. So that's a really good description of the framework, a really good description of ways to extend it. But you had actually mentioned earlier that there are other frameworks out there. Damian Conway has the inside-out objects framework that came out in his "Perl Best Practices" book. A lot of people heard of that. How does Moose compare to the other object systems that are available for Perl?</blockquote>
<br />
<blockquote class="speaker_4_text">
<cite class="speaker_4">Stevan:</cite><br />
<br />
I think a lot of where Moose differs is in the scope of what it was trying to do. If you look at the old standby, which is Class Accessor, which is a pretty popular framework, the majority of what that was attempting to do was to automate accessor generation. And it provided a very simple constructor that essentially collects whatever pass in. But it really didn't try to reach too much further than that.<br />
<br />
Some other things, like Class Method Maker, provided a lot more functionality but still is on some level I was an accessor generator.<br />
<br />
Inside-out stuff was essentially a very different approach, because it really tried to redefine the way Perl instances - the structure of them, the underlying structure of them. And there were a couple actually really nice modules that came out of that. I believe Class Inside-Out was one my favorites.<br />
<br />
Still, a lot of what if came down to was the accessor generation, which tried to build upon the existing Perl OO system. What Moose really tries to do is take that Perl OO system, define a formal structure around it, and extend it to build a whole API on top of it. So really to give you a real full, true dynamic object system underneath, which really extends much beyond accessor generation.<br />
<br />
We also have a things called type constraints, which are basically little snippets of code that do validation. You can attach them to your attributes. There are a couple of models out there that allow you to use them when checking your method parameters, things like that. That was something we added on that most of the other object systems don't have.<br />
<br />
The whole concept of the meta-object protocol, meta-classes, and the attribute meta- objects, all that of underlying a deep voodoo, if you will. It's sort of a little different scope and a very different approach to essentially, on some level, trying to both do the same thing which is make the tedium of the Perl DIY OO system, make it a little bit easier, make tools a bit faster, just a little bit less tedious.</blockquote>
<br />
<blockquote class="speaker_3_text">
<cite class="speaker_3">Josh:</cite><br />
<br />
Right and there tedium to other languages OO systems. I write a lot of Java code nowadays, I'll shamefully admit. And writing the getters and setters for that is an exercise in pain, for sure.<br />
<br />
You did mention the ability to validate the arguments brought into methods. It sounds similar to almost static typing language but it also seems a lot more than that really, I guess, Because you can do more than just make sure that it's a number. You can do any kind of validation that you want. Is that...</blockquote>
<br />
<blockquote class="speaker_4_text">
<cite class="speaker_4">Stevan:</cite><br />
<br />
Yeah, what we tried to do is we tried loosely model the "type" system that is sort of core Perl 5. It is to some degree based on a lot of the type system work that was done on the Perl 6 project, as well.<br />
<br />
It's not a true type system in the sense, like your Haskell or OCaml or something like that. And certainly we can't statically check at compile time. But it's a way to inject these little checks into a method validation or method arguing validation, attribute validation which, will then also check with the constructor.<br />
<br />
There's a lot of other modules out there on CPAN that do these kinds of things that do constraint checking and do validation support. We tried to push it into the object system itself.<br />
<br />
It makes it almost like a type language, but we're not a draconian as a true Java or C#, because we're not checking it with a compiler so strictly. And you have mild flexibility with Moose to define your own subtext of existing types and add to the system as much as you want, as well.<br />
<br />
Which you can't do - well, you can do that in Java and C# by actually adding additional classes, but we have a bit more freedom than that.</blockquote>
<br />
<blockquote class="speaker_3_text">
<cite class="speaker_3">Josh:</cite><br />
<br />
Got you. And so one of the questions I was going to ask about Moose being a heavyweight system and things like that but it sounds like on the actual writing of code aspect of it that Moose is going to make your programs much more succinct and get rid of a lot of the boilerplate. Is that a true statement?</blockquote>
<br />
<blockquote class="speaker_4_text">
<cite class="speaker_4">Stevan:</cite><br />
<br />
Yeah. I would say that's a true statement. At work we started Moosifying, we call it, some of our older systems fairly early on, obviously. I wrote it, so I trusted it. So we started doing that and to some degree with an older code base, a fair amount of the Moosification is actually deletion of code. So those hand-written accessors, those hand-written constructors, hand-written validation, things like that that stuff starts go away when you Moosify more and more.<br />
<br />
I think it's safe to say that Moose code in the end ends up more succinct. It's declarative, and declarative code just by its very nature tends to be shorter than more explicit code.</blockquote>
<br />
<blockquote class="speaker_3_text">
<cite class="speaker_3">Josh:</cite><br />
<br />
Yep. And so you mentioned that you went and Moosified older code. So you can have regular Perl objects, Inside-Out objects and Moose objects all working in the same ecosystem. It's not going to be a big deal to mix those, right?</blockquote>
<br />
<blockquote class="speaker_4_text">
<cite class="speaker_4">Stevan:</cite><br />
<br />
Right. That was one of the core requirements for Moose when we started building it and that was really to make sure that it played as well as possible with both existing Perl OO systems that are out there, like the Inside Out system, and to also make sure it played well with very popular modules that were out there.<br />
<br />
If you couldn't still use all the CPAN with Moose, you would lose a lot of its value. And you can think of it as incrementally drinking the kool-aid. I actually have code bases that have been around since before the days of Moose and some of the early code bases that I Moosified that are still only partially Moosified.<br />
<br />
We only went as far as we really needed to. Some of the deeper layers of these systems really didn't need to be changed. It stayed the same. And as long as we could still extend them with Moose and we could still delete to them all those kind of things like that.<br />
<br />
It's a very important thing for me and for the core of Moose to basically not to alienate all the thousands and millions lines of code that are out there in CPAN, and that's one of Perls' greatest assets.</blockquote>
<br />
<blockquote class="speaker_3_text">
<cite class="speaker_3">Josh:</cite><br />
<br />
So when would be a good idea to use Moose? Is there ever a reason? If you are using Moose and you are committed and you believe it is a good tool to use, is there ever a need to use an old Perl object that's hashed and said, or is Moose pretty much just a full replacement?</blockquote>
<br />
<blockquote class="speaker_4_text">
<cite class="speaker_4">Stevan:</cite><br />
<br />
Well, Moose does have a startup time penalty. A lot of that is for the initialization of the object system and each class define. As you define a class it will create a meta-class and the meta-class will have the attribute meta-object. You'll have all these objects that are created at, not quite compile time, but right after compile time.<br />
<br />
So there is a startup overhead associated with that, and then also obviously we're creating these objects so there's memory in the CPU involved, as well. When you are in a restricted environment -- which hardware is pretty cheap these days. People still have business requirements that require them to work on smaller hardware and with less CPU and in memory. You know, in those situations Moose is really appropriate and that's really where the requirements dictate that you really need to keep it slim.<br />
<br />
A perfect example actually is the Plack project that Miyagawa is working on. If that project used Moose, it would restrict the adoption of it. The project is an attempt to sort of define a consistent and clean interface between web servers and web applications, which means you have to not only work in Perl but PSGI and also in vanilla CGI and also in a number of potentially weird and interesting environments. It makes more sense for Plack to stick with the slim DIY OO system at its core and therefore be able to use in both places.<br />
<br />
So there's reasons to go back and forth. But generally, it comes down to can you bear the compile time startup and can you bear the extra CPU and memory, essentially. And even with that we have a system module to Moose which is called Mouse. And it's actually has been adopted by a number of the Japanese Perl hackers. They've essentially taken it and running with it.<br />
<br />
That is essentially it's a pared down version of Moose that doesn't provide all the underlying meta-framework, and really just has the sugar layer and gives the illusion of Moose. So there's a fair amount of features but with much less of the startup.<br />
<br />
It does pin on Excess, which of course in some cases that's not possible, too, but that's an alternative for part of your system. If part of your system needs to live in one of these restricted environments, then Mouse is a possibility.</blockquote>
<br />
<blockquote class="speaker_3_text">
<cite class="speaker_3">Josh:</cite><br />
<br />
So as far as maybe strategies -- I guess to rephrase the question that I have in my head. Are you guys trying to work to make that startup time of Moose faster? Or is it like, just go with Mouse, or go with the other object systems instead, because you're always going to have to pay the penalty of this startup.</blockquote>
<br />
<blockquote class="speaker_4_text">
<cite class="speaker_4">Stevan:</cite><br />
<br />
Well we've been working on this. It's been a long backburner project for a number of core developers. A lot of what it comes down to is, once you decide that you need a lot of the dynamicism that Moose provides, you have to load things.<br />
<br />
Some of the different solutions have worked to try and be a little bit more lazy about when it creates meta-objects. Which like I said are memory hogs and involves CPU usage. Some people have tried by caching them, or different things like that.<br />
<br />
So we're working on a number of different solutions. But in general one of the things that we've always done from the very beginning with the Moose project is, we optimize first for correctness. We really try to avoid premature optimization.<br />
<br />
So we optimize for correctness first and for speed afterwards. And actually if you look over the course of the years that Moose has been there, we actually graphed out memory usage and startup time at one point, and we've actually stayed reasonably steady for maybe the last year and a half or so. But we've consistently added features.<br />
<br />
So we're always trying to keep it under control and not let it get too crazy. One of the things that's helped us for instance, reducing 5.08 and 5.10. In 5.10, Perl 5.10, they added the MRO, which is the Method Resolution Order. That was something that we beforehand were doing in pure Perl, and then in 5.10 made it's way into core.<br />
<br />
So that was a fairly significant speed-up and reduction of some overhead. Because some of that stuff was going into core. I know there's a proposal out there to put a class G word into Perl. That might get us some underlying cooks in the interpreter. So there's a number of possibilities out there. We'll make sure, exploring all of them.<br />
<br />
Like I said, we're optimizing to make it work. To make it work correct first. And we'll get to the speed later. We're hoping that Moore's Law will catch up, and we'll have a break.<br />
<br />
[laughter]</blockquote>
<br />
<blockquote class="speaker_3_text">
<cite class="speaker_3">Josh:</cite><br />
<br />
That's good. And that addresses one of the criticisms I've heard of Moose, is the startup time. And another I've heard, but I hear it about every big Perl project, is that it installs half of CPAN. And I don't know how many dependencies Moose actually has. Is that true?<br />
<br />
And I've actually even heard somebody at YAPC this year say that they were always happy when something installed a lot of CPAN, because that meant that there was a lot of good code reuse going on. So what's your take on that?</blockquote>
<br />
<blockquote class="speaker_4_text">
<cite class="speaker_4">Stevan:</cite><br />
<br />
Well I actually looked on -- you can click on it through CPAN. There's a dependencies link on search.cpan. And I calculated it. And it's about completely all the way out to the very end, so dependencies of dependencies of dependencies.<br />
<br />
Moose actually has only 14 dependencies. This is working off of Pro five PAN. Though we do depend upon -- there are other modules listed there but they're actually test more, test exception, and all the modules that they depend upon.<br />
<br />
And I believe there's also class C3, is a dependency. But it's not a dependency in 5.10. So in a reasonably modern situation of Perl 5.10 or above, it's only about 14 dependencies.<br />
<br />
Now that's not to say that it can't be a pain to install Moose. I've actually run into issues with it myself, in setting up new prod servers for work. We've run into situations where we have older Perls that don't have updated test modules. And when you install Moose, if that has to install and test more, and that has to install a new test exception and all their dependencies, that can actually get to be a pretty good sized dependency chain.<br />
<br />
And I've had that take upwards of a half hour sometimes, for everything to come in and be installed, and everything like that. So it's actually like you said, it's updating a lot of core things.<br />
<br />
If you were to look at sheer number of modules that depend upon test more. Or modules that test exception on CPAN, there's a really good chance that if you're not working with a fresh installed Perl, you'll actually have the latest version of that. Because just about everybody depends on it, on some level or another.<br />
<br />
So the reality is that Moose actually has very few dependencies. And actually, if you look at the ones that are there, a fair number of them are actually -- what's the best way to explain this? They're sort of workarounds for weirdness in the core language.<br />
<br />
So for instance, we have the Try::Tiny module as a dependency. Which is an excellent module. It cleans up exception handling and handles the $@ symbol and makes sure it's properly localized and you never lose an exception that's in there. So we bucket into core Moose just to make sure there are exception handling that's consistent throughout.<br />
<br />
There's also another module called Devel::GlobalDestruction, Which is a very simple module. All it does is give you a flag that tells you that Perl is in the global destruction phase. So when Perl interpreter is quitting, and it goes to destroy all live objects. That's a very different time than when it's destroying it on scope exit. So we have a module and that sort of handles that. That's a very small dependency in the grand scheme of things.</blockquote>
<br />
<blockquote class="speaker_3_text">
<cite class="speaker_3">Josh:</cite><br />
<br />
A few questions ago, you had mentioned Dave Rolsky as being one of the contributors that created a module that eventually got moved into the core. So I'm guessing you don't work in isolation on Moose. Who all works on the project? And what are the roles there?</blockquote>
<br />
<blockquote class="speaker_4_text">
<cite class="speaker_4">Stevan:</cite><br />
<br />
We've actually got a fairly good core team. We've attracted people over the years. Dave Rolsky is one. He's known for the Date Times project. He's actually done a fair amount of core refactoring. I think that he's actually, if you look at the "get blame" output. He's second only to me, in terms of the number of core lines.<br />
<br />
He actually also got the TPF, the Perl foundation grant to write the docs, which was a huge, huge thing. Because I'm not a very grant foundation writer.<br />
<br />
We also have Shawn Moore. He works at Best Practical, the creators of RFP. He's done a lot of core work and a lot of work around roles and really improving the role system. Ricardo Signes, of the Email::* fame. I think he's pretty much maintained the entire namespace. He's also a recent pumpking. He's a contributor of a number of features. He helps guide the ideas.<br />
<br />
Hans Dieter Pearcey, he's also a core member. He's involved pretty much -- I think he's got his fingers in about every Perl project out there. He was one of the people who helped core that module that I was talking about.<br />
<br />
Jesse Luehrs, who actually works with me at Infinity Interactive. He's actually been doing a lot of deep core hacking lately, fixing parts of the object system that you will hopefully never see but need to work right.<br />
<br />
Florian Ragwitz is also a member of the team. He's also a Catalyst core developer and he maintains the MooseX::Declare module, which is a very sugary version of Moose that uses the development declare module. He's also been doing a lot of our releases lately.<br />
<br />
Chris Prather who's actually been around since the very early days of Moose and he's contributed a number of Moose six modules and a number of ideas and he's just sort of been there from the very beginning.</blockquote>
<br />
<blockquote class="speaker_3_text">
<cite class="speaker_3">Josh:</cite><br />
<br />
And he is insane. He has also volunteered to do a workshop and a YAPC, to be the host. Yeah. [laughs]</blockquote>
<br />
<blockquote class="speaker_4_text">
<cite class="speaker_4">Stevan:</cite><br />
<br />
He runs the Perl Oasis, which is the Orlando Perl workshop which is a great workshop. It's in January in Orlando. It's a perfect time to go to Orlando. And if you live in the north like you and I, it's perfect time to get out of the snow.</blockquote>
<br />
<blockquote class="speaker_3_text">
<cite class="speaker_3">Josh:</cite><br />
<br />
Absolutely.</blockquote>
<br />
<blockquote class="speaker_4_text">
<cite class="speaker_4">Stevan:</cite><br />
<br />
But yes, he's actually a very prolific community member. And lastly, no, two more people. There's Yuval Kogman. He's also involved in just about everything out there. He's actually been involved with Moose since the early days of Pugs, so the incubation period. If you have an issue with an object system named Loose, then Yuval is the person to talk to because it was his idea to call it that.<br />
<br />
And then lastly Matt Trout. I don't know if Matt contributed much code but he's been a voting member of the Moose cabal since 1.0. He was very early adopter and shaped a lot of these early direction of the design of Moose and the core ideas that were in it.<br />
<br />
These guys were the core contributors, but we also have a lot of other contributors. They're all listed in the pod documentation. I can't think of everybody offhand, but Moose has kind of grown community projects.<br />
<br />
This is something I'm very proud of. I haven't really contributed more than a couple lines of code in the last six months or so. Because the other members of the cabal and the community at large has run with it. So it's grown beyond me, which I am very proud of and become a real community driven project.</blockquote>
<br />
<blockquote class="speaker_3_text">
<cite class="speaker_3">Josh:</cite><br />
<br />
That's excellent. It's always great to get a community together and that's a huge, I mean, just the core developers you mentioned there, that's an impressive group of people and the greater community at large. Whenever you said that you haven't written or have written very few lines of code in the last six months for it. Actually I notice it's not even under your name in CPAN anymore. Jesse Luehrs?</blockquote>
<br />
<blockquote class="speaker_4_text">
<cite class="speaker_4">Stevan:</cite><br />
<br />
Yes. Well, all the members of the core team, we all have co-maintenance status through CPAN. Dave Rolsky released probably a good 20 or 30, probably more than that, 40 versions of it. Florian Ragwitz has been doing some lately. And Jesse is the last one last one holding the hot potato, I guess, for the last release cycle.</blockquote>
<br />
<blockquote class="speaker_3_text">
<cite class="speaker_3">Josh:</cite><br />
<br />
It's great that a project is supported by that many people. It's really good and that does kind of lead into the question I was going to ask you. With that many people there has to be new features and work going on constantly with it. What do you guys have planned?</blockquote>
<br />
<blockquote class="speaker_4_text">
<cite class="speaker_4">Stevan:</cite><br />
<br />
Actually, we're sort of stabilizing at this point. I always wanted to make sure that the Moose feature set was -- I didn't want it to have "feature-itis." I didn't want it to start doing things that really was out of the scope, out of the realm of responsibility.<br />
<br />
So we've always tried to keep a fairly good hold on the core features, and really allowed the MooseX extension name space to be where not only where people can add features that we don't feel fit in the core, but also we can prototype features.<br />
<br />
So good ideas, we usually encourage the person with the good idea to actually write a MooseX module and to extend the core with MooseX first, and then if there's enough adoption and if it proves itself really well, then we bring it back into the core. We've only really got this one module at this point but we are talking about a couple other ones that are out there and bringing them back.<br />
<br />
One of the key things, Moose is not like your normal CPAN module, where's it's really just sort of an API or an abstraction around a concept. It's really sort of a language extension.<br />
<br />
So designing Moose is not entirely unlike designing a programming language. I learned a lot watching Larry and Audrey working on the Perl 6 project. Really tried to get a lot of the good ideas that Larry has had over the years and keeping that spirit of Perl-ishness at its core. But also we want to make sure that it's consistent. It's internally consistent with itself and the features all fit in there nice and snuggly.<br />
<br />
Like I said, if you want extra stuff there's always MooseX. There's plenty of modules out there already and there is so many different ways that you can hook into that core that if you really want a very customized version of Moose, it's quite possible to do that.</blockquote>
<br />
<blockquote class="speaker_3_text">
<cite class="speaker_3">Josh:</cite><br />
<br />
That's all the questions I have. It'll probably be a good idea to let people know where to go to get started if they wanted to learn about Mouse. The places I know are the Moose Manual on CPAN, and then I think if you just search for Moose on the Infinity Interactive site. Did you want to fill us in on more?</blockquote>
<br />
<blockquote class="speaker_4_text">
<cite class="speaker_4">Stevan:</cite><br />
<br />
Yes, we have the <a href="http://moose.perl.org/" style="color: #888888; text-decoration: none;">Moose.Perl.org</a> domain. So that's essentially a site that collects links. We have links to be number of articles that people have written and blog posts people have written about Moose. We try to keep a lot of the presentations people have given at various conferences about Moose, which are always a good way to learn. And then again, Dave's excellent Moose Manual that he wrote is an excellent place to go.<br />
<br />
We actually were, what we did, Dave did a Moose workshop at YAPC this year and we're actually talking with the Pittsburgh workshop guys about possibly doing another workshop there, a Inter-Moose that Dave Rolsky does. And then Shawn Moore and Jesse Luehrs are thinking about doing an advanced Moose version there. If you can come up to the conferences and the workshops we try and do a lot of stuff there, as well.<br />
<br />
And again, the manual. I can't really stress enough. The manual is great. We openly encourage contributions for that, where people want to help improve on that. The IRC channel has Moose on <a href="http://irc.perl.org/" style="color: #888888; text-decoration: none;">IRC.Perl.org</a>. There's also great place. And the mailing list. The mailing list has been getting a lot of traffic lately, which I'm very happy about because that means we have a lot of indexed content in there.<br />
<br />
And most of the core people and lot of the just outside of core people who also do a lot of contributing. They're all on the IRC channel and all on the mailing list. We try and we back overflow and for months. There's a couple people who keep on those two channels as well. Make people's questions are answered there.</blockquote>
<br />
<blockquote class="speaker_3_text">
<cite class="speaker_3">Josh:</cite><br />
<br />
Great. Well, Stevan, thank you very, very much for agreeing to the interview and thanks to the Infinity Interactive for letting you release Moose.</blockquote>
<br />
<blockquote class="speaker_4_text">
<cite class="speaker_4">Stevan:</cite><br />
<br />
Thanks for doing the Perlcast and thanks for getting it back.</blockquote>
<br />
<blockquote class="speaker_3_text">
<cite class="speaker_3">Josh:</cite><br />
<br />
I'm excited.</blockquote>
<br />
<blockquote class="speaker_4_text">
<cite class="speaker_4">Stevan:</cite><br />
<br />
Thank you and congratulations on your new baby, as well.</blockquote>
<br />
<blockquote class="speaker_3_text">
<cite class="speaker_3">Josh:</cite><br />
<br />
Yeah, and she probably was crying in the background at one. I have headphones on so I don't know if she was or not. If any of the listeners heard crying, it was Clara.</blockquote>
<br />
<blockquote class="speaker_4_text">
<cite class="speaker_4">Heather:</cite><br />
<br />
We'd once again like to thank our transcription underwriter, cPanel. cPanel is currently hiring talented Perl developers. To Find out more, visit <a href="http://jobs.cpanel.net/" style="color: #888888; text-decoration: none;">jobs.cpanel.net</a>.</blockquote>
<div style="clear: both;">
</div>
</div>
<div class="post-footer" style="background-color: #f9f9f9; border-bottom-color: rgb(238, 238, 238); border-bottom-style: solid; border-bottom-width: 1px; color: #666666; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 10.8000001907349px; line-height: 1.6; margin: 20px -2px 0px; padding: 5px 10px;">
</div>
Unknownnoreply@blogger.comtag:blogger.com,1999:blog-1954547320517740579.post-84742037002637627082010-07-12T03:31:00.000-07:002015-10-28T06:52:18.742-07:00Let's Brag<a href="http://search.cpan.org/~chromatic/">chromatic</a> recently talked about the <a href="http://www.modernperlbooks.com/mt/2010/07/the-urge-to-brag.html">Urge to Brag</a> and I don’t want to let that challenge go without offering up Perlcast as a platform for those with something to brag about in the Perl community. Please don’t hesitate to contact perlcast at gmail to let us know what cool things you are doing with Perl. Perlcast will profile some of the best braggers on the show.<br/><br/>Also, don’t miss the interview with <a href="http://search.cpan.org/dist/Moose/">Moose’s</a> <a href="http://search.cpan.org/~stevan/">Stevan Little</a> coming out soon!Unknownnoreply@blogger.comtag:blogger.com,1999:blog-1954547320517740579.post-16600378391791283942010-05-31T17:34:00.000-07:002015-10-28T06:52:18.699-07:00Ready for more Perlcast?I don't know about you, but to me it seems like it has been way too long since the last Perlcast was published. Let's change that!<br/><br/>If you have a Perl-related project that you think would be interesting to the community and would like to be interviewed for Perlcast, please email perlcast at gmail dot com and let us know.Unknownnoreply@blogger.comtag:blogger.com,1999:blog-1954547320517740579.post-79495796402991851692009-05-11T00:04:00.000-07:002015-11-13T06:25:33.054-08:00Jeff Thalhammer's Perl::Critic Update<a href="http://search.cpan.org/~thaljef/">Jeff Thalhammer</a> spent some time talking to Perlcast about what's new in the world of <a href="http://perlcritic.com/">Perl::Critic</a>. I hope that you enjoy <a href="https://archive.org/download/Perlcast/Perlcast_Interview_049.mp3">the show</a>.Unknownnoreply@blogger.comtag:blogger.com,1999:blog-1954547320517740579.post-42565166893599205252009-03-24T01:43:00.000-07:002015-11-13T06:26:21.850-08:00Michel Rodriguez on XML::TwigBack at OSCON 2008, Michel Rodriguez, the creator and maintainer of <a href="http://xmltwig.com/">XML::Twig</a> sat down with me and <a href="https://archive.org/download/Perlcast/Perlcast_Interview_048.mp3">talked a little about this powerful XML toolkit for Perl</a>.Unknownnoreply@blogger.comtag:blogger.com,1999:blog-1954547320517740579.post-29029035693644192312009-03-08T20:11:00.000-07:002015-11-13T06:27:01.311-08:00Fear and Loathing in PerlHello and welcome back to Perlcast. After a long break, we are back and are cleaning out the archives and publishing some shows that should have been released long ago. To kick things off, we have brian d foy talking about "<a href="https://archive.org/download/Perlcast/Perlcast_Presentation_006.mp3">Fear and Loathing in Perl</a>" where he takes us through a humorous journey though a day, one where you just can't say no.Unknownnoreply@blogger.comtag:blogger.com,1999:blog-1954547320517740579.post-85174175311148580102008-06-17T02:56:00.000-07:002015-10-28T06:52:18.596-07:00Larry on ebayThis isn't necessarily a Perlcast-specific post, but <a href="http://tinyurl.com/5wn8fy">a unique Larry Wall action figure</a> has made its way onto ebay. Just thought I'd point it out to a larger audience than those at <a href="http://yapc.org/America">YAPC::NA</a>. We had these made back in 2006 for the conference. Less than five were built before the mold broke, so this is an 'almost' one-of-a-kind.Unknownnoreply@blogger.comtag:blogger.com,1999:blog-1954547320517740579.post-25589779012373717892008-06-03T03:52:00.000-07:002015-11-13T06:27:48.012-08:00Jeff Horwitz on mod_parrotWow, six months really? Okay, so maybe not that long, but Perlcast has definitely been podfading and that's just not acceptable. Let's start to fix that with an <a href="https://archive.org/download/Perlcast/Perlcast_Interview_047.mp3">interview</a> with <a href="http://smashing.org">Jeff Horwitz</a> about <a href="http://www.perlfoundation.org/parrot/index.cgi?mod_parrot">mod_parrot</a>, the last Apache module you'll ever need. Enjoy!Unknownnoreply@blogger.comtag:blogger.com,1999:blog-1954547320517740579.post-63675148496478833022008-01-26T21:54:00.000-08:002015-11-13T06:28:59.390-08:00Tom Limoncelli Interview TranscribedI'd like to thank Shlomi Fish for taking the time to <a href="http://perl.net.au/wiki/Perlcast_Transcript_-_Interview_with_Tom_Limoncelli">transcribe</a> the <a href="https://archive.org/download/Perlcast/Perlcast_Interview_021_Limoncelli.mp3">Perlcast interview</a> with Tom Limoncelli about "Time Management For System Administrators"Unknownnoreply@blogger.comtag:blogger.com,1999:blog-1954547320517740579.post-36264896856885364202008-01-19T20:32:00.000-08:002015-11-13T06:30:27.018-08:00Logic Programming with OvidBack at the Nordic Perl Workshop 2007, I sat down with Ovid to talk about logic programming. Here is the audio for that interview.<br/><br/><ul><br/> <li><a href="https://archive.org/download/Perlcast/Perlcast_Interview_046.mp3">Interview Audio</a></li><br/></ul>Unknownnoreply@blogger.comtag:blogger.com,1999:blog-1954547320517740579.post-88032195929430956932008-01-05T15:45:00.000-08:002015-11-13T06:31:21.629-08:00mod_perlHappy New Year and welcome back to Perlcast. Though 2007 ended with a very light lineup of shows, we here at Perlcast are excited about what 2008 has to offer. There are plans for more interviews, more presentations, and possibly even some videos and video tutorials about Perl.<br/><br/>Anyway, let's get back to the podcast. Way back at OSCON 2006, I sat down with Stas Bekman and Philippe M. Chiasson to talk about mod_perl. Though quite a bit of time has passed since the show was recorded, there is still a lot of good mod_perl related information in the show. I hope that you enjoy it.<br/><br/><ul><br/><li><a href="https://archive.org/download/Perlcast/Perlcast_Interview_045.mp3">Interview Audio</a></li><br/><li><a href="http://perl.apache.org/">mod_perl</a></li><br/></ul>Unknownnoreply@blogger.comtag:blogger.com,1999:blog-1954547320517740579.post-28498527373320793862007-11-20T02:39:00.000-08:002015-10-28T06:52:18.486-07:00Chicago Perl Hack-A-Thon 2007Perl Mongers in Chicago are hosting a hackathon on the weekend of December 14-16 (all day Fri-Sun). It's open-ended, so bring whatever project you want to work on and get some other people to help you out! It's a great way to spend some quality time with both your favorite Perl projects and your fellow Perl Mongers :)<br/><br/>The event is of course free, and it will be on the second floor of the <a href="http://www.hichicago.org/">J.Ira & Nicki Harris Family Hostel</a>. Food will be provided :) Finally, if you're coming in from out of town, we've reserved rooms at the hostel for $115 (Thursday-Sunday). <a href="http://www.theperlreview.com/cgi-bin/events.cgi?action=show_form;event_id=hackathon2007">Pay for your room through The Perl Review</a>.<br/>Contact Jonathan Rockway (jon at jrock dot us) or Josh McAdams (joshua dot mcadams at gmail dot com) for any questions.Unknownnoreply@blogger.comtag:blogger.com,1999:blog-1954547320517740579.post-21546657506177729652007-09-29T03:35:00.000-07:002015-11-13T06:32:06.251-08:00Making My Own CPANbrian d foy presents on <a href="https://archive.org/download/Perlcast/Perlcast_Presentation_005.mp3">Making My Own CPAN</a>.Unknownnoreply@blogger.comtag:blogger.com,1999:blog-1954547320517740579.post-13381389054074316722007-09-14T02:14:00.000-07:002015-11-13T06:33:00.582-08:00Perl News 13 Sep 2007<a href="https://archive.org/download/Perlcast/perlnews-2007-09-13.mp3">Interview Audio</a><br/><br/>Welcome to Perlcast. This is your host, Randal Schwartz with another round of Perl news.<br/><br/>Let's kick things off with a little conference and workshop news.<br/><br/>YAPC::Europe 2007 has released some conference videos on YouTube under the tag 'yapceu07'. There are only a few videos posted right now, but expect more to follow.<br/><br/>Of course, YAPC::Europe 2007 isn't the only YAPC to release videos recently. YAPC::Europe 2002 have posted videos from the Munich conference on YouTube under the tag 'yapceu02'. Of course, the 2002 organizers have a pretty good excuse for just now posting their videos... the conference was held three years before the existence of YouTube!<br/><br/>Since we are on the topic of videos, I might as well mention that the London.pm Teach-In videos can now be found on Blip.tv at jtweed.blip.tv. There are videos for each of the four sessions available. Be warned that the audio on the last session cuts out near the end due to technical difficulties at the teach-in.<br/><br/>Enough about past events, let's move on to what is on the horizon.<br/><br/>First a reminder that the Pittsburgh Perl Workshop is just around the corner. The workshop will be held on October 13-14, 2007 at the University Center on Carnegie Mellon University's Oakland campus. And, don't forget that in addition to the workshop, there will be a "From Zero To Perl," a special course for programmers new to the Perl programming language. There is an additional registration fee of $65 to take this course. Please select either the "Regular + From Zero To Perl" or "Student + From Zero To Perl" options when registering. Seating in this course is limited so register today before it's too late! <br/><br/>Next, for those brave souls with thick coats, the Minneapolis Perl Mongers have announced a one-day Perl workshop to be held on February 16th, 2008. The workshop is appropriately named Frozen Perl and will be an all-day workshop held at the University of Minnesota. More information can be found at frozen-perl.org, as well as, a link the Frozen Perl's call for speakers. The theme of the workshop is "Perl in Practice". If you want to take a shot at being a speaker, submit your abstract soon.<br/><br/>In YAPC news, Copenhagen, Denmark has been selected to host YAPC::Europe 2008. Copenhagen faced stiff competition from Braga, Portugal and the Informatics department of Wellcome Trust Sanger Institute in Cambridge, United Kingdom. Though the Wellcome Trust didn't win the bid, their submission marks the first from a non-Perlmonger group.<br/><br/>Copenhagen.pm has hosted several Nordic Perl Workshops and is expected to pull together a wonderful conference. Congratulations Copenhagen.pm.<br/><br/>We'll wrap up the social Perl news by welcoming a new PM group to the mix. Leeds.pm is getting started with an inaugural meeting on tentatively set for the 7th December. leeds.pm.org doesn't seem to running yet but there is a mailing list. You can find the link at Perlcast.com (http://www.hexten.net/mailman/listinfo/northofengland-pm)<br/><br/>On a slightly more technical slant, there have been a few update on search.cpan.org. CPAN search has added gravatar icons to author pages so that CPAN users can make a human connection to the people behind the code that thye are using. CPAN authors can add their own gravatar by signing up to gravatar.com using their CPAN email alias. Also, search results now display module ratings from cpanratings.perl.org. This allows for searches to quickly get an idea of which modules might work best for them.<br/><br/>While on the topic of CPAN, the PAUSE administrators recently put out an important announcement. They are planning to do a little house keeping on the CPAN Modules List. They intend to remove old namespace reservations which have been registered with the modules mailing list but for which there never has been an actual implementation on CPAN. This will apply to all unused registrations from May 2007 and earlier. The admins will send an email to every PAUSE author who has an unused namespace asking them to contact the modules-at-perl-dot-org mailing list about the issue. Registrants have until December, at which time the namespaces will then be made available again. If you've registered a namespace and haven't used it, be sure to watch your inbox.<br/><br/>CPAN Testers have started an IRC discussion channel since the #cpantesters channel has gotten a little noisy due to smoke reports. Now testers can have conversations on #cpantesters-discuss at irc.perl.org.<br/><br/>You've seen the 'digg it' links on people's websites and news stories. What about Perl-related stores? Is there an easy way to have people submit your post as a story to use.perl.org? Now there is. Visit use.perl.org to grab the two lines of JavaScript that make the majic happen. The submitter doesn't need to have an account on use.perl.org, but people with an account can add a description of the story they'd like to submit.<br/><br/>Believe it or not, Fall is here and it is time for the Fall 2007 issue of The Perl Review. In it's fourth year of print publication, the magazine has a new design that packs in more Perl into the same number of pages of older addtions. In this issue: Templating My Output -- Alberto Simões; Making My Own CPAN -- brian d foy; Programming Parrot: NCI -- Jonathan Scott Duff; Komodo Test Drive -- Jim Brandt; Named Captures in Perl 5.10 -- brian d foy; and much more.<br/><br/>The Perl Foundation has awarded a grant to Shlomi Fish to create a reusable parser for the syntax of MediaWiki, the popular open-source wiki engine that powers sites such as Wikipedia and Wikiquote. The deliverables of the grant are a CPAN module and a Kwiki plugin for using this MediaWiki syntax in Kwiki wikis, enabling people to create Perl projects that can parse its syntax and create compatible wikis. This grant is a second for Shlomi, who successfully completed a grant for XML::RSS improvements earlier this year.<br/><br/>If you want to contribute to the Perl community and get paid for it, consider proposing a grant to The Perl Foundation. If you would like to contribute and have no idea what to do, check out TPF's grant suggestions on their website.<br/><br/>Do you have a reasonably connected server with a static IP address? If so, you might be eligible to join the NTP Pool. The CPU requirements for ntpd are so small that you will hardly realize that it's there and with that small bit of CPU, you'll be helping millions of computer users around the world. In addition, if you are able to setup a GPS antenna then you can apply for free GPS devices. More information can be found at www.pool.ntp.org/meinberg.html.<br/><br/>exuberant ctags 5.7 is out with improved Perl support including support for 'package' keyword, multi-line subroutine, package, and constant definitions, optional subroutine declarations, formats, and much more. ctags is easy to use and is easy for module authors to add targets for in their distributions.<br/><br/>There have been a few Perl books released recently. At OSCON, brian foy's "Mastering Perl" came hot off the press. Now, Stas Bekman and Jim Brandts "mod_perl2 User's Guide" was just been published by Onyx Neon. Look for a book giveaway soon at Perlbuzz.com.<br/><br/>And finally, ohloh.net is a social networking site for open source projects. There are a few Perl-based projects out there waiting for reviews and others that need to be submitted. Check out ohloh.net and get a slightly different look at the open source projects that you use every day.Unknownnoreply@blogger.comtag:blogger.com,1999:blog-1954547320517740579.post-12950271871793608392007-07-25T23:46:00.000-07:002015-11-13T06:33:33.502-08:00Ross Turk of SourceForge.net<a href="http://conferences.oreillynet.com/os2007/">O'Reilly's Source Convention (OSCON) 2007</a> is happing this week in Portland, Oregon. The conference is in it's first day of sessions, but has really been going on for about five days because of tutorials and the Ubuntu Live conference. As always, this is a great event for catching up with what is going on in the Open Source world and meeting up with people outside of the Perl community.<br/><br/>One of those people that I've talked with is Ross Turk, the <a href="http://sourceforge.net/community/">Community Relationship Manager at SourceForge.net</a>. Ross sat down for a while with Pete Krawczyk and me and talked about the SourceForge.net system, as well as, the <a href="http://sourceforge.net/community/index.php/landing-pages/cca07/">Community Choice Awards 2007</a> that are scheduled to be handed out tomorrow night. Enjoy the <a href="https://archive.org/download/Perlcast/Perlcast_Interview_044.mp3">interview</a>.Unknownnoreply@blogger.comtag:blogger.com,1999:blog-1954547320517740579.post-23314800211017842642007-07-21T03:02:00.000-07:002015-11-13T06:34:19.030-08:00Perl News 2007-07-20<ul><br/><li><a href="https://archive.org/download/Perlcast/perlnews-2007-07-20.mp3">News Audio</a><br/></li></ul><br/><h2>Perl 5.9.5 release</h2><br/><p>Perl 5.9.5, the latest development release of Perl, has been uploaded to the CPAN. There have been scores of changes in this release including the removal of pseudo hashes, there move of the JPL and the removal of the byte code compiler and of perlcc. Of course, this release is not all about removals, there were also many improvements and changes in functionality and the addition of the Method Resolution Order pragma.</p><br/><p>Perl 5.9.5 aims to be the last development release of Perl 5 before the new major stable version, perl 5.10.0. That means that no new feature or important code change will go in this branch before it's stabilized; focus will be now put on regression testing and documentation improvements.</p><br/><p>This is a development release, meaning that is must not be deployed in production. However, it is provided so it can be tested as widely as possible, on many platforms and with many CPAN modules. Of course, feedback on any problems you might discover will be welcome; for that, use the perlbug utility,or, if you want to be involved more closely in the development process of Perl 5.10, subscribe to the perl5-porters mailing list.</p><br/><h2>At Last, A Perl 5 Wiki</h2><br/><p>For a long time now people have been grumbling about making a Perl 5 wiki. You know, some place central and official-looking to write down all things Perl. Well, at long last comes the announcement for the official Perl 5 Wiki!</p><br/><p>Like any new Wiki it needs content. Content provided by YOU the user of Perl. Here are some suggestions:</p><br/><ul><br/> <li>Add to the glossary.<br/> </li><li>Help write up lists of recommended CPAN modules. <br/> </li><li>Write down anecdotes and bits of lore. Maybe weird things that happened at a Perl Mongers meeting or conference,like the infamous London.pm quicksort dance. <br/> </li><li>Or add yourself and others to the people of Perl. <br/> </li><li>Add profiles of businesses known to use Perl.<br/></li></ul><br/><p>You can find the wiki at <a href="http://www.perlfoundation.org/perl5">perlfoundation.org</a></p><br/><h2>New PM Groups</h2><br/><p>We'd like to welcome five new PM groups the the ever-growing list of local Perl Mongers. The new groups are:</p><br/><ul><br/> <li>Szczecin.pm - lead by Robert Olejnik <br/> </li><li>Kiev.pm - lead by Serg Gulko <br/> </li><li>The Woodlands.pm - lead by Todd Rinaldo <br/> </li><li>Ithaca.pm - lead by Beth Skwarecki <br/> </li><li>Thames Valley.pm - lead by Rafiq Ismail<br/></li></ul><br/><h2>Juggling For Geeks: The First YAPC::NA Video</h2><br/><p>During the course of YAPC::NA Barbie videoed Luke Closs presenting his Juggling For Geeks talk. Well, Luke took the video and uploaded it to revver, if you want to go watch it you can find the link at Perlcast.com.</p><br/><p>Expect more from the Lightning Talk session in the coming weeks. You'll want to track Barbie's journal to catch them as soon as they come out.</p><br/><h2>A Trio of Perl 6 Microgrants</h2><br/><p>There is money to be made working on Perl 6 right now and three hard working programmers have proven it so.</p><br/><p>Flavio Glock will receive a travel microgrant to help him attend YAPC::EU and evangelize kp6 and the Perl 6 in Perl 6 effort.</p><br/><p>Steve Pritchard will receive a microgrant to complete the RPM packaging of Parrot and Pugs for Fedora and to submit those packages for inclusion in the official Fedora distribution.</p><br/><p>Juerd Waalboer is the maintainer of feather.perl6.nl, the primary host for Pugs development. Juerd will receive a microgrant to purchase upgraded hardware for feather.</p><br/><p>If you're interested in submitting a Perl 6 microgrant proposal, you can find more information about how to do so by following the link from Perlcast.com.</p><br/><h2>Adding tags to CPAN modules via CPAN::Forum</h2><br/><p>From now on, registered users of CPAN::Forum can add personal tags to every distribution. This is just the start. Expect more features such as seeing the tags of others and seeing them in a cloud, as well as, access to the data so that it can be used to enhance search engines. You are most welcome to register on the site and start adding tags to your favorite modules or just complain bitterly about the bugs and missing features on the CPAN::Forum page of CPAN Forum.</p><br/><h2>Parrot 0.4.13</h2><br/><p>Parrot 0.4.13 "Clifton." has been officially released. There have been many language updates, as well as, a move from the Artistic 1/GPL License to the Artistic License 2.0. Supposedly there were also speculated Parrot 1.0 release dates mentioned at YAPC::NA 2007 and they were more specific than 'by Christmas'.</p><br/><h2>Plat_Forms Report Published</h2><br/><p>The results and final report of the "Plat_Forms" international programming contest were published June 20th on <a href="http://www.plat-forms.org">www.plat-forms.org</a> For each of the categories Perl, PHP and Java, three teams of three people each competed to produce a comprehensive "social networking" application in just 30 hours.</p><br/><p>Team Etat de Genève / Optaros was declared winner of the Perl track. The Geneva solution, based on Catalyst and DBIx::DataModel, was especially praised for its compactness. However, other Perl solutions by "plusW" (Germany) and "Revolution Systems" (USA) were very close, and it was hard for the jury to decide. The report notes that compactness and extensibility are consistent qualities of the Perl solutions.</p><br/><h2>Pittsburgh Perl Workshop 2007</h2><br/><p>The Pittsburgh Perl Mongers are pleased to announce The PITTSBURGH PERL WORKSHOP 2007, a two-day, low-cost conference on Saturday and Sunday October 13-14, 2007.</p><br/><p>The Pittsburgh Perl Workshop is an annual conference dedicated to the Perl programming language. In 2006, the Pittsburgh Perl Mongers broke new ground by hosting the first Perl Workshop based in the United States. This year, the Perl Mongers are expanding the Workshop to a two-day format. As always, the 2007 Workshop is designed to provide you with a comfortable, exciting, and enjoyable learning experience. It is structured as a series of short lectures, but the atmosphere is low key and engaging – the perfect combination to open your mind and then cram it full of good stuff.</p><br/><p>This year's conference has loads of new additions like:</p><br/><ul><br/><li>The workshop has expanded to a two-day event to allow for more talks, BOF's, and social interactions.<br/></li><li>There will be a one-day course for programmers with little or no Perl experience. This course will be given by a world-class Perl trainer. </li><li>The schedule has become more relaxed to allow for more peer interaction.<br/></li><li>Scheduling of sessions has been improved to maximize flexibility in attending the sessions you want to attend.<br/></li><li>The web site is now powered by "A Conference Toolkit"(ACT)<br/></li></ul><br/><p>Stay up to date with everything that's going on with the Perl Workshop by subscribing to our RSS feed at the conference website.</p><br/><p>The call for papers for PPW is officially open! Talks are available in 20 minute, 50 minute or lightning talk durations. This year's theme is "Hands On Perl." What does this theme mean to you? We want to know. Please visit the conference website to submit your proposals.</p><br/><p>The Pittsburgh Perl Workshop relies heavily on sponsorship to make the conference low-cost for attendees. Please consider sponsoring the workshop financially. In return, you can send people to the workshop for free, promote your organization,and get a warm, happy feeling inside. More details on the workshop can be found by following links from Perlcast.com or going directly to the source: pghpw.org.</p><br/><h2>Perl 6 and Parrot Essentials in the Perl 6 / parrot repository</h2><br/><p> A long time ago in a galaxy far, far away, Allison Randal, Dan Sugalski, and Leo Tötsch wrote Perl 6 Essentials , which later became Perl 6 and Parrot Essentials . The universe has changed quite a bit since then. Despite that, the first chapter is still very interesting because it's a slice of history about what people were thinking and why things happened the way they did.</p><br/><p>Allison recently arranged for O'Reilly Media to transfer the rights to The Perl Foundation so it could potentially turn into a community work that is up-to-date and relevant. The source files are currently marked as copyright of The Perl Foundation, but are expected to be released under the Artistic License 2.0.</p><br/><p>The Perl 6 parts of the book went in the Perl 6 source repository, which you can access with SVN (and probably a few other ways). Commands for accessing the repositories can be found at Perlcast.com.</p><br/><p>The source is the Pod export from O'Reilly's internal format,and you can use Allison's Pod::PseudoPod module to deal with it.</p><br/><h2>Perl 6 and Parrot Wikis Move To perlfoundation.org</h2><br/><p>For a year or two now Andy Lester has hosted the Perl 6 and Parrot wikis on his home server, on a not-too-fast DSL line,at rakudo.org. They've now been moved to the wiki infrastructure at perlfoundation.org, on a dedicated box. This means much better performance, so if you've tried the wikis before and found them slow, check them out now. You can find links to the wikis at Perlcast.com.</p><br/><p>Thanks to Socialtext for the hosting.</p><br/><h2>Perldoc Suggested Search</h2><br/><p>If you frequently search the perldocs from the Firefox search box, don't you think that it would be nice if you could get suggestions when searching like you do for google search?Believe it or not, you can install the utility to do that from Mycroft. You can find the link at the Perlcast website or by searching mycroft.mozdev.org.</p><br/><h2>Perl Tips Newsletter</h2><br/><p>Did you know that there was a Perl tips newsletter? Well, at least 400 other Perl programmers know about it and now you dodo. Feel free to subscribe at perltraining.com.au</p><br/><h2>UnixReview/SysAdmin ends</h2><br/><p>It has been released that the August 2007 issue of UnixReview/SysAdmin will be the last issue. I wrote 71 bimonthly columns from March 1995 to July 2007 for that magazine sequence, covering a wide variety of Perl topics(from web 0.0 to web 2.0 and beyond), and getting my name in print around 10 million times. I will miss the job.</p><br/><p>I'm still writing for Linux Magazine (94 articles and climbing), so you can still get a monthly dose of wisdom there.</p><br/><h2>Perl 5.005 Released</h2><br/><p>Perl 5.005 is a great version of Perl and still used by many people. There have been a few distribution updates and tool changes which mean that it no longer compiles cleanly everywhere, so it's time for a maintenance release of perl5.005.</p><br/><h2>Teach-In Slides and Videos Released</h2><br/><p>The slides from London.pm's Teach-In are are now available online.</p><br/><p>You can also get audio and video of the first session on both Blip.tv and Google video. There's also an RSS feed that you can subscribe to if you want to know when the remaining three sessions are released.<br/><h2>Artistic License 2.0 Approved by OSI</h2><br/></p><p>In a June 6th meeting of the board, the Open Source Initiative has approved the Artistic License 2.0 for their online list of licenses that comply with the Open Source Definition. The new version of the license will replace the original Artistic License and the Clarified Artistic License. Though the revision process for the Artistic 2.0 was completed nearly a year ago, this marks a significant vote of acceptance for the license from the broader open source community.</p><br/><h2>Volunteer for the Perl Foundation booth at OSCON</h2><br/><p>The Perl Foundation will again make its presence known in the vendor room of OSCON in late July. If you would like to donate a couple of hours of your time to help run the booth,we'd be happy to have you! If you're interested, send an email to <a href="mailto:volunteer@perlfoundation.org">volunteer@perlfoundation.org</a> We look forward to seeing you in Portland!</p><br/><h2>Call for Venue: YAPC::NA 2008</h2><br/><p>It's that time of year again, the Perl foundation needs your bids in to host YAPC::NA in your town next summer. Most of the details for a bid can be found at the Perl Foundation website.</p><br/><p>Here are a few key points:</p><br/><ul><br/><li>If you plan on bidding, folks from your group should really have attend YAPC::NA this year to see how things work and maybe even help out. <br/></li><li>Get your bid ready early and TPF will give you feedback before the due date.<br/></li><li>Venue requirements are available and bids from previous years are available in the TPF Blog. Last year all of the bids were very good, so they are a good resource.<br/></li><li>Details on running a YAPC are available in the TPF project on Google code.<br/></li><li>As with previous years, the bids will be made public in the TPF Blog after the due date.<br/></li></ul><br/><h2>Parrot Grant Update</h2><br/><p>Parrot has been sticking to its new monthly release schedule,which means that we saw three releases in this grant period,0.4.9, 0.4.10, and 0.4.11. The highlight of this period is the finalization of the object design (PDD15), marking the completion of yet another design milestone. Allison was greatly helped by Jonathan Worthington in this work. A $2,000 grant payment will be made to Jonathan Worthington for this work. Of course, no design is ever 100% done until the product ships, so this period also saw updates to the IO PDD. Allison's next area of design focus will be on finalizing the design of PMCs (Parrot Magic Cookies). PMCs provide the underlying data structure for all high-level language data types implemented on top of Parrot. On the implementation side, Parrot 0.4.11 includes nearly complete implementation of the object design from PDD15. Since this work falls under an as-yet unfunded milestone (M3 - complete functionality),no payment can be made yet, but Jonathan will receive payment if and when the last two Parrot milestones are funded. The last 3 releases saw updates to many language implementations,including Lua, PHP, Ruby, Tcl, and of course Perl6. These releases also included many updates to the compiler toolchain. On the personnel side, in early March, Jesse Vincent stepped down as Parrot's Project Manager, though he remains in that role for Perl 6. Will Coleda, a long time Parrot contributor, is the new Project Manager for Parrot. Finally, a note of clarification for the previous report. Due to some confusion, I mistakenly said that Jerry Gay would be paid $1k for his work on IO design. That amount is actually$2k.</p><br/><h2>Help Wanted For SOAP::Lite</h2><br/><p>SOAP::Lite needs your help. Byrne Reese has posted a good assessment of the state of the SOAP::Lite on the web. To start, SOAP::Lite works. That is, it works well for easy things (it's actually the easiest out there in any language)and you can get it to work for complicated things. But it needs help and it's going to need more help in the near future. SOAP is becoming more and more important to interface between major software products. Perl excels as a glue language, but it won't be able to continue to do this if it can't talk SOAP easily. For example, one of the biggest problems right now is it can't easily generate WSDL. In addition to solving its problems right now, it will need to be ported to Perl 6. It will be much nicer to do that if we can get a decent re-write now. How do you help? * Byrne mentioned a few ways in his summary. He needs some dedicated coders. * Do you use SOAP and perl at work? Get your boss to let you spend time improving it. * I think this work would be appropriate for grant requests, either normal TPF grants or the new micro-grants. Let's break down the tasks into something manageable. This is a big project to tackle, but one that will surely have thousands of people running your code. And if you like coding in Perl, it will increase the chance that you'll be able to keep doing so in your day job. Contact Byrne or a TPF member for more information.</p><br/><h2>XML::RSS Cleanup Grant Completed</h2><br/><p>TPF is pleased to announce that Shlomi Fish has completed his XML::RSS cleanup grant. Shlomi has helped transform XML::RSS into a high quality tool for the community. Thanks to Shlomi and everyone who helped him make this grant a success.</p><br/><h2>Podcast Awards</h2><br/><p>Nominations are open at PodcastAwards.com through July 15th so be sure to put in your nomination for Perlcast or my own Geek Cruises podcast soon!</p><br/><h2>New TPF Community Relations Leader</h2><br/><p>After four years of excellent (and often thankless) work behind the scenes of pm.org, Dave Cross has decided to step down and take a well-deserved rest. Thanks, Dave!</p><br/><p>Stepping into Dave's role is José Castro, already well-known to many in our community as cog. José will be leading a team charged with helping to establish and nurture Perl Mongers groups throughout the world.</p><br/><p>There are already a number of projects under way, and several more in the planning stages, but José and his team want to hear from you. Any feedback or suggestions you have to offer will be greatly appreciated.</p><br/><p>(Many thanks as well to log for generously sponsoring a portion of José's time throughout 2007 to work on PerlMongers and Perl Foundation activities.)<br/></p>Unknownnoreply@blogger.comtag:blogger.com,1999:blog-1954547320517740579.post-16388174255277092112007-06-17T19:36:00.000-07:002015-10-28T06:52:18.337-07:00Presentation: Learning Perl 6At the <a href="http://conferences.yapceurope.org/npw2007/">Nordic Perl Workshop 2007</a> brian d foy presented on learning Perl 6. You can get the <a href="http://www.pair.com/~comdog/Talks/LearningPerl6-NPW2007.pdf">slides</a> for that presentation and also listen to the <a href="http://www.perlcast.com/audio/Perlcast_Presentation_004.mp3">audio podcast</a>. In the presentation, brian talks about <a href="http://www.pugscode.org">Pugs</a> and encourages you to <a href="http://rakudo.org/perl6/index.cgi?download_perl_6">try it out</a>. Just a note, the binary versions will save you a few days of compilation.Unknownnoreply@blogger.comtag:blogger.com,1999:blog-1954547320517740579.post-9877446094620503702007-06-12T10:28:00.000-07:002015-11-13T06:34:51.275-08:00Matt Trout on DBIx::ClassJonathan Rockway and I <a href="https://archive.org/download/Perlcast/Perlcast_Interview_043.mp3">talked with Matt Trout</a> about <a href="http://search.cpan.org/dist/DBIx-Class/">DBIx::Class</a> and the Perl ORM landscape.Unknownnoreply@blogger.comtag:blogger.com,1999:blog-1954547320517740579.post-12237909342235709792007-06-02T20:37:00.000-07:002015-11-13T06:35:32.515-08:00Interview with Curtis "Ovid" Poe on Perl TestingAfter a very long break, Perlcast is back in action. I have quite a few podcasts in the queue, most from the <a href="http://conferences.yapceurope.org/npw2007/">Nordic Perl Workshop 2007</a>. Let's get the first NPW interview out the door with <a href="https://archive.org/download/Perlcast/Perlcast_Interview_042.mp3">this one</a> with Curtis "Ovid" Poe concerning his work with Perl testing and <a href="http://search.cpan.org/dist/TAP-Parser/">TAP::Parser</a>.<br/><br/>You can find more information about TAP::Parser at <a href="http://testanything.org">Test Anything</a> and you can also sign up for the <a href="http://testanything.org/mailman/listinfo/tap-l">mailing list</a>.Unknownnoreply@blogger.comtag:blogger.com,1999:blog-1954547320517740579.post-29015274225284292402007-04-29T21:51:00.000-07:002015-11-13T06:37:32.015-08:00Nordic Perl Workshop UpdateI've been in Copenhagen for the past four days because of the Nordic Perl Workshop. Thanks to <a href="http://www.stonehenge.com">Stonehenge</a> for getting me there!<br/><br/>At the workshop I had the opportunity to talk to many great Perl hackers who you will here from over the next few weeks. To get it started, here's a <a href="https://archive.org/download/Perlcast/Perlcast_Presentation_003.mp3">lightning talk</a> from brian d foy about benchmarking Perl.Unknownnoreply@blogger.comtag:blogger.com,1999:blog-1954547320517740579.post-71180530260123557212007-04-26T07:55:00.000-07:002015-11-13T06:38:17.847-08:00Perl News 2007-04-27<ul><br/><li><a href="https://archive.org/download/Perlcast/perlnews-2007-04-26.mp3">News Audio</a></li><br/></ul><br/><br/><h2 id="parrot_0_4_11_released">Parrot 0.4.11 Released</h2><br/><br/><p><br/>On April 17th Parrot 0.4.11, "Tax Bird", was released. This release included features such as:</p><br/><ul><br/><li>perl6regex front end reflecting recent S05 syntax changes</li><br/><li>Updates on Parrot-based implementations of Lua, PHP ("Plumhead"), BASIC, and pynie</li><br/><li>Refactorings and improvements in test coverage</li><br/><li>and many bugfixes, enhancements, and general code improvements</li><br/></ul><br/><br/><h2 id="pugcode_org_service_update">Pugcode.org Service Update</h2><br/><p><br/> During the past couple months, #perl6 has revamped several pugscode.org services including:</p><br/><ul><br/><li>Updating <a href="http://run.pugscode.org/">run.pugscode.org</a>, the popular run-perl6-in-your-browser page, to the latest <a href="http://dev.pugscode.org/browser/misc/runpugs/">development version</a>, featuring a much more responsive UI via AJAX and <a href="http://perl.apache.org/">mod_perl</a>, and preloaded sessions.</li><br/><li>Updating dev.pugscode.org, a developer-oriented Wiki workspace based on <a href="http://trac.edgewall.org/">Trac</a>, featuring integrated <a href="http://dev.pugscode.org/browser">source tree browser</a>, <a href="http://dev.pugscode.org/query?status=new&status=assigned&status=reopened&order=priority">ticket tracker</a>, as well as devbot6, a new <a href="http://trac.adiumx.com/wiki/TracBot">TracBot</a> on #perl6 that announces workspace edits and <a href="http://planet.pugscode.org/">planet six</a> posts.</li><br/><li>Updating Svn.pugscode.org, Pugs's primary repository, to Subversion 1.4.2, providing much faster (30%+) turnaround for <a href="http://svk.elixus.org/view/HomePage">SVK 2.0</a> users with its pipelining/ra_replay support. There are also two read-only mirrors at <a href="http://svn.openfoundry.org/pugs/">svn.openfoundry.org</a> and <a href="http://svn.perl.org/">svn.perl.org</a>, updated every minute.</li><br/><li>Updating Darcs.pugscode.org, the read-only Darcs mirror, to now be powered by <a href="http://www.darcs.net/DarcsWiki/Tailor">Tailor</a>, which preserves information on committer and commit messages.</li><br/><li><a href="http://spec.pugscode.org/">Updating Spec</a>.pugscode.org to not only track the Perl6 specification, but also <a href="http://dev.pugscode.org/browser/docs/Perl6/">pugs/docs/Perl6/</a>.</li><br/><br/><li>Updating Invite.pugscode.org, where committers on #perl6 hand out commit bits to new Pugs hackers</li><br/></ul><br/><h2 id="perl_6_summary_writer_needed">Perl 6 Summary Writer Needed</h2><br/><p><br/>The current maintainer of the Perl 6 summary will be unable to continue creating the Perl 6 summaries after April. A volunteer or group of volunteers is needed to take over the task. Please contact Ann Barcomb if you would like more information about what the job entails.</p><br/><h2 id="perl_6_microgrants">Perl 6 Microgrants</h2><br/><p><br/>Best Practical Solutions has donated USD5,000 to The Perl Foundation to help support Perl Development. Leon Brocard, representing The Perl Foundation's grants committee, will work with me to select proposals and evaluate project success. Best Practical is__ hoping to fund a range of Perl 6-related projects over the life of the grant program. Accepted grants might be for coding, documentation, testing or even writing articles about Perl 6. The program isn't tied to any one implementation of Perl 6 and is nterested in seeing proposals related to Pugs, Perl 6 on Parrot, Perl 6 on Perl 5 or any other Perl 6 implementation. Most microgrant projects should be able to be completed in 4-6 calendar weeks.</p><br/><p><br/>To submit a grant proposal, please email <a href="mailto:perl6-microgrants at perl.org">perl6-microgrants at perl.org</a> with the following information:</p><br/><br/><ul><br/><li><em>A two to three paragraph summary of the work you intend to do</em></li><br/><li>A quick bio — Who are you? Is there opensource work you've done that we should have a look at?</li><br/><li>A brief description of what "success" will mean for your project — How will we know you're done?</li><br/><li>Where (if anywhere) you've discussed your project in the past</li><br/><li>Where you'll be blogging about your progress. (Twice-weekly blog posts are a requirement for getting your grant money)</li><br/></ul><br/><p><br/>Proposals will be accepted on a rolling schedule, with the first 10 grants paid out over the course of the summer. Submit your proposals early and often. Don't let somebody else beat you to the punch ;)</p><br/><br/><h2 id="first_perl_6_microgrant_awarded_to_steve_peters_for_parrot_portability">First Perl 6 Microgrant awarded to Steve Peters for Parrot Portability</h2><br/><p><br/>Speaking of Perl 6 Microgrants, Steve Peters was selected as the recipient of the first Perl 6 microgrant. Steve has been instrumental in helping to ensure that Perl 5 has stayed incredibly portable for the past few years. Steve is now starting to turn some of his attention to Parrot and in the course of the grant intends on ensuring:</p><br/><ul><br/><li>Successful completion of a full Cygwin compile of Parrot and application of necessary patches to Parrot. Test failures should be in line with what is observed on Linux or Mac OS X.</li><br/><li>Compile Parrot with Intel C++ and Sun Studio 12 for Linux, application of any necessary patches, and cleanup of compiler specific issues.</li><br/><li>Compilation of Parrot with Borland C++ on Windows with application of necessary patches to the Parrot core. Cleanup of compiler specific issues with necessary additional changes patched in the Parrot core.</li><br/><li>Investigation into gmake "-j" support to allow for parallel building of Parrot.</li><br/><br/></ul><br/><p><br/>Steve will be blogging about his grant progress at <a href="http://use.perl.org/~speters/journal">http://use.perl.org/~speters/journal</a></p><br/><h2 id="tpf_grant_for_perl_critic_policies">TPF Grant for Perl::Critic Policies</h2><br/><p><br/> The Perl Foundation has given Chris Dolan a grant for extending Perl Critic by implementing around 20 new Perl Best Practices policies outlined in the TODO document of the Perl Critic distribution. Chris plans on doing this work over the summer, which would cause Perl Critic to support all of the PBP policies that are feasible to implement.</p><br/><h2 id="tpf_grant_for_improving_smoulder">TPF Grant For Improving Smoulder</h2><br/><p><br/>Smoulder is a web-based smoke test aggregator that allows developers and QA testers to upload or monitor the test results from their projects. TPF has issued Steve Peters a grant to improve smoulder by</p><br/><ul><br/><br/><li>Remove custom XML format in favor of using plain TAP and TAPx::Parser.</li><br/><li>Extend Smolder to handle small CPAN style modules more easily and automatically.</li><br/><li>Setup a Smolder server for the CGI::Application community to serve as a testing ground and public display for their 110+ CPAN modules.</li><br/><li>Add per-project and per-developer RSS feeds as an alternative to email notification.</li><br/></ul><br/><h2 id="java_to_perl_micro_grant">Java to Perl Micro Grant</h2><br/><p><br/>The Perl Foundation has awarded a grant for a Java to Perl 6 API converter. This will create the potential for highly similar APIs in both languages and has the potential to aid the development of the Perl 6 DBI.</p><br/><h2 id="perlcast_gets_a_rock_star_grant">Perlcast Gets A Rock Star Grant</h2><br/><p><br/><br/>With all of the grant-giving going on, Perlcast didn't want to be left out in the cold. The folks over at Stonehenge were kind enough to sponsor sending Josh to The Nordic Perl Workshop and to OSCON to get interviews for you through Perlcast. Expect to hear a lot more Perl content from around the world thanks to Stonehenge.</p><br/><h2 id="yapc_na_registration_open">YAPC::NA Registration Open</h2><br/><p><br/> Registration for YAPC North America is now open. The conference dates are June 25th through 27th at the University of Houston's central campus in Houston, Texas. The conference will feature speakers from throughout the Perl community, including keynotes from Larry Wall (the creator of Perl), Damian Conway, and The Perl Foundation. The call for papers has ended and the schedule has started to be released. (<a href="http://conferences.mongueurs.net/yn2007/talks">http://conferences.mongueurs.net/yn2007/talks</a>).</p><br/><h2 id="yapc_europe_2008_call_for_venue">YAPC::Europe::2008 Call for Venue</h2><br/><p><br/>With preparations for <a href="http://vienna.yapceurope.org/ye2007/">YAPC ::Europe::2007</a> well underway in Vienna, it is time for the <a href="http://www.yapceurope.org/">YAPC::Europe</a> Venue Committee to consider suitable hosts for the 2008 conference. Any dedicated group interested in hosting YAPC::Europe::2008 should send a brief statement of intent to <a href="mailto:venue at yapceurope.org">venue at yapceurope.org</a>. A full and complete application should then be sent to the same address prior to the deadline for applications, which is June 30, 2007.</p><br/><br/><h2 id="yapc_europe_call_for_hack_a_thons">YAPC::Europe Call for Hack-a-thons</h2><br/><p><br/>The organizers for YAPC::Europe are trying to find moderators for in-conference hack-a-thons. A hackathon is a moderated workshop with a specific topic where experienced users and newbies can get together and share experience, improve parts of the featured project or step through some project internals. The conference will allow for up to 4 hackathon sessions. The session will last about 3 hours and take place in a dedicated lab. The hackathon moderator will give a short introduction (approx. 30min) into the topic and then hack-away. For those willing to moderate a hackathon session we will provide sponsoring for travel and accommodation costs for up to 500 EUR. If you want to moderate a hackathon at YAPC::Europe 2007, please contact the organisers at <a href="mailto:vienna2007 at yapceurope.org">vienna2007 at yapceurope.org</a> .</p><br/><h2 id="yapc_asia_2007_podcast_feed_available">YAPC::Asia 2007 Podcast Feed Available</h2><br/><p><br/>YAPC::Asia 2007 barely ended before the organizers had a podcast feed available with recordings from the talks. There are dozens of presentations available from talks given at the conference. Some of the presentations are English, some are not. Of course, podcasts aren't all they are offering. There are also videos on Google Video and a videocast feed.</p><br/><p><br/> (<a href="http://tokyo2007.yapcasia.org/blog/2007/04/audio_recordings_available_for.html">http://tokyo2007.yapcasia.org/blog/2007/04/audio_recordings_available_for.html</a>)</p><br/><br/><p><br/>(<a href="http://video.google.com/videosearch?q=yapc+asia+2007&num=50&so=1&start=0">http://video.google.com/videosearch?q=yapc+asia+2007&num=50&so=1&start=0</a>)</p><br/><p><br/>(<a href="http://tokyo2007.yapcasia.org/sessions/videocast.xml">http://tokyo2007.yapcasia.org/sessions/videocast.xml</a>)</p><br/><h2 id="red_hat_in_the_data_center">Red Hat in the Data Center</h2><br/><p><br/>The Perl NOC has started <a href="http://www.askbjoernhansen.com/2007/04/04/rhel_rocks.html">upgrading</a> some of their boxes to Red Hat Enterprise Linux 5 which includes <a href="http://www.redhat.com/rhel/virtualization/">virtualization</a>.</p><br/><br/><h2 id="asian_cpan_mirror_needed">Asian CPAN Mirror Needed</h2><br/><p><br/>The Perl NOC is looking for a well-connected box for CPAN Search in Asia -- it probably wouldn't get much traffic, but it'd decrease latency for users there. Minimal specs required (it can be in a virtual box, vmware or xen): ~2.5GHz CPU, ~2GB ram, not much disk space, ability to install RHEL (we'll provide a license).</p><br/><h2 id="apple_tv_perl_plugin">Apple TV Perl Plugin</h2><br/><p><br/>It's pretty obvious when you go to a Perl meetup that many Perl hackers love their Macs. For those of you who bought an Apple TV, you can now run your Perl scripts (ahem, programs) on the device using a plugin developed by Eric Sadun. She wrote about it in her O'Reilly blog (<a href="http://www.oreillynet.com/mac/blog/2007/04/apple_tv_perl_plugin.html?CMP=OTC-13IV03560550&ATT=Apple+TV+Perl+Plug-in">http://www.oreillynet.com/mac/blog/2007/04/apple_tv_perl_plugin.html?CMP=OTC-13IV03560550&ATT=Apple+TV+Perl+Plug-in</a>)</p><br/><h2 id="ebay_uploads_to_cpan">Ebay Uploads to CPAN</h2><br/><p><br/>eBay has contributed an official interface to their systems to CPAN which can be found by searching for eBay::API. Official corporate releases to CPAN aren't common-place, so this is pretty cool to see a company interfacing with the Perl community as if they were a member. Thanks to ebay for the upload.</p><br/><br/><h2 id="website_in_a_box">Website in a Box</h2><br/><p><br/>Website in a box is a <a href="http://catalystframework.org/">Catalyst</a> based content management system for individuals and small groups. It's got <a href="http://code.google.com/p/websiteinabox/">Google Code</a> project space and a reasonably comprehensive test suite. It does some "Search Engine Optimisation" for you and has been built to be easy to hack on for those interested in picking up Catalyst. (<a href="http://code.google.com/p/websiteinabox/">http://code.google.com/p/websiteinabox/</a>)</p><br/><h2 id="new_site_for_tap_test_anything_protocol">New site for TAP (Test Anything Protocol)</h2><br/><br/><p><br/>Perl's test result protocol is officially known as TAP - the Test Anything Protocol. Though it has been around for a while, there has recently be a fair amount of discussion about the future of TAP. One of the points that came up was that TAP is no longer Perl specific. That means that a Perl mailing list is no longer the best place to discuss it. So that there's a language-neutral TAP mailing list and a wiki that can both be found at testanything.org.</p><br/><h2 id="perl_on_frappr">Perl on Frappr</h2><br/><p><br/>There are a few frappr maps that have been set up to pinpoint Perl users around the world. You can check them out and even add your on location at <a href="http://www.frappr.com/perl">http://www.frappr.com/perl</a> and <a href="http://www.frappr.com/freenodeperl">http://www.frappr.com/freenodeperl</a>.</p>Unknownnoreply@blogger.comtag:blogger.com,1999:blog-1954547320517740579.post-71334481834344358402007-04-08T01:44:00.000-07:002015-11-13T06:38:57.483-08:00brian d foy on BenchmarkingPerlcast is back with a recording of a presentation conducted by brian d foy at a Los Angeles Perl Mongers meeting. The talk focuses on benchmarking your code and covers topics that brian included in his soon-to-be released book, "Mastering Perl". "Mastering Perl" is a text on creating professional programs with Perl. It can be pre-ordered now at most of the major book distributors, so go check it out at your vendor of choice.<br/><br/>Many of you know that brian is a partner at Stonehenge Consulting, Perlcast's primary sponsor. Recently Stonehenge kicked it up a notch and provided Perlcast with a Rock Star Grant to attend, speak at, and record interviews during the Nordic Perl Workshop 2007. I'm excited to be given the opportunity to visit Denmark an meet some of the excellent Perl hackers on the other side of the planet. I'd like to thank Stonehenge and the hosts of the Nordic Perl Workshop for all of their support and hope to meet many of you in Denmark at the workshop to be held April 28th and 29th, 2007.<br/><br/>This presentation is a pretty long one, but I encourage you to take the time to listen to the talk. brian is a great speaker and has some smart opinions and advice on benchmarking your code. Also, if your Perl Mongers group has the ability to record presentations, feel free to submit them to Perlcast for distribution. Just send an email to me at perlcast-at-gmail.com and we can iron out the details.<br/><br/><ul><br/> <li><a href="https://archive.org/download/Perlcast/Perlcast_Presentation_002.mp3">Presentation Audio</a></li><br/> <li><a href="http://www.pm.org/">Perl Mongers</a></li><br/> <li><a href="http://www.amazon.com/gp/redirect.html?ie=UTF8&location=http%3A%2F%2Fwww.amazon.com%2FMastering-Perl-brian-d-foy%2Fdp%2F0596527241%3Fie%3DUTF8%26s%3Dbooks%26qid%3D1176000162%26sr%3D8-1&tag=perlcast-20&linkCode=ur2&camp=1789&creative=9325">Mastering Perl</a><img src="http://www.assoc-amazon.com/e/ir?t=perlcast-20&l=ur2&o=1" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /></li><br/> <li><a href="http://conferences.yapceurope.org/npw2007/">Nordic Perl Workshop</a><br/></li></ul>Unknownnoreply@blogger.comtag:blogger.com,1999:blog-1954547320517740579.post-91662738420606511812007-03-18T16:51:00.000-07:002015-11-13T06:39:37.184-08:00Perl News 2007-03-14<ul><br/><li><a href="https://archive.org/download/Perlcast/perlnews-2007-03-14.mp3">Audio</a></li><br/></ul><br/><h2>$foo Perl-Magazin</h2><br/><p>There's a new Perl magazine on the scene. On February 1st, Renee Baecker published the first issue of a new magazine dedicated to Perl, $foo Perl-Magazin. The first issue features articles on topics such as new features in Perl 5.10, DBIx::Class, and Perl testing. To find out more visit <a href="http://foo-magazin.de/">foo-magazin.de</a>.</p><br/><br/><h2>Perl NOC Power Outage</h2><br/><p>If you noticed that some of the Perl.org sites were down on February 25th, it was probably due to a planned outage mandated by the building that the center resides in. There was a scheduled power outage because "a conductor cable has been compromised to the point that immediate action to repair it is necessary or a ground fault will occur to the building system". No email should have been lost during this outage, but it might have been delayed.</p><br/> <br/><h2>YAPC::Europe 2007 Call For Participation</h2><br/><p>Vienna.pm is officially announcing the call for participation for Yet Another Perl Conference Europe 2007... in other words, registration is open. This years conference theme is "Social Perl". The conference will be held in Vienna, Austria, from 29th to 31st August 2007 at the Vienna University of Economics and Business Administration. Regular attendance is 100 EUR, students and early birds can get in for 80 EUR. Businesses and sponsors are welcome to pay a voluntary 200 EUR to help support the conference.</p><br/> <br/><h2>LISA 2007 Call For Papers</h2><br/><p>The LISA 2007 organizers invite you to contribute proposals for refereed papers, invited talks, and workshops, plus any ideas you have for Guru Is In sessions, Work-in-Progress Reports, the new poster session, and training sessions. This year is the 21st Large Installation System Administration Conference, which will be held in Dallas, TX on November 11-16th 2007. The Call for Participation with submission guidelines and sample topics can be found on the USENIX Web site at <a href="http://www.usenix.org/lisa07/cfpa">www.usenix.org—cfpa</a>. Extended abstract and paper submissions are due May 14, 2007.</p><br/> <br/><h2>Nordic Perl Workshop</h2><br/><p>The Copenhagen Perl Mongers will host the Fifth Nordic Perl Workshop on April 28-29, 2007. Submit proposals for papers, offer sponsorship, or volunteer to help. The price for two days of the workshop with lunch included is 500 DKK (about $US90). As usual, the workshop fee is waived for speakers, so submit a talk! To find out more visit the conference website at <a href="http://conferences.yapceurope.org/npw2007/">conferences.yapceurope.org—npw2007</a>.</p><br/><br/> <br/><h2>YAPC::Asia 2007 Schedule Released and Registration Opened</h2><br/><p>Sessions along with Timetable and Speakers profile for YAPC::Asia 2007 are now published at <a href="http://tokyo2007.yapcasia.org/sessions/">tokyo2007.yapcasia.org—sessions</a>. The conference starts April 4th 2007 and continues through April 5th. Some speakers include Mark Jason Dominus, Chia-liang Kao, Audry Tang, Jesse Vincent, Dave Rolsky, Jose Castro, Ingy .Net, Tatsuhiko Miyagawa, and many many more. Registration is open now. Last year the conference sold out within two weeks, so sign up soon if you plan on going.</p><br/> <br/><h2>Minimal Perl Review on Slashdot</h2><br/><p>Tim Maher's book Minimal Perl has received a review on slashdot ranking it 8 out of 10, and though the first of the slashdot comments mentions PHP, it's still good to see Perl books getting reviewed on high-profile sites. Of course, you don't have to write a slashdot review to help keep the Perl book market thriving. Remember that it is very valuable for you to throw you two-cents in on sites that allow customer reviews like Amazon.</p><br/> <br/><h2>Advanced HTML::Template Widgets on Perl.com</h2><br/><p>Perl.com is featuring an article by Philipp Janert entitled "Advanced HTML::Template: Widgets". The description reads. "HTML::Template is a templating module for HTML made powerful by its simplicity. Its minimal set of operations enforces a strict separation between presentation and logic. However, sometimes that minimalism makes templates unwieldy. Philipp Janert demonstrates how to reuse templates smaller than an entire page--and how this simplifies your applications.". You can find the article at Perl.com.</p><br/> <br/><h2>New Issue of The Perl Review</h2><br/><p>The next issue of The Perl Review is out, and it's a special editionfor the Nordic Perl Workshop! Not only that, the PDF-only price is now only $7. Subscribe now to beat the price increase for US postage rate increases in May. The Spring 2007 issue of The Perl Review is online and ready for download. Subscribers should have already received an email telling them all about it. In this issue (besides the cover showing Gary Blackburn's "PERL GOD" license plate), there's: History of the Nordic Perl Workshop by Jonas Nielsen; New Features in Perl 5.10 by Renée Bäcker; Dynamic Object Reconfiguration by Peter Scottl; Adding Transactions to DBM::Deep by Rob Kinyon; Parsing with Parse::Eyapp by Casiano Rodriguez; Leon can() You Do It? by brian d foy and much more. Check out theperlreview.com for to get your subscription.</p><br/><br/><h2>YAPC::Europe re-secheduled to start a day earlier</h2><br/><p>The ESC Congress 2007 is even bigger than anticipated and due to this, there very fews beds are available in Vienna for the night from Friday, 31st August to Saturday, 1st September. So as not to force you to leave on the last day of the conference, the organizers decided to reschedule YAPC::Europe: it will happen from Tuesday, 28th to Thursday, 30th August. If this change does cause you some problems, please inform the organizers of YAPC::Europe, and they'll see what we can do to help you.<br/><br /><br/>On a brighter note, register or submit a talk through 31th March and win a book! YAPC::Europe has two coffee-table books (one including a DVD) on Vienna to raffle off. To enter the contest, all you need to do is to either register for the conference and pay your ticket, or submit a talk proposal by 31th March.<br/><br /><br/>Visit <a href="http://vienna.yapceurope.org">http://vienna.yapceurope.org</a> to find out more and to register for the conference.<br/></p><br/><br/><h2>CPANTS up again on a new server</h2><br/><p>CPANTS is now up and running again, with fresh data, which will be available again daily. Thanks goes out to hexten.net for providing the new server. You can now continue playing the CPANTS game and raising your kwalitee (and hopefully making CPAN a nicer place in the process...)<br/></p><br/><br/><h2>Mastering Perl on Pre-Order</h2><br/><p>Mastering Perl, brian d foy's latest contribution to Perl books, has made its way to the online bookshops, so be on the lookout for it at sites like Amazon, Barnes & Noble, and Powell's books.</p><br/><br/><h2>Komodo 4.0 Extensibility Challenge</h2><br/><p>Komodo 4.0 now allows XPI extensions, the same thing that Firefox has. Create something cool for the Komodo 4.0 Extensibility Challenge and you could win some money or prizes. The contest is open until April 1, and you can use the 21-day free preview of Komodo to participate in the challenge. ActiveState will go through the entries and put the best on their website to let the community vote on the one they like the best. They'll announce the results at RailsConf 2007 (but that doesn't mean you have to be a Ruby guy [or gal] to win).</p><br/><br/><h2>Perl.com on Perl6 Parameter Passing</h2><br/><p>Perl 6 isn't quite out yet, but you can learn and play with it today in various incarnations. One of the most compelling new features is a revamped and revised mechanism of parameter passing. Phil Crow demonstrates how powerful it is, and how you can gradually adopt more and more powerful constructs. Find out more at Perl.com</p>Unknownnoreply@blogger.comtag:blogger.com,1999:blog-1954547320517740579.post-16218580582129957462007-03-11T21:34:00.000-07:002015-11-13T06:40:26.953-08:00Reverse Interview: Josh on YAPC::NA 2006A co-worker of mine, Jason Gessner, interviewed me about my experiences in co-hosting YAPC::NA 2006.<br/><br/><ul><br/> <li><a href="https://archive.org/download/Perlcast/Perlcast_Interview_041.mp3">Interview Audio</a></li><br/> <li><a href="http://conferences.mongueurs.net/yn2007/">YAPC::NA 2007</a><br/></li></ul>Unknownnoreply@blogger.comtag:blogger.com,1999:blog-1954547320517740579.post-55742123087769693212007-03-01T03:58:00.000-08:002015-11-13T06:40:59.114-08:00Perlcast Featured on ClearBlogging.com<p><br/>Many of you know that I interviewed Bob Walsh for Perlcast about his book "Micro ISV: From Vision To Reality". He in turned talked to me about podcasting and it looks like Perlcast might actually be mentioned in Bob's new book, "Clear Blogging". The text from Bob interviewing me can be found at his clear blogging site... sweet!<br/></p><br/><ul><br/> <li><a href="http://safarisoftware.typepad.com/clearblogging/2007/02/podcasting_done.html">My Interview at Clear Blogging</a></li><br/> <li><a href="http://apress.com/book/bookDisplay.html?bID=10150">"Clear Blogging"</a></li><br/> <li><a href="https://archive.org/download/Perlcast/Perlcast_Interview_025_walsh.mp3">My previous interview with Bob Walsh</a></li><br/> <li><a href="http://www.apress.com/book/bookDisplay.html?bID=10057">"Micro ISV: From Vision To Reailty"</a></li><br/></ul>Unknownnoreply@blogger.com