detroit.pm.org

There used to be a detroit.pm.org. And after Stevan Little's keynote last week, Perl- The Detroit of Scripting Languages, I made some inquiries about resurrecting it... Maybe specifically with the intention of hosting YAPC :).

So far, the local response has been positive. As long as I don't step on any toes here. In so many ways, Perl and Detroit are the best of all possible worlds.

Mixing procedural and declarative parsing gracefully

[ This is cross-posted from the Ocean of Awareness blog. ]

Declarative and procedural parsing

A declarative parser takes a description of your language and parses it for you. On the face of it, this sounds like the way you'd want to go, and Marpa offers that possibility -- it generates a parser from anything you can write in BNF and, if the parser is in one of the classes currently in practical use, that parser will run in linear time.

But practical grammars often have context-sensitive parts -- features which cannot be described in BNF. Nice as declarative parsing may sound, at least some procedural parsing can be a necessity in real-life. In this post, I take a problem for which procedural parsing is essential, and create a fast, short solution that mixes procedural and declarative.

The application

This is a sample of the language:

A2(A2(S3(Hey)S13(Hello, World!))S5(Ciao!))

Files - MadMongers (Madison Perl Mongers) (Madison, WI) - Meetup

Files - MadMongers (Madison Perl Mongers) (Madison, WI) - Meetup :

I’ve uploaded my presentations from YAPC::NA 2013 to the MadMongers presentation repository. 

[From my blog.]

A few lessons from updating to Perl 5.16

Like most startups using perl, blekko began in 2007 using the perl that shipped with the Linux distro that we were using -- 5.8.8. Over the years, as our search engine and homegrown NoSQL database crawled towards a million lines of code, this ageing perl version frequently made us sad. We finally bit the bullet earlier this year, and here are the top 7 things we learned:

DBD::SQLite 1.39

It's been a year since DBD::SQLite team released the last stable version of DBD::SQLite (1.37). The team has added a few new features to retrieve database information, and applied a number of bug fixes thanks to the community, most notably the one to address an issue where bind_param didn't work with PADTMP scalars (RT #79576).

Also, two significant changes have been made; one by us, and the other by the upstream.

The team decided to enforce "immediate transaction" for all the transactions unless otherwise configured. You'll likely see less database deadlocks when you use DBD::SQLite in a medium-to-larger web application. However, you might also see some performance penalty, especially if your software is almost read-only. If read concurrency really matters, set "sqlite_use_immediate_transaction" database handle attribute to false explicitly, and the "deferred" transaction will be used as was previously. You can set the handle attribute when you connect to a database like this:

YAPC Reflections (2013)

Well, I’ve just gotten back from my second YAPC, and I thought I’d take a moment to share a few reflections.

First, general thoughts: I had an excellent time.  I knew far more people than I had the first time, which is partially just having met a bunch of folks in 2011, and partially because more of my current and former coworkers were in attendance.  Plus I met a whole lot of new people, so now I’ll know even more folks next time.  This is nice for me, as I’m one of those weird half-introvert-half-extrovert people.  I’m not much for walking up to people I’ve never met before and starting a conversation.  On the other hand, if I already know you, you can’t get me to shut up.  So, the more people I know, the more people I’m likely to meet.

Perl 5 Porters Weekly: June 3-9, 2013

Welcome to Perl 5 Porters Weekly, a summary of the email traffic of the perl5-porters email list.

Topics this week include:

  • DAVEM TPF Grant May 2013 report
  • dtrace sub-entry probe against lexical sub segfaults
  • COW and THINKFIRST and related safety

I love pre-modern Perl and so should you, my introduction

My name is David Shultz, I've been working with Perl since the late 1990's where I live in wonderful Portland, Oregon. I'm self taught, I code because I love the challenges and excitement it provides. I got my first job as a programmer working for a small porn company, then a small spam company, financial analysis firm, and finally my current employer of over 11 years, a medium sized data warehousing company. For the last 6 or more years I've worked as a project manager/lead programmer with a small team of really great people. I've worked with a few prominent people in the Perl community, and a few more have graced my employers doors over the years. I've had an amazing time over my years with Perl but not all has been rosy.

Wing

Wing :

Woot. Just got my first non-Plain Black employee patch for Wing.

[From my blog.]

Extended Exuberant Ctags rules for Perl?

Some time ago I made a tiny github repo to share my .ctags file that I use for better Perl support . I use it for my Mojolicious projects, yet it should be good enough for any Modern Perl project.

I would be happy if we can improve it!

Please feel invited!

META.yml is not my friend today

I want my github repo to show up in a module's META.yml file. And given that META.yml is generated by ExtUtils::MakeMaker, I put some META_MERGE stuff in my Makefile.PL, having carefully checked the documentation in CPAN::Meta::Spec to see what we're supposed to do this week (META.yml's structure has always been a bit of a moveable feast). And, of course, it doesn't work. Grrr.

Can someone tell me who fucked up what?

https://metacpan.org/source/DCANTRELL/CPAN-ParseDistribution-1.51/Makefile.PL

Counting the number of statements in a Perl codebase

I'm looking for ways to count the number of statements (or lines) in a Perl codebase. Any tools out there that do it?

JT's New Blog

A lot of people have asked me over the years if I had a blog or twitter feed that they could follow, and I've always answered with the blog or twitter feed of the various ventures I'm involved with. I've decided that it's high time for me to release my own blog and twitter feed for the things that aren't appropriate to any of those ventures. 

If you're interested, you can subscribe to my new blog or my new twitter feed now.

I'll still be posting relevant Perl-related articles to blogs.perl.org, but I've decided to create a new primary blog, because I often want to blog about non-Perl topics such as creating startups and designing games. So if you want to follow more than just my Perl activities, please subscribe to my new blog or twitter feed.

Creepy perl stat functions on Windows

I get realy strange behavior of POE::Wheel::FollowTail on Windows.
I need tailing some files on Windows and POE::Wheel::FollowTail is great for that.
It works fine, but if file reduced or recreated my script hanged to infinity loop.
I could not find anything about this problem in web and here is it.

Austin Question

IMG194.jpg
Still in Austin for a few more hours, and encountered this sight. Can anyone explain why liquid nitrogen is connected to a utility box on a street corner? Never seen this in my hometown.

Slideshows in Vroom: So Noted

Occasionally I give presentations.  Most often at work, but sometimes at my local PerlMongers.  Typically, a presentation is accompanied by some sort of slideshow.  And there are many, many different applications out there to create slideshows in.  Power Point is sort of the default of these, and I’ve used it before, and it sucks.  Google Docs Presentations uses the same basic model, and I’ve used that before too, and it sucks slightly less ... but it still sucks.  I just want some basic slides with a little bit of code on it, and maybe some text, but mostly in the “header” category.  I don’t like text-heavy slides.  You end up just reading your slides to people, most of whom can actually read themselves, and tend to be a bit insulted when you feel the need to do it for them.

Regexp::Debugger saved me twice today

I just wanted to say that if you stumble with a regex try Regexp::Debugger.
It saved me twice today facing problems too silly to describe here. :-)

Here is how I proceeded:
- write regex and see it not doing what I want
- think, rewrite, think again, rising anger
- insert Regexp::Debugger the line before regex
- play the regex, facepalm (in a positive way)

I now think about writing more complicated regexes. I want to enjoy the debugger even longer. ;-)

A Test::Class Anti-Pattern

I've been having a great time at YAPC::NA (my first YAPC In the US) and so far everything's been going swimmingly ... well, except for when I was giving a lightning talk and my phone kept buzzing in my pocket because my wife was lost.

I gave a talk on Test::Class::Moose and there were plenty of interesting questions and many of them were about topics I would like to have included in the talk, but simply didn't have time. One person emailed me later asking me a detailed question about test control methods and while I've discussed this before, I thought it was important to re-explain a common anti-pattern I see in Test::Class test suites.

Web Services Part 2: Using Joyent

I recently started trying out different cloud providers to find one that meets my Perl needs. I see many uses for cloud computing in the form of on demand, ubiquitus computing nodes that I can launch with a range of "hardware" specifications. This translates directly into saving money, the prices are different for each hardware plan and you pick what you think you need and erase it when you are done. This article is focused on using Joyent to run Perl applications, not using Perl to interact with the Joyent API, that is a future article already in the works.

Announcing App::Midgen v0.24

So what’s new?

  • Some extra speed taking advantage of some new developments in:
    • PPI::XS
    • Perl::MinimumVersion::Fast
  • Re-factor the Output formats to composed Roles
  • Start of conversion to Type::Tiny

for the rest of the blog go here

Any comments leave them here.

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.