hi all,

here is a wacky idea for a 'talk' for this tuesday. anyone here use or
know of ack? ack is a pure perl replacement for the grep utility but
with more features and such. i got involved on the side when i was asked
to look at making it faster. i easily found that its central loop (line
in, match and process, line out) was very convoluted, clunky and slow.
i have come up with a general new design for this inner core and i know
it will be much faster and easier to maintain than the current code.

ack's home page is http://petdance.com/ack/

so my proposal is a hackathon on this code. with a bunch of heads and
hands we can take my general redesign and likely implement it right
during the meeting. it isn't that much code, maybe 2-3 pages total that
we would write. and it can be split into several chunks to be worked on
in parallel. we could sync up to the ack source tree or work on our own
branch or whatever.

we would need someone (or a team) to manage all source control and
access. someone could be the tester, another could be the main editor
for merging code, transcribing my ramblings or whatever. another box
could show the current code for all to look at. the rest can help with
ideas, coding, heckling and lurking. someone could report results on irc
#boston.pm or send out emails with the latest source. someone can act as
the PHB (i won't volunteer for that).

so this is for an existing and popular perl project. the rewrite is
doable in the time frame (< 3 hours). i have the general design (several
minor variations need to be hammered down) but it is open to change. it
would be something to crow about at oscon and at other perl monger
groups. :)

this would be a different sort of meeting with most people working on
some aspect of the project. we should do as much premeeting work as
possible but i won't give out jobs unless this idea is accepted for the
meeting.

i guarantee you will learn some interesting perl techniques as i have
several in my design. nothing outragious but not stuff you see
everyday. one tip is to rip out code from Read::FileBackwards to become
a forward buffered read for ack. that will be much faster than the way
it does input now. another is a shift register that has references to
the output lines.

any thoughts? any volunteers?

uri

-- 
Uri Guttman  ------  [EMAIL PROTECTED]  --------  http://www.sysarch.com --
-----  Perl Code Review , Architecture, Development, Training, Support ------
--------- Free Perl Training --- http://perlhunter.com/college.html ---------
---------  Gourmet Hot Cocoa Mix  ----  http://bestfriendscocoa.com ---------

_______________________________________________
Boston-pm mailing list
[email protected]
http://mail.pm.org/mailman/listinfo/boston-pm

Reply via email to