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.
I've been doing a fair amount of mentoring work over the last couple of years with the Google Summer of Code (GSOC) and the GNOME Outreach Program for Women (now Outreachy). I've tried various ways of tracking progress of the interns, with varying degrees of success. What I've settled on and what has worked best for me is iDoneThis.
The beauty of this service is its simplicity. It's calendar-based and it lets you track two things: what you plan to do on a given day and what you've actually done on a given day. Teams can share this info and then "like" and comment on them. That's basically it. You can either log in to the site or just respond to an email. I have to say that I really like the simplicity of email as an API, even if I do prefer to log-in to enter my "dones".
Note: If MMORPGs are of interest to you, please read through this and answer the simple questions at the end.
I'm still diligently hacking away at Veure. About a year ago I wrote that I had 17% of the alpha tasks done. Given that I've added a number of alpha tasks (and pushed some back to beta), I'm relatively pleased that as of this writing, I have 81% of the alpha tasks finished, with over 90% of the commits by me. It's daunting single-handedly writing an MMORPG, but we've a developer who's been working on it and will be returning to it in June, so that's going to help. We're also looking at hiring a narrative designer to flesh out content. Writing a game is hard, but filling it with content? Hoo boy! It's the difference between outlining a novel and writing it (well, not exactly, but cut me some slack, eh?).
And that brings me to content. Much of $secret_mmorpg_name (legal stuff, sorry) will be impacted by missions, but what are missions?
Upcoming YAPC Europe in Granada will have at least two master classes, 34 talks and there's room ready for hackathons on September 1st.
Do you want to be part of it too? You can still register the conference and the master classes, submit talk proposals, or organize a hackathon. Find the details on the conference website.
This is just a quick PSA to bring it to anyone's attention who needs to know and doesn't already yet: The association of german train drivers has announced a general strike of person transportation from tuesday to sunday (5.5. - 10.5.). No further details have been announced by Die Bahn yet, but this might call the German Perl Workshop this year in jeopardy. Organizers have been sent messages, but have not replied yet.
Just a quick reminder to those of you that would like to benefit from the early bird price for the upcoming YAPC Europe conference that will take place in Granada the first week of September: purchase your ticket by May 15th.
At the previous QA hackathons, I spent most of my time on improving various aspects of CPANTS. However, I usually couldn't see what I implemented there online, because it takes about a day to analyze everything. All I could do was to start the analyzer before I fly back and confirm the result at home.
This year, things went differently for me. I spent three days on porting PAUSE Web UI using Plack toolkit, and was able to actually see the result there.
..because I didn't include mysql utf8 cruft in a connection string in something.
Thing is, I've done tonnes of localisation, from parsing named entities in german, to dealing with misconfigured mysql databases, localising currency, numbers and dates to dealing with special cases of greek capitalisation in pattern matching.
So for future reference, if you're relying on connection strings client side, you're doing it wrong - that's brittle and will eventually fuck up when somebody forgets to do it or uses a dodgy my.cnf - instead force it at server side and don't risk messed up encoding : http://blog.oneiroi.co.uk/mysql/mysql-forcing-utf-8-compliance-for-all-connections/
I'm happy to say that I'll be participating in the 2015 New York Perl Hackathon. I'd like to thank Bloomberg, L.P. for sponsoring me so that I can attend this event.
While I'm at the hackathon, I hope to continue my work on MetaCPAN as I did at the QA Hackathon one week ago. I've put together a list of possible MetaCPAN projects. If anyone would like to take on any of these projects, feel free to get in touch with me in advance if you have any questions on what might be involved with any of these proposals.
I'll also be available to help out with things which aren't MetaCPAN-related: Perl, Git, GitHub, etc. There's more general information at the hackathon wiki.
I will, of course, report back on my progress at the hackathon after the event has taken place. I'm looking forward to a productive day of hacking with a group of smart, motivated people.