Please join us at Sydney Perl Mongers for our December/Christmas meeting and last meet for the 2015 year.
Date: Wednesday, 16th December 2015
Time: 6-9pm
Place: Ooyala and Telstra Software Group Office, Level 9, 175 Liverpool St, Sydney
One of the developer evangelists from the Ooyala API team at the TSG will present a short intro/talk. Mandy, who so generously organized this, hopes to also show off Ooyala features via perl code!
We will hopefully have the lifts open during that time, so people can freely come to level 9. Once there, they will see an Ooyala / TSG sign and can come over and knock/wave through the glass door.
If the lifts are not letting people up there will be at least one person from Ooyala/TSG to ferry people up the lift they will just need to call you or me or something like that.
Best train station: Museum seems best, followed by Town Hall
Or: Why does writing command line apps still require so much work?
My answer to the first question would probably be: TAB. (Especially since I switched to zsh ~2 years ago.)
But more about that later. This is simply one of the reasons I started this project.
The Problem
When you start a command line tool you probably add Getopt::* as soon as you need options. Maybe Getopt::Long::Descriptive, so you can get a usage output.
There's also App::Cmd, MooseX::App, MooseX::App::Cmd, MouseX::App::Cmd, MooX::Cmd and possibly more. Some can't do nested subcommands; they all look and work a bit different. Shell completion just exists for some and would have to be implemented for every single module.
And in the end you have to know about all, since you might work on projects from somebody else.
What they all do is create a commandline app from a specification, but the way you describe it is very different, although the basic concepts have a lot in common.
We'd like to invite all IT developers, administrators, users, managers to submit talks for the German Perl Workshop 2016 in Nuremberg.
Lots of time to speak:
There are 21 hours available for talks, and we rely on you to fill them.
Topic of your talk:
We are interested in talks on software development and engineering, administration, and the social side of it.
See http://act.yapc.eu/gpw2016/wanted.html for inspiration.
We are the German Perl Workshop, but we are also an open source conference. Think about your project, your daily work or what you do in your private time. There are lots of interesting things you can speak about. I hope you can find a topic for your talk.
Communication platform:
Join our mailing list. You can find all data of our mailing list on http://act.yapc.eu/gpw2016/. We are here and waiting for your questions. Do not hesitate to ask your questions. We definitely do not bite you. The organizers want to help you and at the end the conference.
If the Pull Request Challenge hasn't provided enough pull request action for you, you could sign up for 24 Pull Requests. The idea is to do 24 pull requests in the 24 days before Christmas Day. You have to find the repositories yourself.
As a data warehouse, a significant part of my job involves log analysis. Besides the standard root cause analysis, I need to verify database writes, diagnose user access issues, and look for under-used (and over-used) data sets. Additionally, my boss needs quarterly and yearly reports for client billing, and some of our clients need usage reports to identify data they might be paying for but not using (which we can then shut off to reduce costs). This has recently become a popular space for new solutions.
On the other side, as a sysadmin, I need to get other reports like how all the machine's resources (CPU, memory, disk, network) are being used, what processes are running on the machine and how those processes used resources over time. This is basic monitoring, and there are lots of solutions here, too. In the true Unix philosophy, there are command-line programs to query every one of these, which write out text that I can then parse.
In my previous post about ysql, I showed how to use the ysql utility to read/write YAML documents to SQL databases. Now, Yertl has a ygrok utility to parse plain text into YAML documents.
Let me introduce you a sparrow - a tiny web monitoring / test tool . Tiny as project is in very alpha stage, but I hope it will grow and get mature and get used by others.
Sparrow is a console client to setup tests/monitoring infrastructure and run swat tests suites.
Swat - is web test application automation framework. Sparrow provides some glue to run sparrow plugins - shareable swat tests suites.
Swat was initially designed to radically increase and simplify web tests development. Another idea behind swat philosophy - is to create shareable tests suites could be reused by someone else with different context ( monitoring, QA, development, devops ) but in easy manner.
Recently I have posted a informal swat introduction paper with the list of swat test suites could be base for such a sparrow plugins.
If you are inspired in test automation development on perl we probably could go one direction. So swat/sparrow contributors are needed!
We’re super, super excited to announce everybody to SAVE THE DATE: YAPC::EUROPE 2016 will be held on August 24-26th, 2016, in Transylvania!
We’ve also arranged a really cool & central location, namely the University of Medicine and Pharmacy “Iuliu Hațieganu” Cluj-Napoca (located at 23, Prof. Gheorghe Marinescu Street, Cluj-Napoca) See some photos here.
A quick note, until the YAPC::EU 2016 website is going live, all updates will pe posted on the Cluj.PM Blog.
You can also follow the official YAPC::Eu 2016 social accounts to get all news as-they-happen: Facebook, Twitter & LinkedIn, make sure you follow us.
Stay tuned & start writing your talk proposals, we'll soon launch the Call for Papers.
These last few years have been just astonishing and so much of it is due to Perl and the Perl Community. In 2013 I ended my 8 year graduate experience (where I learned a lot of Perl) by defending my thesis (which used Perl extensively) right into the teeth of The Sequester. The US Government decided that they weren’t going to pay for science just when I was looking for a science job. The prospects were bleak.
I turned to my local Perl Mongers group (Chicago) begging for a job. In no time at all I had one. Although it actually quickly became a Python job, I was nonetheless employed and employed well at that. Then that PM group acted as a meeting place wherein I was lured away to my second job (my first real Perl gig). This job was due in part to Mojolicious, for which I am also very thankful.
If you are as frustrated as I am when you try to launch a stock Amazon AMI as an EC2 instance in Amazon's cloud and then try to do any kind of Perl development, then here's an AMI image or you.
Search the community AMIs for this: ami-0043036a
The image contains pre-installed tools so you can easily roll a new RPM using cpanspec and rpmbuild.
Amazon AMIs are now shipped with Perl version 5.16 and unfortunately Amazon's rpm repo does not contain all of the modules you might want or need. If you enable the epel repo, you'll find some incompatibilities with those rpms and things quickly get frustrating.
Adding to the frustration is the fact that cpanspec from the epel repo itself has a broken dependency and if you manage to figure out how to work around that, you'll find yourself cursing either Perl, Moose, epel, Amazon or maybe all of the above.
Since DateTime was reworked, I (as the current maintainer of Gedcom::Date) have received many failing test reports: Can't locate object method "long_date_format" via package "DateTime::Locale::FromData"...
I want to clear up some confusion about the Test::Stream/Test::Builder work.
I will try to be as clear and concise as possible:
Test::More is not changing in any significant way.
Nothing is being removed from Test::More.
Nothing is being added to Test::More.
There are no changes to Test::More::is()
Test::More::cmp_ok() is not being removed
Test::More is not breaking.
There has been a lot of FUD about this lately, I don't think any of it was malicious, but rather due to a misunderstanding. Test::Stream is a new namespace, and includes a new toolset modeled after Test::More. This new toolset has a new implementation of is(), and for a while did not have a cmp_ok(). These differences are opt-in, you have to use Test::Stream instead of Test::More to be effected. There are no plans to ever port these differences to Test::More, that would break things, and I am not willing to do that.
Hi I wrote an
informal introduction
into swat, trying to highlights some benefits one could gain using swat in web test development. Feedback is appreciated. Thanks.
[This is a post in my latest, probably long-ass, series. You may want to begin at the beginning. I do not promise that the next post in the series will be next week. Just that I will eventually finish it, someday. Unless I get hit by a bus.
IMPORTANT NOTE! When I provide you links to code on GitHub, I’m giving you links to particular commits. This allows me to show you the code as it was at the time the blog post was written and insures that the code references will make sense in the context of this post. Just be aware that the latest version of the code may be very different.]
Last time I babbled on for a while about my general plans, and finally came up with a name other than “my perfect date module.” This time we stop screwing around and finally write some code.
I decided to start out with the date class. In retrospect, I sort of wished I’d started with the datetime class, as that would’ve been a lot simpler. But the date class was more interesting, and more immediately useful, so that’s where I started, so that’s where we’ll start as well.
The OSCON Call for Papers closes this Tuesday, 24th November, at Midnight (US EST) and at this moment there are no papers submitted on Perl.
OSCON has become increasing less language-specific over the years and now doesn’t have language tracks or rooms, however Perl has a long association with this conference including the fact that it evolved from the original Perl Conference and for many years hosted the State of the Onion.
As we approach 2016 with a major new version of Perl in the shape of Perl6 and an ever-vibrant and yearly releases of Perl5 the idea of not having a presence at OSCON is quite strange.
So I am asking all of you to consider if you can submit a talk to this event. We have a very good chance of getting a main room spot if we talk about Perl6 especially since O’Reilly have been pushing known Perl authors on the idea of a Perl6 book. This could be a turning point where we get new Perl5 books as well.
This week at work I overheard some coworkers talking about a programming
problem. The type that you might get in an interview. The idea was that if you
had a string of words smushed together without spaces, how would you go about
parsing the string into words again?
I thought about it for a bit and pretty quickly decided to load all of
/usr/share/dict/words into some kind of regexp. The main difficultly is that
you can't just be greedy or be nongreedy because either could fail. Imagine the
inputs:
yougotmail => you got mail
yougotmailed => you got mailed
yougotmailman => you got mailman (or: you got mail man)
yougotmailmanners => you got mail manners
As you can see, regardless of greedy or nongreedy, you need backtracking. Hmm.
Regular expressions have backtracking. Problem solved!
It has some issues, including the fact that syntax highlighting Perl code is, um, not always perfect, but it does the job. The main drawback, however, is that it runs about as fast as a sloth with a spinal injury. It was so bad that even I stopped using it, and I love the damned thing. Today, I may have fixed that.