Veure: Building the Look-and-Feel

No Perl in this post. This is mainly for the people who've asked me to keep blogging about the creation of Veure.

In trying to explain to a designer what was going on, I had to make it clear that "space stations" in Veure aren't the tiny doughnut things that Ronnie Raygun envisioned launching (those of you who are old enough might just remember the "Raygun" reference).

Instead, as far in the future as Veure is imagined, creating a new space station involves dropping a robot on a large asteroid, letting it hollow out said asteroid, spinning it, sealing it, and then building on the inside. I threw together this (poor) concept art to show her what I meant (the white bar at the top is the central lighting bar for the station).

Source image of Plzeň od Karlova courtesy Wikimedia Commons

Porting Reddit's URL Structure to Catalyst Using Chaining

I wrote an article for the Catalyst Advent calendar:

Porting Reddit's URL Structure to Catalyst Using Chaining.

Any comments or questions feel free to leave them here.

Day 16: Making tab completion setup seamless for users (App::shcompgen)

About the series: perlancar's 2014 Advent Calendar: Introduction to a selection of 24 modules which I published in 2014. Table of contents.

I've created a couple of frameworks that make it easy for Perl developers to add tab completion feature to their scripts (and am planning to write another one). One is Perinci::CmdLine, which I recommend and use a lot more myself but requires you to immerse yourself with the concepts Rinci metadata, Riap URLs, and all that. Another is Getopt::Long::Complete which is more suitable to casual Perl programmers familiar with de-facto and builtin module for options parsing in Perl, Getopt::Long. Getopt::Long::Complete allows you to use Getopt::Long interface; you just need to add a subroutine to tell how to complete option values and arguments.

New Dancer2 release already waiting on CPAN: 0.157000

Hey everyone!

A new version of Dancer2 has been shipped yesterday and is already waiting for you at a mirror nearby!

It has come to our attention that some people don’t follow public announcements made on mailing lists so I will also be releasing a public announcement on this blog when I release a new Dancer2 version (except patch versions).

A Note About Parsing Graphviz DOT files

I've just released GraphViz2::Marpa V 2.03 and GraphViz2::Marpa::PathUtils V 2.00.

GraphViz2::Marpa parses DOT files and stores the result in a tree managed by Tree::DAG_Node.

It ships with a default rendering engine which simply re-creates the original DOT file, minus any comments, since comments are discarded by the grammar used to parse the file.

GraphViz2::Marpa ships with 101 standard tests and 269 author tests.

GraphViz2::Marpa::PathUtils (a subclass of GraphViz2::Marpa in a separate distro) processes that tree in 2 ways:

1: It finds clusters of nodes connected to each other but not connected to other clusters, and splits each cluster out into a separate DOT file, maintaining the original DOT file structure. This means node and edge class declarations ensure the look-and-feel of the nodes and edges in these separate files is identical to what it was in the original file.

2: It finds all fixed-length paths starting from a given node.

GraphViz2::Marpa::PathUtils ships with 6 standard tests and 3 author tests.

Demo page for GraphViz2::Marpa.

Demo page for GraphViz2::Marpa::PathUtils.

Marpa's homepage.

My Perl recruitment thoughts

Dave Cross posted his Perl Recruitment Thoughts, which led to the same tired responses we see every time someone is frustrated enough to bring it up. Again. In the past decade I've written this post about every six months, decided it wasn't worth the shitstorm I'd get for posting it, and let it die. This time, I'll write just the highlights, turn off comments, and let people who care enough rant do it on their own blogs.

First, Dave does quite a bit of work to make new Perl programmers. He teaches accessible and cheap classes in London (and anywhere that will have him). I don't work in UK, so I can't speak to the particular things he sees. I teach all over the US, write the books, and occasionally step into companies to un-screw up whatever they have going on. Here's what I've learned in 20 years of doing this, but, as I said, just the highlights.

Inline Grant Nearing Completion

See our blog:

The Inline grant work is, um, working! Just a few things left to do, and we'll call it a wrap.

The dream of "use 7;"

The dream of "use 7;".

    use 7;

Perl is now a under a curse that Perl never can't do major version up .

This is very bad in Perl future.

Perl and Perl6 is now different language, but For the naming of that, many outside people of Perl community think Perl6 is the version up of Perl.

Now, Perl and Perl6 is different language. If so, version number should be up independently. For exampe,

Perl 1, 2, 3, 4, 5, 6, 7, 8, ...
Perl6 1, 2, 3, 4, 5, 6, 7, 8, ...

The problem that Perl can't never do major version up is big problem than Perl core team expect. This is unnatural and strange.

About is a common blogging platform for the Perl community. Written in Perl and offering the modern features you’ve come to expect in blog platforms, the site is run by Dave Cross and Aaron Crane, with a design donated by Six Apart, Ltd.