January 2001 Archives

The State of MacPerl

| | Comments (0)
Hi, I'm the new maintainer for MacPerl.

I've been programming in Perl since 1995, and in MacPerl since 1996.  I
wrote MacPerl: Power and Ease with Vicki Brown and Rich Morin, and have
written a bunch of tools and modules for MacPerl.  I work for OSDN, a
division of VA Linux, writing Perl code for Slashdot by day and battling
supervillains by night.  I write for The Perl Journal, and run the Perl
News and use Perl web sites.

        https://pudge.net/macperl/
Matthias Neeracher wrote MacPerl, and was its developer and maintainer
since 1991.  After eight long years (according to my fuzzy math) under his
administration, it is time to restore dignity and character to Perl on Mac
OS.  :-)

When Matthias asked me to take over the maintenance of MacPerl, my primary
concerns were ability and availability.  As to ability, I know I have
nothing close to his acumen in this area.  But, I have confidence in the
Perl community to help me with the project, and to contribute its time and
expertise.  And Matthias assured me that he would work with my transition
team, so I can get up to speed as quickly as possible, and be able to rely
on him as little as necessary.

As to availability, I've decided that this is too great an opportunity for
me to pass up.  I will learn more about many different things, and a new
MacPerl is something that the community wants and needs, and I believe I
can help make it happen.  With the community's help, I think it will be
done, and it will be good.

Matthias left MacPerl in really good shape, but there's a lot left to do,
and I hope I can get help from the rest of the community as we work toward
MacPerl 5.6 and beyond.  Don't ask what MacPerl can do for you, ask what
you can do for MacPerl.


So, what is the future of MacPerl?  The immediate future is to get the
buildable source of MacPerl 5.6.0 into the hands of those who are inclined
to help.  This source has been released (see below for details).  Following
that will be cycles of testing, porting, fixing, etc.

Soon we will be doing an analysis of the perl 5.6.1 code (still in
development) to evaluate what would be necessary to move to 5.6.1.  I think
most people would prefer releasing 5.6.1 instead of 5.6.0.  Hopefully, this
will happen, and won't slow down our efforts much.  And as soon as this is
done, we will release a public beta.  When we are confident that it works
well, we will do the actual release.  There is no timeline for this, as one
may imagine.  I will likely set short-term "deadlines" for various phases
of the process as we get more into it.  How fast we get through the phases
will largely depend on the community.

One really great thing about what Matthias has done with MacPerl over the
last year is that he has separated the Mac-specific code into a separate
subdirectory (macos), so you can just add in the subdirectory to the perl
directory and build it.  Future ports of MacPerl will be much simpler
because of this.  There are a handful of patches to the perl source
required, changes to things like paths in perl.c, and whitespace handling
in toke.c.  These changes, largely, have already been added to "maintperl"
(what will be 5.6.1) and "bleadperl" (what is 5.7.0), but we aren't sure if
they still work, what further changes might be needed, etc.  I figure
sometime soon we'll move to 5.6.1 and just start testing.

And, speaking of testing: testing and module porting are two of the areas
where the most work from volunteers will be needed.  Perl comes with an
extensive test suite.  The goal will be to run the tests, note where the
tests don't work, and make appropriate changes in the tests (or in the
code, in the case of a bug) to make the tests work.  This may also involve
reading the tests to make sure that there are not false positives, in some
cases.  There are plenty of modules that need to be ported, too.
File::Find is entirely broken on Mac OS, for instance.

In order to facilitate all this, I will be setting up some thingys on
SourceForge to track modules and tests, and will be looking for volunteers
to take modules and tests, work on them, make changes, and report back.
They are not ready yet.  When they are, I will, of course, announce it.

SourceForge is a nice killer app for open source developers, a free service
to the open source community from VA Linux.  It offers, to developers for
their open source projects, access to FTP, CVS, patch and bug and task
management, web space, and more.  So you can, at any time, go to
SourceForge and check the latest bugs reports, see what tasks are being
worked on, get the latest source from CVS, etc.

To be involved with development, please register yourself at SourceForge
and join the macperl-porters mailing list, if you have not done both
already.  On an individual basis I will be adding willing volunteers to the
MacPerl project on SourceForge to help with bugs, patches, documentation,
etc.  I will be doing this slowly at first, I imagine.

        http://sourceforge.net/
        http://macperl.sourceforge.net/
        http://sourceforge.net/projects/macperl/
        http://lists.perl.org/

Please use the bug reporting there for any bugs related to current MacPerl
or the development MacPerl; just mark it appropriately, and always give
complete version information for what software you are using.  You can also
make suggestions and feature requests on the bug page.

[* NOTE: The bug submission page on SourceForge is currently broken.  Hopefully
it will be fixed by the time you read this.  Please just hold on to any
bugs until it is fixed.]

I've also been keeping a "diary" on SourceForge, available from my
SourceForge page, which might help those who are interested follow what I
am up to on the development.

        http://sourceforge.net/users/pudge/


We are changing the versioning system of MacPerl.  Whereas before the
version of MacPerl was e.g. 5.2.0r4, which represented perl 5, MacPerl 2.0
(of 5), and maintenance release ("r") 4 of perl (thus corresponding with
perl 5.004), it will now be e.g. 5.6.0r1, where 5.6.0 is the perl version,
"r" is release ("d" is development), and 1 is the build number.  This will
make following the version of MacPerl much simpler.

There will be no CFM68K build of MacPerl 5.6, at least a first.  If there
is enough interest, and there are people to help work on it, then we can
support it later.  So this means there will be no dynamic loading for 68K
Macs, unless this is done.  Those who really want CFM68K support need to
speak up on the macperl-porters list, and hopefully can lend a hand.  The
worst case scenario is that people who want extra modules under 68K Macs
can set up the source on their own system and link in the modules
statically, but it would be nice to have dynamic loading support.


So that's about it, for now.  Please direct general discussion to the
macperl list and porting discussion to the macperl-porters list.  And if
you are so inclined, head on over to the MacPerl page at SourceForge, get
familiar with what's going on, and see the "Build Instructions" page for
information on how to build it.  Note that almost anyone with a relatively
recent Mac can build MacPerl, using only freely available tools.  This is a
very good thing.

        http://macperl.sourceforge.net/build.html


Thanks a ton to Matthias for the wonderful gift he has given us in MacPerl,
Larry Wall for his gift of perl, and all those who came before and after
who have helped and continue to help this project be possible, and fun.  I
look forward to a great time and a great release.

        "The technical specialist marine will accompany us," Ashnak
        continued.  "Captain Barashkukor--Captain!"

        The small orc, his chin on his hands, continued to gaze
        fondly at Razitshakra, who ignored him.

        "Captain!"

        Barashkukor jumped three inches in his seat, stood up, saluted,
        and yelled, "Sir, yes sir!"

        Ashnak sighed.  "You are promoted to major, Barashkukor.  You
        will hold Nin-Edin with the orcs until our return.  Send out
        snipers, raiding parties, sallies--harass the enemy, Major,
        keep them off-balance."

        Barashkukor, his wistfully dreamy gaze returning to the
        spectacled female orc, murmured, "Yes, yes, of course.
        Whatever you think best, General."

                -- Book 2, Chapter 3, Grunts!, by Mary Gentle

Chris Nandor
pudge@pobox.com
https://pudge.net/
Tuesday, January 30, 2001

Release

| | Comments (0)
Today I released the source for MacPerl 5.6.0d1. Yay! I spent last night finishing up going through what was on my list, doing the patches, etc. There's a lot left to do, but hopefully now I can get help and feedback from the community. use.perl.org

Weekend Thoughts

| | Comments (0)
I just need to fix a few things in the source (see the bugs and previous diary entries), do another test or two, and release this thing. I am preparing an announcement, a sort of the State of MacPerl.
 
Hopefully, soon the SourceForge blokes will fix the diary viewing problem, and they will add to the project admin section the code that will allow me to start using MySQL on http://macperl.sourceforge.net/.
 
I think I've decided to work late nights on Monday, Tuesday, Wednesday, and I really won't get much work done on other days. This will help me focus more, and help this to not overrun my life.
 
On the Slash front, there are some bugs I am working on (esp. with Template stuff), and we want to get another beta out soon.
 
Brian Aker and I are going to finish up an outline for a Perl Conference presentation, hopefully a 90-minute talk on Slash. use.perl.org

Foray Into Perl Source

| | Comments (0)
I uncovered some problems with @INC and require, so I dug into the perl source for the first time (well, except for some playing around before). I found the place in perl.c that was causing our @INC problems (I sitll don't know the exact solution; I have some ideas, but am not sure of the ramifications), and Simon Cozens pointed me to pp_ctl.c for pp_require, and that led me to util.c for PERL_FILE_IS_ABSOLUTE or somesuch. I am not sure what the logic should be there yet, but I put in some test code and it is working OK for now.
 
Anyway, it's good to get into it and play around with the code. use.perl.org

Build Working

| | Comments (0)
Thanks to Matthias, we have only one thing remaining for MrC/SC builds that is not working (as far as the build itself is concerned), and that is the translators. And you can just comment out one thing in the Makefile for that. I have successfully built, without a hitch, the entire thing from start to finish without a hitch, using all four compilers, or SC/MrC alone. This is a Good Thing.
 
So I think I am going to, regardless of whether it is all working (shared libs for MrC build, but don't work, and some of the install does not work, I think because File::Find is busted, etc.), do a source release so I can bring in more anxious and inclined souls. use.perl.org

MacPerl Growing Closer

| | Comments (0)
What's left: a cleanup of the Makefiles, plus Matthias' welcome assistance in getting some of the other things (x2p, MPDroplet, UnPreload, FontLDEF, and dynamic libraries) for the SC/MrC-only build. It works now with MWC, but I want to get this working with the other two alone before releasing it. I might not wait though, I am not sure. I will be in the office tomorrow and might not get anything significant done, anyway, so there is no rush. use.perl.org
We got together and finished up the beta of Slash, slash-1.1.2-bender. It's coming together nicely. A lot of bugs and tweaks left, but it can be installed and played with, and we forsee no more changes to the schema.
 
I started a build today on the iBook, and ran into a few snags (it was an SC/MrC-only build). I am trying to get them worked out, with Matthias' help. Someday I am going to let him retire. ;-) use.perl.org
We are going to do a big ol' test of Slash tomorrow, and if all goes well, we can release a beta this week. Everything for beta is pretty much crossed off our lists.
 
I got some organization things, and web site things, worked out with MacPerl, which is good, but I wanted to do a test build today, and couldn't download from MPW apple.com, because their FTP site was basically cleaned out. Been that way since sometime Sunday. Hrmph. I'll try again later; Matthias tried to send it to me from the CD, but the upload failed for some reason. use.perl.org

MP3::Info and MacPerl update

| | Comments (0)
I finally got MP3::Info out, version 0.90. Not 15 minutes after it went out -- after the previous version has been out for over 10 months -- dynweb gives me a bug report (a warning isn't being caught for files of size 0). Figures.
 
I got a lot done on MacPerl over the past few days. I am going to do a build from scratch, hopefully tomorrow, maybe on the iBook or iMac. Then I can finish up the build instructions, and do an alpha source release. use.perl.org

Conclusions

| | Comments (0)

I have conducted a formal study and have come to the following conclusion: I am less likely to take out the trash out to the street in the morning for the garbage collector if the air temperature if very low. I believe this behavior might also extend to other forms of "bad" weather, such as rain, snow, extreme heat; more study is needed.

Oh, and by the way, I heard only about three people say that this was the start of the new millennium. You know what that means? It means that we were right last year when we said that 2000 was the start of the new millennium. There is no calendrical definition of when the millenniums start and end. They are entirely arbitrary. It is determined by only one thing: societal convention about which periods of 1,000 years they should cover. Society has spoken. Let that be a lesson to all of you.

<pudge/*> (pronounced "PudgeGlob") is thousands of posts over many years by Pudge.

"It is the common fate of the indolent to see their rights become a prey to the active. The condition upon which God hath given liberty to man is eternal vigilance; which condition if he break, servitude is at once the consequence of his crime and the punishment of his guilt."

About this Archive

This page is an archive of entries from January 2001 listed from newest to oldest.

November 2000 is the previous archive.

February 2001 is the next archive.

Find recent content on the main index or look in the archives to find all content.