OT: Purdue Course Signals - An Early Warning System for Students in Trouble

Purdue's Course Signals provides instructors with an early-warning system for students who are struggling or otherwise in trouble in their courses. And it works! Possibly the coolest piece of educational technology I've seen in quite a while.

Swiss Perl Workshop - Registration open

On behalf of the organisers I am pleased to announce the workshop website for Swiss Perl Workshop 1.

http://perl-workshop.ch

Registration is open, so register early and often. :-)
As this is the first Perl workshop in Switzerland, please help spreading the word.

You can also submit your talk proposal(s).

We are looking forward to see many of you on March 22 in Bern, Switzerland, Central Europe!

More exciting news to follow.

:m)

The JVM *could* host a Perl implementation - and do it well!

I started writing this as a response to chromatic's post at his Modern Perl blog. Short version: I think that the VM will be no problem for Moe, Stevan Little's new project to bring a Perl (or dialect) to the JVM.

Overall, I think chromatic's points are very good, and I agree with many of them, especially in the "What Moe Could Produce" section.

But I disagree with one point, in that the JVM has (at least to me) proven that it is an excellent platform for hosting dynamic languages. Well, at least one dynamic language.

Galileo 0.012 released!

Galileo is a simple but modern Perl CMS which is totally installable from CPAN. Just a few quick commands and the site is live and usable! The primary focus is small sites, which need immediate availability and easy (no?) administration. All content is written in a markdown editor in the browser and saved live via websockets with no reload.

This morning I released the newest version of Galileo with several improvements that have been in waiting for months. Among the most exciting is preliminary support for in-place database upgrades via DBIx::Class::DeploymentHandler.

In addition, Mojolicious author Sebastian Riedel made an extra effort to ease the testing of JSON messages passed via websockets. This means that Galileo’s two-way communications between the browser and the server are now even more robust and better tested. Further, this move has made unicode handling more reliable (since websocket unicode handling has its own quirks) so I can now say that Galileo should be unicode friendly! Thanks SRI!

Need a quick website? Give Galileo a try!

EDIT: I have now released a few nit-fixes so the release number is now 0.015. This should ease installation in some situations and on more platforms.

Vim - Creating a Macro Without Recording It

Just as you can edit a macro in Vim by pasting it to a buffer and editing the pasted text (then yanking the edited text into the macro register), you can create a Vim macro by yanking (J. Random) text into a register then executing that register as a macro.

(This makes it easy to play the home game, "Gee, I wonder what this line noise would do in Vim?")

YAPC::Europe 2013 in Kiev, week minus 30. Call for sponsors

Hello,

After a week of Christmas (the Eastern one) break we are here to continue our weekly newsletters. They will now also appear on the conference site in the News section.

First, a brief statistics update. Today there are 71 registered people coming from 15 countries and 26 monger groups. There are four submitted talks already. And we have some first early bird ticket purchasers. Thanks to all of them.

Today we would like to call for sponsorship.

YAPC::Europe is a non-profit event aimed for those who use Perl in their daily activity (or even on a monthly or yearly basis, checking the crontab settings after migrating to a new server :-) All income comes from attendee fees and from sponsors.

MadMongers: A New Way To Build Web Services Apps

Tomorrow (Tuesday, January 14th), I'll be giving a talk at MadMongers about a new technique for building web-services enabled web apps. It is the core technology we developed to create The Game Crafter, and we now use it in all apps that we develop both internally and for customers. With it, you can build web-services enabled web apps in minutes rather than months, and I'll be demonstrating that live at the presentation. If you are within driving distance of Madison, WI I encourage you to join us. The presentation begins at 7pm at the Essen Haus.

Got CSS to hide ridiculously long posts?

Does anybody have CSS handy to hide -- say anything after 2 paragraphs -- ludicrously long posts on the front page of blogs.perl.org?

A list of the Perl::Critic policies CERT recommends

I spent the morning collating the CERT recommendations and rules for secure Perl coding. Some of their policies recommend particular Perl::Critic policies. Here's that list:

I put all the data in a JSON file.

Jeff said it would be trivial to make a cert theme, and now that I've collected all the data, it's someone else's turn to do that. :)

A language for writing languages

[ This is cross-posted from the new home of the Ocean of Awareness blog. ]

Marpa::R2's Scanless interface is not yet two weeks old, but already there are completed applications. Significantly, two of them are for work.

A JSON Parser

The non-work-related application is a JSON parser. Given what it does, it easily could have been work-related. (It's been available for a few days as a gist, so it may well be in production use somewhere.) It was written by Peter Stuifzand, runs 185 lines and took him less than 30 minutes to write. Peter reports that it was a matter of typing in the grammar, and adding a few Perl functions to provide the semantics.

There are, of course, other JSON parsers out there, many of which run faster. These, however, took weeks to write. If you are, for example, thinking of extending JSON, and development time is a major consideration, the Marpa-based solution will be attractive.

Printer escape codes

CPAN Testers Summary - January 2013 - Up

Quite a few updates for this month's summary. New CPAN distributions, plenty of fixes, some updates, lots of discussion ... and 27 over million reports!

Installing all CPAN modules

Is there a bundle out there of all CPAN modules? I'm looking to install every single module on CPAN onto a machine.

A quick static file webserver

Wow, I’ve been busy lately! This is just a quick note.

Have you ever needed a quick webserver? Just static files, nothing fancy. Well here’s a quick way to make Mojolicious’ built-in server do just that.

Just make a little file, I’ll call it server.pl and put this inside:

Once a week, every week

CPAN modules

A year ago, Mark Fowler resolved to release a Perl distribution each and every week and invited other Perl hackers to do so.

Running a Mojolicious non-lite app on a cPanel VPS server

I've used cPanel/WHM for a very long time as a personal server manager, and up until recently it's served my purposes pretty well.

However since getting into the Mojolicious framework and a few other Perl modules that require a Perl version greater than the 5.8 that cPanel is currently tied into, it's become a bit of a nightmare trying to run any Modern Perl apps on it.

While there is some Mojolicious documentation around running an app on Apache, I thought I'd document the exact steps I took to get a non-lite app up & running on my Hostgator server (although I'm sure it would work equally well for Dreamhost etc or other shared hosting solutions):

The steps I took were:

AnyEvent::ForkManager stuck on Strawberry but not on ActivePerl?

I am not exactly sure if the difference is between Strawberry Perl and Active Perl, but it looks like it is there and I am stuck like the test of the module.

Version 0.03 of AnyEvent::ForkManager has another minor issue, you need to already have Test::Requires, which is then not used, but once you install that module, here is the main point:

On ActivePerl the test fails. See the reports
by David Solimano and
by Matt Perry.
Christian Walde also ran the tests.

OTOH on Strawberry Perl the tests get stuck as reported by Alexandr Ciornii
and later by myself.

While it would be nice if the test were passing, I think it would be also important to understand why are the tests stuck in some of the cases. Is that really some difference between Strawberry Perl and Active Perl?


ps. No, I don't really need this module, but I was smoking CPAN on Strawberry Perl and Christian Walde (Mithaldu) thinks I am just complaining and not doing anything about it.

Recent work on ZMQ::LibZMQ3 and CZMQ

During the last leg of my new year's vacation, I started hacking on ZMQ::LibZMQ3 et al again, due to gentle prodding from @melo to include zmq_proxy().

What seemed like a simple API addition in the end turned into myself writing a autoconf like "compile, see if it works, and check if a particular API exists" type of too (is there a CPAN build tool change component that does this kind of stuff?). I'm satisfied by the fact that it actually works, but I must say the Makefile.PL for ZMQ::LibZMQ3 is starting to get pretty darn wacky.

Making DBI’s type info data usable for its quote method

I’m putting this here mostly as future copy-paste fodder:

my %sql_type = do {
    my $ti = $dbh->type_info_all;
    my $tidx = shift @$ti;
    my ( $n, $t ) = @$tidx{qw( TYPE_NAME SQL_DATATYPE )};
    map {; uc $_->[$n], $_->[$t] } @$ti;
};

Now you can say things like $dbh->quote( $latitude, $sql_type{'DOUBLE'} ). This is useful in situations where you cannot use placeholders, e.g. when generating some kind of fixture.sql file from CSV data.

Nginx: FastCGI vs. starman (Erratum)

2 weeks ago I've written Moving my Catalyst Apps from Apache/FCGI to Nginx/Starman

Yesterday I have discussed my setup with mst, jnap and joel on irc.perl.org #catalyst

Here is the gist of what mst had to say.

15:50 <@mst> you're using unix sockets
15:50 <@mst> ergo there's no gain to using starman over fastcgi, you're just using a less efficient protocol
15:51 <@mst> the modern ways are starman via http TCP proxy, and fastcgi via unix socket
15:51 <@mst> you're currently using starman to emulate myapp_fastcgi.pl
15:51 <@mst> and I can't see the point

Here is another post about the same topic. nginx and Perl: FastCGI vs reverse proxy Forget the last downside bullet from the first reply though. thats bogus.

Here is my new setup (debian wheezy, stick to the official deployment instructions if you run into problems with my config)

nginx

Advance warning re App::Office::Contacts V 2.00

Hi

I'm re-writing App::Office::Contacts, and making many internal changes.

Externally, little will change. (See also: Famous Last Words.)

The point of this post is to solicit feedback: If you're interested in these modules, or are worried about the changes, comment below, or email me directly.

Hopefully, however, no-one is using the module, so exactly the same number of people will be affected...

Some details:

Internal changes include:
o Switch from CGI::Application to CGI::Snapp
o Switch from CGI::Session to Data::Session
o Switch from Log::Dispatch to Log::Handler
o Switch from YUI to jQuery
o Restructure the class hierarchy
o For MySQL users, adopt engine=innodb
o Additions to the people table: facebook_id and twitter_id
o Old fields in the people table now ignored: broadcasts, communication_types

External changes:
o The appearance of each input form will be a bit different, mainly due to adopting jQuery

Future changes:
o I am aware the lack of sites/addresses (per org, per person) is a deficiency. That will be rectified shortly.

The companion modules App::Office::Contacts::Donations and App::Office::Contacts::Import::vCards will of course change to match.

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.