Montage of Brian

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.

How I Spent my 2015 NY.pm Hackathon

The 2015 NY.pm hackathon was a really fun event. I've posted a report on how it all happened for me .

Next stable DBD::SQLite to be released in mid June

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.

Beta Features for Veure

There was positive response to my last entry about Veure, both on the post and in private email, so I'll keep posting.

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.

Brian McCauley (1967-2015)

It is with great sadness that I pass on the news that Brian McCauley passed away yesterday morning.

Perl QA Hackathon 2015 Recap

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.

New JavaScript based interface of CPAN

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.

MetaCPAN Welcomes iDoneThis as a Sponsor

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".

How I write custom quests for Veure

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?

(should be a) Reply to [GPW 2015] German train drivers' union calls 5-day strike starting Tuesday

The German Perl Workshop will take place as planned. The following mail was sent out to (I assume) all attendees:

YAPC::EU Master Classes, Talks and Hackathons

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.

[BREAKING] [GPW 2015] German train drivers' union calls 5-day strike starting Tuesday

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.

Edit: The GPW organizers have posted an update.

Term::ReadLine::Gnu Unicode Hell

I must be doing something wrong. Surely. I have a REST service. I get data using HTTP::Tiny and use JSON::Tiny to decode it.

If I try to print to the Term::ReadLine::Gnu OUT filehandle, I get double encoded strings, like this:

    coração

If I try to binmode it to utf-8, things get worst, with triple encoded strings:

    coração

Resolved it decoding (Encode::decode) from UTF-8 and using the internal Perl character representation. It worked.

The problem was when I tried to feed a pre-defined input line to Term::ReadLine::Gnu. Result looked something like this:

Microsof's Visual Studio Code editor

Hi,

Did you see that the brand new code editor just released by Microsoft (https://code.visualstudio.com) ships with the Perl 6 syntax support?

code-languages.png

code-perl6example.png

Early Bird Ends on May 15th

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.

See full details on prices and dates.

Mini CPAN PR Challenge Distros available in NYC Perl Hackathon 2015 Wiki


As promised here is the list of CPAN distributions for the Mini CPAN PR Challenge at the
NYC Perl Hackathon 2015.

Mini CPAN Pull Request Challenge Distros

If you are attending the hackathon and participating in the challenge please add yourself to the wiki page as a participant.

QA Hackathon 2015 and PAUSE on Plack

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.

Why ported?

[RANT] Apparently I don't know "localisation"..

..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/

You're welcome

You Too Can Hack on MetaCPAN at the 2015 New York Perl Hackathon

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.

German Perlworkshop 2015 - next week

The German Perlworkshop takes place next week, Wednesday to Friday, May 6th - 8th, 2015 in Dresden, Germany.

Hurry now while stocks last!

Schedule: http://act.yapc.eu/gpw2015/schedule

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.