The streets were pretty quiet, which was nice. They're always quiet here
at that time: you have to be wearing a black jacket to be out on the
streets between seven and nine in the evening, and not many people in the
area have black jackets. It's just one of those things. I currently live
in Colour Neighbourhood, which is for people who are heavily into colour.
All the streets and buildings are set for instant colourmatch: as you
walk down the road they change hue to offset whatever you're wearing.
When the streets are busy it's kind of intense, and anyone prone to
epileptic seizures isn't allowed to live in the Neighbourhood, however
much they're into colour.
- Michael Marshall Smith, "Only Forward"
It gives me great pleasure to announce the release of Perl 5.11.2.
This is the third DEVELOPMENT release in the 5.11.x series leading to a stable release of Perl 5.12.0. You can find a list of high-profile changes in this release in the file "perl5112delta.pod" inside the distribution.
You can download the 5.11.2 release from:
http://search.cpan.org/~lbrocard/perl-5.11.2/
The release's SHA1 signatures are:
2988906609ab7eb00453615e420e47ec410e0077 perl-5.11.2.tar.gz
We welcome your feedback on this release. If you discover issues with Perl 5.11.2, please use the 'perlbug' tool included in this distribution to report them. If Perl 5.11.2 works well for you, please use the 'perlthanks' tool included with this distribution to tell the all-volunteer development team how much you appreciate their work.
If you write software in Perl, it is particularly important that you test your software against development releases. While we strive to maintain source compatibility with prior stable versions of Perl wherever possible, it is always possible that a well-intentioned change can have unexpected consequences. If you spot a change in a development version which breaks your code, it's much more likely that we will be able to fix it before the next stable release. If you only test your code against stable releases of Perl, it may not be possible to undo a backwards-incompatible change which breaks your code.
Notable changes in this release:
- It is now possible to overload the C operator
- Extension modules can now cleanly hook into the Perl parser to define new kinds of keyword-headed expression and compound statement
- The lowest layers of the lexer and parts of the pad system now have C APIs available to XS extensions
- Use of C<:=> to mean an empty attribute list is now deprecated
Abhijit Menon-Sen, Abigail, Ben Morrow, Bo Borgerson, Brad Gilbert, Bram, Chris Williams, Craig A. Berry, Daniel Frederick Crisman, Dave Rolsky, David E. Wheeler, David Golden, Eric Brine, Father Chrysostomos, Frank Wiegand, Gerard Goossen, Gisle Aas, Graham Barr, Harmen, H.Merijn Brand, Jan Dubois, Jerry D. Hedden, Jesse Vincent,
Karl Williamson, Kevin Ryde, Leon Brocard, Nicholas Clark, Paul Marquess, Philippe Bruhat, Rafael Garcia-Suarez, Sisyphus, Steffen Mueller, Steve Hay, Steve Peters, Vincent Pit, Yuval Kogman, Yves Orton, and Zefram.
Many of the changes included in this version originated in the CPAN modules included in Perl's core. We're grateful to the entire CPAN community for helping Perl to flourish.
Jesse Vincent or a delegate will release Perl 5.11.3 on December 20, 2009. Ricardo Signes will release Perl 5.11.4 on January 20, 2010. Steve Hay will release Perl 5.11.5 on February 20, 2010.
Regards, Léon
OOPSLA 2009 happened a few weeks ago. OOPSLA stands for Object-Oriented Programming, Systems, Languages & Applications and I've always been quite interested in the conference. The proceedings of the conference aren't put online, but I've managed to find two interesting papers:
A Market-Based Approach to Software Evolution (PDF) tries to imagine an open market which is targetted around fixing bugs and improving software. It's quite interesting as it's quite similar to a proposal from Nicholas on spending other people's money. The authors point out many potential flaws.
The Commenting Practice of Open Source (PDF) analyses projects on Ohloh and tries to spot commenting trends. "We find that comment density is independent of team and project size", but they find that it varies from language to language. "Java has the highest mean of comment lines per source lines at.. one comment line for three source code lines" and "Perl has the lowest mean with.. one comment line for nine source code lines". They list as future work to find out why this might be the case.
A few weeks ago I was up in the hills about Geneva reminiscing with my sister about all the things we used to enjoy when we were smaller. When I was younger I used to really enjoy programming computer games, first on my 48K Spectrum and then later on in STOS BASIC and then 68000 assembly language on my Atari ST.
I haven't programmed a game in a very long time. However, I'm an avid gamer, playing games while travelling on my DS and at home on my Xbox 360. I almost enjoy reading Edge magazine more than I like playing games.
At YAPC::Europe in Lisbon, Domm pointed out that the Perl SDL project (which wraps the Simple DirectMedia Layer) was languishing and that we should all programs games in Perl.
A few months later I got around to playing with SDL and made a simple breakout clone which I styled after Batty on the Spectrum, but with gravity. It was fairly easy to program, but there was a lot to grasp. The Perl libraries are a mix between a Perl interface to SDL and a Perlish interface to SDL, with limited documentation, tests and examples.
Of course this is where I join the #sdl IRC channel on irc.perl.org and start discussing with the other hackers (kthakore, garu, nothingmuch). We decide on a major redesign to split the project into two sections: the main code will just wrap SDL and then there will be another layer which makes it easier to use. I've started writing a bunch of XS on the redesign branch of the repository while trying to keep Bouncy (my game) still working. There is a bunch of work still to do but we've made a good start. This is what Bouncy looks like at the moment:
I'm trying to update various URLs in the Perl source code. Regarding the Perl/iX for HP e3000 MPE README.
It's very out of date now and most of the URLs are broken. I've contacted Mark Bixby, but he no longer has any involvement with the MPE/iX OS or that particular Perl port.
Does anyone run Perl on this platform? Does anyone build Perl on this platform? If so, please contact me and we'll try and update the details. Cheers!
Moving between countries with various different exchange rates is a bit like the popular concept of "speed blindness". Here's one definition: "The eyes quickly get used to the speed driven and shortly after it seems like we're not moving quite as fast as we initially did, even though we're travelling at the very same speed." (This is not, by the way, the same as the technical definition of speed blindness, which has more to do with angle of vision than perception of distance traveled over time.)
When I moved to South Africa, I found I was suddenly very, very stingy. 100 Rand felt like a lot of money, even though it was really only USD 13. Gradually my mental scale adjusted until 100 Rand was 'cheap', 300 rand was "moderately expensive", and 700 Rand was "on the spendy side". But then, I had to catch myself when I visited the US, because I started thinking of USD 1000 as "a little spendy" instead of "pretty expensive".
Moving to the UK is a similar adjustment. I keep having this subconscious reaction of "everything is so cheap!", even though I'm conciously aware that between exchange rates and currency exchange fees on my US credit cards (it takes time to set up local accounts) each pound I spend is about 2 dollars.
Currency Blindness: The mind develops a sense of "value" and proportion around the numeric representations of a particular currency, which are off balance when moving to a currency with a higher or lower exchange rate.
What we really need, instead of relative currencies, is some universal unit of "value" as the basic comparison for all currencies. Gold is really too large a scale for average users. Potatos might be a better choice (readily available in large parts of the world). We could start talking about the "potato standard" and "potato-based currencies". It would at least be more entertaining. :)
I just finished reading Karl Schroeder's "Lady of Mazes" (great book, read it if you get the chance). It inspires a very familiar feeling.
In the early '90s I was living in Africa, so I missed the first years of the internet as a popular communication medium (I did use BBS's for elementary school research papers, but that was different). But, I was a computer geek, so I was subscribed to computer magazines and read about it that way, and exchanged letters (yes, written by hand with ink on paper!) with friends back in the US who were exploring the new technology. I had a sense of what it was, almost like a blind person from a blind society hearing about vision for the first time, and it was so real to me I could almost taste it. I didn't feel so much like I wanted something, more like I'd lost something and wanted it back. When I did get my first dial-up account a few years later, it felt as natural as breathing, and instantly became a seamless part of my existance.
That's the feeling I get reading "Lady of Mazes". If I could step into that world, where it's not just technologies or communities that we build together, but our entire perception of reality, I would do it in a heartbeat. I would stay in a Japanese pod-hotel, and tune my perceptions to a luxury suite. I'd paint Mt. Kilimanjaro outside my bedroom window, and a Pacific ocean beach on my back porch. I'd spin off a subprocess of myself for tiresome social exchanges. I'd appreciate the beauty of illusion as a work of art. Not as an escapist substitute for reality, but as a lens on reality bringing certain features into sharper focus, with the freedom to change that focus at will. And, apologies to Second Life enthusiasts, but that just isn't it. That's about as close to what I'm talking about as a BBS was to the internet.
Two weeks ago I attended YAPC::Europe 2009 in Lisbon, Portgual. This wasn't the first YAPC in Portugal - in 2005 we went to Braga, a university town inland and it was a very well organised conference. It's no surprise the YAPC in Lisbon was also amazingly well organised, as it was the same organisers - José Castro (cog), Alberto Simões (ambs) and Magda Joana Silva. Thank you so much José, Alberto, Magda and all the others involved - it was amazing.
The theme of the conference was "Corporate Perl" and this made a useful track in the vast schedule. It's amazing all the places Perl is used. Every talk I attended was great - the speakers knew their material and explained their content well. Some of the presentations are already online, see "Talk" in the schedule.
I liked the venue, three metro stops away from our hotel (also very walkable). The main room was huge and the three other tracks were just nearby, leaving a large space behind these for socialising with the just-over 300 attendees (and easy access to the sun). This was also where the terribly-important refreshments were, including oh-so-tasty pastéis de Nata.
The attendees' dinner was great. It was in a huge churrascaria (meat on swords!) by the river. It was also a good location for the Quizz Show, with 16 two-person teams fighting to be the geekiest. This was quite hard, as the questions varied from Portuguese history, Star Trek, Buffy and Perl internals ("How many levels of precedence does Perl 5.10.0 have?") to Unix history.
Community was very important at the conference - there are lots of seperate groups of Perl people clustered around the core, Perl modules, Perl projects or even cities and conferences are where you can mix, meet people in real life and start making crazy plans for the future. There are so many exciting things going on in Perl and I'm really looking forward to YAPC::Europe in Pisa in 2010!
I always enjoy reading the papers of the SIGGRAPH conference. It's nice to see what new graphical techniques are coming. Here are my favourite picks from 2009:
- Content-Preserving Warps for 3D Video Stabilization
- Self-organizing tree models for image synthesis
- 4D Frequency Analysis of Computational Cameras for Depth of Field Extension
- Deforming Meshes that Split and Merge
"These images from an animation show viscoelastic horses being dropped onto one another".
I ordered a small house salad to-go for dinner tonight with dressing on the side. They gave me, seriously, an entire cup (1/2 pint, 200+ ml) of Thousand Island dressing. When I first peeked in the bag I thought they messed up the order and added a soup to my salad. In what universe do people eat equal proportions of salad and dressing?
On the plus side, to-go service was mercifully fast, so I managed to escape the singing while it was still quaint and amusing instead of the "severely annoying" it would have been in another few minutes. No, not karaoke, a 50's themed diner with singing waiters.
I love Moose. It's a postmodern object system for Perl 5. It's very powerful, saves me writing a lot of code and is very extensible. Dave Rolsky received a grant to write the Moose::Manual and it's a great introduction to Moose, how to use Moose and covers every part of it in detail. I don't really enjoying reading documentation on a screen, so I converted the manual from Pod to LaTeX so that the typography would be beautiful, fixed a few typos in the manual, designed a nice cover and you can now buy a copy for yourself. At the YAPC::Europe 2009 auction a copy of the book signed by Yuval Kogman and Larry Wall went for €120!