April 2015 Archives

Earlier this month The Perl Foundation's Board Treasurer Dan Wright announced that ZipRecruiter (@ZipRecruiter) has joined to support TPF and YAPC::NA as a Silver Sponsor. Not only will their sponsorship assist with YAPC::NA::2015 in Salt Lake City, but they will be supporting the efforts of The Perl Foundation year-round.

"ZipRecruiter has used perl from our company's inception, and we've benefitted greatly from the language, CPAN and the perl community," said Will Redd, Co-Founder at ZipRecruiter.

ZipRecruiter's web-based platform streamlines the hiring process by enabling companies to post a job to 100+ job boards with 1 click and to manage all applicants through a simple online interface. By providing a central location for finding, screening and tracking applicants, ZipRecruiter helps employers make the best hiring decisions quickly and at a fraction of the cost of traditional job boards.

By supporting The Perl Foundation year-round, ZipRecruiter's sponsorship will not only be applied to TPF conferences, but also to the development of Perl, training of new Perl programmers, and other TPF initiatives. "Perl has been an important factor in our success, and we're happy to be able to give back to the community. We're also sponsoring TPF to help get the word out to Perl programmers that there's another company that's doing significant new software development projects using perl," added Redd.

To learn more about ZipRecruiter visit www.ziprecruiter.com or follow them on Twitter @ZipRecruiter. Would you like to be a Perl Foundation or YAPC::NA sponsor? More information can be found at http://www.yapcna.org/yn2015/sponsors.html#become-sponsor

It's a while since our last report on Perl::Lint, but Taiki has made considerable progress since then, releasing 3 new versions of this Perl source code analyser.

Perl::Lint doesn't yet support everything described in Taiki's original proposal for this TPF grant as it needs a few small improvements to match Perl::Critic.

Despite this, Taiki has written a fast alternative to Perl::Critic that's easy to use, well documented and now has an associated test module.

I would like to suggest to The Perl Foundation's Grants Committee that we treat this grant as a success. Please leave a comment on this post if you support or oppose this.

Finally, I would like to thank everyone who has experimented with Perl::Lint so far, particularly those who have raised reports of problems they encountered, and most of all Taiki for fixing these problems along with the rest of his good work.

Dave Mitchell writes:

I spent the month mainly fixing issues reported by the Coverity static code analyser, and fixing assorted bugs that were in the main 5.22 blockers.

Some notable highlights:

Coverity reported an issue related to MEM_WRAP_CHECK(): although it turned out to be harmless, looking at it gave me an idea to make the wrap check be constant-folded at compile time more often, and since this macro (via its use in Newx(), Copy() etc) is used in many places in the source, this meant that the run-time check was eliminated in many places. Indeed the object code shrank by about 8K on my x86_63 build, implying that this happened often.

The Perl Foundation Announces DreamHost YAPC::NA Sponsorship

No Comments

The Perl Foundation is pleased to announce DreamHost (dreamhost.com) as one of the newest sponsors of YAPC::NA::2015. DreamHost uses Perl in their custom-built control panel, for managing a big part of their server infrastructure, and for distributing calculations between machines. They also use Perl for their hosting platform, as well as a web application platform. "DreamHost is honored to be sponsoring YAPC::NA! DreamHost was built upon a solid foundation of Perl back in our earliest days," said Brett Dunst, VP of Brand and Community at DreamHost. "Perl was the very best option at the time for our needs and we continue to use it heavily in 2015! The CPAN ecosystem allows us to get a lot done very quickly, rather than writing everything from scratch."

Since 1997 DreamHost has helped entrepreneurs and developers the world over bring their dreams to life on the Internet. From domain registrations to web hosting and even powerful cloud storage and computing services, more than 400,000 customers trust DreamHost to be their online home. Packed with unbelievable value, DreamHost is the best place to launch a blog, website, or web application into the stratosphere.

"DreamHost is a huge proponent of open source software, and CPAN is one of the largest collections of open source functionality that is free to use," Dunst added. "Not only that, the Perl community is extremely friendly and welcoming!"

Interested in learning more about DreamHost? Visit www.dreamhost.com or follow them on Twitter @dreamhost. Would you like to be a Perl Foundation or YAPC::NA sponsor? More information can be found at http://www.yapcna.org/yn2015/sponsors.html#become-sponsor

We have received the following Hague Grant application from Bart Wiegmans. Before we vote on this proposal we would like to have a period of community consultation for 10 days. Please leave feedback in the comments or if you prefer send email with your comments to karen at perlfoundation.org.

Name: Bart Wiegmans

Project Title: Advancing the MoarVM JIT


Implement an advanced code generation algorithm for the MoarVM JIT compiler, leading to more efficient machine code for JIT compiled frames.

Benefits to Perl 6 Development:

This project will enable the MoarVM JIT compiler to generate smaller and more efficient code, producing greater performance and less memory traffic during execution. This will help to make Perl 6 more competitive with other languages. (Speed is generally regarded as a feature).

As a secondary benefit this will decouple the JIT intermediate representation from the MoarVM bytecode and the x64 machine code making it easier for developers to extend or to port the JIT to architectures other than x64, such as ARM.

As an example of the potential speedup I've created the following example demonstrating a 5x speedup on tight numeric code. Although that example is highly artificial it does demonstrate the limits of the current JIT rather well. Note also that the original hot loop uses 22 instructions whereas the new hot loop uses only 7 instructions.

For the March round, we got no applications. The next round will be in May.

Grant updates:

Jonathan Worthington has submitted a grant proposal under our new Perl 6 Core Development Fund.

Before we vote on this proposal we would like to get feedback and endorsements from the Perl community. Please leave feedback in the comments or send email with your comments to karen at perlfoundation.org.

Name: Jonathan Worthington (jnthn)

Project Title: Work towards the 2015 Perl 6 release goals


Fund a leading Rakudo Perl 6 and MoarVM contributor to work on key implementation tasks and keep other contributors unblocked, in the period leading up to the release of the Perl 6.0 language specification along with a conforming implementation. Funding is being requested for an initial 3 month period, with a view to extending the grant provided the work done under it is successful and funds are available.

I am pleased to announce the launch of a new fundraising drive to raise money for Perl 6 development. Its immediate focus is the target of releasing a Perl 6 language specification along with a conforming implementation in 2015; beyond this, funds will be used to support maintenance and improvement of Perl 6 implementation.

The initial goal is to raise $25,000 to fund the work of Jonathan Worthington. Jonathan is a core developer of the Rakudo Perl 6 compiler and the architect and lead developer of MoarVM.

The 2015 push for a first Perl 6 language specification (defined by a conformance test suite) and a conforming implementation was announced by Larry Wall at FOSDEM (February 2015). The Rakudo Perl compiler along with the Moar Virtual Machine have been selected as the focus for implementation effort.

We would not have been able to create this fund without the generous donation of 10,000 EUR pledged by WenZPerl.

WenZPerl BV is the Dutch open source consultancy company of Elizabeth Mattijsen and Wendy van Dijk, specialised in Perl programming and development. WenZPerl has years of expertise in the development of (toolkits for development) interactive programs and websites. Further experience includes project management, HRM, and marketing. WenZPerl is a proud supporter of open source and in particular a regular sponsor of Perl conferences, workshops and hackathons.

If you are interested in supporting the Perl 6 Core Development Fund please contact karen (at) perlfoundation.org.

April 1 - Act

1 Comment

Since the beginning of the year, some smaller steps had been made and things are looking good!

First of all the the database schema had been changed to provide some additional things on request of some organisers. Now I realise that I also need to make new versions of the Act-out-of-the-Box vagrant-image once in a while. The DBIx::Class has been updated accordingly and it all works like a charm

Secondly, I started playing around with the DBIx::Class implementation and natural stumbled upon the first hurdle... Conferences are not in the database, those are neatly stored in a bunch of INI files. Adding another table to the database which will be populated from the INI-files is giving Act-Voyager at least a top-level entry point for the relation databases, finally there are relations between the rows in the separate tables.

Those INI files provide much more information and only some is really about the conference itself, like dates and location. Other things that are in it are the number of rooms what names they have, the price tiers and tickets or other products. Information that will have to end up in other tables soon. But, this all sounds like the start of the admin-tool, which I had given a lower priority.

While playing with the DBIx::Class schema and being very pleased that I could build simple scripts showing me a list of talks or users related to some conference, I started to write the first bit of the REST api, as a starting point... and here a whole new story unfolds itself:

Do You Speak-a My Language?

For entire population groups on planet earth it looks like they do not have to concern about language difference, for them there exists only 1 language, 1 language to rule all... And for those people it is fine to organise a conference or workshop in their local language. And it's perfectly okay to let Act perform in a way as if your local language would be the only one to consider. However, as organiser of the Dutch Perl Workshop, we care about being open to people that do not come from the Netherlands and do not speak Dutch and therefore run our web-site bilingual and provide most of the texts in English as well. I even suggested to one of our people to set it up in German.

Act caters for all that, no problem - only a technical design problem here.

Retrieving data in multiple languages from a REST api is not uncommon, and the IETF even came up with a solution called Content-Negotiation. Basically, 1 single canonical URI for 1 resource, using the"Accept-Language" header-field to let client and server decide what content will be delivered. There is no need to put a language tag inside the URL to do so. But it makes you wonder if there is the same way to create update or delete resources in a specific language... so, without causing url-polution.

Nope, no answer is to be found!

Until lately, when I figured out how to do HTTP-Authoring in a multilingual REST api, simply by using the 'Content-Language' header-field in the request. It is possible within the restraints of the RFCs to update a resource with a representation in another language, or only delete the language variant for a resource instead of entirely whipping it of the database.

In Cluj (Romania) and lately at AmsterdamX I gave a demonstration, a proof of concept. The implementation is quite easy and simple. Moreover it does also separate the REST api objects from the internal data structure. So many API designers couple their tables directly to REST resources, which is a big mistake on itself. Such solutions make it impossible to change underlying structures without corrupting the REST api. Having said that... for Act it is essential to have them separate because once the new version is up and running on top of the current database there will come a migration to a new database.

On GitHub you can find the AnimalSanctuary that does show some implentations on the above concept. Separating the REST objects and methods from the underlying structure, allowing complex class builders - and using the 'Content-Language' header-field to work with multilingual environments.

Now that these hurdles have been taken, it becomes time to start implementing the REST api and create 'Act::REST::Object builders'

Act Voyager has been exploring some interesting area's - time to move forward in warp-speed and see you next month, hopefully with most of the API ready.

Captain Theo

About TPF

The Perl Foundation - supporting the Perl community since 2000. Find out more at www.perlfoundation.org.

About this Archive

This page is an archive of entries from April 2015 listed from newest to oldest.

March 2015 is the previous archive.

May 2015 is the next archive.

Find recent content on the main index or look in the archives to find all content.


OpenID accepted here Learn more about OpenID
Powered by Movable Type 6.2.2