perltricks.com - a new Perl website

I've started a new Perl website at perltricks.com. Through the website I'm publishing articles on all things Perl such as basic syntax guides, quick tips and tricks and community related news / profiles.

The site has been up for a few weeks and there are 19 articles so far. Check it out - I'd really like to hear any feedback or criticisms you have of the site. Particularly any suggestions on the style of the site, and ways to improve the programming examples.

If you would like to publish your own article via the site or have an idea for an article, please email me.

Edit: the site is powered by Catalyst and DBIx::Class using Template Toolkit.

Thanks !

Perl QA Hackathon 2013 in Lancaster - notes by Wendy (3a/4)

The end of the Perl QA Hackathon 2013 in Lancaster was as busy as it started. My drive to Manchester Airport with 3 hackers was enjoyable. I dropped two of them of at the airport and the third one at a lovely small hotel/b&b near the airport. The drive back was filled with Sevendust, rather loud, nice heavy metal, missed that for days.

Just before we left we were told to our big surprise that at 17:00 the building had to be empty, because of university rules. So nobody had time to do a standup and tell what they accomplished. So no list is made. Yet. Bit of a strange ending to an otherwise well-organised meeting. I hope the accomplishments will be collected and publicised in other ways, because it was a lot.

QA Hackathon 2013

Pre-hackathon:

We Tux

Day 1

My first day was largely spent analyzing and fixing bugs in the Module::Build::Tiny toolchain, and some Lancaster consensus discussions on various toolchain pieces. This was a very useful day, that ended with some wonderful food.

Day 2

Spent the first part of the day fixing bugs I made the day before, then helped out with other people's issues. Didn't participate in all consensus discussions as PAUSE isn't really my thing.

Day 3

Only

A Dead Simple CPAN API

Since the crowd funding campaign for Pinto is already off to such a great start, I figured that I better roll up my sleeves and start writing some code. The primary goal of the campaign is to enable Pinto users to pull specific versions of modules into their repository without having to know precisely which distribution they came from. Read on to hear what I've done so far...

I Bless You in the Name of the Stringified Object

A co-worker came to me today with a curious error message:

use DateTime;
my $date = DateTime->new( year => 2013, month => 4, day => 15 );
$date->set_time_zone("Australia/Sydney");
print $date->today;'

This code gives the error Can't locate object method "_normalize_nanoseconds" via package "2013-04-15T00:00:00" at /usr2/local/perlbrew/perls/perl-5.16.3/lib/site_perl/5.16.3/x86_64-linux-thread-multi/DateTime.pm line 252.

The package "2013-04-15T00:00:00" is the curious part: It looks like a stringified DateTime, but who could possibly be stringifying a DateTime object and then using that as a package name?

My Perl Pitch to Students

I blogged about visiting Evozon and giving a Perl pitch talk to students, trying to get them interested in Perl. I've decided to share the draft I wrote a day earlier with the ideas I wanted to express. So, here it is:

Introducing Type::Tiny

Type::Tiny is a tiny (no non-core dependencies) framework for building type constraints. OK, probably not that exciting. How can I grab your attention?

                         Rate            WithMoose WithMooseAndTypeTiny
 WithMoose             8071/s                   --                 -25%
 WithMooseAndTypeTiny 10778/s                  34%                   --

The benchmark script is shown later so you can check I'm not doing anything hideously unfair to disadvantage Moose.

How can I hold your attention?

Deploying JBrowse as a Catalyst App

Converting JBrowse into a Catalyst Application

This is my first post, and I apologize for the crappy formatting. I will come back and fix it.

Background

JBrowse is a genome viewer written in javascript, html, allow with the usual Bio::Graphics modules. It can be run in the catalyst framework.

This assumes you have Catalyst, Catalyst dependencies, JBrowse, and JBrowse dependencies (mostly perl/bioperl/bio::graphics things) installed.

CPAN {Spring|Autumn} cleaning time again

Get rid of your old distributions on CPAN! A couple of years ago, I asked CPAN authors to visit their delete files PAUSE page to "increase their Schwartz". Sadly, the use.Perl page has disappeared; the Schwartz Factor is the ratio of latest distros to the total size of CPAN. I named it after Randal Schwartz, who invented MiniCPAN.

Wendy noted that deleting distros was a topic at the recent Lancaster QA workshop. She didn't say much, but it sure sounded like people were looking to create policies and work to police something.

CPAN has never been curated, and that's by design. Let's keep it that way so the rules committees leave it alone. :)

Visualising SQL joins

Hi All

Here's an image displaying various options re SQL joins.

Wish I'd see this years, nay, decades, ago.

Copied from Slashdot.org: "Heroic people make any job they take awesome."

First of all, I have written my recent hacktivity log over on my new dreamwidth.org blog, and I am not posting it here, because it involves a lot of non-code hacktivity, which I expect to do quite a lot more of from now.

That put aside, I am copying here something that I wrote in a Slashdot comment about why I am looking for a job not in IT. Especially of note there are my frustrations with employers being too domineering and control-freaks, and not letting the good developers do things the way they most prefer to do it. Here goes:

Perl QA Hackathon 2013 in Lancaster - notes by Wendy (3)

The QA Hackathon 2013 in Lancaster went today into its last day. Still busy, bustling with energy, concentration, typing.

First thing to do was bring somebody back to the hotel because he forgot a bag, and bring him back to the university. Ah well, nice car trip.

This morning I finished up the other pages of the meeting of yesterday. I was just 2 minutes away from finishing when the next meeting started, about Testing. A lot of Testing. I filled 12 pages with notes about Testing. And after that I had lunch while transcribing those 12 pages. I handed the written notes to David Golden and emailed them to him too.

Topics today were "Automated testing vs non-automated testing" (which involved using some environment variables of which I think they should have existed years ago) and "Installing tests" (but what the real topic of that last one was, I still do not understand, I hope I will read it when David makes a report of it).

Notes from a Newbie 15: Edit, Delete and View Members

Notes from a Newbie document the creation and deployment of yardbirdfanclub.org with Perl Catalyst on shared hosting. They are intended for a Perl Catalyst Newbie who would like to study the creation and deployment of a simple Perl Catalyst application.

An Honest Price Discovery Mechanism for Bitcoin

INTRODUCTION

Although the bitcoin protocol itself is fairly robust, our dependence on centrally managed bitcoin exchanges for price discovery creates a single point of failure for the system as a whole.

What is needed is an honest price discovery mechanism that is both decentralized and resistant to DDoS, HFT and other forms of price manipulation.

A DISTRIBUTED EXCHANGE NETWORK

What I have in mind is a distributed network of independent, yet loosely cooperating bitcoin exchanges that all communicate via some well defined protocol. The network as a whole should be very resistant to attack, since if one exchange goes down the rest of the network picks up the slack. The concept is similar to how the Internet itself works.

HOW IT WORKS

Individual traders broadcast orders (bids + asks) to the entire exchange network (or some portion thereof), thus creating a race condition among exchanges to fill orders faster than the competition. The exchange with the fastest matching engine wins the race and collect a small transaction fee.

New, experimental screencasts

Just in case you are bored, I've created a new, experimental screencast for Perl.

The first episode is about OOP with Moo.

Perl QA Hackathon 2013 in Lancaster - notes by Wendy (2)

Saturday 13 april 2013
The QA Hackathon is thundering further like a heavily loaded roadtrain. We are now with over 40 people (I have been at workshops with less people attending, and most of what they did was just sitting and listening). hard work being done.

Well, not all. This morning after the welcome words, we got out with a group of 10 people in 2 cars and went on a small tour to Lake Windermere and some other lakes in the Lake District. Saw some amazingly beautiful sights... panoramas... buildings... villages... It took us 4 hours but it was worth it.

DC-Baltimore Perl Workshop 2013 -- Next Week!

The 2nd Annual DC-Baltimore Perl Workshop is almost upon us! In case you haven't heard about it, we'll be having the Workshop in Baltimore this Saturday April 20, and have extra trainings on Sunday April 21.

We have room for more attendees -- even day-of registration is ok, in case you wake up Saturday morning and think to yourself "hey! I could be hanging out with awesome perl nerds right now! WHAT AM I THINKING?! Also where did I leave my hat?"

Talks

We have a great schedule of talks this year. There will be two talks at a time -- one targeting general perl developer interests, and the other focused on training/tutorial material. Talk topics include Code Coverage, Unicode, Elastic Search, and even some Scala. [Note: We actually have a small gap in my schedule for tutorials -- if there is something you want to give a 50-minute tutorial on let me know! We have some fallbacks that I'll get in place soon otherwise].

Hackathon

QA Hackathon Website on GitHub

Not before time, I have finally released the underlying files that run the main QA Hackathon website. If you want to have a play, please go to the following GitHub repo: https://github.com/barbie/qa-hackathon-website.

Each year I try and update details in a timely fashion for the forthcoming QA Hackathon and often fail. BooK requested that I put the site files online, so that anyone can help to keep the site updated. I may not have the time to write the content, but it's not too bad to accept pull requests and update the site, so feel free to contribute.

Two areas in particular I would love to see content added is firstly with translations into non-English languages, and secondly to extend the content, particularly with writeups and links about previous QA Hackathons. I will have a look at structuring some of the previous content to make it a little easier to contribute both translations and new content, but please don't let this stop of contributing if you have something to add.

More updates from the 2013 QA Hackathon here in Lancaster soon :)

PrePAN New Feature: Email Notification

Today we have released a new feature of PrePAN, developed at Perl QA Hackathon 2013 Tokyo Satellite. You can now receive email notifications when comments are posted onto your modules or discussions you're joining, which enable you to catch up with what's going on about modules on PrePAN.

This feature is available only for uses who have been logged into PrePAN via GitHub. If you have at least 1 email available via API of GitHub, you'll see the setting page like below:

You can avoid receiving email notifications by turning off the check box on the setting page.

How to notify site activities to users had been a big concern for us. It was now partly solved, we think. We're continuously working on PrePAN to make it better place.

Enjoy!

Perl QA Hackathon 2013 in Lancaster - notes by Wendy

Friday 12 april
Perl QA Hackathon 2013 ( https://perltoolchainsummit.org/qa2013/ ) started this morning in Lancaster. Some 35-38 people present. Started with a warm welcome by Mark Keating and a one-minute stand-up of all participants (including me...).

Impressive number of goals by the way... this is going to mean business. Perl is going to be improved significantly, even if only one quarter of these goals are done. https://perltoolchainsummit.org/qa2013/wiki?node=Hackathon-Targets

12:18 Just had a meeting with 6 superintelligent database specialists who want to add some important changes to the way Perl handles databases and programming code that prepares to do stuff with databases. They used many words I never heard before (and some of them don't exist yet, they made them up, and didn't tell me about that).

It seems to be more important that some notes were taken than that all that was said was included. OK, I can do that. Still a bit confused. Waaaay over my head.

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.