[Boston.pm] [job] Perl Engineering team seeks great System Administrator

2018-10-12 Thread Tom Metro
Boston.pm job posting policy:
https://bpm.qualitybox.us/wiki/Job_Posting_Policy

 Forwarded Message 
List-Post: boston-pm@mail.pm.org
Date:   Fri, 12 Oct 2018 17:01:01 -0400
From:   Beth Jacobsen 

Hello Perl Mongers community!? At MaxMind, we are a Perl development
team who have built a fraud detection solution that screens over a
billion online transactions annually.? We are looking for more System
Administrators to join our? team as members of full-time staff.?Our
office is in Waltham, MA though most all of our Engineers telecommute
from across USA and Canada.

What would you do in this role at MaxMind?? Manage and improve a SaaS
solution that processes high volume web traffic, using PostgresQL,
Ubuntu, Perl, and Ansible, as well as build tools and automate.? If you
have cloud platform experience, security expertise and tools knowledge
that help us work smarter - these are a plus.

We welcome all applicants and also appreciate any referrals to your
connections.? We use Lever for our hiring process and ask everyone to
send their info to Lever where our HR and hiring Engineering Manager
review all candidates.

Our job posting is located
@?https://jobs.lever.co/maxmind/d2bf0400-7af0-4d5c-8947-e234ba7653a0
?
and we also have info on working at MaxMind
@?https://www.maxmind.com/en/company/working-at-maxmind
?which shares on
our culture of working together remotely, the company charitable giving,
and benefits including Professional Development budget and time.??

Thank you
Beth Jacobsen @ MaxMind

-- 
Beth Jacobsen
Director, Software Engineering
MaxMind, Inc.
www.maxmind.com 
617-500-4493 ?ext. 818


[Boston.pm] [job] Lead Senior Software Engineer II

2018-05-16 Thread Tom Metro via Boston-pm
 Forwarded Message 
Date:   Wed, 16 May 2018 16:17:49 +
From:   'Liang, David'
Reply-To: Liang, David 

AKAMAI TECHNOLOGIES
Lead Senior Software Engineer II

About the Job
Akamai's Server Platform Engineering team is looking for a talented
engineer to lead our Server Configuration team. Your team will be
responsible for developing critical software components that form the
foundation of Akamai’s globally-distributed platform.

Our software allows engineers across the company to customize nearly any
aspect of core system configuration. Through our API environment,
engineers can provide and consume a wealth of proprietary and
open-source technologies. Using these capabilities, product groups
across the company are able to rapidly build sophisticated,
highly-integrated systems that operate at global scale with the level of
security and reliability that Akamai customers expect.

In addition to successful leadership experience, the ideal candidate has
a strong linux background and is highly motivated to design and develop
innovative solutions using languages such as Python, Perl, and SQL. The
right candidate will take pride in writing maintainable and highly
reliable code. They will also understand the big system picture and be
able to solve complicated problems within that system. The lead will
work closely with other engineers at the company and should be able to
conduct design and code reviews.

About the Team
Server Platform Engineering is a team of engineers who develop
distributed systems that support Akamai's global network composed of
over 240,000 servers, 1700 networks, and 130 countries. In general,
these systems operate behind the scenes to provide the fault-tolerant
and highly scalable core of Akamai's configuration and health monitoring
systems. In this role, the lead engineer will work on Akamai's core
configuration processing and service control systems that manage the
configuration of Akamai's distributed network.

Responsibilities
* Design and develop next-generation capabilities for installing and
controlling Akamai services.
* Design and develop enhancements to existing install and service
control interfaces.
* Oversee support activities. Provide architectural guidance to user
community.
* Plan projects, oversee work, provide guidance, perform code reviews,
and develop talent.
* Work to understand, document and improve complicated code bases.
* Work with our development QA and system QA teams to come up with
regression tests that cover new changes to our software.


Qualifications


Applicants must meet one of the following education and experience
requirements:
* 8 years of relevant experience and a Bachelor’s degree in Computer
Science or its equivalent or
* 6 years of relevant experience and a Master’s degree in Computer
Science or
* 3 years of relevant experience and a PhD in Computer Science



Required Skills
* 3+ years of experience as a hands-on technical leader
* 5+ years of experience with Perl, Python or C++ on Linux or a Unix
based OS
* 5+ years of experience working with Linux OS and System Internals
* 5+ years of strong expertise with building scalable servers or
distributed systems


Desired Skills
* Masters or Ph.D in Computer Science or related field with a focus on
distributed systems, system architecture, or security
* Solid understanding of internet protocol basics including TCP/IP,
HTTP, DNS
* Experience developing interfaces for broad internal consumption
* Experience developing server configuration and/or management systems
* Experience developing distributed systems
* Experience with databases and SQL
* Proven track record of delivering large amounts of high quality,
complex code
* Excellent written and verbal communications skills


Other Information

* This is a direct hire and permanent position

* Location: Cambridge, MA (Right off Kendall/MIT Red Line T Stop)
* Is US Citizenship required: No
* Is a Security Clearance Required: No


David Liang
Talent Acquisition
http://jobs.akamai.com
Office: +1.857.285.9181

Akamai Technologies
90 Broadway (Formerly 4 Cambridge Center)
Cambridge, MA 02142

___
Boston-pm mailing list
Boston-pm@mail.pm.org
http://mail.pm.org/mailman/listinfo/boston-pm


[Boston.pm] finding more mongers

2016-02-24 Thread Tom Metro
We have a comfortably sized, small group, with typically 6 to 12 people
at meetings, but I think it would be nice to get some more mongers in
the group. I suspect there is a not insignificant population of Perl
users still in the area who are simply not aware of the group, or aren't
aware that we're still here.

Plus, with Perl 6, there are opportunities to bring in people completely
new to Perl who are curious about sampling a new language. Perl might be
poised for a renaissance of sorts.

Any suggestions on how we can reach out to find new people?

We have reached new people through the Meetup group. We have currently
134 people in the group: http://www.meetup.com/Boston-pm/

Of those people, we typically get a couple RSVPs from there, and
occasionally one of them follows through and attends a meeting. To get a
noticeable increase in attendees from that channel we'd probably need to
have more like 500 members.

Do you work someplace with other Perl developers who don't know about
Boston.pm? Have you told them about it? Even if they aren't ready to
start attending meetings, just getting them to subscribe to the mailing
list, join the Meetup group, or follow Boston.pm on social media:
http://boston.pm.org/Follow+Us
would be a good first start.

If you or your colleagues haven't attended a meeting in a while, and
Perl is still relevant to you, why not? Day conflict? SF.pm boosted
their membership by mixing up the day of the week they hold their
meetings. They switched to a floating day.

Talk topics not compelling?

Venue inconvenient?

Are there other tech groups you belong to that might have an interest in
Perl where you could cross-promote the group?

If we wanted to do some direct outreach to area companies that have a
bunch of Perl users, but no meeting attendees, what companies would you
recommend we contact?

 -Tom

-- 
Tom Metro
The Perl Shop, Newton, MA, USA
"Predictable On-demand Perl Consulting."
http://www.theperlshop.com/

___
Boston-pm mailing list
Boston-pm@mail.pm.org
http://mail.pm.org/mailman/listinfo/boston-pm


Re: [Boston.pm] OT: recommendation of billing services for consulting work needed

2015-09-01 Thread Tom Metro
Ben Tilly wrote:
> Adam Russell wrote:
>> ...what is the best
>> way (in terms of ease, and low overhead) to handle billing for my part time
>> consulting work?
>
> I've used Freshbooks for this in the past.

The invoicing part is pretty easy. Lots of choices for that. The harder
part is getting a time tracking tool you like, and then having it
integrate with your invoicing solution.

We used to use GnoTime for time tracking. A native Linux app. Then use
some Perl code to extract the data from its XML files, generate reports,
and create an import file for QuickBooks.

This was error prone getting project/task names coordinated across
tools. The reporting was poor in GnoTime. And GnoTime had lots of
quirks. Then on the QuickBooks side a bunch of processing was required
to get the data presented on invoices in the preferred fashion (time
aggregated by task, not contractor).

We tried Freshbooks for a while, but it proved to be too inflexible.

We've been using Harvest for a few years now. It has a web-based time
tracker, real time reporting and integrated invoicing with options to
cover the various ways in which we need to aggregate time. (We still use
QuickBooks for accounting, but only load aggregate data from the invoice
prepared in Harvest.)

I didn't like the idea of switching to a web-based time tracker, as that
means you have to always use up memory for a bloated browser window, and
find it in a sea of browser windows. I thought I would eventually get
around to creating a native client, seeing as they had an API, but I've
gotten used to the web UI.

Harvest isn't perfect. It's missing some basic features, like the
ability to handle credits. (Yet strangely it supports a more advance
feature, retainers, which can be used to emulate a credit.) Also for a
SaaS product, it gets updated pretty infrequently. Hardly any visible
functionality has change in the 2 years we've used it.

Harvest has a free tier that maybe sufficient for your needs.

If you prefer a web-based tool you host yourself, there is the open
source Invoice Ninja (https://www.invoiceninja.com/) (also available as
a hosted option). I don't recall what time tracking features it has.


> I am currently using the Hours Keeper app on my phone.

I haven't bothered exploring tools that are exclusive to a mobile
platform, as when I'm doing billable work, I'm at a desktop (laptop) and
don't necessarily have a mobile device next to me. I also need to often
cut-and-paste info to/from log messages.

Harvest has a mobile app, but I haven't tried it. I'd consider running
an Android emulator on the desktop as a way of getting a native client
on Linux, if the result wasn't too clunky and a memory hog. (I haven't
tried it.)


The next area I'd like to explore is passive time tracking as a means to
sanity check manually generated time logs. Similar to what tools like
https://www.rescuetime.com/ do.

 -Tom

-- 
Tom Metro
The Perl Shop, Newton, MA, USA
"Predictable On-demand Perl Consulting."
http://www.theperlshop.com/

___
Boston-pm mailing list
Boston-pm@mail.pm.org
http://mail.pm.org/mailman/listinfo/boston-pm


[Boston.pm] [job] senior-level Modern Perl contractor needed on distributed Agile team, telecommute

2015-07-22 Thread Tom Metro
Summary of Boston.pm job posting policy:

Job postings may not be posted directly to the list.  Instead, job
postings should be sent to r...@tamias.net and bob.cla...@verizon.net.
They will review each posting, and either post it to the list or return
it to the sender for editing.

For the full job posting policy, see:


---

The Perl Shop is looking to add additional people to our team to work on
a complex business workflow application. It is built with Modern Perl
(Moose, web architecture, message queue, ORM) using Agile development
methodology (Scrum, test-first). Catalyst, DBIx::Class, PostgreSQL,
RabbitMQ, and Git are plusses.

We're looking for senior level (5+ years Perl experience) contractors,
preferably with prior experience working as an independent consultant,
who are familiar with working on distributed teams, tracking time,
invoicing, and have an adequately equipped home office (quiet space with
a laptop/desktop and a phone). We have a slight preference for someone
living in the Greater Boston area, but that is not a requirement. 99% of
the time you will be working from your home office.

Position details:
Job type: 1099 contract.
Duration: This project is expected to last about 3 months.
Start: immediate.
Pay range: $65/hr - $75/hr
Placement: direct hire. Not a recruiter/agency.
Location: telecommute.
Hours per week: 25 to 35.

If you are interested, email care...@theperlshop.com with the above as
the subject. In the message note any of the above requirements that you
don't meet, and include a link to your LinkedIn profile or an online
resume (no Word attachments please). Also include links to any online
code samples. (If you don't have any, be prepared to email samples when
requested.)

About The Perl Shop
We're a project outsourcing organization focused on Perl. We don't place
people with clients. We take on projects that we work on as a team.

You can read more about our approach to software development here:
http://www.theperlshop.com/our-approach


___
Boston-pm mailing list
Boston-pm@mail.pm.org
http://mail.pm.org/mailman/listinfo/boston-pm


Re: [Boston.pm] RabbitMQ vs. Gearman

2015-03-11 Thread Tom Metro
Bill Ricker wrote:
> Michael isn't an expert on GearMan but essentially confirmed my response.

I wasn't really satisfied with the answer, because it sounded like he
wasn't familiar with Gearman, never mind having done a head-to-head
comparison. That's not Mike's fault - it just means he didn't run those
comparisons, and thus can't answer the question.


>Bill Ricker  wrote:
>> Best Answer on Stack Overflow for this Q is -
>>
>>> I would say that Gearman is better for queuing "jobs" and
>>> RabbitMQ is better for queuing "data".
>>
>> So, Ratchet wrenches and power screwdrivers, neither is better, use
>> the right one at each need  ?

Sure, but there is a lot of overlap between the two. Both have
distributed queues in common. One passes a message with data. The other
passes a message with a job or method to be ran. (I don't recall how
data gets passed along with Gearman. It may require an "out of band"
mechanism, like a reference to a database record or file.)

Practically speaking, both seem to get used for the same sorts of
problems. So your analogy is not quite right, as wrenches and
screwdrivers operate on different types of fasteners. A better analogy
would be different types of wrenches. Both can do the same job, but are
packaged up differently.

That's not to say that the two tools are interchangeable. No doubt there
are certain problems that are optimal for one or the other. One may also
vastly outperform the other. It would be interesting to see a benchmark
task implemented using both.

On an anecdotal note, I see Gearman used more often on Perl projects,
and some form of MQ used more often on Java projects.

 -Tom

-- 
Tom Metro
The Perl Shop, Newton, MA, USA
"Predictable On-demand Perl Consulting."
http://www.theperlshop.com/

___
Boston-pm mailing list
Boston-pm@mail.pm.org
http://mail.pm.org/mailman/listinfo/boston-pm


Re: [Boston.pm] March Meeting Tuesday - Messaging Middleware with AMQP and RabbitMQ

2015-03-10 Thread Tom Metro
Andrew Feren wrote:
> Will there be a google hangout or similar option.

Yes:
https://plus.google.com/u/0/b/114663318510475261282/events/cmhmi0gakik2rr3lnbdv1a0f6mo
  or:
https://www.youtube.com/watch?v=bq4B6m3a0H8

(The latter gets you just the video, and should work for anonymous
users. The G+ link gets you a UI that offers some interaction, such as
submitting questions, but probably requires that you be logged in to a
Google account.)

If you are local, and can make it, we prefer you attend in person.
Better for group interaction and makes the audience appear larger for
our speaker.

 -Tom

-- 
Tom Metro
The Perl Shop, Newton, MA, USA
"Predictable On-demand Perl Consulting."
http://www.theperlshop.com/

___
Boston-pm mailing list
Boston-pm@mail.pm.org
http://mail.pm.org/mailman/listinfo/boston-pm


[Boston.pm] LibrePlanet March 21-22 at MIT

2015-03-03 Thread Tom Metro
 Original Message 
From: Alexander Patel

My name is Alex Patel, and I'm a campaigns organizer at the Free
Software Foundation. I wanted to make sure you and members of Boston
Perl Mongers knew about LibrePlanet 2015, a free software conference
being held at MIT on March 21-22.

Best,
Alex Patel
Free Software Foundation

---

http://libreplanet.org/2015/

LibrePlanet 2015: Free Software Everywhere, March 21-22, 2015 at MIT in
Cambridge, MA. Don't miss out on this free software conference happening
right in your backyard!

This year's program showcases how free software is used around the
world, from "Engaging Nepali kids with free software" to "Implementing
electronic medical record systems in rural Haiti​". We're also taking a
close look at how international treaties will affect free software
users, with sessions from April -- a French free software activist
organization -- and Electronic Frontier Foundation.

The conference will explore the importance of free software in different
contexts, such as "Dr. Hyde and Mr. Jekyll: advocating for free software
in nonfree academic contexts," and "Librarians fight back: free software
solutions for digital privacy."

And if you're looking to pick up some serious free software skills,
LibrePlanet 2015 has some great workshops planned, like "Will it
blend?", a Blender tutorial with Bassam Kurdali, the animator of our
User Lib video. And of course, we'll have a workshop for all of you who
want to learn to "Rock your Emacs."

In addition to all these great sessions, LibrePlanet 2015 will feature
keynotes from two of free software's biggest thinkers: Benjamin Mako
Hill and Karen Sandler.

The full draft program is now online. Go check it out -- we're pretty
sure you'll want to register after taking a look at all the conference
has to offer. Remember, FSF members and students attend gratis, so the
best way to attend is to become a member (if you aren't one already).

At LibrePlanet, we bring together software developers, policy experts,
activists, and computer users to learn skills, share accomplishments,
and address challenges to software freedom. Newcomers are always
welcome, and LibrePlanet 2015 will feature programming for all ages and
experience levels. LibrePlanet 2015 is produced in partnership by the
Free Software Foundation with the Student Information Processing Board
(SIPB) at MIT.

So, what are you waiting for? Register for LibrePlanet 2015 today!.

___
Boston-pm mailing list
Boston-pm@mail.pm.org
http://mail.pm.org/mailman/listinfo/boston-pm

[Boston.pm] Mojoconf in June for Mojolicious developers

2015-03-03 Thread Tom Metro
 Original Message 
We would like to encourage Boston Mongers to attend Mojoconf in NYC on
June 4th - 6th.

The conference is consist of one day training, one day tech talks, one
day hackathon.

Registration
http://www.eventbrite.com/e/mojoconf-2015-nyc-tickets-15825231694?aff=eac2

Event info
www.mojoconf.com

http://mojolicio.us/

Thanks
Ka Yi (March 2, 2015 12:57 PM)


___
Boston-pm mailing list
Boston-pm@mail.pm.org
http://mail.pm.org/mailman/listinfo/boston-pm


Re: [Boston.pm] February Tech meeting: canceled

2015-02-09 Thread Tom Metro
I wrote:
> Our leader, Bill Ricker, is going to be out of town leading up to the
> regularly scheduled tech meeting next Tuesday, so I'm filling in. We
> don't current have a speaker on the schedule. Options include:
> 
> 1. someone volunteering to speak.
> 4. hide from the bad weather and stay home.

We're canceling the meeting for this month, partly because of the
weather (Boston schools will be closed on Tuesday) and partly because we
didn't get any volunteers for speakers.

We're still looking for speakers for March and beyond. If you're working
on something that has even the possibility of developing into a talk
down the road, email Bill or myself.

If you've seen a stand-out talk elsewhere - either in person at some
conference or on video - let us know about it, and we will see if we can
get the speaker to present locally or by telepresence.


> ...at FOSDEM last weekend, I hear Larry gave a talk
> in which he announced we would actually have a 1.0 release of Perl 6
> this year:
> http://blogs.perl.org/users/shadowcat_mdk/2015/02/fosdem-2015-its-christmas.html
> The talk was streamed (though I couldn't get the video to work) and
> recorded, but the recordings haven't been published yet.

This talk will probably be available for viewing by the time the March
meeting rolls around. Would you attend a group viewing of this talk? How
about if we got Larry via telepresence for a live Q&A after?

 -Tom

-- 
Tom Metro
The Perl Shop, Newton, MA, USA
"Predictable On-demand Perl Consulting."
http://www.theperlshop.com/

___
Boston-pm mailing list
Boston-pm@mail.pm.org
http://mail.pm.org/mailman/listinfo/boston-pm


[Boston.pm] February Tech meeting: call for speakers

2015-02-04 Thread Tom Metro
Our leader, Bill Ricker, is going to be out of town leading up to the
regularly scheduled tech meeting next Tuesday, so I'm filling in. We
don't current have a speaker on the schedule. Options include:

1. someone volunteering to speak.
2. someone who attended FOSDEM volunteering to recap what they saw.
3. is there any interest in watching a recorded talk?
4. hide from the bad weather and stay home.

Related to #2 and #3: at FOSDEM last weekend, I hear Larry gave a talk
in which he announced we would actually have a 1.0 release of Perl 6
this year:
http://blogs.perl.org/users/shadowcat_mdk/2015/02/fosdem-2015-its-christmas.html
The talk was streamed (though I couldn't get the video to work) and
recorded, but the recordings haven't been published yet.

As for #1, here's our "Presenters Guide"
(http://boston-pm.wikispaces.com/Presenters+Guide):

You might be thinking, "How can I give a talk? I'm not an expert. I
haven't done anything cool." But you're probably wrong. What you've been
working on in your day job or on the side may be mundane to you, but
will be interesting or informative to someone else. Perl is used for a
vast range of purposes, and probably no two attendees to our meetings
are using it the same way, so what you are doing will be novel to a good
portion of the audience.

Giving a talk can also be a great way to get feedback from other Perl
developers. We provide free code reviews.

We're interested in more introductory talks. As our community matures,
we tend to gravitate towards advanced topics, but we want to have a good
percentage of our talks be welcoming to new users of Perl. If you have
an idea for a presentation on the basics of Perl, or you've just gone
through this learning process yourself and are willing to share your
experiences, please get in touch.

What we look for in a talk:

A topic that is at least marginally related to Perl.
A presentation that is under 15 minutes for a lightening talk, or 30
to 60 minutes for a regular talk (not counting Q&A).
You do not need to be local to the Boston area. We accept remote
presenters via Hangouts or other telepresence means.


What we provide:

A classroom at MIT that seats about 30.
An overhead projector that accepts VGA and optional PA for audio.
An audience of 6 to 20 people interested in Perl.
Refreshments (typically pizza and soda).


 -Tom

-- 
Tom Metro
The Perl Shop, Newton, MA, USA
"Predictable On-demand Perl Consulting."
http://www.theperlshop.com/

___
Boston-pm mailing list
Boston-pm@mail.pm.org
http://mail.pm.org/mailman/listinfo/boston-pm


Re: [Boston.pm] Hadoop with Perl !

2014-12-09 Thread Tom Metro
> Next meeting
> TOPIC: Stirring the Hive with a Perl Stick
> DATE: December 9, 2014
> LOCATION: EIG, 10 Corporate Dr #300, Burlington, MA 01803
> SPEAKER: Charles Hardin
> Address - To be verified - 
> TIME: Usual 7-9:30 (unless corrected)

If you can't make it to Burlington in person, we expected to have slides
and audio streamed live to YouTube. You can submit questions via the
Hangouts Q&A feature or Boston.pm's IRC room (see the web site for
details, http://boston.pm.org/).

Event page: https://plus.google.com/events/c00ofh438nl4forf29v3df8ubio
YouTube page: http://www.youtube.com/watch?v=HF_l8fhOPWw

 -Tom

-- 
Tom Metro
The Perl Shop, Newton, MA, USA
"Predictable On-demand Perl Consulting."
http://www.theperlshop.com/

___
Boston-pm mailing list
Boston-pm@mail.pm.org
http://mail.pm.org/mailman/listinfo/boston-pm


Re: [Boston.pm] November tech meeting Tuesday : Mojo, Moo, Dbic, Google Api

2014-11-11 Thread Tom Metro
Jordan Adler wrote:
> I think I speak on behalf of NY.pm when I say that I'd love to see this.
> Will this be recorded?

If all goes well, the talk will be broadcast live:

https://plus.google.com/events/cpeen8pcb1q675dta5mu0ldhplg
http://www.youtube.com/watch?v=u9-X6INn5v8

And available in the Boston.pm YouTube channel after the event.

 -Tom

-- 
Tom Metro
The Perl Shop, Newton, MA, USA
"Predictable On-demand Perl Consulting."
http://www.theperlshop.com/

___
Boston-pm mailing list
Boston-pm@mail.pm.org
http://mail.pm.org/mailman/listinfo/boston-pm


Re: [Boston.pm] # line 42 "new_filename.plx"

2014-10-29 Thread Tom Metro
Ben Tilly wrote:
> Incidentally if you are using eval in this horrible way, I strongly
> recommend studying
> http://perldoc.perl.org/perlsyn.html#Plain-Old-Comments-(Not!) for how
> to make it clear in any error messages where your subroutines were
> actually defined.

I used that trick all the time, and if I'm remembering correctly, I
haven't been able to find where it was officially documented before.
Thanks for the pointer. (It doesn't hep that it doesn't have a specific
name.)

Note that Devel::Cover doesn't pick up on these line number and file
name hints (or more accurately, the low-level B::* modules it uses
don't) when it aggregates all the logged activity together in its reports.

 -Tom

-- 
Tom Metro
The Perl Shop, Newton, MA, USA
"Predictable On-demand Perl Consulting."
http://www.theperlshop.com/

___
Boston-pm mailing list
Boston-pm@mail.pm.org
http://mail.pm.org/mailman/listinfo/boston-pm


[Boston.pm] $10K programming contest in Boston

2014-09-27 Thread Tom Metro
Local company Vistaprint is running a programming contests. The
objective is to determine "what is the smallest shipping box that can
contain" a given collection of Vistaprint products.

I'm not sure if this is a made up goal, or a real need (they imply it is
real). I would think by now there would be commercial solutions to this
common problem.

I'm posting this here because Vistaprint was/is a company that used
Perl. They might have a preference for Perl solutions. (They list a
bunch of acceptable languages for submissions, which includes Perl.)

It sounds like less of a programming challenge and more of a mathematics
or algorithm challenge, so team up with a math major.

 -Tom


 Original Message 
Subject: [Discuss] $10K programming contest in Boston
Date: Sat, 27 Sep 2014 12:47:30 -0400
From: Daniel Barrett 
To: disc...@blu.org


My Boston-area employer is running a programming contest with a
$10,000 prize, in case anyone's interested

  http://www.lifeinvistaprint.com/techchallenge/

--
Dan Barrett
dbarr...@blazemonger.com


___
Boston-pm mailing list
Boston-pm@mail.pm.org
http://mail.pm.org/mailman/listinfo/boston-pm


Re: [Boston.pm] hackathon

2014-07-17 Thread Tom Metro
Uri Guttman wrote:
> hackathon. we have tried to own a module but that didn't get moving so
> well. so how about a hackathon on one of the most popular modules on
> cpan?

I like the idea of exploring what we could around hackathons.

But I'm not entirely convinced that they're a good fit as a tech
meeting. For many, doing productive coding away from their normal work
space is difficult. Not everyone is equipped with a laptop suitable for
development work. With that in mind, this might work better as a group
Hangout activity, in a virtual meeting space. (It may make sense to
still have meeting space at MIT for those who want to work together in
the same room.)

The other advantage to a virtual meeting space is that it might be
easier to accommodate a longer session - like 3 hours - and offer
greater scheduling flexibility.

Participating in a hackathon is not just about lending your expertise,
but also about learning. One of the ways we could facilitate this is by
pairing up experienced and novice developers. I've had good luck doing
pair coding sessions using a shared 'screen' terminal session and some
audio channel (Hangout, VoIP, etc.) for communications. (We'd need some
cloud servers to work on. A free developer instance at AWS?)

I suggest approaching this in a crowdfunding sort of way, where the
organizer decides a minimum number of participants necessary to make the
hackathon worth while (maybe 6 people?), and only if you exceed that
threshold does it happen. (Another reason to keep it separate from tech
meetings. You want tech meetings to be regular and predictable.)

People get inspired by the project being hacked on, so it might take
several rounds of proposing a project and seeing if we can get enough
people to pledge to participate.

Before more effort is put into pursing this, its be good to find out if
there are even enough people here that would have an appetite for this
sort of thing.

If you're reading this and you'd like to lend your Perl expertise or
learn from others while doing some hands-on coding on open source Perl
projects, speak up. Also, mention if there are specific modules or topic
areas that interest you. (Getting a CPAN author credit can be good for
your resume and LinkedIn profile.)

So far we have myself, Uri, and I'm guessing Bill. Who else?

I suspect we probably need something like 10 to 20 people that at least
have some interest in order to get a minimum of 6 people to pledge to
participate in a specific hackathon.


There's no shortage of modules on CPAN that could use some work. Take
for inspiration Neil Bowers "100 days of CPAN releases":
http://neilb.org/2014/06/27/100-days-of-releases.html

  In those 100 days, I've done 126 releases of 52 different dists. 28 of
  the 52 were existing CPAN dists that I've either adopted or got
  co-maint on, and in all cases fixed at least some (usually all) of the
  outstanding bugs. Almost all of the 28 were selected because they're
  dists used by at least one other dist on CPAN.
[...]
  Working on modules written by a wide range of authors opens your eyes,
  and challenges some of the ruts you may be stuck in. My coding style
  has definitely evolved in various small ways over the last 3+ months.

  There are lots of dists on CPAN that have easy-to-fix bugs
  outstanding. I've found that emailing authors "hey, can I fix (some
  of) your bugs and make your dist CPANTS-clean?" is an effective way to
  kick-start contributing to CPAN. Why not have a look at the adoption
  list and give it a go?


Dave Cross's perl-api-squad project
(http://perlhacks.com/2014/01/perl-apis/) also provides fertile ground
for hacking. The idea is that developers would be more likely to
continue to use Perl for new projects if they saw modules and example
code implementing the APIs for the newest web services.

 -Tom

-- 
Tom Metro
The Perl Shop, Newton, MA, USA
"Predictable On-demand Perl Consulting."
http://www.theperlshop.com/

___
Boston-pm mailing list
Boston-pm@mail.pm.org
http://mail.pm.org/mailman/listinfo/boston-pm


[Boston.pm] Meetup Group

2014-07-17 Thread Tom Metro
It was suggested at the last meeting that Boston.pm should set up a
Meetup Group so we are more easily discoverable. While we don't really
need the facilities Meetup offers, I've long thought that being listed
there would be a good way to promote the group. Not only do people use
Meetup's search engine to actively find groups, Meetup also reaches out
to its passive members, offering suggestions of groups, so the group
gets exposure to a wide audience.

The main reason why we haven't bothered with Meetup is because they
charge a monthly fee. But we've gotten a sponsor to cover that cost and
we're going to try it out for 6 months to see how it works.

Most of you on this list won't get much out of joining the Meetup Group.
It'll just be a redundant meeting announcement. But some might find the
way announcement are presented there to be more convenient to follow.
(The announcement emails come with vCal attachments suitable for
importing into your calendar.)

Even if you don't get value from the Meetup Group, if you already have
an account there, it might help us if you joined up to the group - at
least for a while - so it looks populated and encourages new people from
the Meetup community to join.

Boston.pm Meetup Group
http://www.meetup.com/Boston-pm/

 -Tom

-- 
Tom Metro
The Perl Shop, Newton, MA, USA
"Predictable On-demand Perl Consulting."
http://www.theperlshop.com/

___
Boston-pm mailing list
Boston-pm@mail.pm.org
http://mail.pm.org/mailman/listinfo/boston-pm


Re: [Boston.pm] Tech Meeting tonight

2014-07-08 Thread Tom Metro
Bill Ricker wrote:
> Next meeting Tuesday, July 8, E51-376
> TOPIC: Offensive & Defensive Web User Identity
> DATE: July 8
> TIME: 7:00 - 9:00 PM
> ROOM: E51-376
> SPEAKER: Zak Zebrowski (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.

If you can't attend in person, this talk will be broadcast live via
Hangouts:
https://www.youtube.com/watch?v=ljdHUbjnWpw

and you can submit questions via IRC:
http://boston-pm.wikispaces.com/IRC+Room

(Alternatively with the Hangouts UI:
https://plus.google.com/u/0/b/114663318510475261282/events/cc6jtv0ochupuqn3vqqnvrbdd5o
which also has a mechanism to submit questions.)

 -Tom

-- 
Tom Metro
The Perl Shop, Newton, MA, USA
"Predictable On-demand Perl Consulting."
http://www.theperlshop.com/

___
Boston-pm mailing list
Boston-pm@mail.pm.org
http://mail.pm.org/mailman/listinfo/boston-pm


Re: [Boston.pm] Ricardo Signes "1.21 Gigawatts" Tuesday 5/13 @MIT

2014-05-14 Thread Tom Metro
John Abreau wrote:
> ...the video was watchable immediately...
> ...you didn't have to wait for the end before starting to watch it.

That's correct.

The problem we ran into was that the main portion of the presentation
was a video recording that already existed on YouTube. There is a
YouTube plugin for Hangouts, which lets you "DJ" the playback of videos
hosted on YouTube and your other Hangout participants see what you see,
including seeking and skipping to other videos. This worked when we
tried it out via a private Hangout, but failed to work on Bill's PC
inside the Hangout "On Air." (There are a number of behaviors that are
different between private Hangouts and "On Air" Hangouts.)

So we reverted to plan B, which was to play the video locally, and let
followers on IRC know the video URL. We then started a new "On Air"
Hangout for the Q&A session.

Even then we seemed to have audio problems with the Hangout. We
successfully tested Hangouts last Summer with the same hardware on the
Boston.pm side (I believe), but this time out audio kept dropping out.
Ricardo's audio also dropped out at points. You can observe both of
these in the recording captured at YouTube, so we can't simply blame it
on the network connection on one side. Plus the Hangouts plugin reloaded
itself at a couple of points. Clearly Google is still working out the
bugs...

 -Tom

-- 
Tom Metro
The Perl Shop, Newton, MA, USA
"Predictable On-demand Perl Consulting."
http://www.theperlshop.com/

___
Boston-pm mailing list
Boston-pm@mail.pm.org
http://mail.pm.org/mailman/listinfo/boston-pm


Re: [Boston.pm] Ricardo Signes "1.21 Gigawatts" Tuesday 5/13 @MIT

2014-05-13 Thread Tom Metro
Bill Ricker wrote:
> Next meeting Tuesday, May 13, 2014
> 
> Ricardo Signes "1.21 Gigawatts" DATE: May 13
> TIME: 7:00 PM - 10:00 PM
> ROOM: E51-372
> 
> ...we will replay the recording of Ricardo's one-man-show of lightning talks
> to NY.pm, after which Ricardo will join us by tele-presense for *live Q&A*.

No guarantees this will work, but we're experimenting with a "Hangout On
Air" to broadcast some (might just be the Q&A portion) or all of
tonight's presentation:

https://www.youtube.com/watch?v=xWrzklFUDoo

If you plan to watch live, please join Boston.pm's IRC room to submit
questions to Ricardo and to get updates from us on what technical
difficulties we inevitably will run into.
http://boston-pm.wikispaces.com/IRC+Room
(#boston.pm on irc.perl.org)

 -Tom

-- 
Tom Metro
The Perl Shop, Newton, MA, USA
"Predictable On-demand Perl Consulting."
http://www.theperlshop.com/

___
Boston-pm mailing list
Boston-pm@mail.pm.org
http://mail.pm.org/mailman/listinfo/boston-pm


[Boston.pm] Seeking input on naming of new Perl site

2014-03-27 Thread Tom Metro
I'm involved with a new site about running Perl projects and making your
Perl project a success. The site will cover tools, case studies, and
lessons learned (both successes and failures). It will be aimed at
development managers and project managers, more so than developers.
We're trying to figure out what name to use for the site that will
appeal to this audience.

If you fall into this group, and you're willing to answer a few
questions, please take a look:
http://ow.ly/v672o

 -Tom

-- 
Tom Metro
The Perl Shop, Newton, MA, USA
"Predictable On-demand Perl Consulting."
http://www.theperlshop.com/

___
Boston-pm mailing list
Boston-pm@mail.pm.org
http://mail.pm.org/mailman/listinfo/boston-pm


Re: [Boston.pm] Tech Meeting: A recap of the DFW Perl Mongers Deduplication Hackathon

2014-01-14 Thread Tom Metro
Tom Metro wrote:
> TOPIC: A recap of the DFW Perl Mongers Deduplication Hackathon
> SPEAKERS: Joel Berger, Tommy Butler, Yanick Champoux, Bruce Gray, Tim King
> 
> 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.

If you couldn't make it to the meeting, you can find most of the
materials online.

The original DFW.pm meeting recording is at:
http://www.youtube.com/watch?v=HvqqRFGMZS0

And 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:
http://www.youtube.com/watch?v=7MNuNupAvvg

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 can be fount at:
http://dfw.pm.org/hackathon.html

The results, including a leaderboard of winners, are at:
http://dfw.pm.org/winners.html

And finally, the code...

reference code  https://github.com/tommybutler/dupfind
Joel Berger https://github.com/jberger/DeDuperizer
Tommy Butlerhttps://github.com/tommyprivate/dupfind
Yanick Champoux https://github.com/yanick/dfw-contest
Tim Kinghttps://github.com/JTimothyKing/Data-Dedup
Joakim Lagerqvist   https://github.com/jokke/Dedup-Hackaton
Reini Urban https://github.com/rurban/App-finddups-bloom


 -Tom

-- 
Tom Metro
The Perl Shop, Newton, MA, USA
"Predictable On-demand Perl Consulting."
http://www.theperlshop.com/

___
Boston-pm mailing list
Boston-pm@mail.pm.org
http://mail.pm.org/mailman/listinfo/boston-pm


[Boston.pm] reminder:Tech Meeting tonight: A recap of the DFW Perl Mongers Deduplication Hackathon

2014-01-14 Thread Tom Metro
TOPIC: A recap of the DFW Perl Mongers Deduplication Hackathon
DATE: January 14
TIME: 7:00 - 10:00 PM
ROOM: E51-372 (NOTE we're back in the squarish room 372 for winter/spring.)
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.


___
Boston-pm mailing list
Boston-pm@mail.pm.org
http://mail.pm.org/mailman/listinfo/boston-pm


[Boston.pm] Perl Mongers Hackathon Invitational

2013-12-26 Thread Tom Metro
Dallas/Ft Worth Perl Mongers is running a Perl performance competition,
where the task is to find duplicate files. They've opened up the
competition to people outside their group, and seem to be getting a good
response, with entrants from Philadelphia, New York, and Atlanta Perl
Mongers groups, and more.

They're looking for both entrants and judges.

The specifications for the contest can be found at:
http://dfw.pm.org/

and some supplemental details in their list archives (consisting of
about a dozen messages, all about the contest) :
http://mail.pm.org/pipermail/dfw-pm/2013-December/thread.html

Any Boston.pm-ers interested in forming a team to collaborate? (If not,
Tim and I would probably submit an entry under The Perl Shop banner. We
might do a Perl 6 version too, if they create a category for that.)

We're looking for January meeting topics for Boston.pm. One possibility
would be to review the results of this contest, which will have been
presented a week prior to our meeting, and is planned to be published to
YouTube.

 -Tom

 Original Message 
Subject:[pm_groups] Announcement - Dallas/Ft Worth Perl Mongers
Hackathon Invitational
Date:   Tue, 17 Dec 2013 20:06:23 -0600
From:   Tommy Butler


I just ran this announcement on Google+ and PerlMonks.org.  If you have
a blog or facebook account you could share the news there as well.  We'd
appreciate it.  All groups are invited:

*ANNOUNCEMENT*

You could call it the DFW.pm's "Winter of Code". You could call it a
contest. You could call it fun. You could call it Perl...

...And you'd be right!

DFW.pm (now joined by New York's NY.pm)  is holding in a competition
that runs from now until January 8th when the code of each competitor
will be pitted against the others in a live Google hangout world-wide
Perl Mongers meeting.

The aim of the competition is to "deduplicate" 100 gigabytes of random
file data, using Perl, as fast as possible. If your code can do it the
fastest, without killing the contest server, you win. The winner gets to
choose the topic of the next hackathon competition (and/or host it), and
gets the recognition of having won a world-wide competition in Perl.

*The competition is open to all*, provided a few criteria are met which
establish legitimacy of participation. If you want to compete, YOU'RE
INVITED!

Full details can be read on the dfw.pm.org  website.

The contest is discussed on The DFW.pm mailing list


The hackathon was organized by Tommy Butler and John Fields of Dallas,
TX, and is being hosted by the Dallas Makerspace.  Our resources are
finite, so we may have to stop accepting entries if server load gets too
high.  Get your notice of intention to participate to the mailing list asap.

--Tommy Butler

-- 
Request pm.org Technical Support via supp...@pm.org

pm_groups mailing list
pm_gro...@pm.org
http://mail.pm.org/mailman/listinfo/pm_groups

___
Boston-pm mailing list
Boston-pm@mail.pm.org
http://mail.pm.org/mailman/listinfo/boston-pm

[Boston.pm] Larry Wall stopped by (virtually speaking) Tuesday night

2013-12-11 Thread Tom Metro
Here's what you missed if you weren't in the #boston.pm IRC room Tuesday
night during the talk...Larry Wall (TimToady) dropped by. He was tipped
off to the talk by Matthew Wilson (diakopter) (who is a subscriber here;
thanks for giving Larry the heads-up).

Transcript:

(12/10/2013 08:42:49 PM) TimToady [~la...@host06.appflux.net] entered
the room.
(12/10/2013 08:43:01 PM) TimToady: Howdy, boston!
(12/10/2013 08:43:10 PM) tmetro-: P5 version of json::tiny runs at near
64 iterations/s.
(12/10/2013 08:43:26 PM) tmetro-: Hi, currently live blogging a talk.
(12/10/2013 08:43:34 PM) TimToady: figgered :)
(12/10/2013 08:43:57 PM) tmetro-: Nqp-jvm hits 8 itr/s.
(12/10/2013 08:44:06 PM) TimToady: that fast! :)
(12/10/2013 08:44:36 PM) TimToady: that's like...less than an order of
magnitude, yay!
(12/10/2013 08:44:41 PM) tmetro-: Rakudo-jvm was the next fastest, but
far behind.
(12/10/2013 08:45:14 PM) TimToady: historically we've been in the
neighborhood of 3 orders of magnitude with most parrot-based code
so that's a vast improvement, and the jvm isn't really even optimized at
the rakudo level yet
you get the JIT for free, of course
(12/10/2013 08:46:30 PM) tmetro-: Right...nqp-jvm comes close or even
exceeds p5 in some cases. Rakudo is way behind that.
(12/10/2013 08:47:03 PM) diakopter: well, the JIT at one level
(12/10/2013 08:47:09 PM) diakopter: (is free)
(12/10/2013 08:47:38 PM) tmetro-: Next implementation was porting
JSON::Tiny to p5 in Marpa.
(12/10/2013 08:47:42 PM) diakopter: but there's certainly the
possibility of further optimization in qast->jast
(12/10/2013 08:50:06 PM) tmetro-: Marpa matched nqp-jvm - 8 itr/s -
though Marpa had more linear performance at low iteration counts (before
the JVM has had a chance to optimize).
(12/10/2013 08:50:55 PM) diakopter: are the slides somewhere?
(12/10/2013 08:51:05 PM) TimToady: so far rakudo does almost no
optimizations based on the information it has at CHECK time, which is
substantially more information than P5 has available, so could result in
quite fast code
(12/10/2013 08:51:35 PM) tmetro-: Rakudo-jvm was 1 itr/s. Rakudo-parrot
0.1/itr/s.
(12/10/2013 08:52:05 PM) tmetro-: (Slides will be up later. Maybe video
too.)
(12/10/2013 08:52:07 PM) TimToady: well, the parrot backend has been
improving too, so recent results are more in the order of two orders of
magnitude
(12/10/2013 08:52:55 PM) TimToady: the use of native types is also
highly sensitive to inlining optimizations, since each time you inline
you potentially remove the boxing and unboxing of each parameter
(12/10/2013 08:53:12 PM) TimToady: and those aren't done yet
(12/10/2013 08:54:14 PM) TimToady: for best performance, I still use
niecza, but expect that'll change eventually
(12/10/2013 08:56:25 PM) tmetro-: (Niecza under mono on os x was tested.
Slower than most other options tested.) [Edit: It was faster than
rakudo-parrot.]
(12/10/2013 08:56:44 PM) tmetro-: Html::template compared next.
(12/10/2013 08:57:15 PM) tmetro-: Speed differences similar to json::tiny.
(12/10/2013 08:59:30 PM) TimToady: tmetro-: okay, probably not well
suited for niecza then
(12/10/2013 08:59:48 PM) TimToady: maybe allocation bound
(12/10/2013 09:00:23 PM) ***TimToady is comparing performance of his
quiz editor in his head, which doesn't do much allocation
(12/10/2013 09:02:52 PM) tmetro-: (Awesome that we have visitors
dropping in. Would love to chat, but occupied paying attention to the
talk. What drew you guys here today? See a meeting announcement somewhere?)
(12/10/2013 09:04:51 PM) ***TimToady blames diakopter++
(12/10/2013 09:07:24 PM) diakopter: tmetro-: I joined boston.pm mailing
list a while back
(12/10/2013 09:07:59 PM) tmetro-: Cool.
(12/10/2013 09:08:25 PM) ***diakopter tells Larry to stop heckling virtually
(12/10/2013 09:09:23 PM) ***TimToady has to commute to dinner now
anyway, alas, so cannot heckle any longer
(12/10/2013 09:09:40 PM) TimToady: afk &
(12/10/2013 09:12:34 PM) tmetro-: Q&A session now.
(12/10/2013 09:32:36 PM) tmetro-: Meeting over.
(12/10/2013 09:32:44 PM) tmetro-: Good night all.
(12/10/2013 09:34:37 PM) tmetro- left the room (quit: Quit: Bye).
(12/10/2013 09:47:44 PM) diakopter left the room.
(12/10/2013 10:18:41 PM) TimToady left the room.


 -Tom

-- 
Tom Metro
The Perl Shop, Newton, MA, USA
"Predictable On-demand Perl Consulting."
http://www.theperlshop.com/

___
Boston-pm mailing list
Boston-pm@mail.pm.org
http://mail.pm.org/mailman/listinfo/boston-pm


Re: [Boston.pm] Tech Meeting - benchmarking Perl5 vs Perl6

2013-12-11 Thread Tom Metro
Bill Ricker wrote:
> Tuesday December 10, 2013 E51-376
> Tim King - Benchmarking Perl6 vs Perl5
> 
> * Perl 6's suitability for "production." (Your definition may vary.)
> * Experiences of the state and stability of Rakudo.
> * Benchmarks of my favorite P6 features.
> * Lines of P6 code from everyday life.
> * Some comparisons of P6 with P5.

If you missed the talk, we're working on getting a version posted
online. (Tim confirmed that the audio capture was successful, and the
slides have been rendered to video. Need to edit the two together.) A
PDF of the slides will also be posted.


Here's an edited version of what I "live blogged" to our #boston.pm IRC
room (*spoiler alert*):

perl6-bench was used as the bench testing framework. It was created by
Geoffrey Broadwell, and covered in his "The Need for Speed" talk at
YAPC::NA 2013
http://bit.ly/P6BenchTalk

What remains to make p6 production ready?
According to Carl Mäsak: Features, concurrency, cpan, speed (a big one).

"Production ready" is hard to define, much like quality.

 From a coder's perspective, will p6 code be elegant? Are the sorts of
modules I need available? Will new p6 version break the code I write
today? Will it be fast enough?

Production ready is relative to what you want to use p6 for. The answer
may be different for a LAN backup script vs. a web application.

perl6-bench automates creating the sandboxes for each interpreter (p5,
and several p6 versions). And automates running the tests and logging
and graphing the times.

The comparisons are intentionally excluding startup time. Still learning
p6 and don't yet know how to optimize p6 code.

NQP = Not Quite Perl. Used as the base language in some of the VMs. They
compile P6 to NQP.

First bench test is a trivial while loop. The graph shows p5 hitting
near 33 million iterations per second. nqp-parrot reaches ~3M itr/s.
While nqp-jvp, due to optimizations, eventually after enough iterations
starts to run a bit faster than p5.
nqp-jvm: just over 33 million iterations per second
p5: just below 33 million iterations per second
nqp-parrot: 3M itr/s
rakudo-jvm: 300K itr/s
rakudo-parrot: 65K itr/s

The JVM lead holds true only under some circumstances. Incorporating a
string concatenation operation causes nqp-jvm performance to plunge
(peaking at only 65K itr/s, and dropping off with more cycles).
p5: 8 million iterations per second
nqp-parrot: 2M itr/s
nqp-jvm: 65K itr/s (peak; not consistent as iteration count goes up)
rakudo-parrot: 32K itr/s
rakudo-jvm: 32K itr/s (peak; not consistent as iteration count goes up)

Next benchmark is rc-forest-fire (cell automaton algorithm).
p5: 512 frames/s (all numbers rounded to nearest line on chart)
nqp-parrot: 64 fps
niecza: 4 fps
rakudo-parrot: 0.5 fps

The test was repeated on a faster machine, adding more interpreters, but
dropping niecza.
nqp-jvm: 2048 fps (over a limited range of cycles)
p5: 1024 fps
nqp-parrot: 128 fps
rakudo-jvm: 1 fps
rakudo-parrot: 0.5 fps

Next benchmark is fractal-tree, which generates a scalable vector
graphic of a tree using a fractal algorithm. It is used to test object
construction and method calls.
P5: 65k branches per second
rakudo-jvm: peaked at 128 branches/s

Moose version of fractal tree hit near 8k branches/s.

Strong typed version of fractal-tree in p6 is actually slightly slower
than dynamic types.

First version of fractal-tree in p6 iterated over arrays multiple times,
while p5 code iterated once in a bigger loop. The big loop p5 approach
was then ported to p6. Now p6 version peaks at 256 branches/s.

Now for some more real-world benchmarks using common CPAN modules that
have been ported to p6.

Next benchmark is P5 vs. P6 versions of JSON::Tiny. P6 version uses Perl
6's custom grammar feature.
P5: 64 iterations/s
nqp-jvm: 8 itr/s
rakudo-jvm: 1 itr/s
nqp-parrot: 0.5 itr/s
rakudo-parrot: 0.1 itr/s

JSON::Tiny was next ported to Marpa::R2 in p5 to see how p5 performs
while providing a parser syntax similar to a p6 grammar.
JSON::Marpa: 8 itr/s

Marpa matched nqp-jvm, though Marpa had more linear performance at low
iteration counts (before the JVM has had a chance to optimize).

Next benchmark is HTML::Template.
p5: 256 pages per second
rakudo-jvm: 4 pps
rakudo-parrot: 0.5 pps

Next is File::Compare.
p5: 4096 MB/s
rakudo-jvm: 128 MB/s
rakudo-parrot: 16 MB/s

So is p6 ready?
Because Rakudo's correctness is questionable, when things don't work, it
leaves you scratching your head wondering if it is your bug or Rakudo's.

Stability is a really important metric of readiness. The perl6-bench
couldn't work with the version of rakudo-parrot from just a few months
ago. Only with the latest version.


 -Tom

-- 
Tom Metro
The Perl Shop, Newton, MA, USA
"Predictable On-demand Perl Consulting."
http://www.theperlshop.com/

___
Boston-pm mailing list
Boston-pm@mail.pm.org
http://mail.pm.org/mailman/listinfo/boston-pm


[Boston.pm] other ways to keep up with Boston.pm

2013-11-13 Thread Tom Metro
Find that you're spending less time with email these days and have
missed some meeting notices? Other ways to keep tabs on Boston.pm:

http://boston-pm.wikispaces.com/Follow+Us

There's LinkedIn, Twitter, Google+, and RSS feeds.

For now, though, only the announce list and discuss list are guaranteed
to carry all meeting announcements, but we're experimenting with these
other channels. (Volunteers welcome to create automation, like Twitter
bots, or a multi-network meeting notice posting tool.)

(I saw good response to the meeting notice on Google+, where almost
everyone in that small community RSVPed.)

 -Tom

-- 
Tom Metro
Venture Logic, Newton, MA, USA
"Enterprise solutions through open source."
Professional Profile: http://tmetro.venturelogic.com/

___
Boston-pm mailing list
Boston-pm@mail.pm.org
http://mail.pm.org/mailman/listinfo/boston-pm


Re: [Boston.pm] Tech Meeting: A new object system for the Perl 5 core

2013-11-13 Thread Tom Metro
Bill Ricker wrote:
> Tuesday November 12, 2013 E51-376
> 
> Stevan Little - A new object system for the Perl 5 core.

If you missed this, there is an embedded YouTube video of a shorter
version of this same talk given for the NY Perlmongers added to our
calendar page:

http://boston-pm.wikispaces.com/Calendar+2013#November

(You also find a version on YouTube that was given to the Pittsburgh
Perl Workshop, but the audio is poor.)

 -Tom

-- 
Tom Metro
Venture Logic, Newton, MA, USA
"Enterprise solutions through open source."
Professional Profile: http://tmetro.venturelogic.com/

___
Boston-pm mailing list
Boston-pm@mail.pm.org
http://mail.pm.org/mailman/listinfo/boston-pm


Re: [Boston.pm] OT: DSL recommendations?

2013-08-11 Thread Tom Metro
belg4...@pthbb.org wrote:
> Does anyone have any recommendations for a good DSL provider in Boston?

Are you literally looking for a DSL provider, or did you mean an
Internet provider?

I believe MegaPath (formerly Covad) still sells DSL to new customers in
the Boston area.

BLU's Discuss list (http://www.blu.org/) is a better list to ask about
this. The topic comes up there periodically, and you can probably find a
bunch of threads in the archives:

DSL:
http://search.gmane.org/?query=dsl&group=gmane.org.user-groups.linux.boston.discuss

FIOS:
http://search.gmane.org/?query=fios&group=gmane.org.user-groups.linux.boston.discuss

Comcast:
http://search.gmane.org/?query=comcast&group=gmane.org.user-groups.linux.boston.discuss


srevilak wrote:
> I spent a week trying to get Verizon to look at the downed cable...
> I called Comcast about the downed wire...and they fixed it the next day.
> 
> In my book, Verizon is pretty terrible.
> Comcast, on the other hand, seems like a better company.

The quality of the customer service at these big consumer companies
operating in monopoly or near monopoly markets probably ebbs and flows
over the years, but usually they earn the bad reputations they have.

Similar to your experience, a colleague moved recently and was looking
forward to getting FIOS at the new location. He called Verizon to
schedule the install. They didn't give him an ETA. Days went by, and
still they couldn't tell him when the install would happen. (It seems
there was confusion on Verizon's part as to whether the apartment was
wired for FIOS already.) In contrast, he called Comcast, they confirmed
the apartment was wired for it, and a day layer had network service working.

On the other hand, I've been a long time Comcast customer for video
service, and I resent that I need to call in yearly to renegotiate my
bill in order to get a sane rate. (If you're not currently paying a
promotional rate for cable TV, you're likely paying way more than you
could be.) But Comcast isn't alone in jacking up prices and adopting
limited time promotional rates, they're just a happy participant in this
ugly approach. They seem to be trying to price their product to
encourage cord cutting. At least until you notice the high prices and
threaten to cancel. Then they practically give it away so they don't
have to show declining video subscriber numbers to their shareholders.
(This is why you can often get Internet + video for less than Internet
only.)

You can usually get a better customer service experience from these
companies by paying a bit of a premium for business class service. It'll
also lets you bypass stupid restrictions, like port blocking, data caps,
and policies that prohibit servers.

My understanding is that Verizon has a superior last mile architecture,
yet Comcast's engineering group seems to put them among the most
advanced ISPs, with early adoption of DNSSEC and IPv6. (If Comcast
upgraded to dedicated fiber loops to the premise, and ran their customer
service and policy side of their business the way they run engineering,
they'd be a potentially terrific ISP.)

 -Tom

-- 
Tom Metro
Venture Logic, Newton, MA, USA
"Enterprise solutions through open source."
Professional Profile: http://tmetro.venturelogic.com/

___
Boston-pm mailing list
Boston-pm@mail.pm.org
http://mail.pm.org/mailman/listinfo/boston-pm


[Boston.pm] Wiki conversion

2013-07-30 Thread Tom Metro
Bill Ricker wrote:
>> ...Wikispaces page. (I think I have a site setup for Boston.pm there, 
>> just awaiting content.)
>  
> pointer ? that might kick start group use so make it worthwhile.

http://boston-pm.wikispaces.com/

Created a year ago. I had intended to do an initial cut of the
conversion, but it perpetually sits just out of reach at the bottom of
my todo list. I guess now is as good a time as any to try and move it
forward.


Maria Huang wrote:
> ...I think I can convert pages at home...

Yes, there's no need to do this as an in-person meeting. That was just
an idea to create a meeting topic that would also be productive for the
group.

I think the reasoning behind not opening up the conversion to volunteers
before is that Bill wanted to see how it would look before committing to
switching over Boston.pm to use he new service.


> And any deadline for this?

None. The sooner it goes done, the sooner Bill can reduce or eliminate
his efforts to repair spam and vandalism that occurs with our current wiki.


> And where is old wiki site?

http://boston.pm.org/kwiki/


> ...just need some instructions. 

The first step is to go to:
http://boston-pm.wikispaces.com/

and login (you can use OpenID) or create an account, and then request
membership in the Boston.pm wikispace.

I've picked a theme, colors, and created a logo. (That's the "Ubuntu
Mono" font. I struggled to find something evocative of a terminal font
that still looked OK when scaled up to logo size. That aside, I just
combined the stock Perl onion with "Boston.pm". You should compare it to
the logo I did for the Boston.pm LinkedIn group, as you might like that
better.)

I converted over the main page. A little bit of intro text, links to
pm.org, perl.org, our mailing list page (needs to be created), our jobs
posting policy page (needs to be created), and I threw in a Creative
Commons licensed picture of the Zakim Bridge for some cliché Boston flavor.

I added a section titled "Recent Meetings" which will automatically
display the 5 most recent wiki pages tagged as "meeting". (It currently
shows only page page titles. There are probably things we could do to
get it to pull in a page summary or some such.)

I created a sample meeting page for our last meeting just so the section
above would have something to show. Well need to figure out a template
for that, and settle on a page name format.

Once the bulk of the data is moved over, time can then be spent revising
the look and feel (or perhaps making it look less wiki-like),
customizing the menus, and making better use of the embedded widgets
they offer, like to embed a Google Calendar.

Looking at my notes from a prior conversation with Bill, this is the
list of pages that need to be converted (most parenthetical comments
from Bill):

Home page (first draft done)
MITDirections
JobPostingPolicy
IrcRoom
BostonPMCalendar
MongerLists
Damian2006Mementos (with images, historical)
BostonPMHistory (historical; Add entry marking end of kwiki)
TechMeetingTopics (idea queue)

There is another 4 or 5 less important pages that should also be
converted at some point.

How the calendar gets handled needs discussion. Bill suggested "The
Calendar could reasonably get split into history-by-year pages to
reduce max size. Or not." My first instinct would be to handle it the
same way the "Recent Meetings" section is handled on the home page,
using a widget that displays a list of pages matching a tag. This way
the calendar page could have either a single widget or perhaps one per
year, while each meeting then gets its own page.

As for using Wikispaces itself, you can create a new page by:
-typing in the URL where you would like it to be; it'll prompt you to
create a new page;
-create a link to the new page, then click on the link;
-Select the "Pages and Files" menu option, and then click the new page
button.

In the upper right you'll find a Help link on every page, which will
take you to extensive documentation on how to use Wikispaces. For the
most part, due to the WYSIWYG editor, you won't need it. Occasionally it
is helpful to modify the wiki markup text. To access that, click the
down arrow next to the save button when editing a page, and choose
"Wikitext Editor."

 -Tom

-- 
Tom Metro
Venture Logic, Newton, MA, USA
"Enterprise solutions through open source."
Professional Profile: http://tmetro.venturelogic.com/

___
Boston-pm mailing list
Boston-pm@mail.pm.org
http://mail.pm.org/mailman/listinfo/boston-pm


Re: [Boston.pm] August topics / speaker(s) ?

2013-07-29 Thread Tom Metro
Bill Ricker wrote:
> ( We could do this as a work session on the open bug on our adopted Damian
> module, but i've pencilled that in for September. )

I'm up for that, or a "wiki conversion party." Everyone who attends
grabs a page from the old Wiki and converts it over to a Wikispaces
page. (I think I have a site setup for Boston.pm there, just awaiting
content.)


> Who'll even be in / out of town for 2nd Tuesday in August?

I'll be available to attend Aug 8th.

 -Tom

-- 
Tom Metro
Venture Logic, Newton, MA, USA
"Enterprise solutions through open source."
Professional Profile: http://tmetro.venturelogic.com/

___
Boston-pm mailing list
Boston-pm@mail.pm.org
http://mail.pm.org/mailman/listinfo/boston-pm


Re: [Boston.pm] Perl community "The Rising Costs of Aging Perlers"

2013-07-27 Thread Tom Metro
John Redford wrote:
> The future of Perl is more likely to be one of changeless stagnation,
> near-universal existence, popular usage for infrastructure, and limited or
> no use for general purpose programming. And I am not sure why Perl users
> would be upset by that -- I don't see anyone upset that bash or grep aren't
> being used more widely and replacing languages/tools that aren't all that
> much like them anyway. One might be content to see Perl do best that which
> it does best, and not worry about the things it does not do.

"...not sure why Perl users would be upset by that?"

Because Perl spent a good number of years as a good quality, general
purpose programming language, developers got use to that, and now that's
going away.

Because developers - likely to their detriment - become emotionally
invested in the tools they use, particularly ones that have been around
as long as Perl has. They want it to be viable, so they can continue
using it.

This may not be rational, but its easy to see why it happens.


> The Little presentations are spot-on when they describe Perl as being "glue"
> -- that was its origin and that is what it was one best at.  Now it's not.
> And it won't be again.
> 
> Perl's popular origin was based on its operation as a tool that glued
> together the functionality (not the code) of existing tools like sed, grep,
> find, sort, sh, and so forth.

This is all true, and yet utterly irrelevant. If you look into the
historical origin of many languages you will find an initial purpose
that its current use has greatly diverged from.

(Actually, for many of the tools you list, technically Perl didn't glue
them together, but rather subsumed them. Once I learned Perl, I
practically never used awk or sed again. But that's besides the point,
as Perl was indeed a consummate glue language.)


> Also, any time I hear Perl advocates talking about how dynamic typing is
> better than static typing, it just reminds me that Perl doesn't have type
> inference.

Supposedly planned for Perl 6. (I'm guessing as a way to make the code
easier to run on the JVM.)

What do you see as the advantage to type inference over dynamic typing?
The obvious one seems to be that it lets you emulate dynamic typing in a
statically typed language by doing all the dynamic typing determination
at compile time, and thus better efficiency.

How often do you run across cases where the compiler infers incorrectly?
 Doesn't it defeat the purpose of choosing a statically typed language?

This feels much like an implementation detail. From the programmer's
perspective, they want dynamic typing, and the execution to be fast.
Whether that's implemented under the hood as run-time dynamic typing or
compile-time type inference should be irrelevant to the programmer, as
long as their performance objectives are met.


> Of course, the substantial problems of Perl are intractable.  One cannot fix
> them without changing Perl into a completely different language -- even if
> one maintained backwards compatibility, there would be a serious question of
> why one would bother to do so.
>
> ...there is not much you can take away from the language and still
> call it Perl.

Now if only there was a language that was shiny and new, leapfrogged the
other dynamic languages with innovative design, all while incorporating
the spirit and flavor of Perl, so former Perl developers would largely
embrace it

Oh yeah, Perl 6.

When Perl 6 for hit the scene, I don't think enough Perl developers were
ready to jump ship to it, even if it had been production ready. Now that
it is finally getting close to being usable, is it still innovative, or
more on parity with the competition?

 -Tom

-- 
Tom Metro
Venture Logic, Newton, MA, USA
"Enterprise solutions through open source."
Professional Profile: http://tmetro.venturelogic.com/

___
Boston-pm mailing list
Boston-pm@mail.pm.org
http://mail.pm.org/mailman/listinfo/boston-pm


Re: [Boston.pm] Perl community "The Rising Costs of Aging Perlers"

2013-07-25 Thread Tom Metro
David Larochelle wrote:
> For example, the typical argument for Python in the data analysis
> space is that there are good well documented libraries...

This is a fairly recent turn of events. For the longest time, Perl had
CPAN as a huge advantage over the other languages that were encroaching
into the same space.

But the inertia afforded by vast quantities of ready-built libraries
only lasts for so long. Before it ran out, Perl 5 needed to more
aggressively adopt the new ideas in Perl 6, and work needed to be done
on easing the effort that it takes to deploy Perl in large markets, like
web development.


> Is there a domain in which we could make a similar argument for Perl?

There may be in areas like bioinformatics, that I'm less familiar with.

If you think of how Ruby on Rails put Ruby on the map, it doesn't
necessarily have to be a new vertical, or even an entirely new
framework. It's more about understanding the needs of a particular
market and packaging up a solution that bypasses the barriers that have
traditionally just been tolerated.

At the same time the language itself need to be repackaged. Rebranded as
Perl 7 or something even more radically different. (Some additional
substance changes are needed, but a lot of Perl 6 has already ended up
in Perl 5, and goes largely unnoticed by the people who have left.)
Basically, you need to give the IT press something to write about, and
you need a revised core language that addresses some of the criticisms
that the defectors have made.


> Can anyone come up with a use case in which we could make a
> compelling argument for building a new system in Perl as opposed
> Python or Ruby?

If you know Perl, Python and Ruby are largely redundant. They've found
some verticals where they excel, but for some, like web development,
their advantages aren't substantial if you already have Perl infrastructure.

If you're starting out your career, its harder to make a good argument
for Perl, unless some of the fundamental characteristics of the language
catch up to the state of he art.


> What if other languages such as C++, Java, or Scala are available?

In my opinion, C++ has faded from mainstream to a specialty language.
Tons of legacy C++, but for new stuff, it's used for performance
critical tasks. There's little overlap between C++ and the 3 scripting
languages you list.

As we all know Java has a massive foothold on enterprise software. Great
choice for a new programmer if you want to be a commodity. If it was the
best all around solution, we wouldn't see large communities around PHP,
JavaScript, and Python. Obviously there are plenty of verticals where
these other languages are a better fit.

(In some ways, Java shares similar deployment barriers to Perl,
resulting in it loosing out to PHP, Python, and Ruby on the low end.
Unlike Perl, Java had huge corporate sponsorship, marketing, and buy-in
to get it into large enterprises, where deployment hassles are a
secondary concern.)

I guess Scala is a good pick if you want something less formal than Java
and feel you need strong typing. I remain unconvinced that strong typing
actually catches as may problems as its proponents seem to think it does.

So compared to these three choices, yes, Perl has some benefits, but so
does Python and Ruby.


> (The best I can do is to cite the safety benefits from the compile time
> checking that Perl provides which Python and Ruby do not. This allows bugs
> such as typos in variable names to be caught at compile time.

So no one else "borrowed" Perl's compilation phase?


> The responses I imagine getting would be 1.) you should be using unit
> tests anyway or 2.) use a strongly typed language if you want compile
> time guarantees.)

If #1 is a satisfying response, then you could use the same logic to
argue against strong typing.

 -Tom

-- 
Tom Metro
Venture Logic, Newton, MA, USA
"Enterprise solutions through open source."
Professional Profile: http://tmetro.venturelogic.com/

___
Boston-pm mailing list
Boston-pm@mail.pm.org
http://mail.pm.org/mailman/listinfo/boston-pm


Re: [Boston.pm] Perl community "The Rising Costs of Aging Perlers"

2013-07-23 Thread Tom Metro
Bill Ricker wrote:
> Three-part article by VM Brasseur @vmbrasseur
> "The Rising Costs of Aging Perlers"

I guess this was worth writing down, but weren't we all aware that "the
practitioners of Perl are aging and not enough junior developers are
being created to sustain the language as a going concern?" Pretty much
any Perl-related metric you look at will tell you this.

In part 2:

  ...it does not appear as though the Perl community is doing much to
  correct this issue. As I detailed in my earlier post, in many cases
  Perl's new programmer outreach appears fairly crummy if not virtually
  non-existent. This needs to change before Perl starts to face a
  cultural extinction.

This gives the impression like the #1 problem with Perl is the lack of
outreach to new developers.

Making sure new developers have a good experience is a useful way of
reducing the friction of getting developers from junior to intermediate,
 and yes, if you do a really bad job at it, you'll turn some developers
away (a quantity I expect amounts to a rounding error), but you have to
look further up the marketing funnel to find the real problem.
Developers need a compelling reason to investigate the language in the
first place. That's not happening these days for both technical and
perceptual reasons.

Two of the three prescribed solutions in part 3 actually address the
marketing problems, rather than the thesis from part 1, developer
outreach. One was "make cool stuff and talk about it." This is a great
idea, even if not novel. (The "Iron Man Blogging Challenge"[1] was one
attempt at that.) But it is less clear how to encourage it to happen,
other than simply spreading the word.

The next suggestion is "Modernize our dilapidated online communities,"
specifically mentioning PerlMonks. Sounds good, and I'm sure some of
that wouldn't hurt. But how do you make that happen? Who runs PerlMonks?
(Apparently it was "was recently assimilated by The Perl Foundation.")
It seems it is equally important to go to the new platforms where
developers hang out now, like Stack Overflow. (You can find a link to
the weekly "stackoverflow perl report"[2] in the Perl Weekly newsletter[3].)

The third and final suggestion is for The Perl Foundation (TPF) to fund
"training, outreach and community building." That's great, and if there
are sponsors and volunteers interested in pursuing that, fantastic, but
if I was allocating a limited budget of time and money to solving Perl's
diminishing relevance, there are higher priority, big picture issues to
be addressed.

Maybe my assumptions are wrong, but I'd like to see the stats that show
that PHP, Python, and Ruby are still on growth trajectories because of
their superior new developer outreach. It's an important supporting
function, but it isn't why developers show up at your door.


  As the effective figurehead of the Perl community, I feel only TPF is
  in a position to make the sort of changes necessary to drag Perl back
  into relevance and to allow it to grow and thrive, and these changes
  are not predominantly technical in nature.

I don't know if TPF is of the right structure to do the job. Perl needs
some strong leadership from someone who has a vision for a future of the
language, a strong desire to see it become relevant again, a willingness
to tick off the old-school developers who cling to the 1990s way of
doing things, and the persuasion skills to bring them on board.

Who leads TPF? (You can answer that here[4].) I've been aware of the
people who have lead Perl releases, but I can't say TPF leadership has
been all that visible (I don't read P5P; maybe it is there). It's built
from layers of committees, that all report to another committee, known
as the board, which has a chairman, but it seems designed to diffuse
power. That's a good model if you want to keep cruising with the status
quo. Not so great if you need to make significant changes.

I wonder if a structure modeled after Debian would work better.

I'd like to see a Perl leader who either has or hires product management
expertise. They need to be able to examine Perl as a product, compare it
to the other languages operating in the same space, understand why users
are choosing them over Perl, and use that to inform a road map - whether
that be making Perl better at what those other languages do, or finding
a new killer application for Perl. (This approach was discussed years
ago on the Enlightened Perl marketing list.)

Then there's the whole Perl 6 issue... I haven't read a fraction of
what's been said about the impact Perl 6 has had on the brand, so I'll
refrain from commenting, as it is likely to be redundant.

 -Tom

1. http://www.enlightenedperl.org/ironman.html
2. http://bit.ly/1369hWo
3. http://perlw

Re: [Boston.pm] Perl and Java, together at last ?

2013-07-14 Thread Tom Metro
William Cox wrote:
> Feel free to ask any questions you may have.

Thanks to both of you for a nicely done presentation.

A couple of follow-up questions:

1. Did either of you attempt to unit test your Java code?

Presumably, if you structure things well, there should be minimal need
for this. Your inlined Java code gets reduced down to wrapper/glue code,
and that gets coverage through traditional Perl-driven unit tests or
system test.


2. What alternatives to Inline did you explore for making the Perl-Java
connection?

One of you made reference to preferring Inline over using system() to
call a command line Java tool, which makes sense, but I heard no mention
of RPC options. An obvious solution (as a non-Java developer) that comes
to mind is to use servlets. This gives you a nice clean separation
between the Perl and Java code, allowing each domain to be handled by
separate programmers and unit tests. (I've worked on the Perl side of
teams doing Perl-Java servlets interfacing.)

The downside to an RPC mechanism is that you'll need multiple processes,
resulting in a heavier weight, slower solution. (Though you already
discussed optimizing to minimize Perl-Java transitions, and it sounded
like some of he Inline options used multiple processes.)

Creating the Java side for an RPC solution may be more work, if you
don't know Java or don't have a Java programmer on your team to cover
that side. Both RPC and Inline require some work on the Perl side to
deal with the transition.

I suspect the servlet approach outnumbers Inline for inter-language
interfacing these days. That's what SOA is all about.

 -Tom

-- 
Tom Metro
Venture Logic, Newton, MA, USA
"Enterprise solutions through open source."
Professional Profile: http://tmetro.venturelogic.com/

___
Boston-pm mailing list
Boston-pm@mail.pm.org
http://mail.pm.org/mailman/listinfo/boston-pm


Re: [Boston.pm] Tech Meeting: Embedded Perl with Federico

2013-04-12 Thread Tom Metro
Greg London wrote:
> ...it would seem to me that the right bit of hardware hooked directly
> to [the drive head] would be the best way to wipe a drive. If you
> drive random data onto the data wire and slowly work the head from
> the inside to the outside track, you would wipe out formatting data,
> hidden sectors, sectors marked as bad, etc.

True, but your custom control board would need to also control the head
position servos, and know substantial low-level details about the drive,
like the head design and the step size of the positioning servos.


> The one example where this actually is important,
> is if you're returning a drive under warranty.
> You want to wipe the data, but you can't take
> the drive apart and still get you're money back.

If you do the above, they'll notice that you trashed the synchronization
tracks on the drive. To avoid that, your custom controller would have to
be even more sophisticated, and read the proprietary encoded sync tracks
and use them to precisely position the head.

Presumably drive manufacturers are competing fiercely to push the
envelope on drive capacity, and thus encoding schemes and head
technologies are proprietary and constantly evolving. Making the
development of a custom controller board impractical for mass production.

At least that used to be the case. With the industry consolidation, the
designs may be more stagnant these days, though it seems they're keeping
up with Kryder's Law[1][2] (like Moore's law).

1. https://en.wikipedia.org/wiki/Mark_Kryder#Kryder.27s_Law
2.
https://en.wikipedia.org/wiki/Talk:Mark_Kryder#Numbers_for_Kryder.27s_Law_are_wrong

If you are going to go to all this trouble, it might be easier to
reverse engineer the diagnostic ports (JTAG) and diagnostic modes
(enabled through jumpers) to attain lower-level access to the drive,
while still gaining some abstraction from the head and track design by
leveraging the on-board electronics and firmware.

I'd speculate that companies like Seagate keep the APIs for these
diagnostic modes fairly static so they can avoid creating new test
fixtures for each new drive model.

No doubt this is all stuff the better data recovery services have
figured out.

 -Tom

-- 
Tom Metro
Venture Logic, Newton, MA, USA
"Enterprise solutions through open source."
Professional Profile: http://tmetro.venturelogic.com/

___
Boston-pm mailing list
Boston-pm@mail.pm.org
http://mail.pm.org/mailman/listinfo/boston-pm


Re: [Boston.pm] Tech Meeting Tuesday Apr 9th, Embedded Perl with Federico, 7, MIT E51-376

2013-04-10 Thread Tom Metro
Ben Tilly wrote:
> Tom Metro wrote:
>> The closure version doesn't "scale." You can't stick it in a library and
>> call it from multiple places without stepping on things.
> 
> I've seen closure based solutions and OO versions both scale, and
> both fail.  They are appropriate for different problems, and
> different designs.  But as long as you know what they are (and
> aren't) good at, you can choose either.

I agree. For this use case, the sample code proposed wouldn't "scale"
and wold require additional complexity to make it do so. Plus, the end
result would be something far more likely to trip up the next programmer
to look at it, which may be your future self. (I guess if you and your
colleagues are closure fans, that wouldn't apply. In a typical shop, it
would.)

I'm not saying a design using closures can't scale. I'm just saying if
you have a problem that decomposes well to an OO design, and you have no
special requirements motivating you not to use OO, that should be the
default. (Not in a draconian, "you must do OO" way, but in a "the
language makes it super convenient" way.)

 -Tom

-- 
Tom Metro
Venture Logic, Newton, MA, USA
"Enterprise solutions through open source."
Professional Profile: http://tmetro.venturelogic.com/

___
Boston-pm mailing list
Boston-pm@mail.pm.org
http://mail.pm.org/mailman/listinfo/boston-pm


Re: [Boston.pm] Tech Meeting Tuesday Apr 9th, Embedded Perl with Federico, 7, MIT E51-376

2013-04-10 Thread Tom Metro
Greg London wrote:
> To do that in a class, you have to have a lexical container
> or put it in a separate file.
> 
> {
>  package increment;
>  sub new{ return bless({Name=>shift(@_),count=>shift(@_)}), 'increment'); }
>  sub inc{ my $obj=shift(@_); $obj->{count}++;
> print "incremented ".($obj->{Name})." to ".($obj->{count}."\n";
>  }
> }

Your outermost level of curlies is not required. Simply:

package Class;
...

package main;
...

will do the job if you want to do it all in one file.

(There are some cases where the lexical isolation is desired or
necessary, such as if you want to insure lexical vars declared in Class
aren't accessible in main.)


> I've done quite a few "closure constructors" like this myself:
> 
> sub constructor {
>   my($name,$count)=@_;
>   my $closure=sub{
>  $count++;
>  print "incremented $name to $count\n";
>   };
>   return $closure;
> }
> 
> This sort of thing returns a variable that acts like an "object"
> as far as I'm concerned. And it has zero linguistic overhead.

I wouldn't say it acts like an object, but I'd agree it is more suited
to the job, if that's all you are looking to do.

In my opinion, it wouldn't be the best fit for the problem posed in
Federico's code.


> I gotta say, the Moose.pm documentation started in second gear
> and stripped my clutch.

:-) I'm sure someone on the list can recommends a good video/slideshare
presentation that provides a more accessible introduction to Moose.


> My default, for almost anything that doesn't
> have a specific language requirement is to use perl.

Ditto.

 -Tom

-- 
Tom Metro
Venture Logic, Newton, MA, USA
"Enterprise solutions through open source."
Professional Profile: http://tmetro.venturelogic.com/

___
Boston-pm mailing list
Boston-pm@mail.pm.org
http://mail.pm.org/mailman/listinfo/boston-pm


Re: [Boston.pm] Tech Meeting Tuesday Apr 9th, Embedded Perl with Federico, 7, MIT E51-376

2013-04-10 Thread Tom Metro
Greg London wrote:
> I've pasted an OO version and the closure version of my script below.
> They're nearly identical. they both take about the same amount of
> lines of code.

Nice that you fleshed out the examples a bit further.


> Meh. I don't blame that on perl's lack of "builtin" OO.
> The problem is I'm not thinking of this script as an OO script.
> Given how short the script is...

But that's my point. The default, especially with a short script,
becomes procedural.

I certainly don't advocate dogmatic use of OO. There are lots of cases
where procedural stuff is more appropriate.

It just seems that we naturally gravitate to procedural in Perl, until
we hit some threshold, and then say, "oh, I ought to be using OO for
this." In other languages, where OO is fully integrated, you start out
thinking in OO terms, and then possibly simplify to procedural, if
that's what really works best for the problem.

Never underestimate the impact of convenience - even if the differences
are subtle - on what a person will choose when weighing options.


> Perl's "bolt-on" version of classes can fix this
> about as easily as perl's closure stuff can fix it.

The closure version doesn't "scale." You can't stick it in a library and
call it from multiple places without stepping on things.

The natural response is, well that doesn't matter for this trivial use
case. But if the coding effort is about the same either way, then why
not write it in the first place in a way that could easily be
cut-and-pasted into its own library later?

It's because of the impression (at least for those of us coding Perl
since the 80's) that there is extra effort required for the OO approach,
even if in actuality, as you demonstrated, there isn't much difference
at all.

 -Tom

-- 
Tom Metro
Venture Logic, Newton, MA, USA
"Enterprise solutions through open source."
Professional Profile: http://tmetro.venturelogic.com/

___
Boston-pm mailing list
Boston-pm@mail.pm.org
http://mail.pm.org/mailman/listinfo/boston-pm


Re: [Boston.pm] Tech Meeting: Embedded Perl with Federico

2013-04-10 Thread Tom Metro
drive, I see:
https://ata.wiki.kernel.org/index.php/ATA_Secure_Erase
  If you hit kernel or firmware bugs (which are plenty with not
  widely-tested features such as ATA Secure Erase) this procedure might
  render the drive unusable or crash the computer it's running on.

  When I tried [the SECURITY-ERASE command] on the...drive through a USB
  adapter, it let me password protect the drive, but would not accept
  the SECURITY-ERASE command. I shut down the system, reconnected the
  drive to the SATA controller, and found that the drive was bricked -
  BIOS couldn't recognize it. I will update this warning if I find a way
  to un-brick the drive.

Also a discussion thread here:
http://forums.partedmagic.com/viewtopic.php?f=5&t=4668

but it links to info on fixing a locked drive, and I don't think you
ended up with a locked drive. But these two sources confirm that a
failure secure erase can lead to a bricked drive.

Probably your best option is to try and reflash the firmware, but if the
drive doesn't respond enough to return its model number, that's unlikely
to work either.


Several of the pages note that older versions of hdparm will timeout if
the erasure takes too long. You'd think that would be inconsequential
(the drive would keep on going), but this page notes:
http://tinyapps.org/docs/wipe_drives_hdparm.html

  Boot from...any distro which includes hdparm 9.31 or greater (prior
  versions would timeout after 2 hours, leaving the disk only partially
  erased)

This suggests that when hdparm times out, it must reset the ATA bus or
do something similar that the drive's firmware listens to and aborts the
erasure. I'm sure the effect varies depending on the drive manufacturer.


That page also explains the difference between security-erase and
security-erase-enhanced:

  Secure erase overwrites all user data areas with binary zeroes.
  Enhanced secure erase writes predetermined data patterns (set by the
  manufacturer) to all user data areas, including sectors that are no
  longer in use due to reallocation.

I thought overwriting reallocated sectors was the whole point to using
secure erase. This definition makes the basic erase sound no better than
a dd overwrite, which is inconsistent with what is documented elsewhere,
including on this same page. Elsewhere it quotes Mark Lord, hdparm's author:

  The answer is manufacturer-specific, and only manufacturers know the
  exact details. However, the idea is that the SECURITY ERASE command
  (which is handled totally by the drive firmware itself, not Linux) is
  supposed to erase everything possible inside the drive. Including HPA
  [host protected area], DCO [device configuration overlay], spare
  sectors, all drive firmware settings, etc. Think of it as the
  modern-day "low-level format" command.


 -Tom

-- 
Tom Metro
Venture Logic, Newton, MA, USA
"Enterprise solutions through open source."
Professional Profile: http://tmetro.venturelogic.com/

___
Boston-pm mailing list
Boston-pm@mail.pm.org
http://mail.pm.org/mailman/listinfo/boston-pm


Re: [Boston.pm] Tech Meeting Tuesday Apr 9th, Embedded Perl with Federico, 7, MIT E51-376

2013-04-10 Thread Tom Metro
Greg London wrote:
> ...replace your printline() function with a closure.
> Instead of doing this over and over:
> printline($var1,\$y,"text","font",$size);
> You could take $y and put it inside a lexical block...

To me this looks like an example of where we suffer by not having OO
truly baked into the language. It's a pretty natural fit for this
problem, but not the first thing people shout out, because we tend to
want to keep small scripts simple and procedural, and not bother with
the overhead of OO.

package Thermal::Printer;

sub new {
  ...
  if (!$args{context})
  my $surface = Cairo::ImageSurface->create(...);
  $args{context} = Cairo::Context->create($surface);
  }
  ...
}
...

package main;

  my $printer = Thermal::Printer->new(
font => $font, # default
size => $size, # default
  );
  ...
  $printer->write($text);
  $printer->font($other_font)->size($other_size)->write($more_text);
  ...

That particular example has font and size as object attributes, which
you can update to alter from their initial condition, and then they'll
persist with the new value until altered again. Alternatively you could do:

$printer->write($text, font => $other_font, size => $other_size);

to override defaults for just that one write() call. Both options could
be implemented without conflict.

The OO approach gives you a cleaner syntax, and keeps all the internal
housekeeping details (context, position) hidden within the object.


>   my($text,$size,$font)=@_;

Federico mentioned dislike of the subroutine argument declaration in
Perl. How about:

http://search.cpan.org/~noirin/perl5i-v2.11.2/lib/perl5i.pm#Subroutine_and_Method_Signatures
 or:
http://search.cpan.org/~zefram/Devel-Declare-0.006011/lib/Devel/Declare.pm

 -Tom

-- 
Tom Metro
Venture Logic, Newton, MA, USA
"Enterprise solutions through open source."
Professional Profile: http://tmetro.venturelogic.com/

___
Boston-pm mailing list
Boston-pm@mail.pm.org
http://mail.pm.org/mailman/listinfo/boston-pm


Re: [Boston.pm] Tech Meeting Tuesday Apr 9th, Embedded Perl with Federico, 7, MIT E51-376

2013-04-09 Thread Tom Metro
Bill Ricker wrote:
> Who else is coming?
>>> please RSVP for refreshments.

I plan to. (But don't add me to the refreshment count.)


I'll forward the announcement to the BLU Hardware Hacking list:
http://blu.wikispaces.com/Hardware+Hacking

where there should be an overlap of interest.

 -Tom

-- 
Tom Metro
Venture Logic, Newton, MA, USA
"Enterprise solutions through open source."
Professional Profile: http://tmetro.venturelogic.com/

___
Boston-pm mailing list
Boston-pm@mail.pm.org
http://mail.pm.org/mailman/listinfo/boston-pm


Re: [Boston.pm] Passing large complex data structures between process

2013-04-03 Thread Tom Metro
David Larochelle wrote:
> Currently, the driver process periodically queries a database to get
> a list of URLs to [crawl]. It then stores these url's to be
> downloaded in a complex in memory [structure?] and pipes them to
> separate processes that do the actual downloading.
>
> The problem is that the database queries are slow and block
> the driver process.

Your description leaves out a lot of details about what sort of data is
being passed back and forth between the different processing stages.

So the first stage is querying a database to get a list of URLs. You
then say it stores the URL in a complex memory structure? Why? Why isn't
the input to the next stage simply a URL?

If you were running a collection of crawler processes, and each had its
own code to retrieve a URL from the database, it wouldn't matter if it
blocked. Is there enough meta-data to allow independent crawler
processes to each pick a URL without overlapping with the other processes?

Another possibility is to create some middleware. A server that queries
the database, builds a queue in memory, then accepts connections from
the crawler processes and hands out a URL from the queue to each.

Without know what sort of data you are exchanging, and how frequently, I
can't say whether in-memory IPC and threads are good/necessary
solutions, or if you'd be better off just running a bunch of independent
processes.

It's hard to say from what you've described so far, but this is sounding
like a map-reduce problem. If you followed that algorithm, the first
stage builds the list of URLs to crawl. The second stage spawns a pile
of children to crawl the URLs individually or in batches, and produces
intermediary results. The final stage aggregates the results.

(There are some existing modules and tools you could use to implement
this. Hadoop, for example.
http://en.wikipedia.org/wiki/Map_reduce
http://search.cpan.org/~drrho/Parallel-MapReduce-0.09/lib/Parallel/MapReduce.pm
http://www.slideshare.net/philwhln/map-reduce-using-perl
http://hadoop.apache.org/
)

Whatever you choose for IPC, I'd give consideration to how that
mechanism could be used across a cluster of machines, so you have the
option to scale up.

 -Tom

-- 
Tom Metro
Venture Logic, Newton, MA, USA
"Enterprise solutions through open source."
Professional Profile: http://tmetro.venturelogic.com/

___
Boston-pm mailing list
Boston-pm@mail.pm.org
http://mail.pm.org/mailman/listinfo/boston-pm


Re: [Boston.pm] Meeting Tuesday ? Re: Call for Speakers

2013-03-11 Thread Tom Metro
Bill Ricker wrote:
> Anybody got something good, interesting, or perplexing  to share Tuesday ?
> 
> If not, how many folk would be interested in seeing Perl conference decks
> &/or videos from the web?

Any recorded presentations available on perl5i?

https://github.com/schwern/perl5i

Anyone here using it?

 -Tom

-- 
Tom Metro
Venture Logic, Newton, MA, USA
"Enterprise solutions through open source."
Professional Profile: http://tmetro.venturelogic.com/

___
Boston-pm mailing list
Boston-pm@mail.pm.org
http://mail.pm.org/mailman/listinfo/boston-pm


Re: [Boston.pm] February Meeting 2/12

2013-02-12 Thread Tom Metro
Bill Ricker wrote:
> Please RSVP to list., not directly this month (see below)...

After another round of snow shoveling (more driveway widening), I'm
thinking of attending.

My colleague Tim won't be. And I don't plan on bringing my big laptop,
and thus will be limited by my Nexus 7, so coding is out.

What's the headcount threshold for not canceling?

 -Tom

-- 
Tom Metro
Venture Logic, Newton, MA, USA
"Enterprise solutions through open source."
Professional Profile: http://tmetro.venturelogic.com/

___
Boston-pm mailing list
Boston-pm@mail.pm.org
http://mail.pm.org/mailman/listinfo/boston-pm


Re: [Boston.pm] telepresence for meetings

2013-01-09 Thread Tom Metro
Brian Dowling wrote:
> ...if this group had thought about virtually extending your
> meetings or recorded any previous ones.

I haven't seen any demand for that for Boston.pm prior to this thread,
but the topic has come up several times for Boston Linux/UNIX, also
hosted at MIT.

I've noticed in the last 6 months or so that MIT has added cameras to
all of its classrooms. Bill, does MIT provide any information on whether
use of those cameras is available to user groups?


> Google hangouts for example seems to be getting used for similar
> events...

Sounds worth a try, and obviously can be done independent of MIT with a
laptop web cam.

The trick would be consistently offering this. Whatever approach is
taken, it has to be convenient for Bill or someone else who attends all
meetings.

 -Tom

-- 
Tom Metro
Venture Logic, Newton, MA, USA
"Enterprise solutions through open source."
Professional Profile: http://tmetro.venturelogic.com/

___
Boston-pm mailing list
Boston-pm@mail.pm.org
http://mail.pm.org/mailman/listinfo/boston-pm


Re: [Boston.pm] announcements via Twitter

2013-01-09 Thread Tom Metro
Chris Devers wrote:
> I'm bad about remembering to broadcast Bill's meeting announcements.
> Maybe there's a better way to automate this, with, I dunno, a program
> or something. Maybe?

One way to do this would be to create a bot that retweets on @BostonPM
anything it sees with the #Boston.pm hashtag tweeted by a list of
Boston.pm regulars.

You might be able to make the list dynamic and have it be anyone who is
a follower of @BostonPM. That might be enough to avoid spammers.

Build it as a group project?

 -Tom

-- 
Tom Metro
Venture Logic, Newton, MA, USA
"Enterprise solutions through open source."
Professional Profile: http://tmetro.venturelogic.com/

___
Boston-pm mailing list
Boston-pm@mail.pm.org
http://mail.pm.org/mailman/listinfo/boston-pm


Re: [Boston.pm] Tuesdays or other for Tech Meetings ?

2013-01-09 Thread Tom Metro
Bill Ricker wrote:
> Or do people need reminder on Friday/Saturday?

Email reminder worked fine for me, I just didn't get around to RSVPing.

Generally, I don't think we need more email reminders, but reminders in
more channels, such as Linked-In, Twitter, and even IRC. I see you did
post a meeting notice to our Google+ group (more on that in a future
posting).

Then there are calendars...theoretically posting the meeting to a Google
Calendar that others can subscribe to will result in the Boston.pm
meetings showing up on subscriber's personal calendars. Not sure if
there are enough Google Calendar users in Boston.pm to make that worth
while.

More channels means more work for Bill. Building and maintaining
automation may not be worth the bother. Divide and conquer with a
volunteer or two responsible for each channel might work, though likely
with spotty reliability. Maybe there is some procedural way we can
address that.

With regards to RSVPs it might also help to accept those via some
additional channels. Sending an email is pretty low effort, but posting
to IRC is slightly less. (Of course if Bill isn't perpetually logged in
to IRC, or we don't have logs, that won't work.) More RSVP channels to
aggregate is again more work for Bill, but could be handled same as above.


> Or bored with Config::Std CPAN maintainership project?

Attendance clearly fluctuates quite a bit relative to the topic. In this
case instead of offering knowledge, you were asking for labor, which is
bound to disinterest many people. (Obviously not that literal. Fixing
bugs and going through the CPAN release process can be educational. The
topic, however, could have been described to emphasize those educational
aspects.)

My guess is the lack of interest was primarily due to the topic and
close timing with the holidays - people just getting back to work and
catching up. (Though the attendance was quite strong at the December
meeting in the midst of the pre-holiday rush.)

 -Tom

-- 
Tom Metro
Venture Logic, Newton, MA, USA
"Enterprise solutions through open source."
Professional Profile: http://tmetro.venturelogic.com/

___
Boston-pm mailing list
Boston-pm@mail.pm.org
http://mail.pm.org/mailman/listinfo/boston-pm


Re: [Boston.pm] Tech Meeting, Scott Mattocks - 'treat your code like a member of the dev team'

2012-12-11 Thread Tom Metro
Bill Ricker wrote:
> speaker Scott Mattocks
> topic  “treat your code like a member of the dev team.”
> 
> 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 t'o
> continue working when things go slightly wrong.  The core message is
> language neutral. ...

Below are my notes that I "live blogged" to #boston.pm (irc.perl.org).
Not much detail, but they'll give you a taste if you couldn't attend.

Dealing with 12 year old code.

Writing code is easy. Good teams make it easier.

Code has to be part of the team.

Write stuff down, communicate; code uses logs to communicate.

Knowing there is a problem is half the battle.
(Speaker uses log4perl at his employer, GSN.)

Good developers tell you what they are going to do; in code, that's unit
tests.

Good developers adapt quickly to changes; good code changes its behavior
without changing the code.
i.e. dev/qa/production run modes; configuration files.

Good developers tolerate bad news; good code handles failures.
Isolate code and let it make the best it can with the data or resources
available.

You don't give a new team member production access on the first day;
don't release features the instant you deploy the code.
New features are wrapped in conditionals so they can be deployed
dormant, then turned on, and if there is a problem, turned off.

Good developers communicate well with non-technical people; good code
doesn't require you to read the code to understand it.
i.e. it has good comments.

Talk over.

 -Tom

-- 
Tom Metro
Venture Logic, Newton, MA, USA
"Enterprise solutions through open source."
Professional Profile: http://tmetro.venturelogic.com/

___
Boston-pm mailing list
Boston-pm@mail.pm.org
http://mail.pm.org/mailman/listinfo/boston-pm

[Boston.pm] Northeast Perl Workshop

2012-12-11 Thread Tom Metro
If you're interested in Uri's proposal for holding a 1-day Perl
conference, we have a mailing list left over from the prior effort that
still seems to be in operation:
http://six.pairlist.net/mailman/listinfo/boston-pm-yapc-vol

After you've subscribed, you should be able to access the archives, and
review the challenges we faced last time, and the solutions we decided on.

 -Tom

-- 
Tom Metro
Venture Logic, Newton, MA, USA
"Enterprise solutions through open source."
Professional Profile: http://tmetro.venturelogic.com/

___
Boston-pm mailing list
Boston-pm@mail.pm.org
http://mail.pm.org/mailman/listinfo/boston-pm


Re: [Boston.pm] job postings

2012-08-14 Thread Tom Metro
Bill Ricker wrote:
> ...we may make that an ongoing exemption from
> moderation of job-posting in boston-pm for perhaps those trustees with
> unmoderated boston-pm-announce privileges, not just Uri -- revocable
> for violations of above 1-3. Discuss.

That sounds fair. The objective of moderation is to avoid "drive by"
inappropriate postings from recruiters that don't know the boston.pm
community. Those who are part of the community, and thus aware of the
rules, will hopefully feel they have a bit more at stake if they choose
to violate them.

We've had the occasional "in community" direct job posting on the BLU
list (where I moderate job postings). While a bit disappointing that
they bypassed the posting procedure, despite it being periodically
mentioned on the list and documented on the wiki, the postings have
almost entirely been appropriate.

 -Tom

-- 
Tom Metro
Venture Logic, Newton, MA, USA
"Enterprise solutions through open source."
Professional Profile: http://tmetro.venturelogic.com/

___
Boston-pm mailing list
Boston-pm@mail.pm.org
http://mail.pm.org/mailman/listinfo/boston-pm


Re: [Boston.pm] Advanced Perl Users LinkedIn group

2012-07-31 Thread Tom Metro
Uri Guttman wrote:
> ...since early on i realized this is a bad idea for a group.

I share your concerns, though I wouldn't characterize it as a "bad
idea," but one that may prove to be impractical to implement.


> ...membership will mean nothing to employers (or me) and i doubt it
> will help with hiring anyone as it is one little bit (a true boolean
> bit) in a sea of information about you. you could search it but
> finding hundreds of members again doesn't help with locating the
> skills you want in a hire.

Deven has listed a handful of items that can qualify you for membership,
but he hasn't necessarily said enough about the objective of the group.
Quoting brian, "Deven's intent is to have a group of serious Perl
programmers who we'd want to hire ourselves."

That's not really specific enough. There are plenty of programmers I'd
hire for certain jobs that don't pass the threshold of being "advanced."

If the goal is to show off your status to a potential employer,
membership either needs to be based on a well documented objective
criteria, or else you need to "show your work" - have a page showing the
written recommendations from those that vouched for the person, the
links to public projects, and other artifacts.

Then we aren't relying on a "boolean bit", but instead a starting point
for researching a candidate.

Even with a weak vetting mechanism, there can be some benefit to an
employer in a self-selected label. The group has existed for 3 or more
years and has only about 250 members with another 200 pending. So of the
thousands of people on LinkedIn that make mention of Perl on their
profiles, less than 500 felt serious enough about it to apply for
membership. That in itself could be worth while criteria when searching
for a candidate for a Perl-centric position.

On the other hand, if the objective of the group is just to create a
social network of higher skilled Perl developers where you can get peer
support on technical matters, then vetting people doesn't matter so
much. The worse case scenario is that you end up with some junior
developers that add noise.

But LinkedIn isn't a great platform for interacting on technical
matters. Their discussion forums are pretty clunky. To be effective
you'd need to supplement this with a mailing list or something.


> my job is reviewing candidates for perl jobs and it is not
> easy or trivial. i spend hours on each one and this group requires only
> a click to allow someone in. there is no way to vet all those applicants
> (or even the ones in it already) by vouching and such.

To scale up I think there are two options:

1. Throw labor at the problem. Get more managers in the group, and have
them put on their "head hunter" hats and research the applicants.

2. Build an automated system where the applicant populates a web form
filling in references to artifacts that support their claim and provides
a mechanism for 3rd parties to write a recommendation. Some minimum
combination of artifacts and recommendations needs to be met before a
group admin is notified of the candidate, at which point they look over
the evidence and approve, or send feedback.

#2 still sounds fairly labor intensive. No automated system is going to
chase down a CPAN or Github link and be able to tell that the code
quality exceeds "Matt's Script Archive," or that the references are
written by real people.

The upside for #2 is that you can publish a permanent link to a report
showing that information, which the member can then put on their
LinkedIn page. It answers the "show your work" requirement.

It sounds like a fair bit of work to build this, and a lot of redundancy
with other social networks, including LinkedIn. (I guess the ideal
approach would be to build it as a LinkedIn app., if their APIs can
support something like this.)


> some may be experts in a focused area or say in perl guts. expertise
> can be up and down in many ways.

Agreed. Perl is too big of a field for someone to have both great depth
and wide breadth. But it still may be enough to say that someone is an
expert in some areas. It also says something if you've achieved advanced
status in at least some areas, as you are likely capable of easily
increasing your depth of knowledge in others, as the job requires.

Obviously an employer would be foolish to hire someone for a specific
expertise within Perl without investigating the candidate's actual
expertise.

 -Tom

-- 
Tom Metro
Venture Logic, Newton, MA, USA
"Enterprise solutions through open source."
Professional Profile: http://tmetro.venturelogic.com/

___
Boston-pm mailing list
Boston-pm@mail.pm.org
http://mail.pm.org/mailman/listinfo/boston-pm


[Boston.pm] Advanced Perl Users LinkedIn group

2012-07-31 Thread Tom Metro
Deven Corzine posted:

  We currently have 171 members in this group, but we also have 287
  requests to join, many of whom have literally been waiting YEARS to be
  admitted to this group.  Since I can't vouch for any of these people,
  I can't approve them.  It would be very helpful if EVERYONE could
  review the list of pending requests in case there's anyone you can
  vouch for (let me know):


https://docs.google.com/document/d/1ZyfcxMQiS0Icc_Ty1Xb3DilNIbyY1nFVsY_--WGzNfs/edit

  Remember, if you vouch for someone, it means you believe that person
  is highly-skilled in Perl -- the sort of person you could help you
  debug your own Perl programs.  Please don't vouch for anyone on the
  basis of friendship or name recognition, but only on the basis on
  their Perl skills.  If you'd like to vouch for someone who hasn't
  requested to join, just let me know their name and email address so I
  can send them an invitation.


And brian d foy blogged:
http://blogs.perl.org/users/brian_d_foy/2012/07/deven-corzine-is-revitalizing-the.html

  Deven Corzine is revitalizing the Advanced Perl Users group on
  LinkedIn, and I've volunteered to help. We're going through all of the
  join requests to approve everything we can, delete the obvious spam
  and HR requests, and figure out what to do with the rest.

  But, besides clearing out the backlog, I want to quadruple the number
  of members in the group by the end of summer (which is sooner than
  Christmas). We have 250 members right now. I want that to be 1,000.

  LinkedIn is essentially a trust network that relies on connections and
  recommendations for other people to get a quick read on strangers.
  That's amplified with controlled groups, such as Advanced Perl Users
  group on LinkedIn, which is set up so "new members will only be
  approved if an existing member is willing to personally vouch for the
  new member". Deven's intent is to have a group of serious Perl
  programmers who we'd want to hire ourselves.



___
Boston-pm mailing list
Boston-pm@mail.pm.org
http://mail.pm.org/mailman/listinfo/boston-pm


[Boston.pm] Boston.pm LinkedIn group

2012-07-10 Thread Tom Metro
Uri mentioned he wasn't aware we had a LinkedIn group. Looks like it was
January 2009 that I last posted this...I guess it hasn't been so periodic.


This is a periodic reminder that Boston.pm has a LinkedIn group. (If
you're not familiar, LinkedIn is a social networking site for
professionals.)

Your direct LinkedIn network is supposed to consist of people that
you've worked with before and can vouch for. In contrast, user group
connections are like 2nd level contacts (people you know through other
people). So networking via a user group broadens your network without
violating that principle.

To join, go to:
http://www.linkedin.com/e/gis/41363/6E675551A940

No one is pre-approved (which would have required uploading everyone's
email address to LinkedIn), so you'll be prompted to send a note to the
group manager. You can ignore that unless you don't get approved after a
week. Normally I login periodically and approve any pending requests.
(Note: It is group policy not to admit recruiters.)


Similarly, there is a national Perl Mongers LinkedIn group you can join via:
http://www.linkedin.com/e/gis/40830/4971AC40763D

The invite for that was posted to the Perl jobs-discuss list by the
group manager, Jose' Castro, in late 2007.

 -Tom

-- 
Tom Metro
Venture Logic, Newton, MA, USA
"Enterprise solutions through open source."
Professional Profile: http://tmetro.venturelogic.com/

___
Boston-pm mailing list
Boston-pm@mail.pm.org
http://mail.pm.org/mailman/listinfo/boston-pm


Re: [Boston.pm] YAPC ALL*STARS (July Tech Meeting) Links (or shownotes)

2012-07-10 Thread Tom Metro
Bill Ricker wrote:
> *chromatic*: When Wrong is Better
> http://www.youtube.com/watch?v=Na61MsDGhaA&feature=plcp

I asked chromatic via Twitter:

@chromatic_x Boston.pm viewed your 'When Wrong is Better' talk. We were
wondering what did you use to consume the raw SQL you generated?

And he replied:

@t_metro Right now, $dbh->do, but DBIx::RunSQL or even the RDBMS CLI
client would work just as well.

I responded:

@chromatic_x: ah thanks, I'll pass that on. We speculated a command line
client, which would be consistent with using wget and lynx.


 -Tom

-- 
Tom Metro
Venture Logic, Newton, MA, USA
"Enterprise solutions through open source."
Professional Profile: http://tmetro.venturelogic.com/

___
Boston-pm mailing list
Boston-pm@mail.pm.org
http://mail.pm.org/mailman/listinfo/boston-pm


Re: [Boston.pm] off-topic: schematic/pcb software

2012-03-13 Thread Tom Metro
Greg London wrote:
> Apologies for the off topic post.

Try posing your questions on the BLU Hardware Hacking list:
http://blu.wikispaces.com/Hardware+Hacking


> Actually, one thing that is indirectly perl related. Did any of you happen
> to be one of the lucky ones to get your hands on a raspberry pi?

I tried without success. I've been posting news about the Pi to the HH list.


> Secondly, does anyone have any hands-on direct experience with some free
> (free as in beer or low cost) schematic/PCB software that is good enough
> that they'd recommend?

It's been a while since I needed a schematic capture tool, so I can't
offer any direct recommendations. Someone on the HH list should be able to.

Yesterday I ran across this:

SchemeIt | Free Online Schematic Drawing Tool by DigiKey
http://www.adafruit.com/blog/2012/03/13/schemeit-free-online-schematic-drawing-tool-by-digikey/

 -Tom

-- 
Tom Metro
Venture Logic, Newton, MA, USA
"Enterprise solutions through open source."
Professional Profile: http://tmetro.venturelogic.com/

___
Boston-pm mailing list
Boston-pm@mail.pm.org
http://mail.pm.org/mailman/listinfo/boston-pm


Re: [Boston.pm] Wiki Spam

2012-01-12 Thread Tom Metro
Bill Ricker wrote:
> ...we'd had so little wiki-ish authoring activity...

While Boston.pm doesn't encounter much collaborative document authoring,
there is a benefit to a system where any volunteer can come along and
contribute with minimal barriers.

(On several occasions I've ran across open source projects that used
closed wikis, which I discovered when I went to contribute. By the time
I received approval to post, I had already moved on to other projects,
and the opportunity was lost.)

You never know when some new Boston.pm member will come along and see
our ugly site and decide to give it a facelift over a weekend. :-)

So while I see the point that a CMS with designated admins seems like a
good match, if you've addressed the spam problem with better wiki
software, the admin costs should be about the same whether it is a CMS
or wiki.


> ...doubting the conversion was worth the effort and cost...

Cost?

The good news is that there isn't much content, so the effort should be
a few hours. And no different from the effort to convert to a CMS.

You can take a look at BLU's wiki at Wikispaces to see what a comparable
site would be link on that platform:
http://blu.wikispaces.com/


> ...a Content Management System (such as the minimalist WEBDAV that
> pm.org supplies...

This was mentioned at the meeting. So it is a CMS and not a wiki? Or is
there a wiki option?


> ...maybe runnable where our wiki is now (Quinlan's)).

With a small volunteer organization, any time you can outsource
something you should.

My first pick would be to use something pm.org supplies. If that doesn't
meet our needs, then a free hosted service, like Wikispaces. Last resort
is having a Boston.pm volunteer install and maintain software. (And
thanks Sean for providing hosting all these years.)

 -Tom

-- 
Tom Metro
Venture Logic, Newton, MA, USA
"Enterprise solutions through open source."
Professional Profile: http://tmetro.venturelogic.com/

___
Boston-pm mailing list
Boston-pm@mail.pm.org
http://mail.pm.org/mailman/listinfo/boston-pm


Re: [Boston.pm] Wiki Spam

2012-01-10 Thread Tom Metro
Ronald J Kimball wrote:
> ...our Wiki...has been very heavily hit with wiki spam again.
> It looks like we need to accelerate finding a solution, either
> restricting access to Kwiki or changing to another platform.

At the risk of being repetitive, see below. I can help with the migration.

 -Tom

 Original Message 
Subject: Re: [Boston.pm] Wiki is back
Date: Sun, 11 Dec 2011 19:07:03 -0500
From: Tom Metro 
CC: L-boston-pm 

Bill Ricker wrote:
> We might want to consider if this current web situation can be improved
>- locking down the wiki would prevent spam (which is 80% of edits!)
>- switching from a wiki to a CMS might be reasonable...

I'll reiterate a prior recommendation to use Wikispaces. It's been
working fine for BLU and a few other projects with minimal maintenance
effort. (Much nicer wiki UI than kwiki, too.) If you set it to require a
login (OpenID) you pretty much eliminate spam.

The big downside to it is that you have to pay in order to use a fully
custom domain, otherwise you get a subdomain, which you could redirect
to from your desired domain.


> ...since calendar is most of our changes...

I'd like to see a group hack project to build a tool that lets the group
leader post a meeting announcement once, and have it distributed to the
list, Google Calendar, LinkedIn, IRC, Twitter, etc.

Didn't ActiveState recently announce that you can get a free account on
their PaaS cloud service that supports Perl? Maybe the tool could be
hosted there.

 -Tom

-- 
Tom Metro
Venture Logic, Newton, MA, USA
"Enterprise solutions through open source."
Professional Profile: http://tmetro.venturelogic.com/


___
Boston-pm mailing list
Boston-pm@mail.pm.org
http://mail.pm.org/mailman/listinfo/boston-pm


[Boston.pm] free online Perl course at Hurricane Electric

2011-12-14 Thread Tom Metro
Has anyone checked out the free Perl course at http://code.he.net/ to
see whether it is worth recommending to people looking for Perl
training? (Nice to see Perl at the top of the list.)

 -Tom


http://www.marketwatch.com/story/hurricane-electric-announces-interactive-on-line-programming-tools-2011-11-14

  code.he.net provides free introductory courses in web-related
  programming languages

  Hurricane Electric, the world's largest IPv6-native Internet backbone
  and colocation provider, today announced that it has opened its
  interactive programming site to the public after a year of internal
  use.

  Users can login to the free site using Google, Facebook or Hurricane
  Electric account credentials. The site offers tutorials on Perl, PHP,
  Ruby, Python, SQLite, HTML, CSS, JavaScript, jQuery and XML --
  languages used frequently by web developers and designers.



-- 
Tom Metro
Venture Logic, Newton, MA, USA
"Enterprise solutions through open source."
Professional Profile: http://tmetro.venturelogic.com/

___
Boston-pm mailing list
Boston-pm@mail.pm.org
http://mail.pm.org/mailman/listinfo/boston-pm


Re: [Boston.pm] Wiki is back

2011-12-11 Thread Tom Metro
Bill Ricker wrote:
> We might want to consider if this current web situation can be improved
>- locking down the wiki would prevent spam (which is 80% of edits!)
>- switching from a wiki to a CMS might be reasonable...

I'll reiterate a prior recommendation to use Wikispaces. It's been
working fine for BLU and a few other projects with minimal maintenance
effort. (Much nicer wiki UI than kwiki, too.) If you set it to require a
login (OpenID) you pretty much eliminate spam.

The big downside to it is that you have to pay in order to use a fully
custom domain, otherwise you get a subdomain, which you could redirect
to from your desired domain.


> ...since calendar is most of our changes...

I'd like to see a group hack project to build a tool that lets the group
leader post a meeting announcement once, and have it distributed to the
list, Google Calendar, LinkedIn, IRC, Twitter, etc.

Didn't ActiveState recently announce that you can get a free account on
their PaaS cloud service that supports Perl? Maybe the tool could be
hosted there.

 -Tom

-- 
Tom Metro
Venture Logic, Newton, MA, USA
"Enterprise solutions through open source."
Professional Profile: http://tmetro.venturelogic.com/

___
Boston-pm mailing list
Boston-pm@mail.pm.org
http://mail.pm.org/mailman/listinfo/boston-pm


[Boston.pm] 19% more modules on CPAN

2011-11-23 Thread Tom Metro
chromatic tweeted:
> The CPAN has 11.4% more uploaders, 19.4% more modules, and 14.3% more
> distributions since *last year's* edition of Modern #perl: The Book.`

Perl use is still growing? (Or at least CPAN is.)

 -Tom

-- 
Tom Metro
Venture Logic, Newton, MA, USA
"Enterprise solutions through open source."
Professional Profile: http://tmetro.venturelogic.com/

___
Boston-pm mailing list
Boston-pm@mail.pm.org
http://mail.pm.org/mailman/listinfo/boston-pm


[Boston.pm] module introspection

2011-08-08 Thread Tom Metro
I have a command line utility I am developing that I'd like to be
extendable with additional "verbs" such that you can do:

command verb ...args...

And I'd like the utility to be able to support new verbs by merely
having a module added to a designated directory. Thus I'd like my code
to be able to use some form of introspection to extract the new verbs
(designated methods) from the modules.

There are dozens of ways to do this, from explicitly listing modules and
methods in a config file, or using method attributes (like Catalyst, for
example).

What's your favorite approach to this, and why?

 -Tom

-- 
Tom Metro
Venture Logic, Newton, MA, USA
"Enterprise solutions through open source."
Professional Profile: http://tmetro.venturelogic.com/

___
Boston-pm mailing list
Boston-pm@mail.pm.org
http://mail.pm.org/mailman/listinfo/boston-pm


Re: [Boston.pm] good git article

2011-08-07 Thread Tom Metro
Uri Guttman wrote:
> oscon gave out copies of the august 2011 lunux journal magazine for
> swag. in browsing it i found a very good intro article on git. 

How about "Git For Ages 4 And Up" by Michael Schwern:
http://blip.tv/open-source-developers-conference/git-for-ages-4-and-up-4460524

(Tweeted during OSCON. I think he gave a version of the talk there. I
haven't watched it myself.)


> ...it isn't online yet and won't be free for a couple
> of months after that (from what i can see on that site).

Yeah, that's the gist of how it works with LJ. I think they kill the
ability for subscribers to promote their magazine to non-subscribers,
and I expressed that to Doc Searls, who agreed, but the magazine's
publisher doesn't seem to be interested in fixing the situation.

 -Tom

-- 
Tom Metro
Venture Logic, Newton, MA, USA
"Enterprise solutions through open source."
Professional Profile: http://tmetro.venturelogic.com/

___
Boston-pm mailing list
Boston-pm@mail.pm.org
http://mail.pm.org/mailman/listinfo/boston-pm


Re: [Boston.pm] BLU Meeting: Arduino Hacking 101: Importing the Universe

2011-07-28 Thread Tom Metro
[Resending as the list server was down when this was originally sent.]

Jerry Feldman wrote:
> Federico previews the talk he's giving at this year's OSCON
> 
> So, you have learned the essentials of the Arduino platform, its
> software package, and completed a few tutorials - learned some basic
> electronics in the process, including blinking the inevitable LED. Now what?
> 
> This session aims to give you the tools to import the real world into
> the programming scope of your trusty $30 microcontroller, by covering
> the technology fundamentals and Arduino integration essentials of a wide
> variety of sensors and actuators.

If you found this talk of interest, join us on the BLU Hardware Hacking
list:
http://lists.blu.org/mailman/listinfo/hardwarehacking

I'll be asking Federico some follow-up questions there.

 -Tom

-- 
Tom Metro
Venture Logic, Newton, MA, USA
"Enterprise solutions through open source."
Professional Profile: http://tmetro.venturelogic.com/

___
Boston-pm mailing list
Boston-pm@mail.pm.org
http://mail.pm.org/mailman/listinfo/boston-pm


Re: [Boston.pm] BLU Meeting: Arduino Hacking 101: Importing the Universe

2011-07-21 Thread Tom Metro
Jerry Feldman wrote:
> Federico previews the talk he's giving at this year's OSCON
> 
> So, you have learned the essentials of the Arduino platform, its
> software package, and completed a few tutorials - learned some basic
> electronics in the process, including blinking the inevitable LED. Now what?
> 
> This session aims to give you the tools to import the real world into
> the programming scope of your trusty $30 microcontroller, by covering
> the technology fundamentals and Arduino integration essentials of a wide
> variety of sensors and actuators.

If you found this talk of interest, join us on the BLU Hardware Hacking
list:
http://lists.blu.org/mailman/listinfo/hardwarehacking

I'll be asking Federico some follow-up questions there.

 -Tom

-- 
Tom Metro
Venture Logic, Newton, MA, USA
"Enterprise solutions through open source."
Professional Profile: http://tmetro.venturelogic.com/

___
Boston-pm mailing list
Boston-pm@mail.pm.org
http://mail.pm.org/mailman/listinfo/boston-pm


[Boston.pm] Boston Linux Meeting Reminder, tomorrow Wednesday, July 20, 2011 Arduino Hacking 101: Importing the Universe

2011-07-19 Thread Tom Metro
For fans of Federico's hardware talks...
 -Tom

 Original Message 
Subject: Boston Linux Meeting Reminder, tomorrow Wednesday, July 20,
2011 Arduino Hacking 101: Importing the Universe
Date: Tue, 19 Jul 2011 07:33:03 -0400

When: July 20, 2011 7PM (6:30PM for Q&A)
Topics:  Arduino Hacking 101: Importing the Universe
Moderator: Federico Lucifredi
Location: MIT Building E51, Room 335

Federico previews the talk he's giving at this year's OSCON

So, you have learned the essentials of the Arduino platform, its
software package, and completed a few tutorials - learned some basic
electronics in the process, including blinking the inevitable LED. Now what?

This session aims to give you the tools to import the real world into
the programming scope of your trusty $30 microcontroller, by covering
the technology fundamentals and Arduino integration essentials of a wide
variety of sensors and actuators.

OSCON Schedule:
http://www.oscon.com/oscon2011/public/schedule/detail/18831

For further information and directions please consult the BLU Web site
http://www.blu.org
Please note that there is usually plenty of free parking in the E-51
parking lot at 2 Amherst St, or directly on Amherst St.

After the meeting we will adjourn to the official after meeting meeting
location at the Cambridge Brewing Company, 1 Kendall Square,
http://cambridgebrewing.com

-- 
Jerry Feldman 
Boston Linux and Unix
PGP key id: 537C5846
PGP Key fingerprint: 3D1B 8377 A3C0 A5F2 ECBB  CA3B 4607 4319 537C 5846




















































___
Announce mailing list
annou...@blu.org
http://lists.blu.org/mailman/listinfo/announce
___
Discuss mailing list
disc...@blu.org
http://lists.blu.org/mailman/listinfo/discuss


-- 
Tom Metro
Venture Logic, Newton, MA, USA
"Enterprise solutions through open source."
Professional Profile: http://tmetro.venturelogic.com/

___
Boston-pm mailing list
Boston-pm@mail.pm.org
http://mail.pm.org/mailman/listinfo/boston-pm


Re: [Boston.pm] Senior-level perl job prospects in the greater Boston area?

2011-07-09 Thread Tom Metro
Kaushik Acharya wrote:
> I'm contemplating moving to the greater Boston area sometime next year,
> provided job prospects are favorable.  I'd be most obliged if someone
> could please give me a general idea of the "lay of the land" as far as
> senior-level perl jobs in your area, I'd be most grateful.

I don't think that is a question that any one person can answer with
much authority. Though someone who pays close attention to the local job
market, like a recruiter, can give you a fairly informed opinion.

I think your best bet is to look at the list archives for both this list
(search for [job]) and jobs.perl.org (more challenging to filter due to
inconsistent geographic labeling). That will give you a feel for overall
count of job openings here in the past few years, and should reveal who
the companies are that hire regularly.

There are a few employers here that hired a fairly steady flow of perl
developers, though not necessarily senior level. Perl jobs seem to be
following the general trend in tech and are increasing lately, but I'm
sure California and perhaps other areas are more prolific than Boston.

You could also separate the live/work issue and live in Boston because
you want to rather than because there are jobs there, and seek out
telecommute work elsewhere. (Most of my clients in the past decade have
been out of state. Primarily California.)

 -Tom

-- 
Tom Metro
Venture Logic, Newton, MA, USA
"Enterprise solutions through open source."
Professional Profile: http://tmetro.venturelogic.com/

___
Boston-pm mailing list
Boston-pm@mail.pm.org
http://mail.pm.org/mailman/listinfo/boston-pm


Re: [Boston.pm] Perl memory profiling

2011-05-19 Thread Tom Metro
Palit, Nilanjan wrote:
> Is there a way to profile a perl program's memory from within the
> program? Specifically, I'd like to take snapshots of the memory usage
> as various data structures within the program are created/freed.

I asked the same question back in March. See:
http://thread.gmane.org/gmane.comp.lang.perl.perl-mongers.boston/5266

I had some initial success with Devel::DumpSizes, but didn't complete
the exercise due to higher priority work pushing it to the back burner.

 -Tom

-- 
Tom Metro
Venture Logic, Newton, MA, USA
"Enterprise solutions through open source."
Professional Profile: http://tmetro.venturelogic.com/

___
Boston-pm mailing list
Boston-pm@mail.pm.org
http://mail.pm.org/mailman/listinfo/boston-pm


Re: [Boston.pm] profiling memory usage

2011-03-09 Thread Tom Metro
Ben Tilly wrote:
> Tom Metro wrote:
>> Any recommendation for tools to do this?
> 
> Devel::Leak and Devel::LeakTrace are my best suggestion.

Devel::LeakTrace hasn't had a release since 2003. I see a
Devel::LeakTrace::Fast released in 2007, which says it is a rewrite of
the former.

http://search.cpan.org/~andya/Devel-LeakTrace-Fast-0.11/lib/Devel/LeakTrace/Fast.pm

  Devel::LeakTrace::Fast...trace[s] SV allocations of a running program.

  At END time Devel::LeakTrace::Fast identifies any remaining variables,
  and reports on the lines in which the came into existence.

Devel::Leak does the same thing, except you get to pick when it starts
and stops examining the allocations.

It seems like either of these would produce a flood allocations, most of
which would be expected, and neither would tell you anything in an
actual OOM failure scenario. I could see Devel::Leak being useful if
applied to a small chunk of code where you anticipated finding leaks. In
better designed code, you could then widen the scope as you cleaned up
leaks.


> If you are constantly growing memory usage, this can help figure out why.

As noted in my response to Uri, memory growth over the run is expected,
and my suspicion is that recent changes are more likely to have
introduced problems of storage inefficiencies, rather than leaks.

I'd like to be able to answer two questions:
1. In the immediate term, which variables are using significantly more
RAM in the new version of the code compared to the old, and
2. In the long term, which variables are consuming the most memory, such
that optimization efforts can be focused there.


>> The ideal solution would be something that could hook the OOM exception
>> and dump the symbol table along with stats for how much memory each
>> symbol is occupying. Another useful possibility would be dumping the
>> call stack.
> 
> The symbol table is not enough.  It doesn't see data in lexical
> variables. 

I guess I didn't mean literally the symbol table. The heap, with perl
identifiers.


> And figuring out how much memory an array or hash may be
> taking is easier said than done, because doing it means walking the
> array or hash and figuring that out.  But with circular data
> structures you have to keep track of where you have been, which
> requires somewhere to stick that information, but you're already out
> of memory.

I guess that's where the emergency buffer would come into play.

Anyway, I think there are other ways of getting good clues as to where
the problem is without having to trap the OOM error.


>> It seems to be an unusual error in that you often see
>> multiple of them, as if the first few are warnings, and then eventually
>> it is fatal.
> 
> Random possibilities.  Could it be that Perl not always check whether
> it got memory when asked?  So you don't crash until you ask for memory
> somewhere that checked properly.

You wouldn't think it would print "OOM!" if it wasn't checking the
return from malloc.


> Or perhaps Perl doesn't exit on asking for memory, but crashes when it
> tries to use memory it doesn't have.

That's certainly possible, but there's no segfault error, and the
documentation says OOM should be a fatal exit.


> Either way I think you are better off inserting things that drop debug
> state every so often, and then figure out what is growing, and try to
> narrow it down.  

Conor Walsh's mention of Devel::Size suggests one approach: I could log
the size of a handful of the most suspect variables. Apply that to both
the current and last known working version of the code. Then compare
each version running with identical input data to see what has changed.

If only there was a more automated way of doing this...ah, here we go:
http://search.cpan.org/~cgautam/Devel-DumpSizes-0.01/lib/Devel/DumpSizes.pm

  Devel::DumpSizes - Dump the name and size in bytes (in increasing
  order) of variables that are available at a give point in a script.

  This module was written while debugging a huge long running script.
  The main use being to understand how variable sizes were fluctuating
  during script execution. It uses PadWalker and Devel::Symdump to get
  the variables. It uses Devel::Size to report the size of each
  variable.

That's the ticket...if it works.


> Good luck.

Thanks, and thanks to all for the suggestions.

 -Tom

-- 
Tom Metro
Venture Logic, Newton, MA, USA
"Enterprise solutions through open source."
Professional Profile: http://tmetro.venturelogic.com/

___
Boston-pm mailing list
Boston-pm@mail.pm.org
http://mail.pm.org/mailman/listinfo/boston-pm


Re: [Boston.pm] profiling memory usage

2011-03-08 Thread Tom Metro
Uri Guttman wrote:
> if you run out of vram and you didn't expect it, wouldn't that signify a
> possible leak? 

No, not necessarily. This is code that processes large flat files,
supplementing them with information pulled from a few large lookup
tables which are loaded into memory, as well as information retrieved
from web services. (Pretty horrible architecture...)

While the main file being processed is never entirely memory resident,
some data from each record is aggregated. That and the lookup tables are
expected to remain resident for the life of the process.

So the OOM could be a result of an inefficiency in how the resident data
is stored (due to some recently introduced change), or an increase in
the quantity of data.  (It's believed the data quantity hasn't changed
significantly.)

Or, it could be a leak, as you suggest, due to ancillary data from the
records of the main file not getting cleaned up after the record is written.

I expect the code is littered with leaks and storage inefficiencies, but
at the moment I'm trying to track down what recent change might have
pushed it over the edge.


> maybe Devel::Leak will help.

Maybe. More on that in the next message.

 -Tom

-- 
Tom Metro
Venture Logic, Newton, MA, USA
"Enterprise solutions through open source."
Professional Profile: http://tmetro.venturelogic.com/

___
Boston-pm mailing list
Boston-pm@mail.pm.org
http://mail.pm.org/mailman/listinfo/boston-pm


Re: [Boston.pm] profiling memory usage

2011-03-08 Thread Tom Metro
Federico Lucifredi wrote:
> I haven't tried this, but I have been mulling it for some time: using
> Dtrace to debug Perl.
> 
> ...using runtime probes seems very promising for the memory
> leak/out of memory problem area. I saw a good tutorial at OSCON on
> the subject, and it had a Python section, I put on my TODO list the
> idea of making an equivalent for Perl last year... But never got to
> it.

So how would you get Dtrace to report on Perl code symbols?


> Of course, you'd have to be on *BSD or OS-X (or Soracle)...

All Linux environment.

 -Tom

-- 
Tom Metro
Venture Logic, Newton, MA, USA
"Enterprise solutions through open source."
Professional Profile: http://tmetro.venturelogic.com/

___
Boston-pm mailing list
Boston-pm@mail.pm.org
http://mail.pm.org/mailman/listinfo/boston-pm


Re: [Boston.pm] profiling memory usage

2011-03-08 Thread Tom Metro
Bob Rogers wrote:
>0.  I assume you are already using ulimit to trigger the error
> sooner, rather than later . . .

I haven't gotten to the point of trying to intentionally reproduce the
issue, but ulimit would indeed do the trick. The problem was just
recently discovered when running the code on the QA cluster, which is
composed of VMs that have 1 GB of RAM, rather than the 16 GB of the
production nodes.


>1.  Is it OOP?  If you can take a count of "new" method calls, and
> emit warnings periodically, you might be able to rule some things out.
> 
>2.  Is memory being used for Perl objects, or for non-Perl library
> objects?

It's what you'd expect to find in 5-year old, poorly written code. A
blend of traditional and inside out objects, plus a typical assortment
of hashes and arrays.

I suspect the problem might be in some recently refactored code that
replaced a hash of hashes with a hash of Class::Accessor objects. I need
to review the diffs to see what changes are likely culprits.


>Out of memory!
>(X) The malloc() function returned 0, indicating there was
>insufficient remaining memory (or virtual memory) to satisfy the
>request.  Perl has no option but to exit immediately.
> 
> (Quoth perldiag.)  However, I also notice this in perldiag:
> 
>Out of memory during "large" request for %s
>(F) The malloc() function returned 0, indicating there was
>insufficient remaining memory (or virtual memory) to satisfy the
>request. However, the request was judged large enough (compile-time
>default is 64K), so a possibility to shut down by trapping this
>error is granted.

I don't think I've ever seen the latter error.


>3.  You might be able to use a "large" request to force a trappable
> OOM error, and inspect memory then.

So inject some code that periodically allocates 100 KB or something?
Maybe, though you'd still have to get lucky.

 -Tom

-- 
Tom Metro
Venture Logic, Newton, MA, USA
"Enterprise solutions through open source."
Professional Profile: http://tmetro.venturelogic.com/

___
Boston-pm mailing list
Boston-pm@mail.pm.org
http://mail.pm.org/mailman/listinfo/boston-pm


Re: [Boston.pm] profiling memory usage

2011-03-08 Thread Tom Metro
Conor Walsh wrote:
> You can trap OOM if your Perl is compiled to use $^M...

http://perldoc.perl.org/perlvar.html

  $^M

  By default, running out of memory is an untrappable, fatal error.
  However, if suitably built, Perl can use the contents of $^M as an
  emergency memory pool after die()ing. Suppose that your Perl were
  compiled with -DPERL_EMERGENCY_SBRK and used Perl's malloc. Then

   1. $^M = 'a' x (1 << 16);

  would allocate a 64K buffer for use in an emergency.

Interesting. That explanation seems to leave some things unexplained. So
presumably with -DPERL_EMERGENCY_SBRK and space allocated to $^M, if an
OOM happened you could trap it with $SIG{__DIE__} and have enough heap
memory to handle any incidental allocations needed by your signal handler?


> ...which your Perl probably isn't.

Nope. No PERL_EMERGENCY_SBRK here:

  Compile-time options: MULTIPLICITY PERL_IMPLICIT_CONTEXT
PERL_MALLOC_WRAP USE_64_BIT_ALL USE_64_BIT_INT
USE_ITHREADS USE_LARGE_FILES USE_PERLIO
USE_REENTRANT_API

or anywhere else in the perl -V output. But looks like it is using
Perl's malloc.

It's a pain to get the client's IT people to install custom built
packages, but I might be able to get a VM setup with a custom build.


> Otherwise... if I were you I'd look into a combination
> of old-fashioned "sprinkle print statements everywhere"...

The code already logs fairly profusely, but the streams from 8 or so
child processes are blended together. There is a node-specific
identifier prefixed to each line, but the OOM message has no prefix.
Eventually the failing process exits with an error code, and the
controlling parent notices and identifies the child, so it's
theoretically possible to correlate the info.

 -Tom

-- 
Tom Metro
Venture Logic, Newton, MA, USA
"Enterprise solutions through open source."
Professional Profile: http://tmetro.venturelogic.com/

___
Boston-pm mailing list
Boston-pm@mail.pm.org
http://mail.pm.org/mailman/listinfo/boston-pm


[Boston.pm] profiling memory usage

2011-03-08 Thread Tom Metro
Some code I'm working on is triggering an out of memory error, and I'd
like to figure out what specifically is responsible. (It's a complex
system with dozens of libraries and it runs in parallel across a cluster
of machines. Running the code in a debugger isn't a practical option.)

Any recommendation for tools to do this?

I don't recall if the typical profiling tools record memory usage, but a
traditional profiler would be overkill for what I need.

The ideal solution would be something that could hook the OOM exception
and dump the symbol table along with stats for how much memory each
symbol is occupying. Another useful possibility would be dumping the
call stack.

Is it possible to trap the OOM error? I don't think a __DIE__ handler
catches it. It seems to be an unusual error in that you often see
multiple of them, as if the first few are warnings, and then eventually
it is fatal.

 -Tom

-- 
Tom Metro
Venture Logic, Newton, MA, USA
"Enterprise solutions through open source."
Professional Profile: http://tmetro.venturelogic.com/

___
Boston-pm mailing list
Boston-pm@mail.pm.org
http://mail.pm.org/mailman/listinfo/boston-pm


Re: [Boston.pm] Phishing for CPAN

2011-03-07 Thread Tom Metro
Support Desk  wrote:
> This is to inform you that we are carrying out a site upgrade, as a
> mailbox Subscriber, we are carrying out a (inactive email-accounts)
> [...]
> You are to provide your mail account details as
> follows(This will confirm your Cpan mailbox Login/usage Frequency):
> 
> *User name:
> *Password:
> *Date of birth:

I received a copy and passed it on to one of the admins of cpan.org.

I'm curious what their motivations are. Is a freely available CPAN
account useful for anything? Or is it merely an the first step in
gathering data for identity theft? Asking for date of birth suggests that.

I never thought it was all that great the way CPAN accounts were so easy
for spammers to obtain. Even the address you have the account forwarded
to gets spammed due to the PAUSE application being made public. (Or at
least that was the case years ago.)

 -Tom

-- 
Tom Metro
Venture Logic, Newton, MA, USA
"Enterprise solutions through open source."
Professional Profile: http://tmetro.venturelogic.com/

___
Boston-pm mailing list
Boston-pm@mail.pm.org
http://mail.pm.org/mailman/listinfo/boston-pm


[Boston.pm] Cognitive Therapy approach to Internet trolls

2011-03-06 Thread Tom Metro
Boston.pm's Shlomi Fish caught actress Felicia Day's attention with one
of his blog posts, leading her to tweet:

  Interesting: Cognitive Therapy approach to internet
  trolls: http://bit.ly/e9oSfH

(It has some incidental Perl content.)

Given the geek following Felicia Day has, I hope your servers can handle
the traffic. :-)

 -Tom

-- 
Tom Metro
Venture Logic, Newton, MA, USA
"Enterprise solutions through open source."
Professional Profile: http://tmetro.venturelogic.com/

___
Boston-pm mailing list
Boston-pm@mail.pm.org
http://mail.pm.org/mailman/listinfo/boston-pm


Re: [Boston.pm] parsing PDF

2011-02-14 Thread Tom Metro
Justin Hunter wrote:
> PDF::API2?

Laura Bethard wrote:
> It's worth noting that PDF::API2 has problems interacting with newer
> Acrobat formats, and is also not especially well-supported.

Thanks. I've passed on the recommendation and comments.

 -Tom

-- 
Tom Metro
Venture Logic, Newton, MA, USA
"Enterprise solutions through open source."
Professional Profile: http://tmetro.venturelogic.com/

___
Boston-pm mailing list
Boston-pm@mail.pm.org
http://mail.pm.org/mailman/listinfo/boston-pm


[Boston.pm] parsing PDF

2011-02-14 Thread Tom Metro
A colleague is using CAM::PDF to parse PDF documents, but is running
into some PDFs it can't handle, and CAM::PDF hasn't been updated in a while.

Any recommendations for a module for parsing PDFs?

 -Tom

-- 
Tom Metro
Venture Logic, Newton, MA, USA
"Enterprise solutions through open source."
Professional Profile: http://tmetro.venturelogic.com/

___
Boston-pm mailing list
Boston-pm@mail.pm.org
http://mail.pm.org/mailman/listinfo/boston-pm


Re: [Boston.pm] inside out objects

2011-01-11 Thread Tom Metro
Bill Ricker wrote:
> * Anyone want to debate inside out objects and various Class
> modules some future month, as a stand-by?

This was a topic I suggested. To clarify I was seeking to answer the
question, "are inside out objects worth the bother?" They impose
overhead - either on the coder or a framework - but do they solve a
real, statistically significant problem.

My exposure to inside out objects has been primarily through code that
didn't use a framework (for IOO), and I saw the object properties
frequently mismanaged. I was hoping to hear what others who have used
IOO frameworks on large projects had to say about the technique, and
whether they saw it solving a problem that was more than a rare occurrence.

I'm also curious to know what IOO lessons, if any, have been
incorporated into Perl 6.

 -Tom

-- 
Tom Metro
Venture Logic, Newton, MA, USA
"Enterprise solutions through open source."
Professional Profile: http://tmetro.venturelogic.com/

___
Boston-pm mailing list
Boston-pm@mail.pm.org
http://mail.pm.org/mailman/listinfo/boston-pm


Re: [Boston.pm] Tech Meeting January 11th, at MIT E51-376 7 ~ 7:30pm

2011-01-11 Thread Tom Metro
Bill Ricker wrote:
> "Using Perl 5.10 and Perl6 Rakudo on a crytogram"

That's kind of vague. Care to expand on it a bit?

 -Tom

-- 
Tom Metro
Venture Logic, Newton, MA, USA
"Enterprise solutions through open source."
Professional Profile: http://tmetro.venturelogic.com/

___
Boston-pm mailing list
Boston-pm@mail.pm.org
http://mail.pm.org/mailman/listinfo/boston-pm


[Boston.pm] Debian developer Joey Hess discusses his use of Perl

2010-11-26 Thread Tom Metro
An interview with Debian developer Joey Hess:
http://raphaelhertzog.com/2010/11/11/people-behind-debian-joey-hess-of-debhelper-fame/

[...]
  Most of the programs you wrote for Debian are in Perl. Do you regret
  this choice?

  I love that question! No, no regrets. My only concern is whether the
  language limits contributors or users. I have not seen Perl
  significantly limiting the use of anything except for debconf (we had
  to rewrite it in C for d-i). And I do not notice fewer contributions
  to my Perl-based code than to other code.

  I do sometimes regret when someone tells me they had to learn or
  re-learn Perl to work on something I wrote. But while I'm enjoying
  writing new things in Haskell now, and while I hope it will mean less
  maintenance burden later, I don't think using Haskell will make it
  easier for others to contribute to my programs. Anyway, for me the
  interesting thing about writing a program is the problem it solves and
  the decisions made doing it. Choice of language is one of the less
  interesting decisions.
[...]


___
Boston-pm mailing list
Boston-pm@mail.pm.org
http://mail.pm.org/mailman/listinfo/boston-pm


Re: [Boston.pm] tech events in and around Boston

2010-07-08 Thread Tom Metro
Gabor Szabo wrote:
> 2010.08.10-12 LinuxCon   - Boston
> http://events.linuxfoundation.org/events/linuxcon
> 
> Maybe setup a Perl booth if it is possible?

Bill mentioned this on the list a few months back.

I'd like to see a Boston.pm booth there (or something shared with BLU),
but the timing isn't great. (I'm likely to be out of town when it
happens, or between trips, and have my spare cycles occupied between now
and then.)

I imagine with it being in peak vacation time that the pool of
volunteers will be greatly reduced. The minimal response to this and the
earlier posting perhaps illustrates that.

 -Tom

-- 
Tom Metro
Venture Logic, Newton, MA, USA
"Enterprise solutions through open source."
Professional Profile: http://tmetro.venturelogic.com/

___
Boston-pm mailing list
Boston-pm@mail.pm.org
http://mail.pm.org/mailman/listinfo/boston-pm



Re: [Boston.pm] Getting started as a web dev in business

2010-07-08 Thread Tom Metro
Christopher Mejo wrote:
> I was comparing DBA versus LLC. Anyone have a
> recommendation here for web development consulting?

This, and most of the other questions you raised, will likely receive
more replies if you post them to the Boston Contractors list:

http://groups.yahoo.com/group/bostoncontractors/

Check the list archives, as the topic of legal organization for a
consulting practice has come up often.

 -Tom

-- 
Tom Metro
Venture Logic, Newton, MA, USA
"Enterprise solutions through open source."
Professional Profile: http://tmetro.venturelogic.com/

___
Boston-pm mailing list
Boston-pm@mail.pm.org
http://mail.pm.org/mailman/listinfo/boston-pm


Re: [Boston.pm] (summer) tech social coordination

2010-07-08 Thread Tom Metro
Mitchell N Charity wrote:
> Actually, what I'd like to say is I've easily created lightweight social
> networking site davistechsocial.mumble, with an extremely low barrier to
> entry, and neat features including realtime "a couple of us from X are
> heading over to the Burren in an hour, all are welcome".  But here in
> the not quite future... sigh.[1]
> 
> (q) Suggestions on lightweight social infrastructure?

IRC? (Looks like we don't have an IRC page on the wiki...created.)

http://boston.pm.org/kwiki/index.cgi?IrcRoom

Unless you want to create a Twitter or identi.ca account for this purpose.

I seem to recall hearing about a social networking site where you could
specify a time, location, and some topics of interest and it would
connect you up with others interested in meeting for lunch or dinner.
(That superficial description makes it sound like a dating site, but
that's not how they described it.) I can't remember anything unique
enough to Google it...

 -Tom

-- 
Tom Metro
Venture Logic, Newton, MA, USA
"Enterprise solutions through open source."
Professional Profile: http://tmetro.venturelogic.com/

___
Boston-pm mailing list
Boston-pm@mail.pm.org
http://mail.pm.org/mailman/listinfo/boston-pm


Re: [Boston.pm] Rubyists

2010-07-08 Thread Tom Metro
Mitchell N Charity wrote:
> (aside: I've encountered yet another local professional rails
> developer... who has never been to a bostonrb meeting.  So I reraise the
> issue that perhaps we should be brainstorming how we might better serve
> such folks.)

How Boston.pm, or Perl in general, can meet the needs of Ruby developers?

 -Tom

-- 
Tom Metro
Venture Logic, Newton, MA, USA
"Enterprise solutions through open source."
Professional Profile: http://tmetro.venturelogic.com/

___
Boston-pm mailing list
Boston-pm@mail.pm.org
http://mail.pm.org/mailman/listinfo/boston-pm


Re: [Boston.pm] Xpath query acceleration

2010-06-17 Thread Tom Metro
Petr Pajas wrote:
> Depends on what you call slow...

About 10 seconds to process a document with 72318 nodes, or 40500 nodes
after you skip the non-element, non-attribute nodes that don't require a
schema check.


> ...and it does not make much sense using XPath lookup for this.

What would you suggest then?


> If your XPath expressions involve sorting of largish node sets (.//
> may trigger sorting)

Looks like I am using .// in a couple spots, but for relatively small
fragments of the schema, not the whole document. Here are the
expressions I am using:

/xs:schema/xs:eleme...@name='$name']
./xs:complexType | ./xs:simpleType
/xs:schema/xs:complexty...@name='$type_name'] |
  /xs:schema/xs:simplety...@name='$type_name']
../xs:complexType/xs:simpleContent/xs:extension | ../xs:simpleType
/xs:schema/xs:simplety...@name='$base_name']
../xs:simpleType/xs:restriction/xs:enumeration/@value
.//xs:attribu...@name='$att_name']
.//xs:restriction/xs:enumeration/@value


> then calling $doc->indexElements() once for the
> WSD schema file could help...

Makes sense, but no appreciable difference when looping over my test
document 10 times (2nd one w/indexElements()):

timethis 10: 110 wallclock secs (107.84 usr +  0.25 sys = 108.09 CPU) @
 0.09/s (n=10)

timethis 10: 109 wallclock secs (108.11 usr +  0.17 sys = 108.28 CPU) @
 0.09/s (n=10)


> Traversing the tree in Perl and using $node->attributes may or may not
> be faster (note that the Perl-XS-Perl transitions are surprisingly
> expensive even if the function you call in C is a noop, so introducing
> more such calls may slow your program down as well).

If the schema is traversed only once, and cached in a Perl data
structure, then it should result in fewer overall XS calls. (The schema
is small - about 350 nodes - relative to the document.)


> I'd suggest: if the above don't help (and even if they do), look at
> the cases where you use the XPath and for stuff like the one you
> mentioned consider scanning once through all xs:attribute using @name
> and $type_def as keys.

Yeah, I think some sort of native Perl caching is going to be the way to go.

Thanks for the reply. (I forwarded a copy to the list.)

 -Tom

-- 
Tom Metro
Venture Logic, Newton, MA, USA
"Enterprise solutions through open source."
Professional Profile: http://tmetro.venturelogic.com/

___
Boston-pm mailing list
Boston-pm@mail.pm.org
http://mail.pm.org/mailman/listinfo/boston-pm


Re: [Boston.pm] Xpath query acceleration

2010-06-17 Thread Tom Metro
Forwarding reply from author/maintainer of XML::LibXML.

 Original Message 
Subject: Re: Xpath query acceleration
Date: Thu, 17 Jun 2010 14:09:33 +0200
From: Petr Pajas 
To: Tom Metro 
CC: L-boston-pm 

Depends on what you call slow and it does not make much sense using
XPath lookup for this.

If your XPath expressions involve sorting of largish node sets (.//
may trigger sorting), then calling $doc->indexElements() once for the
WSD schema file could help, because otherwise sorting to document
order isn't O(n log(n)) as one would expect since comparison of the
document order of two nodes is not O(1).

Traversing the tree in Perl and using $node->attributes may or may not
be faster (note that the Perl-XS-Perl transitions are surprisingly
expensive even if the function you call in C is a noop, so introducing
more such calls may slow your program down as well).

I'd suggest: if the above don't help (and even if they do), look at
the cases where you use the XPath and for stuff like the one you
mentioned consider scanning once through all xs:attribute using @name
and $type_def as keys.

-- Petr


___
Boston-pm mailing list
Boston-pm@mail.pm.org
http://mail.pm.org/mailman/listinfo/boston-pm


Re: [Boston.pm] bareword warnings for __ANON__

2010-06-17 Thread Tom Metro
Steve Scaffidi wrote:
> First, I read this here: http://www.perlmonks.org/?node_id=304883

Yup, that's pretty much the definitive reference on this "feature."


> For the curious, there is a way to make this work the "expected" way:
> 
> perl -Mstrict -w -e 'package foo; use Carp qw(cluck); sub {
> *__ANON__="sub_name"; cluck "WARN ${\*__ANON__}: wharrrgarbl"}->()'
> 
> Which should illuminate some of what's going on for the curious.

Ummm

WARN *foo::sub_name: wharrrgarbl at -e line 1
foo::sub_name() called at -e line 1

I still see a "*" before the sub name when you tried to access it
directly via *__ANON__.

But this works:

perl -Mstrict -w -e 'package foo; use Carp qw(cluck); sub
{*__ANON__="sub_name"; cluck( (caller(0))[3],"(): wharrrgarbl" )}->()'
foo::sub_name(): wharrrgarbl at -e line 1
        foo::sub_name() called at -e line 1

Of course it still isn't achieving the goal of using __ANON__ directly.

 -Tom

-- 
Tom Metro
Venture Logic, Newton, MA, USA
"Enterprise solutions through open source."
Professional Profile: http://tmetro.venturelogic.com/

___
Boston-pm mailing list
Boston-pm@mail.pm.org
http://mail.pm.org/mailman/listinfo/boston-pm


Re: [Boston.pm] bareword warnings for __ANON__

2010-06-16 Thread Tom Metro
Ben Tilly wrote:
> Tom Metro wrote:
>>sub {
>>local *__ANON__ = "subname"; # name the anon sub
> 
> Rather than a semi-documented trick, I'd recommend the clearly
> documented Sub::Name module for this.

Agreed. I just ran across Sub::Name yesterday when I was trying to dig
up more info on the syntax for using __ANON__.

I've since updated the code to use Sub::Name. It really is functionality
that should be built-in to the sub statement.


>> If it is used as a glob...it works, but
>> produces output prefixed with "*"...
> 
> The * prefix just indicates that
> it is being interpreted as some other glob, but if you look at the
> output the glob it appears as should be what you were trying to name
> it.

I'm not following. It feels like either the "*" should be consumed by
the tokenizer as part of the variable, or treated as extraneous junk and
either passed to the statement/function, or trigger a syntax error.

 -Tom

-- 
Tom Metro
Venture Logic, Newton, MA, USA
"Enterprise solutions through open source."
Professional Profile: http://tmetro.venturelogic.com/

___
Boston-pm mailing list
Boston-pm@mail.pm.org
http://mail.pm.org/mailman/listinfo/boston-pm


Re: [Boston.pm] Xpath query acceleration

2010-06-16 Thread Tom Metro
William Ricker wrote:
> I would have to think that... having the schema drive acceptance or
> rejection, would perform far better.

So you're suggesting the code should walk the schema once, and inspect
the document for compliance as it goes?

That wouldn't work, as the document contains items that aren't in the
schema, so you'd have to keep track of which nodes you validated, and
then still query or walk the document looking for things that weren't
covered by the schema.


> Parsing the Schema once should be cheaper than querying it.

That's my assumption as well, but what I don't know is how efficient
XML::LibXML's internal structures are. In theory, they could approach
the efficiency of Perl's native hash lookups.


> For Xpath-ish things (which I don't think you want here) I usually opt
> for XML::Twig.
>http://www.perladvent.org/2009/6/

XML::Twig puts a Perl layer over XML::Parser (expat), so I don't think
that's going to be a performance win.

I haven't tried using XML::Twig::XPath, but it deviates from the DOM
API, which can make it harder to port your code to a different XML
library. (One of the advantages to using XML::LibXML's DOM API is that
you can often fill in documentation gaps using other DOM references.)

 -Tom

-- 
Tom Metro
Venture Logic, Newton, MA, USA
"Enterprise solutions through open source."
Professional Profile: http://tmetro.venturelogic.com/

___
Boston-pm mailing list
Boston-pm@mail.pm.org
http://mail.pm.org/mailman/listinfo/boston-pm


Re: [Boston.pm] bareword warnings for __ANON__

2010-06-16 Thread Tom Metro
Uri Guttman wrote:
> local *__ANON__ = \"subname" ;
> why do you think you need a glob there at all?

__ANON__ is taking advantage of semi-documented internals black magic,
so I stuck with what was shown in all the examples.

local $__ANON__ = ...

results in:

Global symbol "$__ANON__" requires explicit package name...

This sub is being parsed by eval at run time. It may be possible to get
creative with __PACKAGE__ to qualify the namespace...though this:
http://www.perlmonks.org/?node_id=417192
could make that rather challenging.


> ...it may work with setting the lexical scalar

I doubt it. I suspect caller() is doing something equivalent to:
  $subname ||= ${ __PACKAGE__ :: __ANON__ }

so __ANON__ needs to be in the symbol table for the package that's
currently active.


> warn "$__ANON__, ...\n" ;

I had previously tried that, and ran into the same "Global symbol ...
requires explicit package name..." error.

I'm sure I could work around this by calling caller() in each warn, or
setting a lexical from it, but I was curious to see if there was a
syntax that would work for using __ANON__ directly.

Seems like it wants something like:

warn ${ __PACKAGE__ :: __ANON__ } ...

which wouldn't work (at least not with strict) for a number of reasons.

But I still don't get why "*" is showing up in the output.

 -Tom

-- 
Tom Metro
Venture Logic, Newton, MA, USA
"Enterprise solutions through open source."
Professional Profile: http://tmetro.venturelogic.com/

___
Boston-pm mailing list
Boston-pm@mail.pm.org
http://mail.pm.org/mailman/listinfo/boston-pm


[Boston.pm] Xpath query acceleration

2010-06-16 Thread Tom Metro
I have some code that uses XML::LibXML to walk the nodes of an XML
document, then uses the findnodes() method to do Xpath queries against
an WSD schema file to validate each element/attribute/enumerated value.

(While there are XML::LibXML methods and external tools to validate XML
against a schema, I needed something that provided granular feedback, as
the objective is to filter out items that don't comply with the schema.)

Works fine, except it seems to be really slow, and I suspect it is the
repeated Xpath queries into the schema.

I thought of using Memoize, but it would be challenging, because the
code does stuff like:
   $type_def->findnodes( q{.//xs:attribu...@name='} . $att_name . q{']}
)->shift

where $type_def is a previously looked up sub-branch of the schema, and
the Xpath is searching relative to that point. Code using references
doesn't lend itself to memoization.

The other obvious approach is to forget Xpath and instead pre-process
the schema into a Perl data structure.

Before I do either, I'll profile the code to see if my suspicion of the
Xpath queries is correct. (Though I'm pretty confident that's the issue.
I wouldn't expect calls to $node->attributes or $node->childNodes to be
slow.)

(Unlike some Perl XML libraries, if I recall correctly XML::LibXML
always calls into a native C library, and doesn't have a pure-Perl
fallback, so I don't think I'm seeing a speed hit due to that happening.
However, the version of XML::LibXML I'm using is a 2007-era, so that
could be a problem.)

 -Tom

-- 
Tom Metro
Venture Logic, Newton, MA, USA
"Enterprise solutions through open source."
Professional Profile: http://tmetro.venturelogic.com/

___
Boston-pm mailing list
Boston-pm@mail.pm.org
http://mail.pm.org/mailman/listinfo/boston-pm


[Boston.pm] bareword warnings for __ANON__

2010-06-16 Thread Tom Metro
I have some code with an anonymous sub that uses __ANON__ to set the sub
name in logging and error messages (a semi-documented trick) like:

sub {
local *__ANON__ = "subname"; # name the anon sub
[...]

warn *__ANON__,": ...\n";

The problem comes about with the warn call that wants to reference
__ANON__. If __ANON__ is used by itself, it produces a bareword warning.
If it is used as a glob (either *__ANON__ or *{__ANON__}), it works, but
produces output prefixed with "*", which seems to suggest it isn't
really being interpreted as a glob.

While the real code is going to end up using a Log::Log4perl method
instead of warn (which internally uses caller()), making this moot, I'm
curious to know what the correct syntax is here.

 -Tom

-- 
Tom Metro
Venture Logic, Newton, MA, USA
"Enterprise solutions through open source."
Professional Profile: http://tmetro.venturelogic.com/

___
Boston-pm mailing list
Boston-pm@mail.pm.org
http://mail.pm.org/mailman/listinfo/boston-pm


Re: [Boston.pm] Perl 5 to Perl 6 evolution

2010-05-26 Thread Tom Metro
Jason McIntosh wrote:
> What I've lately been fond of explaining to friends is that "Perl6" is
> the somewhat misleading name attached to Perl's skunkworks lab. It
> develops, implements and tests various crazy ideas for new language
> features, the best of which Perl adopts...

Yes, exactly.


> The name could be better...

http://www.sdtimes.com/link/34307

The trouble with 6.0

6.0 seems to be a difficult number to reach. Last year, MySQL 6.0
was canceled when the community decided everything scheduled for
that version should just be added in the 5.x branches. The same fate
has just befallen the PHP community...

This is mirrored in Perl's 5.12 release, the first for that language
in a number of years. Most of the big minds in Perl have been
thinking very hard about how to make 6.0 awesome. Unfortunately,
they've been thinking and coding for almost 10 years now, and the
remaining issues in Perl's 5.x branch were increasingly ignored.
Updates were slow and infrequent, though new project management has
pledged to make them more common. And in 5.12, the big fixes are
almost all related to Unicode.

One more 6.0 release was Windows Vista, right? Maybe there's some
sort of 6.0 curse.-- Alex Handy


> ...but getting a 10-year-old open-source project to change its
> name seems unlikely; it seems easier to spread the meme that it's
> Perl's R&D lab.

True.


James Eshelman wrote:
> I think the developers of Perl 6 would do everybody a big favor by 
> renaming it.   Calling it Perl 6 implies something that increasingly 
> doesn't seem to be true, and inhibits interest in and active development
> of Perl 5.

Agreed, but how do we make it happen. The people working on it seem to
be happy with the name, and they ultimately have the say. We could all
vote on it (post to whatever list covers perl 6 dev), but are they
likely to listen?

 -Tom

-- 
Tom Metro
Venture Logic, Newton, MA, USA
"Enterprise solutions through open source."
Professional Profile: http://tmetro.venturelogic.com/

___
Boston-pm mailing list
Boston-pm@mail.pm.org
http://mail.pm.org/mailman/listinfo/boston-pm


Re: [Boston.pm] Perl 5 to Perl 6 evolution

2010-05-06 Thread Tom Metro

Ronald J Kimball wrote:

Tom Metro wrote:
It seems less and less likely that there will be a definitive cut-over 
point where a pure Perl 6 code base will be released.


Instead is seems like they will asymptotically approach the Perl 6 spec 
through incremental releases of Perl 5. That seems like a sound 
strategy, but could make implementing internal architecture changes 
rather challenging.


I think you have some misconceptions about the relationship between Perl 5
and Perl 6.  Perl 6 is essentially a new language that happens to
share some history and syntax with Perl 1-5.


I realize that Perl 6, both from a language design and internal 
architecture perspective, was always intended to be a ground-up redesign.


However, the ideals of a plan and the practical reality don't always 
match up. There isn't exactly a production-ready Perl 6, or even 
anything close to it, to make the case that a pure Perl 6 is a viable 
alternative to evolving Perl 5.


I'd rather see the products of the Perl 6 "blue sky" design end up being 
incorporated into Perl 5, than to have those ideas effectively shelved 
waiting for a Perl 6 platform that may never adequately materialize.




The ongoing development of Perl 5 is not aimed at implementing
the Perl 6 spec. 


That may not be the primary goal, but it seems to be what is happening 
for the past few releases.


 -Tom

--
Tom Metro
Venture Logic, Newton, MA, USA
"Enterprise solutions through open source."
Professional Profile: http://tmetro.venturelogic.com/

___
Boston-pm mailing list
Boston-pm@mail.pm.org
http://mail.pm.org/mailman/listinfo/boston-pm


Re: [Boston.pm] Perl 5.12.0 in the news today Fwd: perl-5-is-alive/

2010-05-03 Thread Tom Metro

Bill Ricker wrote:

With Perl 6 Looming, Perl 5.12 Makes Its Debut
<http://www.internetnews.com/dev-news/article.php/3876156/With+Perl+6+Looming+Perl+512+Makes+Its+Debut.htm>


http://www.developer.com/features/article.php/3876026/Perl-512-Debuts-as-Open-Source-Language-Progresses.htm

  Perl 6

  While the new Perl 5.12 release advances the Perl 5 platform,
  developers have been working on Perl 6 since at least 2004, and that
  project might still stretch out for years to come.

  "Some people are tired of waiting for Perl 6, so the Perl 5
  development effort is picking up again," Dubois said. "Hence the
  release of Perl 5.12."

It seems less and less likely that there will be a definitive cut-over 
point where a pure Perl 6 code base will be released.


Instead is seems like they will asymptotically approach the Perl 6 spec 
through incremental releases of Perl 5. That seems like a sound 
strategy, but could make implementing internal architecture changes 
rather challenging.


When they declare it "Perl 6" could end up being rather arbitrary.

And this approach does no favors for Perl's marketing challenges. At 
minimum, it blunts the "wow" factor of having something substantially 
new, trading that instead for a bunch of smaller press releases, that 
many publications will write off as insignificant.



Anyone have a link for a good feature-by-feature review of the 5.12.0 
enhancements? Any plans for a Boston.pm meeting to cover them, as was 
done for 5.10?


 -Tom

--
Tom Metro
Venture Logic, Newton, MA, USA
"Enterprise solutions through open source."
Professional Profile: http://tmetro.venturelogic.com/

___
Boston-pm mailing list
Boston-pm@mail.pm.org
http://mail.pm.org/mailman/listinfo/boston-pm


[Boston.pm] What's going on with The Perl Review

2010-04-02 Thread Tom Metro

I thought I hadn't seen an issue in a while...
 -Tom

 Original Message 
Subject: What's going on with The Perl Review
Date: Fri, 2 Apr 2010 17:42:14 -0500
From: @theperlreview.com (The Perl Review)

Dear TPR Subscriber,

Sorry that we've been away for so long.

Here's the short story: we're working on a special Moose issue, and
no one who had a subscription of any type will need to renew
their subscription before 2011.

I'm not going to answer individual questions in email, but I'll
collect people's questions and answer them all at once on the
website.

[...]

It's only fair to let you know what happened, and what's going to
happen.

In short, I started working on Effective Perl Programming, Second
Edition, and I thought it was going to be a snap. However, I should
have realized that updating a Perl book written in 1997 wouldn't
really be so much an update as a complete rewrite. It always seemed
like the finish line was just around the corner, but that kept
happening. All of a sudden it was several months later.

Even without that, there was going to be one more print issue of TPR.
We got to the point where we had to go big or go home. TPR's
predecessor, The Perl Journal, ran into the same problem at the same
point (20 issues). When the magazine gets to a certain subscriber base
size, you can't really run it out of your home. Hiring the various
services to handle thousands of pieces of mail makes prices go through
the roof as everyone tries to take advantage of your need, and you
have to keep on top of them constantly to get them to do it all
correctly. I could charge four times the prices, but enriching other
companies with your money isn't the point.

At the same time, more people are asking for more timely information
in digital forms. Waiting for three months to read a handful of Perl
articles is almost like waiting a lifetime. I want to provide more
stuff more quickly and in different forms.

Right now, yearly subscriptions are . That gets you full access
to everything on the website. Again, if you already have a subscription,
and you do if you got this email, then you don't need to do anything
to keep your subscription going. If you had a print subscription
when we sent out the last issue, you'll get the next print issue
when its ready.

We're working out what that new form is going to be and looking at
various ebook formats. We've got to finish up this Moose issue
first though. :)

--
brian d foy, The Perl Review
brian.com

___
Boston-pm mailing list
Boston-pm@mail.pm.org
http://mail.pm.org/mailman/listinfo/boston-pm


Re: [Boston.pm] domain theft saga

2010-03-30 Thread Tom Metro

Ben Tilly wrote:

I thought that more people should hear about it so I put it
on Hacker News.  See http://news.ycombinator.com/item?id=1229247


Agreed. Spread the word. Thanks.

 -Tom

--
Tom Metro
Venture Logic, Newton, MA, USA
"Enterprise solutions through open source."
Professional Profile: http://tmetro.venturelogic.com/

___
Boston-pm mailing list
Boston-pm@mail.pm.org
http://mail.pm.org/mailman/listinfo/boston-pm


Re: [Boston.pm] domain theft saga

2010-03-30 Thread Tom Metro
Greg London wrote:
> Can anyone recommend a good, reliable, secure, host/registrar?
> Must have phone support and shouldn't be too expensive.

A friend found http://www.moniker.com/ who claim, "... we are the only
registrar that has executive review of every transfer out request by at
least 3 employees including an officer of the company in an effort to
verify the validity of such requests. Finally, personal contact is made
to each registrant if there are any questions about the legitimacy of
the request."


Nick Patch wrote:
> As for security, I can only say that there haven't been any problems.

You never know unless you were subjected to a directed attack.

Short of testing the provider yourself by attempting social engineering
on them, who can say.

You really need an outside Consumer Reports-style agency that tests
providers. Even then, that won't protect you from the new rep they just
hired who things he is being helpful.

 -Tom

-- 
Tom Metro
Venture Logic, Newton, MA, USA
"Enterprise solutions through open source."
Professional Profile: http://tmetro.venturelogic.com/

___
Boston-pm mailing list
Boston-pm@mail.pm.org
http://mail.pm.org/mailman/listinfo/boston-pm


[Boston.pm] domain theft saga

2010-03-30 Thread Tom Metro

For those of you not on the BLU list, you might find this an interesting
read:

http://old.nabble.com/Dreamhost-account-hacked-td28062149s24859.html

In brief, a directed attack using social engineering was perpetrated
against my domain registrar, Dreamhost, and due to multiple failures on
their part, they granted the attacker access to my account, froze me
out, and hampered my ability to halt the attack.

This started Saturday night, and by Sunday afternoon, given lax response
from Dreamhost, the attacker had succeeded in transferring my vl.com
domain, which is considered of high value due to being only two letters,
to a foreign registrar located in the Bahamas.

Included in my posts are laughable chat transcripts between the attacker
and the Dreamhost support personnel, where support people were more than
happy to update contact info, supply plain text passwords, and force
through a domain transfer.

Clearly, humans were the weakest link in this system.

The good news is that the attacker never succeeded in compromising my
email account use as the domain contact (despite a few attempts) and the
foreign registrar has been convinced that there was enough fishy about
the transfer to put modifications on hold. So for the time being my name
server records are safe, and they haven't gained access to my vl.com
email traffic. (Though I'm pretty sure they only care about the domain
itself.)

I've reported the attack to the local police and the FBI.

Still tonight the attackers made attempts to reset the password on my
Google hosted account used as the contact address for the domain.
Undoubtedly so they can leverage it to send a forged letter to the
foreign registrar.

 -Tom

--
Tom Metro
Venture Logic, Newton, MA, USA
"Enterprise solutions through open source."
Professional Profile: http://tmetro.venturelogic.com/

___
Boston-pm mailing list
Boston-pm@mail.pm.org
http://mail.pm.org/mailman/listinfo/boston-pm


  1   2   3   >