If you like doing unusual things when you visit a new place, one of the things you should definitely check out while you’re in Madison for YAPC::NA 2012 is the National Mustard Museum.
On the bottom floor they have an archive of the history of mustard. You’ll be amazed by all the things you didn’t know about mustard. In addition, they even have jars of actual mustard dating back to over 100 years.
On the top floor they have the most amazing selection of mustards for purchase you have ever seen, literally hundreds of types of mustards. And best of all, you can sample any mustard in the store whether you intend to buy or not.
You will have to take a bus, a cab, or drive though, because the National Mustard Museum is about 6 miles from the YAPC facilities. It’s worth the effort. This is a possible destination for the Spouses Program.
You need: a file that can be sent to your printer (Postscript, PCL, whatever)
Condition
batch-command, no manual interaction with Acrobat
Possible solutions: Ghostscript
gswin64 -sDEVICE=pswrite -res300 -sPAPERSIZE=a4 -dBATCH -dNOPAUSE -sOutputFile=C:/temp/new.ps input.pdf
A very good solution for PDFs of "normal" count of pages. A conversion of 10.000 pages may last one hour or more depending on the complexity of PDF file
pdftops.exe from foolabs (
http://foolabs.com/xpdf/)
I published my first blog on 29th Sep'2011 about how Dancer and Rose::DB can be used together to build a web app in no time. Here is the link to that blog, if you have missed it.
I have been thinking of improving on that and first thing that came to my mind is how about adding pagination feature while displaying the items. There are many gems available on CPAN to help you in pagination. However I was looking for something that is easy to plug in with my Dancer web app. In my research I came across an example doing exactly what I was looking, although I find it incomplete by Alexis Sukrieh. Here is the link to that code.
I grabbed the idea from the above example and incorporated into my Dancer web app that I wrote as a part of my first blog. Here is the link to the code, in case you are looking for.
I am going to add this to my public github repository very soon.
In
the previous post in this series,
I described the way
the Traditional Perl Parser (TPP) parses Perl's
use statement.
This post will describe an IMHO attractive alternative approach,
using my own
Marpa::XS.
Marpa::XS has a prototype Perl parser as part of its test suite.
The TPP Way
If
that previous post
is not fresh in your mind, it may be useful
at this point to look back at it.
Summarizing, the TPP uses
the "Ruby Slippers" method:
It first simplifies the grammar so that, while convenient for the
parser, the grammar falls short of describing the actual language.
The lexer then fakes the input to the parser
so that the parser's "wishful thinking" comes true.
In the TPP, the parser requires all
use statements
take this form:
use_statement ::= USE WORD WORD LIST
Here the WORD's may be either versions or
names of modules -- the semantics
looks at the internal representations to sort this out once
the parsing is finished.
Firstly I would like to mention that I have just released version 0.06 of Math::GSLx::ODEIV2. For those of you who aren’t familiar with it (most of you I’m sure) this module represents a Perl-ish interface to the new GSL ordinary differential equation solver.
The major improvement of this version of my Perl module is the handling the Jacobian of the ode system. This allows the use all of the step functions in the original C library. In fact, other than one small feature that I would like to add (specifying quantity specific error limits), the module is just about feature complete.
Recently I needed something with the same functionality of Data::Dumper but prettier printing for dealing with nested structures. First stop Metacpan. I type in 'Data::Dumper' and the auto complete dropdown lists some suggestions and I try a few. Ovid's Data::Dumper::Names gives me the names of variables I pass in by reference. With Data::Dumper you would see this
It’s starting to get cold here in Wisconsin, and that got me to thinking that I’m glad YAPC is held in the summer. I love Wisconsin, but for many the winters are just too harsh. I found this old article that claims that during the worst Wisconsin winter lakes would add 9 to 11 inches of ice in just a couple days, and there were snow drifts as tall as 15 feet.
September has turned out to have been a very difficult and traumatic month for CPAN Testers. Our server problems have now been resolved, but it has meant more time than was intended has been devoted to rebuilding the website eco-system. It's still not complete, but we are getting there.
The first sites to be reinstated were the CPAN and BACKPAN mirrors. Soon after the Statistics site and Development sites were back online. The database rebuilds took considerably longer than expected, partly because the archive of the original NNTP reports had become corrupted at some point. The checks to ensure all interconnected parts of the databases were correctly referenced also took time. A full backup was then taken so we could start from a known point once all the moving parts were restarted. Just in case anything went wrong again!
Next time I upgrade DBIx::Class it will probably tell me I need to get a haircut.
DBIx::Class::Schema::connection(): You provided explicit AutoCommit => 0 in your connection_info. This is almost universally a bad idea (see the footnotes of DBIx::Class::Storage::DBI for more info). If you still want to do this you can set $ENV{DBIC_UNSAFE_AUTOCOMMIT_OK} to disable this warning. at lib/Territory/Model/TerritoryDB.pm line 23
If you're looking to break in to web development, and have a chance to work on some of the coolest web apps in the Perl world, Plain Black is hiring 2 developers. Here's the job description:
Plain Black is hiring and we’re looking for a geek like you. Not your average geek, but someone who wears GEEK as a badge. Someone who breathes Perl, and drinks Linux. A geek who knows that there’s more you can do with SSH than just open a terminal to a remote box. Someone who believes that Internet access is not just a human right, but that it’s as important as air, water, and shelter. If we’ve described you, then please apply.
During August this year, in Riga, Latvia, YAPC::Europe brought together 285 people to learn, discover and discuss Perl. As previous attendees know the YAPC conferences are a perfect opportunity to introduce yourself to the Perl community. YAPCs are now held all around the world and each is very different another. Each has their own charactistics, and they all get better and better thanks to the feedback from attendees old and new, which is why the YAPC Conference Surveys are well placed to concentrate that feedback for future organisers.
Some of these people would like to do away with needing Firefox to be running on the machine doing the automation. To look in that direction, and to gain some familiarity with nodejs, I started porting the proxy object backend MozRepl::RemoteObject to nodejs. I've uploaded the work in progress to Github as NodeJs::RemoteObject. There is a lot of copied and pasted code between the two ::RemoteObject modules, and likely, this will beget a third, shared incarnation of (Javascript) proxy object implementations.
The main thing that's still needed is to actually write a web "browser" implementing just enough to run most web applications, for nodejs. I think there already is something called "jsdom", which claims to be just enough of a browser to make this work.
The Perl Testing Workshop at YAPC::NA 2012, taught by Gabor, will be in Room 226 of the Pyle Center. We thought you might like a look at the room before the workshop. The workshop will be held for the 2 days before the conference (June 11 & 12).
(*STORE,*TIESCALAR)=
map{eval"sub{$_}"}qw'map{print&&sleep$|}split//,pop bless\$|++';
tie$t,main;$t="Just another Perl hacker,\n"
I have been blogging for some time over at http://joelslinux.blogspot.com. It was and still will be a blog about Linux and the open source software that I use. I doubt it has many readers, in fact it was mostly for me to remember interesting tidbits should I need them again.
In the past few years I have become quite a Perl enthusiast, doing most of my day-to-day work in Perl and authoring several modules. To get a little deeper into the fray I decided to split my blogging, posting on Perl here in case it may be of use to anyone. I hope people find it informative and I hope to get feedback from those who do (or don’t for that matter).
So, I've been awfully quiet lately. There are a number of reasons for that, not the least of which is being the proud parent of a delightful little girl. Another reason has been simple: I'm writing a book.
A couple weeks ago I posted this introduction to DCI. I received a lot of feedback. Primarily I was told that I did not explain DCI concisely enough. In addition I received feedback that showed me I completely failed to convey the point of DCI. DCI does not replace OOP, it augments it and makes it easier to maintain.
After reviewing all feedback, and corresponding with many of those who provided it, I have written a new document. This document attempt to use simple language, to put DCI as simply as possible. Unfortunately the logical leap to grasping DCI is at least as large as the logical leap from Imperative to OOP, and cannot be consistently conveyed in a simple paragraph (at least not with my writing skills.)