Perl, Mobile App. glue.

Robin Darby will be giving a talk at YAPC::NA 2012 described as:

Basics of developing web based services for communication with iPhone and Android apps (including sending ‘alerts’, managing updates).

[From the YAPC::NA Blog.]

I'm back

I don't think I've been seen since use Perl; went on indefinite hiatus. I am still programming Java for my day job, but still using Perl to make my life easier. A few months ago I did some investigation into Rose, and these days I am doing some investigation into Moose. DateTime::* modules also continue to hold fascination for me.

I will probably blog about my difficulties and interesting things I see. In the past I've often tended to post about things that don't work the way I would expect them to. I've sometimes been chastised for not filing bug reports, but I don't always want to file a bug report. Sometimes I just want to yak about it.

Anyway, hi, guys!

A free Perl talk Oct. 22nd in Columbus Ohio

The 2011 Code Camp Columbus is nearly upon us. It is all day the 22nd and it is free to all attendees.

I will be giving a talk about building Perl applications to solve everyday problems culminating in a WWW:Mechanize application that shows most of the previous examples working together. At previous conferences and events when I talk about Perl it is the context of using it to automate install tasks and is more about finished applications versus Perl development so this is somewhat new to me.

I plan to put the slides and other material up before the conference for community perusal
and commentary. I usually over plan the amount of material I need for one of these presentations.

Here is the full speaker schedule, there is a wide variety of non-Perl topics as well.

Perl traps for Ruby Programmers

To list in the next Camel the gotchas Ruby programmers might have run into with Perl, I've really had to dust off my Ruby skills, few as they are. I got a lot of good feedback for my Perl traps for Python Programmers, both public and private, so I'm doing it again for Ruby.

I'm only interested in the practical aspects of a person used to Ruby moving to Perl and the things they might try to do based on their Ruby experience. Also, since we already covered some things in the Python section, I'm not going to repeat some of the items.

Several Perl people have good Ruby experience, so please check my work and suggest what I've left out.

Submit a Talk for YAPC::NA 2012!

Submit a talk for YAPC::NA 2012. We’re especially interested in talks on real-world Perl apps and quintessential Perl 101 talks, but we’re open to any ideas you have. 

[From the YAPC::NA Blog.]

Announcing Alien::GSL 0.03_01

I have now released a dev version 0.03_01. If any interested parties can spare a few moments, please try installing it and let me know if it behaves for you.

For Linux users:

- If GSL is installed, it should find it and install should complete quickly
- If not, it should download the source
---- if installed as root, it should install system-wide
---- if not root, it should install in a File::ShareDir

For Windows users:
it should download a precompiled version (GSL 1.15) from my work server (hopefully not the final location for this download) and again use File::ShareDir to keep it.

Mac:
The wild west of default behavior. It should build from source (assuming it builds correctly) and use File::ShareDir (I think).

It is still not ready for production, and I expect that my Math::GSLx::ODEIV2 will be the first thing to do so eventually.

Comments would be great!

Joel

Perl dropped and Go adopted due to concurrency issues in baconbird

A little part of my Perl soul died the other day when I read a tweet by Mark Jason Dominus:

Perl didn't work for this guy, here's why. It was a really good article, should be required reading for #perl folks: synflood.at/blog/index.php...

When Andreas Krennmair announced a new Twitter client called baconbird in late 2010 he sounded very enthusiastic about Perl, saying

The code itself is about 850 SLOCs of Perl code, the user interface is based on STFL, the Twitter backend uses Net::Twitter, and all the OO glue code in between uses the Moose object system. All in all it took me less than 2 weeks of my free time to develop the first version of it.

[UPDATED] Beginning Perl For Bioinformatics

One of my favorite tweeps asked for some up-to-date resources to help her teach Perl to her university's Biology students. "Biology students?", you ask. Yes! If you've mostly used Perl for Web development and systems support, you might be surprised to learn that Perl is huge in the bioinformatics domain. Hell, perlgeeks played a crucial role in cracking the human genome. SCIENCE!

Anyway, since I'm neither all-knowing nor all-seeing (shocking, right?) I figured I'd put the list of resources up here so others could chime in.

Keep Those Ideas Coming

A while ago we put up the YAPC idea collector. You’ve given us a lot of great feedback so far, but keep those ideas for YAPC::NA 2012 coming, and keep voting on the existing ideas. 

[From the YAPC::NA Blog.]

Spreadsheet::WriteExcel is dead. Long live Excel::Writer::XLSX.

Last week I released a new version of Excel::Writer::XLSX to CPAN that was 100% API compatible with Spreadsheet::WriteExcel. This marked a milestone as I am now able to move past WriteExcel's feature set and move on to new features that I wasn't able to support previously.

This was achieved with 30 CPAN releases in almost exactly a year. By comparison, WriteExcel took almost 10 years. This gives a fair indication of the disparity of effort required to implement a feature in the pre-Excel 2007 binary xls format as opposed to the new XML based xlsx format.

So, from now on, all new features will go into Excel::Writer::XLSX and Spreadsheet::WriteExcel will be in maintenance mode only.

The first of the new features, conditional formatting, was added yesterday. For a long time has been the most frequently requested feature for WriteExcel but it was always too big a feature to implement in the available time that I had.

Perl traps for Python Programmers

I'm updating the Camel. Chapter 24 has short sections for people moving from one language to the next. Right now I'm working on the Python section. My Python is rusty. If you started in Python and moved to Perl, I'd like to hear about the gotchas that you didn't expect.

This is absolutely not a platform for bashing another language. I don't care about any of that. I don't care why the readers want to use Perl or why they want to use Python. I care about people who are used to doing something one way in Python and might be surprised why that's not obvious or apparent in Perl.

Here's some things I have so far, which I just cut from our own pseudopod:

Announcing acme.cpanauthors.org and cpants.charsbar.org

I'm happy to announce that I've launched a website for Acme::CPANAuthors modules. You can see which group is supposed to have the largest community, or have contributed to the CPAN most, or who is the most prolific author in a community or the author of the highest kwalitee. Of course these are based on unofficial user-defined lists, and these lists don't cover all of the CPAN authors yet (as of this writing, about quarter of CPAN authors (or half of active authors) are covered). So we shouldn't take them seriously, but anyway, have fun, and feedbacks are welcome.

http://acme.cpanauthors.org/

I also announce that I've unofficially set up a Module::CPANTS::* based site (http://cpants.charsbar.org/) to provide kwalitee data for acme.cpanauthors.org. As I found I would need significant changes at the first try (because the latest Module::CPANTS::Analyse doesn't correspond well with other Module::CPANTS modules, and they use old and deprecated ways of writing of Catalyst/DBIC), I tentatively set up a local repository and committed all the necessary changes there so as to hide all the dirty trial and errors. I'll move on to the public github repository when ready. So please be patient.

Dynamic HTML 5 using jQuery for Perl Programmers

Pete Krawczyk will be giving a talk at YAPC::NA 2012 that he describes as:

This talk is intended for audiences who are familiar with Perl and have some experience with HTML and CSS, but little or no JavaScript/jQuery experience. Source code will be provided before the talk; attendees are encouraged to download and follow along.

We’ll migrate a to-do list app that allows adding, deleting and rearranging of tasks.We’ll start with a pure Perl/CGI/HTML4 implementation and migrate it to a dynamic Perl/jQuery application using HTML5. Along the way, we’ll discuss JavaScript, JSON and XML, event-based programming, AJAX and asynchronous requests.

[From the YAPC::NA Blog.]

AutoCRUD revamped

For a couple of years I’ve been planning to rip apart and put back together the guts of Catalyst::Plugin::AutoCRUD, to address limitations in the initial implementation. After changing job and moving house I’m pleased this finally came to the top of my hacking stack.

Nothing was going to happen however before I could work out how to do one thing: achieve independence from DBIx::Class as a “storage engine”. I love DBIx::Class, but it would be much more cool to support any data storage system able to represent a table+column paradigm (even things like CSV, as a test case).

Why do you want new major features in core?

I've heard some people complain about 5.12 and 5.14 not adding many new major features. Compared to 5.10 that's certainly true, but is that a bad thing?

Let's be honest, many (most) prominent new features of 5.10 are failures:

  • Smartmatching? I think everyone agrees it is broken.
  • given/when is even worse as it's almost impossible to predict if it will use smartmatching or not.
  • Lexical $_? Mostly a new source of bugs, and the _ prototype is merely a hack to work around lexical $_ issues.
  • MAD? It never reached any usable form.
  • etcetera…

A lot of others are not flawed, but are so uncommon that I haven't seen them being used in any code. UNITCHECK, stacked filetests, no VERSION, the list goes on…

Edit-Plackup-Test-Rinse-Repeat

At INOC, my place of work, I work on a lot of web applications with the backend written in Perl using Catalyst, and the frontend written in Javascript using ExtJS. With a UI written completely in Javascript, I often encounter bugs of the following form:

  1. Fire up Catalyst.
  2. Login.
  3. Click through half a dozen controls in the UI.
  4. Enter some data.
  5. Click “submit”.
  6. Watch the web application give you an angry error.

Lightning Talks

I’m very pleased to announce the Geoff Avery will be reprising his role as Lightning Talk MC for YAPC::NA 2012. Geoff does a great job organizing the Lightning Talk sessions at YAPC, and we’re so glad to have him come to Madison.

If you’ve got ideas for lightning talks, please feel free to submit them in advance.  

[From the YAPC::NA Blog.]

YAPC::Asia Tokyo 2011 is over

YAPC::Asia Tokyo 2011 is over. 2 days + little extra of Perl festivities.

Facts: 30 corporate sponsors, 42 volunteer staff, 71 talk submissions (50 or so accepted), 91 individual sponsors, and.... 672 attendees. Yes, 672. I think it's safe to say that it's the biggest YAPC EVER. Wow. Just wow.

I'm so exhausted now (and I apparently caught a cold), so I can't quite come up with an eloquent way to express how I feel... but... wow.

Slides are being collected here.

Photos for day 0 and day 1 are available here. Day 2 will be available soon-ish

Videos will be available here (941-san is doing the editing as we speak)

For those of you missed it, well, I hope you can make it to one some time in the future :)

Belgian Perl Workshop 2011 - Thank you all

So we had the Belgian Perl Workshop 2011 last Saturday.

I wish to thank all participants for the conviviality of the event. We had a bunch of interesting interactive talks, which where well prepared by the speakers.

Including the gurus who shared their knowledge, the audience was particularly and constructively active during the talks. There were a lot of interventions and all went smoothly.

This is exactly what a workshop should be. People are learning by asking questions while others share info by interfering with the speaker's flow in a non-invasive way. Somehow everyone just felt that the flow belongs to the speaker.

Congrats to all participants for this brainstorming workshop !

On "Communities" In General and Modern::Perl

Ever since I read this piece and more on evolutionary biology, ideas have been flipping in my mind.

This is more of a private hypothesis and I think it might be useful to perl community on how it sees itself from a long time lurker's perspective. I am not a good sample point though :)

This post has nothing to do with sexual selection. It's more about how communities are formed and how they sustain in a changing world.

Each and every programming language/Operating System/License out there has a community around it. A twitter hashtag has a micro community around it.

Generalizing from handicap principle and signaling theory, these are my axioms (sort of)

1) A community forms around signals
2) Signals are a way community member's recognize each other
3) Signals are *the only way* to recruitment new members
4) The signals of one community are irrelevant to other community
5) Signals encourage risky and useful behavior
6) Signals can't be described easily because there can be non-linguistic signals

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.