HOWTO: Youtube live streaming of a talk

The video from last night's NY Perlmongers meetup ( A new object system for the Perl 5 core. By Stevan Little ) came out pretty good.

We used Google Hangouts on air, which made it easy to live stream over youtube, plus came with pretty good screen sharing and support for multiple cameras. (We used one and the presenter's screenshare.)

We also did not have to:

  • upload an hour long video to youtube and then wait for conversion afterwards. It's available immediately.
  • worry that the sound would be awful after the conversion, because it's the same sound from the broadcast.

Here's how we live streamed it:

Gear

  • Cameraperson + Microphone laptop
  • Presenter's laptop (for screen sharing)
  • A decent microphone. We used a Logitech Conference Cam.

Software

Instructions

This is just a test, this is just the beginning...

...of some awesome posts, beginning with writing a caching HTTP proxy.

History shows again and again how foolish to build distributions by hand -- Dist::Zilla!

(Someone had to use the title, so I thought it might as well be me.)

Dist::Zilla has become my tool of choice when building Perl distributions. But let me let you in on a little secret - It's made of modules. It's made of modules. (And once again) it's made of modules. That is, it's made of modules that are Dist::Zilla plugins.

That is what took me so long to even properly try Dist::Zilla -- pretty much, all of the functionality is in the Dist::Zilla plugins rather than Dist::Zilla itself. Once you wrap your head around that idea, Dist::Zilla makes perfect sense.

Dist::Zilla is Git-friendly, to the point where you can drive the selection of files to distribute using Dist::Zilla::Plugin::Git::GatherDir to select only the files you have entered into your Git repository. (Which explains why your new, untracked files don't show up in your trial distro :(.) (There are Subversion and Mercurial plugins for Dist::Zilla too.)

So far, my one caveat is that it may take a while to install Dist::Zilla on a fresh Perl installation, as it depends on a number of CPAN modules. (But at least they are out there, ready to use.)

If you want to automate creating your distributions, Dist::Zilla is at least worth a look.

File IO basic

I translate "File IO Basic".

File IO Basic

This is File read and write tutorial. If you learn the way to open file, you can read from file and write to file. File operation is one of most used operation in program.

A convention for Changes files

This post is an attempt to pull together in one place all the discussions about a/the changelog format for CPAN modules. Brian Cassidy's CPAN::Changes::Spec defines a format to use for the file, which is currently used by 41% of the distributions on CPAN. Discussions are currently happening in a number of places, including a MetaCPAN issue, a pull request, and a Questhub quest.

Comment Submission Error

Your comment submission failed for the following reasons: Your session has expired. Please sign in again to comment.

Why does this happen any time I try to comment even if I just signed in and even did the 'Remember Me' thing?

Perl Module Tools (pmtool) - Now with Kwalitee!

Perl Module Tools (pmtools) v1.51 now passes all Test::Kwalitee and Test::Kwalitee::Extra tests. Although the tests for the programs are not comprehensive, they should work fine as smoke tests -- if one of the program test fails, there may well be a problem with your Perl setup. Also, pmtools distributions are now created with Dist::Zilla (making the job of releasing a new version much easier than before).

As usual, pmtools v1.51 will be available from CPAN later today (it has already been uploaded) and is available now from GitHub (https://github.com/markleightonfisher/pmtools). If you decide to fork pmtools and create a pull request, please remember to put your changes on a topic branch (as that will speed up how quickly your changes can be integrated into pmtools).

Introducing WWW::Pusher

WWW::Pusher ia a Perl module that gives you an interface to pusher.com.  I didn’t write the module, but it wasn’t on CPAN, so I just pushed it up to make it easier for everyone to find and install. 

Pusher is a web service that allows you to have real-time communication with remote clients from your app. 

[From my blog.]

How UAV::Pilot got Real Time Video, or: So, Would You Like to Write a Perl Media Player?

We don't usually do video decoding in Perl, but if you're not afraid of getting into xs and a little C code, it's all perfectly do-able. In fact, one of the reasons I wanted to take on the UAV::Pilot project is because I figured it would push me out of my comfort zone and force me to do things like this. C and xs are not as scary as people think they are, and they can open up things in Perl that are otherwise infeasible.

See my blog for the whole story.

NY Perlmongers Streaming

Followup to the previous entry ,
Streaming youtube link is here

PPW is just one week away.

The Pittsburgh Perl Workshop starts just 8 days from today. I've been sweating bullets for quite a while, but things are now falling into place. I'm even at the point where I've stopped worrying about the big things and can put some attention on the little bits of polish.

The talks are going to be awesome. We start out the event on Friday with John Anderson (genehack) teaching PPW's world-famous "From Zero to Perl." Then, Saturday starts out with a great talk from Mark Jason Dominus. We'll have a total of 15 different speakers covering a wide array of subjects. And of course, Geoff's famous lightning talks.

The food is going to be awesome. Breakfast, lunch, and snacks are all being covered. No need to run around town searching for something to eat. Instead, just relax and take in all the PPW goodness.

Building your own Moose

So you've switched to Moose a long time ago and you're quite happy with it, but you slowly notice that there are, well, things you wish it did differently. Fortunately, there's the MooseX:: namespace and now you have boilerplate you type at the beginning of every module.

use Moose;
use MooseX::StrictConstructor;
use MooseX::HasDefaults::RO;
use My::Moose::Types;

The above incantation says "die if there are unknown arguments to new(), and attributes should be read-only by default, and throw in my custom-defined Moose types as well".

But boilerplate is bad. In my quest to remove boilerplate, I've produced Test::Most and other modules, but in this case, there's not much to release because many people's Moose preferences will be different. Still, it would be much nicer to write use My::Moose; rather than continually repeating the lines above, so here's how to do that.

CPAN Testers Server Upgrade

Hi folks,

Sorry for the short notice, but the CPAN Testers Server will be getting an upgrade this weekend. This will start from Friday 27th September, and will continue over the weekend.

Further details on the blog - http://blog.cpantesters.org/diary/167

Please pass on to anyone you know who might be affected.

Cheers,
Barbie.

Streaming Tomorrow's NY Perl Mongers

SocialFlow is hosting tomorrow's NY Perl Mongers event, which starts at 6:30 Eastern ( NY time ).

Stevan Little will be speaking, the topic is:
"A new object system for the Perl 5 core"

We're going to make a best effort at streaming it live on youtube. We'll update the meetup.com page with the youtube link once we're live, and I'll post it on blogs.perl.org as well.

Afterwards, the video should stay online at the same link.

We'll be using Google's "Hangouts on Air" feature, which lets you broadcast a google hangout with a streaming youtube link.

Hope to see a bunch of you there!

Let's make a Perl Nerd Merit Badge

Somehow I ran across Nerd Merit Badges. They have a cool Stackoverflow badge and an octocat badge. I want a [animal redacted pending permission] Perl nerd merit badge to be part of their line up. We can easily make custom badges, so that's a good place to start.

Pledge to get a Perl Nerd Merit Badge

I've started a Crowdtilt campaign to collect money to make their minimum order and a little extra, even though we don't have the design yet (but we all know what it's going to be, right? :) I'll collect the money, make the order, receive the shipment, and send out the badges. You just need to pledge some money.

And, if someone with some design skills can follow their guidelines (and maybe talk to me), we can get that bit going. If you think you have something, send me your design and we'll let people vote. Or something. I don't know yet. We're JFDI right now. :)

YAPC::Asia Tokyo 2013: Fighting Legacy Code

Due to popular demand, I'm going to post a summary/transcript of my presentation for YAPC::Asia Tokyo 2013, titled "Fighting Legacy Code". It's also the presentation that I would've given if I didn't cancel my attendance for YAPC::NA Austin 2013.

Because I wrote all this in a rush, the language is very terse. Please let me know on twitter (@lestrrat) if somethings don't make sense.

You could also take a look at my Japanese slides while reading through this. You may get a little more feel for what I'm writing about.

Ouch 0.0408

Thanks to a patch by Graham Knop, Ouch now catches subclassed exceptions. How did I miss that? Thanks Graham. Also reformatted the Changes file according to the spec in CPAN::Changes::Spec thanks to sergeyromanov who is working on a quest to improve CPAN.

[From my blog.]

NET::LDAP Active Directory SID Unpack

I was searching high and low for a way to unpack what NET::LDAP was returning for an objectSID. When dumped, it was just a bunch of line noise garbage. Trying to figure out what format it was in I came across this:

Re: Getting Active Directory objectsid value using Net::LDAP - Help!

c. church says:

Looking on MSN, which describes the SID structure (urL :http://msdn.microsoft.com/library/default.asp?url=/library/en-us/security/Security/sid_components.asp) it seems to say this:

the format of the sid is S-R-S-S...

Where the first byte is the revision level of the SID structure, the next 48bits (6 bytes) are the authority that issued the SID and then a variable number of (48bit?) subauthority values, as defined in Winnt.h

The Microsoft URL referred to above is dead. (Microsoft has no idea how to keep the antiquated, yet useful, documentation they produce alive, yet they manage to keep Windows XP kickin' for over a decade. Go figure.)

I translate "Understand Perl Scope" from Japanese to English

I translate "Understand Perl Scope" from Japanese to English

Understand Perl ScopeUnderstand Perl Scope

Perl scope concept is very good. This is more understandable than other language.

YAPC::Asia Tokyo 2013 is over

So I just came back from the staff after party. I'm exhausted. So I'll only write the important stuff:

  • This year, we had 1,131 attendees (ticket sales, invited guests, speakers, staff) I'm pretty sure this is THE BIGGEST YAPC EVAH
  • Talks on 4-tracks
  • We provided Wi-Fi to all the attendees via custom built network, and we saturated a 100Mbps line when our attendees started downloading iOS7 simultaneously
  • This is the LAST YAPC::Asia Tokyo that 941-san, and myself will do. There are no plans to host another YAPC::Asia Tokyo next year, unless someone steps up to take up the challenge.
  • I was involved in all of the 8 YAPC::Asia Tokyo's previously held. I had a wonderful ride. It was pleasure, but it's time to move on

Videos, photo footage, and blogs will be posted soon-ish. Stay tuned.

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.