MetaCPAN would not exist as we know it, if it weren't for our sponsors. I'm particularly happy to say that we have some incredibly supportive hosting sponsors who understand our needs and provide us with the gear that helps us keep up with our demand.
Git is a wonderful tool, and there are
alotofgitwrappers
written in Perl on CPAN. They all depend on running git in their test suite.
Test::Requires::Git offers a simple way to declare which versions of git a test depends on, so that it can be skipped if the available git does not match the specification.
This has been a busy week with Veure. As usual, my daily routine is:
Wake up
Hack a couple of hours on Veure
Work for $client
Have dinner
Optionally hack more on Veure
Hack, in this case, does not simply mean "write code." There are many other things involved, including research, research, and more research. And legal stuff. And writing. And hiring.
Yes, hiring. For example, we think we've found a great artist. If it works out, we can replace my crappy concept art of a space station:
New ships can be done, new background graphics, and so on. In fact, this could turn into a full-time job for him if Veure is successful. But that's not all we're hiring.
Somehow I missed to post my April report. Don't remember well what was the PR. It was something basic, as I lack the time for real work.
This month I prepared a Pull Request on removing HTML from result entries obtained with WWW::Wikipedia. Now, waiting to see if it gets merged. It seems I have no luck on my PRs to be merged...
Today I'd like to take a moment to recognize Bytemark, which has been a MetaCPAN hosting sponsor for over 2 years now. When our original hosting sponsor was no longer able to support us, we found ourselves in a tight position. We had 30 days to find a new solution in order to keep MetaCPAN online. Thanks to a very quick response from Bytemark (and Mark Keating, who helped us set up this arrangement) we had a seamless transition to our new host and new hardware.
In the recent changes, while it keep backword compatibility, it is an effort to get the Mojolicious::Validator grammar. Validator::Custom is more customizable than Mojolicious::Validator yet now.
For April, I was
assigned AnyEvent::ForkManager,
which claims to provide an interface similar
to Parallel::ForkManager,
but compatible with AnyEvent.
The module had some CPAN testers’ failures as well as an issue
reported on GitHub, so I tried to fix it. I wasn’t quite successful,
though.
Further playing with the JavaScript based view of CPAN I've added a new page in the lab called files. You can type in a name of a file (e.g jquery.js) and it will list you all the distributions that include this file.
You can also search for directory names such as js or css.
Let me know if you find something strange!
Oh and if you'd like to learn how to build the client side of the web application, register on the course I run before YAPC::EU.
Well something like that. The whole story is that I wanted to add in some new code on a rather old web-page. As the new code took some time to run I wanted to do it as an asynchronous call. So my new code would run off line and not slow down the already slow response time.
So I being a module sort of guy I had a try with Async and all seemed to work correctly in dev so we moved it into production and it seemed to work fine
Until
our Nagios started to complain and a quick 'top' gave us
I released Plack::Middleware::SignedCookies some time ago because I went looking for it and came up empty. This is a middleware that signs outgoing cookies on the server with a HMAC digest and verifies the digest on incoming cookies. If a cookie doesn’t pass the signature test, it is dropped on the floor and your application never gets to see it.
There are several framework-specific plugins that do the same job, but I wanted to get rid of as much framework-specific code as possible.
I have found myself in a bit of a CPAN exuberance these last few months.
While I have released several new modules, I haven’t found time to announce them individually.
Here then is a joint announcement of what I’ve been doing on CPAN lately.
On May 2nd 2015, the Second NYC Perl Hackathon event took place and this time around it was a completely different experience from the First NYC Perl Hackathon that took place in 2013. In early February, Jim Keenan made a call for a Perl Hackathon venue space in the NY.pm mailing list and Peter Martini from Bloomberg L.P. arranged a meeting to discuss the possibility of having Bloomberg L.P. host the event ( This is where my adventure started ). Jim Keenan reached out to me to assist him as a co-organizer ( and I excitedly said Yes ! ).
That is a screenshot from the completion of a level 1 mission "Find Amaidoo's E-slate." The code was painful to integrate, but it makes things like the above simple to do.
Further to my last post about Brian McCauley, his wife Sam has a request for photos any of us may have taken over the years of Brian, so that she can used them to create a montage at his memorial.
If you have anything you'd like to submit, perhaps from a YAPC or other Perl event, please send them to the email address: picturesofbrian2015@gmail.com
Please do not send photos to myself or Sam, as she is using this email address to enable her to sort through photos. This email address is being sent to friends and colleagues at SJA, so hopefully Sam will have quite a collection to choose from.
DBD::SQLite 1.47_05 is a release candidate of the next stable DBD::SQLite. As always, please test it with your modules/applications and let me know if you find anything. If there's no blocker nor request to wait, I'll release 1.48 in the mid June, hopefully on 11th, the day after the YAPC::NA is over.
There'll be no big change in DBD::SQLite 1.48 itself, but a few notable changes that might affect you include:
Fixed optimization (-O2) was removed. This usually shouldn't matter, but if your perl is compiled with a different level of optimization, test carefully.
Now you can pass an extra bit (SQLITE_DETERMINISTIC) to create_function() and create_aggregate() for better performance.
$dbh->do($sql_without_bind_values) should also perform better.
DBD::SQLite::Constants is introduced to export a number of useful constants.
See Changes file in the distribution for other fixes and improvements.
Currently, we're pushing forward hard to try to get to the alpha release and get playtesters (let me know if you want in on it). Major things we need to finish to get there:
More missions and jobs (repeatable missions for lower rewards)
Auction Houses
Elite-style trading
More NPCs
More game balancing
Some legal stuff (expensive and time-consuming)
There's more we need, but those are the "big" items we need to finish. The content generation is some of the most time-consuming. Plus, I need to do a lot of work to make the mission system manageable for someone who isn't me. Right now it's complex (to put it mildly) and I'm adding a new feature to make it more flexible but which also increases complexity. If we can't have rich, compelling, missions, much of the game falls flat.
A few weeks ago was the Perl QA Hackathon in wonderful Berlin, Germany.
I attended like I have for the last 3 years, as I love to get a chance to hang out in person with many of the people I see online daily, and I get a huge boost of motivation surrounding the event. It's also a great time to catch up on things that have been put off for one reason or another.
This year I planned to get Devel::PatchPerl working for a few much older versions of Perl. Devel::PatchPerl's purpose is to patch unpacked tarballs of the perl source tree so that older perls continue to compile as compilers and libraries change over time. This is useful for module maintainers who want to continue to support older perls for various reasons.
In my testing, I could compile perl all the way back to perl-5.6.0, but not beyond that, and I need to go back to at least 5.003.
I've started to build a new, JavaScript based interface to CPAN. It uses the MetaCPAN API as its back-end. It is quite at the beginning, but you might already want to take a look at it and give suggestions.
One of the reasons to build this is to provide material for the Web Application Development course I am offering at YAPC::EU. This is a single-page application using jQuery, Handlebars and Kube.
Another reason is to provide a playground for myself and for others to create potentially interesting pages based on the MetaCPAN data that later can be incorporated into MetaCPAN. For example I've added a page that list the most recently uploaded modules without a license in the META fields. If someone is looking for low-hanging fruits for sending pull-requests, this might be a good source for them.
There is also a list of recommended modules categorized on he front page.
The source code is on GitHub in case you'd like to send suggestions.