Ouch 0.0406

Thanks to some pointers by MidLifeXis and Ether it turns out I didn’t need to bump the requirements of Ouch to 5.12 to use overload and parent. Thanks! So this release just goes back to letting you use 5.8 (but you really should upgrade!)

[From my blog.]

UAV::Pilot Presentation

Last night, I gave a presentation for the Madison Perl Mongers group on UAV::Pilot. The video is now up:

This is also the announcement for the WumpusUAV Indiegogo project, which aims to create a new, cheap, hackable UAV platform. More information is on WumpusUAV.com.

Perl 5 Internals - Part Three

This is a cross post from my blog.

In the previous post, we talked about some of the optimizations that perl performs when conducting string and array operations. This time, we'll be diving into how perl implements hashes. But first, a brief clarification…

"Perl Never Downgrades"

Brainturk.com is live

We have released a new version of Brainturk.com . We have changed the look of the application and now have 35 games and most of the games have different levels.


Let's post information about your production to blog

Let's post information about your production and your work to blog. It is important to inform your production and work even if it is not complete. Other people can know your idea, your technique, and your concern.

Even if it is good production, if no one know it, no one use. To spread good production from person to person, we need good communication. blog is good place to inform your production, your module, your work, your application.

Blog is public, rapid, understandable communication compare with face book, twitter, IRC, mailing list.

I think Perl culture is close to IRC and mailing list, compared with Ruby, Python, PHP. I think Perl need more web, more public information.

What's a Trie, and Why Should You Care?

Continuing my series on underappreciated Perl modules, I introduce Tree::Trie. A Like Hashes, a Trie is a type of dictionary lookup. Unlike Hashes, Tries naturally support sorted return of keys and prefix matching, all while still being fast, even with a million entries.

Top Github Languages for 2013 (so far)

Maxim Yemelyanov pointed me to this post comparing programming languages based on the number of new GitHub repositories in the first 8 months of 2012 and 2013.
(excluding forks!)

Interestingly the numbers dropped significantly for every language (except JavaScript).

Perl dropped a lot more (in percentage) than other languages (from 48,620 to 15,412).

Some Perl repositories might be miscategorized by GitHub which might add to the low number, but then either it got worse in the last year, or regardless of that Perl has dropped a lot.

Still, there is something strange.

According to the stats on CPANTESTERS there were 1,524 new distributins uploaded to CPAN in the first 8 months of 2013. That's only 10% of the number of GitHub repositories written in Perl. What are all the other Perl-based projects?

Another approach to XML processing

The buzz around XML has passed and we are left with a lot of Perl modules to process XML in different ways. I was surprised to still find a gap for another XML processing module.

Common schema-less approaches to XML processing in Perl seem to use XML-LibXML, to get a full XML DOM or a stream of parsing events, or XML::Simple (better used as XML::LibXML::Simple. XML::Simple transforms between XML and Perl data structures but it was designed for "data-oriented" XML where element order does not matter a lot. With XML::Struct I created something like XML::Simple for "document-oriented" XML.

Real Time Web Apps

I’m starting to get serious about real-time web apps. At first I was considering using some of the Perl stuff (Meteor, Twiggy, AnyEvent, etc) to roll my own, but then I started looking around, and found a bunch of other interesting stuff to investigate:

- Firehose
- Firebase
- PubNub
- Pusher

The thing that’s cool about these services is that I can still write my apps using non-async stuff that I love (like DBIx::Class) and still get most/all of the benefits of an async web service. 

[From my blog.]

Version Control - Just Do It

If you do any kind of programming that extends beyond one-liners, you need to version control your work...even if you are a lone wolf weekend warrior, like myself. Why? At least three reasons:

Galileo CMS

I wonder, is anyone using Galileo CMS? Could you please post a link to the site?

PPW - October 4,5,6

ppw-color.pngThe Pittsburgh Perl Workshop is rapidly approaching this October 4th, 5th, and 6th. We are now accepting talk proposals, registrations, and sponsorships. Please consider participating today:

http://pghpw.org

Wx::Perl::Smart Design Decisions

The simple goal of Wx::Perl::Smart (WPS now for short) is to make WxPerl - GUI programing fast, fun and technically sober. By that I mean you still have full access under the hood (like Moose does) to all features of the old ways. Oh, and speaking of OO, I decided using no framework (yet), not even Moo. While sitting on top of Wx, you don't count bytes in memory, but there is no big syntactical gain now, since there are almost no attributes and the ones I have need a special treatment as described further along this article.

PerlMotion - Perl For iOS

While it's still just started, goccy, a Japanese hacker who has been working on rather cool modules, has been working on PerlMotion, which allows you to write iOS apps in Perl.

I'm not an iOS guy so I haven't delved too deep into it, but other than the fact that it could use a bit more packaging love, I head that something is actually running on iOS... Although I'm not involved in project, I personally would love to see it get input from a lot more people, so I thought I'd let you guys know.

goccy is going to give a talk about it at YAPC::Asia Tokyo 2013, come 9/19-21

Perl 5 Internals - Part Two

This is a cross post from my blog.

Welcome back for another exciting episode on the inner workings of the perl interpreter! Last time we covered some of the basic optimizations perl performs on SVs, as well as the consequences of those optimizations. This time, we'll be going over some of the optimizations specific to strings and arrays. I know I said we'd be covering hashes too, but this article is already quite lengthy, and I have enough material on hashes to merit its own article, so look for that information in the upcoming third part of this series!

Strings

Flying Drones with Perl

At next week’s MadMongers our guest speaker is Timm Murray talking about UAV::Pilot. And yes, we’ll be flying drones using Perl! 

Our meetup is at the UW Stock Pavilion. It starts at 7pm on Tuesday, September 10th. Be there.

[From my blog.]

I translate "Modern Perl Writing Style" to English

I translate "Modern Perl Writing Style" to English

If you learn modern perl writing style, please see this topic. you can learn it quickly.

Modern Perl Writing Style

Three things you must do

Tired of being a Perl script-kiddie? There are three things you must start doing with your code.

  • Use version control
  • Write tests
  • Create distributions

You say, "No need to waste my time, only people who work in teams need that."

  • Guess what, if anyone besides you will ever use your software OR its output, you're working on a software team.
  • In 3 months when the boss says, "Hey, can you run that analysis again on the new data?", you will look at the code and say "Who wrote this?". Once again, you're working on a software team, and wondering who hired that one guy anyway.

Version control

Tree::DAG_Node V 1.14 + utf8 + read_tree()

Hi All

Tree::DAG_Node V 1.14 now includes utf8 data in its test suite.

Also, there is a new read_tree($file_name) method, for when you've previously redirected output of tree2string() to a file.

Where is App::Harmonograph ?

After the first, two posts about GCL maybe some words about the app I develop it with, because street wisdom says: you should construct any API not only in theory but also use it on some real world stuff before you release it.

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.