YAPC::NA 2012 Pricing

A lot of people have been asking lately, how much YAPC::NA 2012 will cost to attend, so I guess I’m a bit behind schedule on publishing that pricing. 

  • Conference: $150, but if you register before May 1, 2012 you get the early-bird price of $100.
  • Spouse’s Program: $150, but if you register before May 1, 2012 you get the early-bird price of $100.
  • Either Workshop: $500, but if you register before May 1, 2012 you get the early-bird price of $250.

As part of Perl: The Next Generation, we also have needs-based scholarships available. 

We’ll be opening registration in February. 

[From the YAPC::NA Blog.]

Announcing Marpa::XS 0.016000

I released Marpa::XS 0.016000 a week ago and the cpantesters results look excellent. With this release, my conversion of Marpa from Perl to C is finished. A lot of Perl code remains, to be sure, but all of it is code that arguably belongs in some kind of higher-level language.

This release was checked for leaks and other memory issues. The couple of issues that turned up were fixed.

What is Marpa?

Marpa is an advance over recursive descent and yacc. I hope the Marpa algorithm will become the standard parser for problems too big for regular expressions.

Core Modules add/remove quick reference

When designing a Perl application that needs to run on many different versions I end up using 'corelist' a good deal. Most of the time I just needed a list of the additions or removals of core modules from different stable series of Perl releases. I kept all this information in a text file for reference. While searching for something Perl related it dawned on me that I should post this as it could be useful for other Perl developers as well.

I used 'corelist -r' and 'corelist -v ' to gather this data together. The release data is from 'perldoc perlhist'.


2008-12-14 Perl v5.8.9 released Pumpking: Nicholas Clark
2007-12-18 Perl v5.10.0 released Pumpking: Rafael Garcia-Suarez
2010-04-12 Perl v5.12.0 released Pumpking: Jesse Vincent
2011-05-14 Perl v5.14.0 released Pumpking: Jesse Vincent

Releasing trial/dev/beta versions with Dist::Zilla

You might have stumbled across Dist::Zilla's --trial command line option in the past, and maybe even used it for a developer CPAN release. Its effect is (as I understand it) two-fold:

  • adds -TRIAL to the name of the distribution archive being produced
  • sets release: testing in the META.json file which is parsed by CPAN services

It came to my attention that using -TRIAL is actually pretty bad for you and your system, and other users, even though it's one of the two naming conventions CPAN services use to identify developer releases.

The problem is that the actual $VERSION of your code is unaffected. This means once installed, you can't ask your computer the version of an installed distribution and work out from that whether it's a developer release, or not. A secondary issue is that in sites such as metacpan.org there's nothing really obvious about the release which highlights its status as "development", in the list of available versions.

Qrafter

Qrafter :

Qrafter is one of the better QR Code readers for iPhone and iPad. Most importantly, it handles vCards. Since we’re using a lot of QR Codes at YAPC::NA 2012, do yourself a favor and get Qrafter, if you’re an iOS user.

[From the YAPC::NA Blog.]

RIP dmr :(

feeling:
		NULL;

my @arrays_hurt;

calling'all &{*pointers};

print "out loud";
"he is dead";

segfault::the::airplanes;
void_the_system;
&mourn;

"entropy sucks";

YAPC::Asia Tokyo 2011 Day #0

Day #0, the Eve, is traditionally either a RejectConf or some other smaller event - and either way, we provide a room where you can drink and socialize. We also provide beer and some condiments. You can listen to the talks, or opt to only socialize:

We had a little problem with the check-in tonight (yours truly forgot to ALTER TABLE the production database and subsequently the webapp kept failing), but otherwise we had a GREAT turn out.

We met old friends, exchanged new ideas... Anyway, the REAL fun starts tomorrow!

Oh, and here are a few shots from the preparation earlier today. Total of about 40 people have signed up to help, so things went on very smoothly



And I'm already sore from the work. Going to be now.

Perl, C and Dr. Dennis Ritchie

As many of you have read in the news Dennis MacAlistair Ritchie has passed away at age 70. Given numerous awards for creating the C programming language and developing UNIX Dr. Ritchie is not just a giant among men, he is a titan in the computer industry. Here is a video of Ritchie and Thompson receiving an award from then President Bill Clinton.

QR Droid

QR Droid :

QR Droid is one of the better QR Code readers for Android. Most importantly, it handles vCards. Since we’re using a lot of QR Codes at YAPC::NA 2012, do yourself a favor and get QR Droid, if you’re an Android user.

[From the YAPC::NA Blog.]

Can I just do my job?

One thing I've learned over the last few months is that nothing happens quickly or easily in a company of over 125.000 people.

My rewrite effort has been bogged down in security certifications and other time-consuming stuff, so I've been unable to sit down and do much actual code.
In stead, I've been reading Modern Perl again, and trying to wrap my head around PCI security standards compliance, and reading a whole stack of blogs and books about Perl (thanks, guys!).

I can't say I understood anything beyond the basics.  "Stop people that don't need access to credit cards from getting at them."  Where I'm from, we don't need a 9001 page document to say that, but I guess they want to cover every base.

I'm just wondering how much these endless phone conferences, meetings and delays have cost.
Not just of my time, but several people that make twice as much as me, and a couple that make at least five times as much.

DBIx::Inspector Schema Loader

Today, I was looking for a simple module that fetches my DB schema. Played around with DBIx::Class::Schema::Loader and Rose::DB::Object::Metadata, with no success.

Have already given up, but finally decided to make a Github search for DBIx, which provided exactly what I needed. Just curious why it was so hard to find this module?

DBIx::Inspector

is a type system a hindrance to programming creatively ?

Just thinking out aloud, for the sake of clarity.

Consider music improvisation. Should a musician stop and restart because one tune was a bit off ?

(I am not talking about reproducing mozart here but improvisation i.e, coming up with new tunes, maybe even a mozart remix)

I think not.

Programming languages without type systems don't complain much. This makes it easier to program despite the obvious errors. This makes it easy to _improvise_ algorithms.

Most improvised music can sound pretty _dirty_. This is why, after an improvisation session , what follows is an editing session which adds *structure* and *corrections* to make it sound _clean_

- unit tests --> music idea
- programming without a type system --> improvisation
- functional testing / benchmarks --> editing the music

Interestingly classical music with all of its "harmony" formulae and chord sequences analogically maps to type system and design patterns

So what do you prefer ?

Stingy mozart

or

Smooth jazz ?

This is a QR Code. We’re going to use QR Codes a lot at...



This is a QR Code. We’re going to use QR Codes a lot at YAPC::NA 2012, so make sure you have a QR Code reader on your phone before you come to YAPC.

The exhibitors at the job fair will be encouraged to use them for each of their job listings. We’ll be using them to share links to important information such as maps that can help you find your way around the conference. And we probably will even put them on each of your badges so that you can easily share your contact information with someone else just by scanning their code.

[From the YAPC::NA Blog.]

Where was Sharon Hopkins's Perl Poetry Published?

I'm looking for references to Sharon Hopkins's Perl poetry in The Economist and The Guardian for my update of the Camel Book. The Economist website is down right now, and my search in The Guardian turned up nothing.

Does anyone have these references? She didn't list them in "Camel and Needles".

Q: Local audio cd db - Too many modules

Hi Folks

What do people think about modules to build a local music db?

I'd prefer a well-maintained module. This is for Debian.

TIA.

A real fork() call could be possible on Windows (XP onwards)

Prompted by BrowserUk in his post on Perlmonks on Win32, fork and XS globals, I looked into the PAGE_WRITECOPY for CreateFileMapping, and it seems that, in fact, this function, together with a bit of work could be made to implement a (data-)fork call on Windows, with real sharing of identical pages.

There is this sample program on the MSDN, which outlines how to use a mapped view of a file for shared memory IPC, and by using the PAGE_WRITECOPY flag instead of FILE_MAP_ALL_ACCESS, we should get COW semantics for the shared area.

The part for implementing fork() would seem to just be:

  1. (and that is the hard part) Determine the range of data to be shared with the child
  2. CreateFileMapping in the parent process to share the area from 0.
  3. MapViewOfFile
  4. Launch the child process
  5. In the child process, call OpenFileMapping() to connect to the data area from the parent process.
  6. Fix up any cached values that need changing after a fork(), for example $$

Google+ Page for YAPC::NA

Google+ Page for YAPC::NA :

Gabor Szabo has generously decided to create a YAPC::NA Google Plus page and cross-post all of the YAPC::NA 2012 blog content to it as it comes out. Hopefully at some point there will be an easy way to just automate this, but for the time being this is the only way to get the posts out to Google Plus users. 

Thank you Gabor!

[From the YAPC::NA Blog.]

About Obligations

First off, documentation is important. I love good documentation, and I try documenting my code as good as I can. But I do that because I want, I can, and I have the time. It is not because I have to.

As you might have noticed there’s been some talk about whether people should be free to release Open Source software the way they want to, or if we should try to bully them into compliance. Since the original author has now started to drop ad-hominems and directly attacking people who disagree with him, I will follow Gabor’s example and not link there. I’m also not gonna go into the topic of “People should be allowed to bully others. If you don’t like it, go away.” That one is left as an exercise to the reader.

Opa: The language with a db, web server etc built in

Hi Folks

Looks amazing.

"Opa is a programming language and a standard library comprising a database management system, a web server, a server-side framework, a client-side framework, a distribution middleware, a security audit tool, but without the complexity of deployment, administration, or impedance mismatch stemming from the use of many different technologies."

Home page.

Is anybody using this, or has seen it used in a project? I'd love to get some feedback.

Why Dart is not the language of the future

So I've been looking at the Dart language specification recently published by Google (draft version 0.01). So far, I'm not really enthusiastic. Here's my reading notes.

Class-based OO and Interfaces

At first glance Dart code looks like Java (and nothing's wrong with that, I'm not going to criticize a language based on my idiomatic preferences). The syntax is very similar, with the dot to invoke methods, the curly braces for blocks, the required semicolon to terminate statements, the main() function, the general feeling of verbosity. The familiar classes and interfaces are here. There is only single-inheritance, abstract interfaces being provided instead of full multiple inheritance to solve the diamond inheritance problem.

About blogs.perl.org

blogs.perl.org is a common blogging platform for the Perl community. Written in Perl with a graphic design donated by Six Apart, Ltd.