2004-2016
Boston Perl Mongers history is divided into three parts, like Gaul.
(Note. This file is in reverse chronological order, most recent at the top. the others are chronological, recent at bottom. All start with a table of contents by year.)
Tech Meetings have traditionally held on the 2nd Tuesday of every month, most recently at MIT.
For 15 years, MIT IT and Facilities provided user group meeting space on campus for the convenience of MIT staff and other community members who wished to attend.
The facilities were very nice MBA case rooms in the Business & Humanities building E51.
MIT Era spans the file break between Mid History and Recent history.
A mutually-guided tour of the first half of several Perl-ish Advent Calendars
Around this time of year there is a tradition in the programming communities to share our favorite libraries, tools, and tips we’ve gathered over the past year. These prizes are dolled out once per day in classic Advent Calendar style. In the next Boston.pm meeting we’ll take a look at the highlights from several in-progress Perl-related calendars, including:
and maybe more from the master list via Advent Planetwhich has other languages and sysadmin, perf, …, and a code based puzzles.
(Audience participation: As usual, our Greek chorus answers each other’s questions about the modules seen.)
2nd Tuesday in November in a Leap year is Election Day - I presume most people will be watching a different channel that night.
We often do social in December.
Last month, I did my usual Cryptographic History talk before BLU.org’s GPG/PGP key-signing. The title was “Transposition Cyphers in Historic Context”, looking at a theory and two specific uses, President Lincoln and German Army Corps WW1. As usual, there was a bit of Perl code used for demonstration - for Lincoln’s.
This time, I used the 5.020 experimental features,
postderef
and
signatures,
that we’ve discussed in new
release feature reviews (both promoted to stable in 5.024, so safe to
use in real code).
BLU saw the history, but this month, Boston.pm gets to see the code.
Materials
lincoln-whatsnextnews.pl
(html tidy) , source lincoln-whatsnextnews.pl
(source)Citizen science links for the transcription project -
Articles
Books
I stumbled on a link to a set of posts and hand-drawn ‘zines’ about Linux debugging and ‘doing’ software at . The Linux Debugging zine includes several ‘old friend’ tools (which gives me confidence in this person’s opinions) and also included new or new to me options and tools, and specifically enthused over Brendan Gregg’s invention: FlameGraphs.
Brendan Gregg invented these to make sense of profile stack samples of MySQL, which produced so much data that he had to invent a new way to visualize … with Perl, naturally. Tim Bunce has bundled and enhanced FlameGraphs into CPAN NYTProf, but it’s usable with any profiler giving full stack traces with symbols (Dtrace, perf, SystemTrap, OS X Instruments, Xperf.exe, NYTProf for Perl). -Bill Ricker
We will watch a video by the author and play with the source code.
Links
Our ?biennial? hackathon to support our adopted Damian module, Config::Std is our July topic. [https://metacpan.org/release/Config-Std] [https://github.com/n1vux/Config-Std-Perl] We have a new old bug – prior deprecation of literal { becomes fatal in 5.26, coming soon [https://rt.cpan.org/Ticket/Display.html?id=114342]
You’ll want to perlbrew a 5.25 or blead-perl if you want to play along with testing on your device.
Tim will examine best practices for testing Modern Perl, including a tutorial on using Test::Class.
Tim King is Lead Developer at The Perl Shop. Tim got his start writing real-time embedded software for high-speed centrifuges the 1980’s and went on to do embedded software for Kurzweil Music Systems and Avid Technology. He has been developing for the web since the web existed, and brings discipline and skills honed from embedded systems to enterprise software. His expertise is in designing for software quality, achieved through automated code testing, test-first development, and risk managed refactoring, all through an agile process.
Some short observations, including code, on dealing with a
multi-lingual website. Mention, and possibly discussion, will be made of
Plack, GNU’s Gettext and its PO
file, Dom::Tiny
† (with a possible 1-minute excursion
into HTML::Parser),
Locale::PO (and
various rewritings), the CLDR,
and the Locales
module.
†(Narrator: Historical update, Mojo::DOM58 replace DOM::Tiny which continues as a subclass alias to Mojo::DOM58 for compatibility.)
(By the magic of video - Yapc::EU)
“Performance has long been one of the blockers to greater adoption of Perl 6. The language is designed in expectation of a sufficiently smart optimizer, knowing that such things are possible - but setting quite a challenge for those of us working on Perl 6 implementation. Following the”make it work, then make it fast” approach, we’ve done a lot of work over the years on getting many language features to work well in Rakudo. … In this session I’ll discuss how we’ve been improving Perl 6 performance by working at all levels of the implementation: optimizing built-ins, improving the Perl 6 optimizer’s ability to simplify code, and building a powerful dynamic optimizer for MoarVM that uses run-time information about a program’s typical behavior to cheapen attribute accesses, resolve dispatches, eliminate type checks, perform inlining, and much more. I’ll also take a look at the MoarVM JIT project, and how that is helping.
Finally, I’ll take stock of where we’re at so far using latest benchmark results: what we can do about as well as Perl 5, where Perl 5 comes out faster, and where Rakudo Perl 6 comes out ahead.”
Jonathan Worthington is MoarVM and Rakudo Perl 6 compiler architect. Co-founder of Edument in Czech Republic. Like cooking/eating Indian food, craft beer, and seeing the world.
Lead Dev of Rakudo Perl 6 and founder&architect of MoarVM (appearing via tape delay)
“Parallelism and concurrency are different, though often confused. Asynchrony adds yet another concept into the mix. And there are dozens of different approaches to working with these concepts. How do we identify what kind of problem we’re dealing with, and pick an approach to solving it?”In this session, I’ll look at a range of different problems - some parallel, some concurrent - and show the approaches that may be taken to solve them. And, since I’ve been working on the Perl 6 parallelism and concurrency features, I’ll show how these solutions look in Perl 6.”
… and any comments from anyone who’s downloaded it and messed with it since Sixmas ….
(Note, word is if you had an old RakudoBrew, it needs removal and re-clone for the release.)
We have two short, recent videos each with example code on one of the key improvements P5→P6, moving Parse-Rec-Descent into the guts as P6 Grammars.
This is possibly the feature that will drive earliest Perl6 production deployments. (IIRC, years ago Dan told us it already happened!)
Demos Explained -
( If anyone knows of a demo of logic programming or ‘Eliza bot’ in Perl6 grammars, let me know so we can include it. – bill )
Larry Wall (appearing by tape delay)
Continuing our season series for the December 2015 launch of Perl 6.0.0 …
(Narrator: The language now known as Raku.)
this is an introduction to Perl6 by comparison to Perl5 and Tolkien, Larry’s 2015 conference talk.
It was the pre-announcement of the “yes this Christmas” release.
This month Boston.pm presents a recorded talk by Ovid (Curtis Poe) with live code examples prepared and demonstrated by Bill Ricker. Ovid describes his talk as, “Perl 6 is a great language, but sometimes the enthusiasts talk about the crazy, scary things you can do with it. In this talk, I discuss how easy it is to really use.”
We’ll have working examples in live Perl6 (Rakudo Perl 6), both copied from the main presentation to play with immediately on our screen, for kibitzing and tinkering, plus some other examples to try.
Program notes:
About the Speaker
Ovid (Curtis Poe) is founder of All Around The World, a Perl consultancy based in France. He specialize in large-scale, database-driven, heavily tested applications written in Perl. His published works include the book ’Beginning Perl”, co-authorship of the book “Perl Hacks”, and multiple technical articles. His testing modules ship in the Perl core.
Checking out what’s new in the newest stable Perl 5. (& lightning survey of latest Modern Perl developments )
Ronald Kimball, former Boston.PM “Facilitator” (=leader; 1999-2008) is relocating out of state. Current and former habitués of Boston.PM will gather at Sunset Grill and Tap in Allston on our usual Second Tuesday to send him off in style. There will be swag.
Current and former habitués of Boston.PM are invited to gather at Sunset Grill and Tap in Allston on our usual Second Tuesday to send Ronald, our former Facilitator, off in style.
Ronald wrote : > As Uri mentioned on the announcement list, we would like to have a social meeting on Tuesday, Aug 11, so that I can say goodbye to all of you, because I am moving to Minneapolis next [this] month! > As an extra enticement, I will be bringing some unclaimed Perl Monger shirts from 2006. > (It’s been a while since I made it to a meeting, so, for those of you who may not remember me, I was the leader of Boston.pm from 1999 to 2008. :) > Ronald
Location: Sunset Grill and Tap in Allston. 130 Brighton Avenue (at Harvard Ave).
A few years ago it was discovered that common SD memory cards contain a micro controller that can be reprogrammed. In this talk Federico hacks “some hardware to see if we can get to the CPU on an SD card. Any automation in Perl, of course :)”
Federico
Lucifredi was the maintainer of the man
suite,
the primary documentation-delivery tool under Linux, a graduate of
Boston College and Harvard University, and the Ubuntu Server Product
Manager at Canonical. He is a frequent speaker locally for Boston.pm and
Boston Linux/UNIX, often on “hardware
hacking” topics.
Scheduling didn’t come together for a speaker this month, so we are opting for a social gathering at REDBONES, in Davis Square, Somerville. Known for their barbecue . Join us for some food and to chat about Perl and whatever else.
Narrator: Redbones was too full of Tufts Seniors celebrating last finals, so we went to blue shirt across the square.
Axel “fREW” Schmidt
Prolific CPAN author “fREW” Schmidt will share his ^Miscellaneous Debris^:
Axel “fREW” Schmidt authored or maintains 50 CPAN modules, including Catalyst::Action::REST and DBIx::Class::Helpers
Video(youtube) [[file/view/Net__AMQP__RabbitMQ Presentation/543820114/Net__AMQP__RabbitMQ Presentation|Slides]] (pdf)
Mike Stemle, Jr. discusses his experiences at ThinkGeek working on and using Net::AMQP::RabbitMQ, an interface library to RabbitMQ , an open source message broker that implements the Advanced Message Queuing Protocol (AMQP).
Being a Perl Shop is hard sometimes, and as a result you sometimes miss out on some of the super-awesome third party support that other - some would say, weaker (but of course we wouldn’t say that, we’re classy) - languages enjoy. So I had to get my hands dirty. As such, I contributed to the development of the Net::AMQP::RabbitMQ module so that we at ThinkGeek could properly integrate our Perl applications with this MQ server.
I will walk you through a very high level of the integration itself, some of the challenges we faced, and how we overcame them. I’ll also go through some of the improvements I’ve made as part of the team of people maintaining the Net::AMQP::RabbitMQ module. BEWARE, however, this talk is not for the squeamish. There will be guts. perlguts, and they’ll be everywhere.
Mike Stemle, Jr. is a Sr. Software Engineer with more than 16 years of professional software experience. He’s worked in early social media, telecom, advertising, e-commerce, and billing. He’s written things as small as the first ever web message board for farmer.com and other things as big as billing systems processing more than 100K transactions per hour.
Hailing from Fairfax, VA he fights the good fight along side his good pal, Timmy, and all of the amazing folks at ThinkGeek, Inc. Mike is naturally low in cholesterol, and only to be used as directed.
These statements have not been evaluated by the Food and Drug Administration. This product is not intended to diagnose, treat, cure, or prevent any disease.
You can find out more about Mike Stemle, Jr. here:
Highlights from various Perl advent calendars and similar postings over the holidays that aim to make you aware of both popular and obscure CPAN modules. Sources include:
Advent Planet (aggregates other advent calendars)
P6 Advent calendar https://perl6advent.wordpress.com/2014/12/
http://shadow.cat/blog/matt-s-trout/ “mstpan” review of CPAN by category – 15 categories in December, almost a full calendar! Consider it a curated CPAN catalog for epoch 2014/12/xx. Matt’s comments on why he likes and dislikes certain modules for different usecases are specific enough that you can decide whether one he dislikes will work for you anyway. and blogs.
2014 Releases.
h/t Some Calendar recommendations by Jerrad Pierce.
LOCATION: EIG, 10 Corporate Dr #300, Burlington, MA 01803
Hive provides a SQL-like interface to Hadoop. Perl can interoperate with Hive in a variety of ways, including Hive queries through a Thrift API and the direct incorporation of Perl into map-reduce jobs. The author has taken a few baby steps on this journey and chooses to share the results with his peers.
KEYWORDS: Perl, Hadoop, Hive, Big Data, Thrift, Map-Reduce.
This meeting is being hosted by EIG, Sean and Charles’s employer. (A carpool from MIT and/or Red Line will be available for Car-Free commuters, talk to Bill.)
(If you can’t attend in person, this talk will be broadcast live via Hangouts / YouTube and you can submit questions via IRC or Hangouts Q&A.)
Talk it will cover using Mojolicious (web framework), Moo (object framework), DBIC (DBIx::Class, most popular ORM for Perl) to implement a service bridge between the Google Apps API at Endurance International, a leading web and email hosting provider.
We will examine the implications for the ShellShock BASH bug for Perl – it’s much wider than just about BASH CGI or even Perl CGI scripts – and also a recently discovered/fixed but comparably long-lurking Perl DoS bug in a core module (Data::Dumper stack smash CVE-2014-4330) and how is it possibly remotely triggerable.
The good news is ShellShocker was slightly over-hyped; unlike Heartbleed, this one does NOT generally affect the Internet of Things. Your Internet-enabled toaster is likely immune. But Windows and Mac are not entirely immune to this Linux bug.
If you use Perl, then you have probably wrestled with CPAN. Shifting dependencies, incompatible interfaces, and test failures in CPAN modules can suddenly break your application, leaving your team to chase bugs they didn’t create. But managing CPAN modules doesn’t have to be painful. A private CPAN repository gives you a stable platform for making consistent builds and managing upgrades for all your Perl modules.
In this session, you’ll learn how to use Pinto to create a private CPAN and build your applications with the right modules, every time. You’ll learn about the dangers of the public CPAN and how a private CPAN can help mitigate those risks. Finally, we’ll cover some of the newest features of Pinto and show you a few power-user tricks to get your private CPAN up and running quickly.
Stratopan is a startup founded by the speaker that provides “Private CPAN repositories securely hosted in the cloud.” So Pinto is the tool that facilitates creating a private repository, and Stratopan lets you outsource the hosting of that repository.
Jeffrey Ryan Thalhammer is a respected software developer, prolific open source contributor, and tech community leader. Author of Perl::Critic and Pinto, used by thousands of developers. Co-founder of Stratopan and Co-organizer of the San Francisco Perl Mongers. He consults under the brand Imaginative Software Systems.
Skipped for summer vacations.
(Zak appeared remotely via Hangouts)
This talk looks at web users from a two different perspectives: First, we look at identifying techniques to determine web user identities from a server perspective. Second, we will look at obfuscating techniques from a user whom seeks to be anonymous. Perl techniques will be highlighted.
Link for materials : has links to 4 hour HD video (stream/download) from 1 day class and materials (choice PPT, ODP, PDF) (courseware CC-BY-SA-3.0
Demos: http://zak.freeshell.org/course/lab.html
(If you can’t attend in person, this talk will be broadcast live via Hangouts and you can submit questions via IRC.)
Zak Zebrowski is a MITRE data miner, specializing in forensic database analysis. He is interested in all things Perl, and enjoys teaching. He loves being outside when he’s not programming.
Two short talks:
Selenium “is a test tool that allows you to write automated web application UI tests in any programming language against any HTTP website using any mainstream JavaScript-enabled browser. This module is an implementation of the client for the Remote driver that Selenium provides.” - pod
Ricardo Signes (pre-recorded in NY, with live Q&A via Hangouts)
A collection of the speaker’s lightening talks, in the spirit of a highlight reel. We replayed a recording of Ricardo’s talk to NY.pm, after which Ricardo joined us by tele-presense for live Q&A .)
Some talks carefully guide the listeners through the entirety of a topic, starting with the basics and ending with the fine details. That’s… not the plan for this talk. Instead, we’re going to see the highlight reel of a bunch of topics that caught my interest over the course of the year: a review of cool (and uncool) changes in Perl, the best modules you’re not using, stupid optimization tricks, tools for handling catastrophic program failure, git scripts you’ll become dependent on, numbers stations, Zork, productivity tools, and who knows what else.
I will stand in place and let lightning talks strike over and over, until I am reduced to cinders.
You get to witness the ordeal, and you might just learn a thing or two.
We had a partially successful experiment with a “Hangout On Air” to broadcast the Q&A portion of this presentation: youtube
And the bio:
Ricardo Signes is the current project manager for Perl 5, a maintainer of the CPAN toolchain, part of the Moose development team, and a frequent contributor of other free code to the CPAN. He likes to talk about code almost as much as he likes to write it. He lives in Bethlehem, Pennsylvania, and works at Pobox.com, where he spends his days trying to cope with the horrors of email.
Video replay presentation with group discussion as emergency substitute. (Our group discussion adds value to anything!)
Choice of :
TOPIC: Interesting Small Scripts DATE: March 11, 2014 TIME: 7:00 – 10:00 PM ROOM: E51-372 SPEAKER: Bill and chorus
(notes to appear later)
(Narrator: notes did NOT appear later.)
Parsing the weirdest fixed-record-length format you’ve ever seen!
“at my new job i have created a parser for a very clunky fixed record size format. it took longer than anticipated for various reasons. i have a parser module, some db tables to help in real world stuff, a bunch of one off scripts that did useful stuff. could be interesting to see how such a project is done.
well, it was interesting to me as i was paid for it! a chance to code review my stuff and show some nice slicing (perl slicing) and dicing of data.”
Followup discussion in mailinglist
SPEAKERS: Joel Berger, Tommy Butler, Yanick Champoux, Bruce Gray, Tim King
MODERATOR: Tom Metro
How fast can Perl find duplicate files on a 100 GB file system? That’s the question the Dallas/Fort Worth Perl Monger’s Winter 2013 Deduplication Hackathon set out to answer. There were a diverse range of contest entries, from the expected procedural Perl 5 code to ones that used Moose, MOP, and even one Perl 6 entry.
Tom Metro will moderate a collection of prerecorded and live lightning talks by the contestants. After a brief intro, we’ll hear from Bruce on his 6-line Perl 6 entry, from Tim (live in person) with his comprehensive MOP based solution, from Joel with a classic Perl 5 procedural solution, from Yanick with the officially winning solution built with Moose (yes, the fastest used Moose!), and lastly from the DFW.pm leader and contest organizer Tommy (live via Google Hangout) with his unofficial Moose based solution, that post-contest, was further tuned to beat everyone. Lastly, we’d like to hear from the audience what you’d like to see as the topic of a future hackathon.
If you couldn’t make it to the meeting, you can find most of the materials online.
The original DFW.pm meeting recording.
You’ll find Bruce Gray’s Perl 6 entry discussed at time range 17:29 - 35:30. Joel Berger, who won for lowest memory, fewest lines of code, and best Perl::Critic score, introduces himself at 10:54 - 12:48, and then discusses his code at 1:06:10 - 1:21:01.
Tim, who won for best documentation, most features, and best effort, discusses his code after Bruce, but I don’t have the time index.
In a separate video, Yanick Champoux, the winner for fastest run time, discusses his code.
Tommy Butler, the contest organizer, discussed his unofficial entry towards the end of the first video above. (At the Boston.pm meeting he elaborated on some of the optimizations he added post-contest, leading to a design that beats Yanick by 40 seconds.)
The original contest specification. The results, including a leaderboard of winners.
And finally, the code…
In 2011 I started working on a project to improve the object system in Perl 5. I wanted to take elements from Moose, as well as bring in some more elements of the Perl 6 object system. The first version of this work ended up suffocating under its own complexity, but after this year’s YAPC::NA I decided to come back to the project with a fresh perspective and so far work is progressing very well.
In this talk I will walk through several examples of the proposed syntax and feature set as well as discuss some of the underlying implementation details. This will be an interactive talk and audience members are encouraged to ask questions, poke holes in the design and help improve the proposal.
If you missed this talk, you can watch an earlier (and shorter) version courtesy of NY Perl Mongers.
Targets of opportunity:
and general news sources:
Bill Ricker and Tom Metro (remotely)
Boston.pm adopted one of Damian’s PBP modules, Config::Std. It was
broken by Perl 5.18’s security patch to randomize hash ordering. Debian
Unstable reported the [https://rt.cpan.org/Ticket/Display.html?id=85956
bug] (glad to know they’re doing Perl 5.18 and packaging Config::Std!)
and provided a patch. Ricky made sure the patch didn’t invalidate
Damian’s design.
William Cox and David Larochelle on
Using Inline::Java
with Perl
This talk is a report on inquiry begun on the mailing list slides @G or slides @H PPTx Blog
Q “There is a question that the slides don’t address which I am curious about – why didn’t you just use Java & Java-based languages?
A. “each had major existing workflow in perl.one needed to fetch data only available with java api, other needed algorithm only with java api.”
A. “Exactly. Our ORM is in Perl. :Also, I did in 1 file of Perl what Java would require in 10s. The need to maintain simplicity was important for my group. You have to follow the business requirements laid before you. A lot of my group writes Perl. The rest of engineering writing the customer facing stuff writes in Java. We mainly communicate over a database (read: not realtime). But there is the occasional bleed over from Java land that we have to implement the exact same code on our end as which ships in the product. But our framework is (largely) Perl. So we glue the 2 together. And as engineers,”good enough” is perfect.
Some data points for “good enough:”
I can scan a Maven repo for updates in under an hour
I can apply a in-house algorithm to a directory structure in sub-second time”
Greg London, Parse::Gnaw
It is a revamping of the module. The previous version had some issues like blowing up on recursive grammars.
Version 0.600 solves this problem by rearchitecting the code.
A cool new feature of the module: parsing multi-dimensional text blocks, not just one dimensional text.
(This is a follow-up on Greg’s Feb 2009 talk.)
Federico Lucifredi continues his quest to build a hardware-assisted automagic hard-drive wiper, using perl in an embedded device. Shiny hardware! Demo! Code!
Uri Guttman spoke on how to release a module to CPAN. Uri showed us how his old to him new to CPAN module is packaged to go.
This is our chance to heckle Uri. Be there! It’s fun!
“You expect your developers to communicate well; you should expect your code to communicate well. You expect your developers to continue working when things go slightly wrong; you should expect your code to continue working when things go slightly wrong. The core message is language neutral. The real-world lessons that contributed to the creation of this presentation come from GSN where we use both Perl and PHP on a daily basis. The presentation itself (see below) has some PHP code snippets in it, but swapping those out for Perl is easy and won’t change the subject matter. Feel free to flip through (using left and right arrow keys). If you think this is something the group can benefit from, let me know and I will start rewriting the code blocks.”
David Larochelle Carton and Perlbrew
Adam Russell, PDL - The Perl Data Language
“PDL is the Perl Data Language, a perl extension that is designed for scientific and bulk numeric data processing and display. It extends perl’s syntax and includes fully vectorized, multidimensional array handling, plus several paths for device-independent graphics output.”PDL is fast, comparable and often outperforming IDL and MATLAB in real world applications. PDL allows large N-dimensional data sets such as large images, spectra, etc to be stored efficiently and manipulated quickly.”
This talk will be a short overview of developing simple Plack/PSGI websites and making them run in CGI or proxy environments.
CGI refactored before and after
As many of you have known and seen, Uri Guttman will do code review on the fly with anyone’s code on display at pm meetings. This may seem frivolous or whatever but it is can be useful in many cases. He has a client for his Perl support/training services which entails lots of code and design review and it has proven very valuable to this shop. He has obtained permission to show one CGI script in its before any review state and after much review and refactoring. The author of the script did almost all of the editing and rewriting but for one sub rewrite that Uri did because it was more complex than the author could handle. The script went through 14 revisions and it still isn’t where it should be (that means using a proper template module like Template::Simple) but it is light years from where it was. This talk is being called before/after. You will see some of the worst coding and template practices ever unleashed at a Boston.pm gathering. You will be in shock at the use of globals, the lack of subs, and the redundant everything everywhere. Then the tranquility of the after version will calm your senses, sooth your jangled nerves and show you there really can be order in this chaotic universe. Be prepared for coding hell and heaven! Fun is guaranteed for all!
Scripting Ubuntu in Landscape – Federico Lucifredi
Canonical’s systems management and monitoring tool, Landscape (Landscape.canonical.com) has multiple facilities for scripting to the system administrator’ content – facilities that can be used with any of the usual array of scripting language choices. We will take a quick look at scripting the managed clients, then we delve into programming the Landscape API to script automation tasks from the shell, in effect, scripting the server, and how this allows custom integration of multiple tools.
Apparently something else happens on 2/14, important in the dominant culture.
David Larochelle explained the “new” multi-language web Denial of Service (DoS) threat that doesn’t affect Perl (but affects Python & PHP).
References - search for
Perl community news. Also any lightning talks.
Sean Quinlan presenting his and Adam Flott’s new configuration management framework Thorium. (Meeting sponsored by CIDC, Sean was hiring.)
Perl community news.
Follow-up list of links http://article.gmane.org/gmane.comp.lang.perl.perl-mongers.boston/5473
and lightning talk:
Jerrad : no clobber;
Perl 5.14
Note for summer we’re in a different room.
Social meeting
AnyEvent
lessons-leaneda YAPC preview
Uri presents Perl Code Generation Techniques, aka
when perl begat perl or the bible on code generation
uri writes on list,
ok, i made an executive decision. tad (Tad McClellan, out of town monger) and i will be having dinner at the foundry in davis sq tomorrow night at 7pm. if you want to come, let me know so i can make the right size reservation. i have been there a
their menus link seems to go to tumblr.com and not show anything useful. they have very nice reviews on the usual food sites.
Bill Ricker presented Using Perl 5.10 and Perl6 aka Rakudo on a cryptogram.
The cryptogram solved was an actual Civil War military message from the Siege of Vicksburg (arguably the more important victory on July 4, 1863) recently re-discovered in a museum.
The Perl 5.10 and P6/Rakudo demos were previews of September 2011’s BLU Crypotology History vignette.
Bob Rodgers presented Graphics in Perl, using Bio::Perl for hobby use, and generating SVGs from bio data.
“Rumors of my death are greatly exaggerated” – Mark Twain
Curious what the Perl community has been up to lately? Come see Perl 6’s recent preview release.
Since July, Perl Mongers groups around the world are doing demo nights to build and exercise Rakudo Star. Boston.PM’s turn is September 14th, MIT E51-376 7:30pm (refreshments in hallway at 7). {This is the night before BLU’s PGP night, second Tuesday is as late as it gets this month.} We’ll install it and show what it can do. We may discuss what more the final release candidate will do, and if enough non-regulars turn up, we can discuss what’s in 5.12 that’s not in the 5.8.4 or older that’s still on many commercial Unix systems
Announce: Rakudo Star - a useful, usable, “early adopter” distribution of Perl 6
Submitted by pmichaud on Thu, 07/29/2010 - 05:18
On behalf of the Rakudo and Perl 6 development teams, I’m happy to announce the July 2010 release of “Rakudo Star”, a useful and usable distribution of Perl 6.
Rakudo Star is aimed at “early adopters” of Perl 6. We know that it still has some bugs, it is far slower than it ought to be, and there are some advanced pieces of the Perl 6 language specification that aren’t implemented yet. But Rakudo Perl 6 in its current form is also proving to be viable (and fun) for developing applications and exploring a great new language. These “Star” releases are intended to make Perl 6 more widely available to programmers, grow the Perl 6 codebase, and gain additional end-user feedback about the Perl 6 language and Rakudo’s implementation of it.
In the Perl 6 world, we make a distinction between the language (“Perl 6”) and specific implementations of the language such as “Rakudo Perl”. “Rakudo Star” is a distribution that includes release #31 of the Rakudo Perl 6 compiler, version 2.6.0 of the Parrot Virtual Machine, and various modules, documentation, and other resources collected from the Perl 6 community. We plan to make Rakudo Star releases on a monthly schedule, with occasional special releases in response to important bugfixes or changes.
Some of the many cool Perl 6 features that are available in this release of Rakudo Star:
* Perl 6 grammars and regexes
* formal parameter lists and signatures
* metaoperators
* gradual typing
* a powerful object model, including roles and classes
* lazy list evaluation
* multiple dispatch
* smart matching
* junctions and autothreading
* operator overloading (limited forms for now)
* introspection
* currying
* a rich library of builtin operators, functions, and types
* an interactive read-evaluation-print loop
* Unicode at the codepoint level
* resumable exceptions
There are some key features of Perl 6 that Rakudo Star does not yet handle appropriately, although they will appear in upcoming releases. Thus, we do not consider Rakudo Star to be a “Perl 6.0.0” or “1.0” release. …
Nick Patch will present some of Ingy döt Net’s recent Acmeist projects, TestML and JSYNC, and his experience porting them to Perl 6 with Ingy. Detailed abstract to follow. (for now see Ingy’s notes http://blogs.perl.org/users/ingy_dot_net/2010/07/rakudos-really-really-release-ready.html)
hercynium
)
‘Getting out of CPAN dependency hell, and staying out.’http://perl.scaffidi.net/home/cpanhell
Federico Lucifredi doing disk clear with Perl and hardware
Adam - Enlightenment gui api in Perl
Config::Std
Boston.pm acting through Bill Ricker with Tom Metro as backup have adopted Damian Conway’s module Config::Std, which has a long RT bug queue most of which are fixed in CPAN but not closed, some documentation gaps, and a few real bugs. Bill will report on what steps are needed to enable that, and we’ll see progress as a demo.
Folks are encouraged to bring a laptop preferably with git or a diff capable of creating patch files so you can contribute to fixing perldoc.
the conclusion of our source / revision control series. With added Perl goodness !
* gitolite
* gitweb
or the dreaded PowerPointKaraoke
list of good perl stuff on that page remains available for filler talks
Steve S & Uri G
Tuesday is a day early this week, and the 8th is as early as the Boston Perl Mongers can fall. After the as late as possible Labor Day, this is about pessimal. However we do it anyway. We have our usual room for fall.
Our speakers are Shankar Viswanathan and Lars Ahlzen from the Open Street Map project. http://www.osm.org
MIT E51-376 back in our home room
My idea is pretty simple - I would like to do a tutorial-style workshop where people can follow along on their laptops to use git and see it in action.
I would cover the following:
“I am using Perl glue to put together a cheap and small Linux NAS from the Western Digital MyBook II - there are a bunch of hackers doing this, but I wanted mine to have a certain”detail” and so some scripting here and there was required to make it happen - obviously in Perl.
“It may be too optimistic, and certainly smaller in scale, but the WDMBII is starting to spawn a little community movement similar to the Linksys WRT54G.”
“I should have a fairly stable version of Parse::Gnaw by (then).”
room E51-376 one last time
As seen in Uri’s Sort::Maker
“and i keep saying i will also be covering
template::simple
’s compiled template features. between that and the table driven testing, i can waste^Wfill up plenty of time.” - uri
The votes are in.
RedBones++
RedBones Wins. No meeting at MIT this month. Meet at RedBones, usual 7-7:15 time, near Davis Sq T. there is public parking metered lots but plan to circle for a while.
55 Chester St Somerville, MA 02144 (617) 628-2200
use.perl.org
magical mystery tour”Bill Ricker gave a talk meandering through
un/pack(), time_t, magic numbers, and old skul bit-banging
entitled “Magic Numbers & Un/Pack : a
use.perl.org
magical mystery tour”. Slides pdf† Scripts tar gz Slides alt pdf
†(This Free-software generated PDF (OOo 2.3) may need to be viewed with a genuine Adobe reader, because Evince and Xpdf get the overlays wrong. Or try the alt PDF.)
To answer the Question from the floor, Ilya'o'clock
will
be just before Solstice and just before our normal date for January.
ILYA Sat Dec 20 02:32:33 2008 GMT . Fri Dec 19 21:32:33 2008 ET
Ilya Tue Jan 13 11:22:09 2009 GMT . Tue Jan 13 06:22:09 2009 ET
Refreshments provided by our kind sponsor CIDC.com ; be Sure to mention Boston.PM when you send them a resume.
(Narrator: Magical Mystery Tour is an obscure Boomer cultural reference. Mystery Tour itself was a mostly British cultural reference.)
2024: the MIT AI Lab HakMem repository linked in the PDF has vanished earlier this year, but it’s archived: WayBack Machine
or the dreaded PowerPointKaraoke
We didn’t wind up forcing PowerPointKaraoke on anyone, so the list of good perl stuff on that page remains available for filler talks
tr
, s
, and
/usr/dict/word
- Bill RickerUsing Perl to solve a simple substitution cipher cryptogram.
First, collect simple word-counts - small repeated and long non-repeated words.
word Count length
G 5 1
B 4 1
U 2 1
HJZ 11 3
XGHJ 7 4
HJZIZ 4 5
FIGFWDLHU 2 9
HJGH 4 4
UJLKBPY 2 7
UFBZPHLRLYBUHU 1 14
AZRBWLAUWBGPU 1 13
FIZGHBLPBUHU 1 12
HL 6 2
GRKGTU 2 6
Can we guess which of the 3 one-letter words is possessive ‘S and not a ’real’ word?
perl words-count.pl --dump | ack '(?:(?=\S)\W)?\b\w\b' --passthru
That makes it pretty obvious which one is only as possessive, preceded by an apostrophe. (There’s a reason professionals didn’t include punctuaion unless it was carefully enciphered also!)
Next, check if any long words are obvious from their pattern (pattern’s own pattern is ABCCDEF or 1233456). pattern words
Finally iterate guessing letter translations, with hints for words that dictionary says are uniquely determined already.
Tarball includes a “how” file with sequence for self demo.
Jerrad Pierce
Uri Guttman will present a quiz exploring people’s thoughts on programming.
Bob Rogers gave a talk on Advanced Control Structures in Parrot.
Ronald Kimball gave a presentation on doing a weighted shuffle.
Martin Owens presented XML::Validate::XSD.
Mitchell Charity gave a brief presentation on his idea to quickly bootstrap a Perl 6 implementation via Ruby.
Ronald Kimball led a long discussion of new features in Perl 5.10.0.
Bernardo Rechea presented his CD-ripping program that uses some of the new 5.10 features.
Technical recruiting firm JohnGalt Staffing bought us a round of drinks.
Ronald Kimball presented several fun obfuscations found on Perl Monks.
Jerrad Pierce discussed the upcoming Perl Advent Calendar for 2008.
Ronald Kimball gave an overview of ack.
Sean Quinlan gave an introductory talk on HTML::Mason.
We had open discussions on several topics, including Perl job opportunities, academic interest in Perl, and the state of Perl 6.
The appetizers for this meeting were sponsored by JohnGalt Staffing, a technical recruiting firm that is looking for talented Perl programmers to fill positions with its clients.
Kee Hinckley gave a presentation titled “Object Oriented Design on the Fly - OR- Programming Without a Net”
It’s the wrong way to work, but what techniques can you use to build a reusable object framework when the schedule gives you no time to design one up front?
Ronald Kimball gave an introductory talk on Template::Toolkit
,
based on his experience using it over the past month.
Uri Guttman gave an informal presentation on his CMS::Simple
and Template::Simple
modules.
Ronald Kimball also offered a quick look at LOLCode.
This was our first tech meeting sponsored by Cambridge
Interactive Development Corp!
(Sean Quinlan began the meeting by talking about what
CIDC does and the Perl positions they’re looking to
fill.)
Thanks CIDC!
Greg London gave a talk based on his book, Bounty Hunters (Metaphors for Fair Intellectual Property Laws).
The metaphors we use to describe the abstract concept of intellectual works bring along their own set of baggage. The metaphor of “property” automatically invokes the idea of “owner” and “theft” and “pirate”. But some metaphors describe reality better than others. This book introduces the metaphor of authors and inventors as Bounty Hunters. The public offers a bounty to any individual willing to create some as-yet- undiscovered work. Creators provide a “service” in the same vein as a Bounty Hunter provides a service of catching bad guys.
Guillermo Roditi gave talk entitled WebApps using Perl and Reaction: “A showcase of the Reaction MVC system through an example application, Prefab. The Presentation will focus on harnessing emerging technologies (Moose, Catalyst, DBIx::Class) to create a smart framework that allows developers to quickly develop complex, security aware web-based applications. The talk will include no mention of Ajax or Web 2.0 type stuff, instead focusing on the technologies driving the server-side and the methodologies and design decisions behind them.”
Jason McIntosh gave a presentation on Volity: “Volity is an open platform for online multiplayer games. Volity itself is a set of language-independent protocols based on Jabber, but much of its current implementation relies on Perl. There are also libraries on CPAN that let you create new Volity game parlors with Perl.”
Jesse Vincent gave his intro to Jifty talk.
Sean Quinlan give a presentation on using AJAX and mod_perl handlers.
Ronald Kimball presented Linux Genuine Advantage.
Uri Guttman gave an overview of his new CMS::Simple module.
We finished with a discussion about the state of Perl 6.
Jerrad Pierce gave a review of his 2006 Perl Advent Calendar.
John Norton presented his Logo interpreter in Perl.
Uri Guttman presented his mail filtering system, which uses Mail::Procmail, white-listing, and some simple spam filtering.
Our YAPC volunteer committee presented their plans for the “New England Perl Workshop NEPW”, to be held March 10, 2007 at Northeastern University.
Narrator: It didn’t happen. We looked at some facilities and tried to come to terms but it wasn’t practical on short planning cycle.
Uri Guttman gave a presentation on writing plug-ins in Perl.
Jerrad Pierce recruited volunteers for this year’s Perl Advent Calendar.
Kenneth Graves followed up on his presentation from last month, with a script that solves a puzzle of putting unique 3-digit perfect squares (100, 121, etc.) into a crossword-style grid.
Kenneth Graves walked us through his three versions of a Kokuro solver. starting with a simple but inefficient brute force approach and ending with one with optimizations and heuristics to make it nice and speedy.
Bill Ricker showed us his script for solving doublets, aka word ladders.
Making Word ladders or doublets is finding a sequence single letter
edits that will transform one word to another where all the intermediate
states are also words. E.g., cat=>cot=>dot=>dog
and
grass=>grabs=>crabs=>cribs=>cries=>cried=>creed=>greed =>green
perl -I. ./search2.pl one two
*Found* one=>owe=>ewe=>eye=>rye=>roe=>toe=>too =>two
*Found* one=>owe=>awe=>aye=>rye=>roe=>toe=>too =>two
*Found* one=>ore=>ere=>eye=>rye=>roe=>toe=>too =>two
*Found* one=>ore=>are=>aye=>rye=>roe=>toe=>too =>two
Damian Conway gave his opentalk 2.0 and The DaVinci Codebase talks, (both reprises of his OSCON 2006 and OSCON Europe 2005 keynotes).
opentalk 2.0
In the green pastures of technology trends, Damian Conway leaves no sacred cow un-tipped. This entertaining keynote address, from the 2005 O’Reilly European Open Source Convention, pokes fun at many hot topics for software developers including: software patents, open source, mash ups, online communities, rapid application development, operating system zealotry, and even Joss Whedon’s movies and TV shows.
The DaVinci Codebase
When a dying operating system scrawls his name across its corrupted boot volume, Dr. Damian Conway, an unassuming college professor, is plunged into a deadly race against time to solve a series of impossible riddles. What is the mysterious “Priory of Bios?” And who are their deadly nemeses “Opus Arai?” On the run from the law and stalked by a ghostly pale killer, will he unravel the subtle clues hidden in Leonardo’s most famous source code and reveal to the world the incredible secret encrypted in…the Da Vinci Codebase?
Uri Guttman organized a foil hat contest, so the audience could protect themselves from Damian’s mind-warping influence.
<Damian2006Mementos.html> has more details about this exciting meeting, including a fun video of the judging of the foil hat contest and pictures of the winners.
Jeff Barr from Amazon.com talked to us about Amazon Web Services.
h/t to Tom Metro for taking notes
Ronald J Kimball presented his Pachinko JAPHs, comparing the verbose code to the golfed code.
Uri Guttman talked about some things he’s working on, including packaging Tiny Template and several projects involving event loops .
We’ll also talk about our bid proposal for YAPC 2007.
Narrator: we did not do a YAPC.
Audrey Tang presented her YAPC Chicago talk, Deploying Perl 6
David Golden present Eversion 101: An Introduction to Inside-Out Objects.
Inside-out objects offer intriguing advantages over traditional Perl objects, but at the cost of substantial complexity. This talk reviews pros and cons of inside-out objects and teaches the basics of how they work. It includes three core concepts, four ways to make them and five pitfalls to avoid. This presentation is adapted from the “What’s All the Fuss?” tutorial given at Perl Seminar NY in January 2006 and is being previewed for YAPC::NA 2006.
Ronald J Kimball dissected Ilmari Karonen’s script that solves Sudoku puzzles using a regular expression.
brian d foy was here!
Bill Ricker showed us how he does GD-on-Map overlays and aligns points/lines on top of GD Charts.
Drew Taylor discussed a web-based timeline project that uses Catalyst, Class:DBI, JSON, and JavaScript.
Refreshments for this meeting were sponsored by Boston.pm member Greg London.
Duane Bronson presented some small scripts he has written.
Then we adjourned to Cambridge Brewing Company around 8pm
Graphing with Perl
We had presentations on different ways of creating graphs with Perl, including GD::Graph and gnuplot.
We also learned about Spreadsheet::ParseExcel, PDL, and Edward Tufte’s work on information design concepts.
Personal Tools Potluck Bring a tool you’ve written that you’d like to share!
Ronald: Simple photo gallery script; Uri: tiny but powerful template library; Alex: handy webform processing script
Ian Langworth presented Class::Agreement, a behavioral contract system for Perl.
Jerrad Pierce presented the [http://web.mit.edu/belg4mit/www/ Perl Advent Calendar 2006].
Fun with text animation!
John Norton’s Spiro JAPH and Uri’s maze solver.
Damian Conway gave his Small Miracles talk!
RedBones in Davis Sq, Somerville, 8pm
brian d foy was the guest of honor.
Ronald J Kimball’s Ricochet Robot solver.
YAPCBostonExploration update.
YAPCBostonExploration brainstorming session.
Phil Mitchell led a discussion of a project that he is working on: a new kind of social software called Reef – an ecosystem for content. Reef integrates key ideas from wiki, structured blogging, BBS, social nets, and RSS, and is built on top of Catalyst, an MVC web application framework. Reef will serve as the foundation for 2people.org, a community site devoted to sustainability .
Randal Schwartz was the guest of honor.
Thanks to Sean Quinlan, we had use of a BU classroom for about a year.
Our schedule there was the second Tuesday of every month, except when this would conflict with a Red Sox home game.
(The BU Era continues up into/down from Ancient History; the file break is because because Mid History is history from the Wiki Era, and Ancient only from Mail Archives.)
Federico Lucifredi gave a talk on the new PerlQT bindings.
END OF AN ERA - Last meeting in BU Kenmore Classroom Building
The Cheesecake Factory Cambridgeside Galleria brian d foy was the guest of honor.
brian d foy talked about Automating Releases.
brian
also answered questions about The Perl
Review
and had people pose for photos in Schwern’s famous
shirt.
15 people enjoyed dinner at Fire & Ice with Ben Tilly, known as tilly on PerlMonks.
Only a few people showed up, so we went straight to Boston Beer Works for drinks and food.
Cool Uses for Perl: “Bring a fun script to show.”
Bill Ricker started us off by presenting some scripts he’s written for analyzing and creating cryptograms, interspersed with interesting tidbits from the history of cryptography.
Ronald J Kimball followed with some scripts he’s written for solving cryptograms. We also discussed some of the shortcomings to his brute force approach, particularly the problem of proper nouns. (script)
Tim Kohl then reviewed a short script that finds words whose digital sums add up to 666. (e.g. cat = 3+1+20 = 24) Except it really looks for 111, because it multiplies the digital sum by 6, because that’s what the TV evangelist who inspired this script did. We had fun looking through the words that the script found.
After that people threw out a few questions for discussion. One was a tab-delimited file transposition issue that was then discussed on the list. Another was about recursively copying directories in Perl; the File::NCopy module was suggested.
The pizza and soda were generously sponsored by monger Greg
London.
Greg has two books available through his website, <http://www.Greg
London.com/>: Impatient Perl and Hunger Pangs, a
science fiction novel. Greg London also has inevitable options.
(PRB 148 is not our usual room, but is less than two blocks away.)
Perl 6 and Parrot with Dan Sugalski.
Lunch included. at MIT. Part of Fall, 2004 GBC/ACM Professional Development Seminars http://www.gbcacm.org for registration and information
Dinner with Randal L Schwartz http://www.stonehenge.com/merlyn/ at Legal’s, Framingham
Extra-ordinary working meeting at Akamai, Cambridge – a workshop to implement a kWiki to be Boston.pm.org.
Followed by Beer and Dinner at CBC with Randal L Schwartz http://www.stonehenge.com/merlyn/ who somehow managed to escape from his conference.
(Narrator: kWiki served us well for several years, but the frictionless registration meant it collected SEO spam, which eventually got tiring. I even discovered one cluster in this 2d history conversion!)
This history file begins with history recorded on the kWiki and later ported wikis.
For history prior to Sept 2004, the Reconstructed Ancient History 1999-2004 is built from mailing list archives.
For before the mailing lists archive started, all we have currently is the highlights summary timeline in History.