Initial entry
perl -le 'print "Hello, World!";'
perl -le 'print "Hello, World!";'
Even though Git sometimes gives me heartburn, I'm a huge fan of GitHub. The fork & pull workflow makes it sooo easy (and fun) to contribute to other projects. And as a project owner, it is very easy for me to manage incoming contributions. My absolute favorite feature is the discussions that are inline with the code. To me, that is much more natural than talking about code in a separate mailing list.
So I started thinking...what if Perl5 was developed on GitHub[1]?
Moving a large and mature project like Perl5 to a new set of tools and workflows will certainly not be easy and I expect a lot of resistance. I don't expect perfect feature parity either -- some capabilities will be gained and others will be lost. But GitHub has worked really, really well for a lot of projects (including Perl6). So I think it is definitely worth investigating.
One of the fun / cool things about Perl is that it can easily inhabit that space between "too complex for bash" and "too insignificant to invest in a C implementation." In my opinion a lot of the command line tools for EC2 are pretty terrible - they have a large learning curve, a high amount of dependencies and they just aren't that easy to get up and going.
So I started by thinking what was the "minimum viable product" for an EC2 client? Something that slaps a valid v2 AWS signature on any arbitrary API request and translates the XML returned into a Perl data structure. And that's exactly what Net::EC2::Tiny is.
In the spirit of *::Tiny modules, I tried to restrict the number of dependencies, but when I decided firmly to require HTTPS support, that locked me into IO::Socket::SSL and Net::SSLeay, so I opted to give myself a little bit of sugar and used Moo. So there's 5 non-core dependencies.
Anyway, when you're in the mood for a quick (and possibly dirty) EC2 client, whip up a simple(ish) script using Net::EC2::Tiny. It's the low learning curve glue between the raw EC2 API and Perl - perfect for those jobs which interact with EC2 in a relatively minor way.
There are a lot of contributions on CPAN that fill one niche or another with respect to pseudo-randomness generation. What is hard to find is a solution that provides cryptographically secure pseudo random number generation, reliable and strong seeding, a light-weight dependency chain, and cross platform compatibility through a wide range of operating systems and Perl versions.
Bytes::Random::Secure is one of those modules that gets written to fill a personal need, and then begins to take on a broader life of its own. As is often the case, the contributions of others in the community have served to improve the module beyond its original specifications. Dana Jacobsen provided a lot of suggestions, and even went so far as to create a new seeding module (Crypt::Random::Seed) which helped Bytes::Random::Secure to reduce its dependency footprint greatly.
cross-posted from dams blog
Yesterday I was reading Joel's post, where he lists great Perl things he's seen done lately. Indeed these are great stuff. I was particulary interested by his try at playing with Lvalue accessors.
I thought that it would be a great exercise to try to implement it in Moo, as
an additional feature, trying to get rid of the AUTOLOAD. Also, I was willing
to avoid doing a tie every time an instance attribute accessor was called.
Surely, I needed to tie only once per instance and per attribute, not each
time the attribute is accessed.
So I started hacking on the code of Moo. Getting rid of the AUTOLOAD was easy, as I could change the way the accessor generator was, well, generating the, err, accessors.
Hi guys,
This is my first post on b.p.o. I know you guys are arguing about the version issue of Perl recently. How about take a short escape and try quickcd at https://github.com/jchain/quickcd? If you are a Linux && Bash guy, you might find it useful.
Now also Ubuntu Perl packages indexed. For example Moose::Meta::Class
Most DBI tutorials will show you how to use prepare()/execute(). Something like this:
my $sth = $dbh->prepare( 'INSERT INTO table (foo, bar) VALUES (?, ?)' ) or die ...; $sth->execute( 1, 2 ) or die ...; $sth->finish;
Most of us write DBI this way when we don't use DBIx::Class or some other abstraction layer (or we use $dbh->do(), but it won't end up changing my point). For most databases, the above is fine.
On SQLite, you can lose data that otherwise would have gone in fine.
Today I’m happy to make public the work I’ve been doing to make some kind of “standard” for sending files over websockets. I call it GalileoSend because it was created for the Galileo CMS.
The protocol itself is language independent for both the client and server side, assuming that both can open a websocket connection and send JSON (as text) and binary data over it. Since communication by websocket is cheap, 2-way communication is highly encouraged throughout the transfer and positive confirmation of receipt is required.
Further, I have written a javascript client-side implementation (which could be used for any server) and a non-blocking Mojolicious server-side implemenation (which could be used for any client).
Read on (examples!) …
Perl is very flexible in may ways including whitespaces. Perl does not force you to use tab or spaces. The script works fine no matter if it has DOS or UNIX line breaks.
But there are some good practices. I preffer these rules:
I want to make sure that all that rules are followed in my source code. So I've written Test::Whitespaces. There are several good things in this module.
You can create test file xt/whitespaces.t:
use Test::Whitespaces {
dirs => [ 'lib', 'bin', 't' ],
};
I must say that the less grants proposals we receive, the less I need to work. But I volunteered, and it would make me happy to have interesting projects running.
First, I want to apologize. My follow-up to the Perl 7 post was not very polite. When I predicted that "nothing" would happen, even if people wanted it, I could have said that in a much kinder way. In particular, my apologies to Ricardo for that.
As for "Perl 7", let me be clear: I don't support it. I originally asked the question because I wanted to know what people thought and instead of kicking over a rock to see what was underneath, I kicked over a hornets nest. More importantly (to me), I got my answer in spades.
Notes from a Newbie document the creation and deployment of yardbirdfanclub.org with Perl Catalyst on shared hosting. They are intended for a Perl Catalyst Newbie who would like to study the creation and deployment of a Perl Catalyst application.
In these notes I continue to explore what it might take to create a blog application, focusing on how to use CSS to layout a page.
Dear YAPC::Europe 2013 attendees,
The number of people registered on the conference site went over 100 recently. So, since this week, we will deliver our weekly newsletters to your mailboxes. There's also a permanent place where you can catch up with the latest news about the conference. At act.yapc.eu/ye2013/news/ we are collecting all the previous newsletters.
Just a reminder that everything has been open: user registration, online payment gate and talk submission form. Just explore the site and act: yapc.eu/2013.
Today we would spend some time talking about Perl 7. Probably there's no one here who did not see at least a small portion of the discussion that burst a week ago on blogs.perl.org and nntp.perl.org. There were a number of posts about, well, yes, Perl 7. The title of this year's conference is Future Perl, so we as the organisers are very excited about the chance to move Perl forward exploiting the conference.
You may have noticed my commentary on the Perl version number debate. I think that that debate is a possible way of raising the profile of the language we love, but that’s not why I called.
chromatic petdance and I’m sure others have suggested that rather than infight (which I don’t believe I’m doing, btw) is to make something great and show it off. While I don’t think this is enough to raise Perl’s profile ourside of our community, I have seen and IMHO done some very cool things this week:
Things I’ve Seen
Things I’ve Done
It may not be enough, but its always nice to share what you and others are doing. Go Perl!
Signal that you'd like to pass on your modules by giving the virtual PAUSE user ADOPTME permissions. I've always been amazed at one of the least appreciated features of CPAN: people will step up to maintain or shepherd modules that aren't scratching their itch. It's a different sort of activity than the long-term or drive-by participation that most open source projects rely on. There are a group of people who maintain CPAN projects that they don't even use. There are a few that I handle that I've never used in a program.
I think we can improve on this wonderful but underrated social feature. I created the ADOPTME user awhile ago to house the distributions from PAUSE authors who had passed away. I would modify the build file to give a warning, bump the version, and upload as ADOPTME. That's too much work, though.
Notes from a Newbie document the creation and deployment of yardbirdfanclub.org with Perl Catalyst on shared hosting. They are intended for a Perl Catalyst Newbie who would like to study the creation and deployment of a Perl Catalyst application.
In these notes I continue to explore what it might take to create a blog application, focusing on how to use a database.
I've been reading a lot about Perl 5, 6, 7, 2013 etc. I felt, well, like if Perl is going bad... Then I watched this talk today:
Congrats to @pjf for this amazing talk! Wow! Makes me feel like I'm using an amazing tool! Will check out Dist::Zilla , Perlbrew and +++ even today!
No conclusions here, just a report by an internet lurker which happens to code with Perl...
Earlier today I wanted to install git on Windows so that I could keep my distroprefs synced between smokers. I almost installed Git for Windows but I waited.
A little bit ago, I was asked to test a new version of Net::Printer (after I submitted a bug four days ago that the tests were hanging on Windows) which resided in a GitHub repo. There was this shiny button labeled "Clone in Windows" which I clicked. I was taken to GitHub for Windows which I downloaded and installed. I already like this better than the last time I used Git for Windows (not that it is bad). Now that I've got it installed, I seem to remember seeing this before so I guess I had just forgotten about it.
It turns out that there is also GitHub for Mac, Git in Eclipse and GitHub Mobile. Pretty cool.
A very small script to check the masking information for each of the cloned devices.
Please note that this is the first and very basic version and I will post an updated version as soon as possible.
The Symmetrix Storage Arrays have a concept of "clones" where in the storage devices are paired for data transfer. During certain activities, it is important for a storage administrator to ensure that the correct device is made visible to the correct server. During this checking process, the command to check masking records (masking refers to the act of making the SAN Storage Devices visible to hosts) of each of the hexadecimal devices shown below has to be run individually. The command to check that is -
symmask -sid 000190101234 list assign -devs BB01, where sid is the symmetrix array ID and the BB01 part is the device ID. The script automates the process. Here's the output of the clone device command - :
symclone -sid 1234 list
blogs.perl.org is a common blogging platform for the Perl community. Written in Perl with a graphic design donated by Six Apart, Ltd.