Sunday, July 31, 2005

Progress on Perl tools Article

I finally finished a complete first draft of my article for Perl.com on better development tools for Perl. It's been sent off to chromatic at O'Reilly and hopefully I'll hear back soon.

VIP - New Perl Editor Project

Kaare Rasmussen told me about a new CPAN project led by Nadim Ibn Hamouda El Khemir called VIP:

The goal of the VIP project is to produce a first class Perl editor that
can be used as a component in a (yet to be developed) IDE. We will try
to write vip so it will build on the strong points of of Perl 5 and 6.

Our first step is to provide the editor itself. It will consist of the
core engine and have (at first) three interfaces; used from Perl itself,
a text based (curses) and a graphic (gtk) interface.

Apart from the usual features, such as syntax coloring and
templates/wizards, we plan to include innovative features, like support
for Pair Programming, and to make it extremely configurable and
pluggable (integration with Sprog (http://sprog.sourceforge.net/) will
be one way to extend Vip).

The project is currently in the initial phase and we expect to have a
working draft within the next couple of months.

We can always use help. To test it out, find bugs, propose features and
write documentation, plugins and code.

The project has a name on CPAN:
http://search.cpan.org/~nkh/Text-Editor-Vip-0.011/, a home page
(http://...) and a discussion forum (http://www.cpanforum.org/...).


Problem installing MySQL 4.1.13 on Mac OS X 10.4.2

Bug report filed with : http://bugs.mysql.com/bug.php?id=12288

Here's the bug description:
Trying to compile MySQL 4.1.13 on  10.4.2
gcc_select show gcc 4.0.0:
$ gcc_select
Current default compiler:
gcc version 4.0.0 20041026 (Apple Computer, Inc. build 4061)

$ locate gcc_s
/usr/lib/gcc/powerpc-apple-darwin8/4.0.0/libgcc_s.dylib
/usr/lib/gcc/powerpc-apple-darwin8/4.0.0/libgcc_static.a
/usr/lib/gcc/powerpc-apple-darwin8/4.0.0/libgcc_s_ppc64.dylib
/usr/sbin/gcc_select
/usr/share/man/man8/gcc_select.8


The build fails with:
...
Making all in sql
if g++ -DMYSQL_SERVER -DDEFAULT_MYSQL_HOME="\"/usr/local/mysql\""
-DDATADIR="\"/usr/local/mysql/var\""
-DSHAREDIR="\"/usr/local/mysql/share/mysql\"" -DHAVE_CONFIG_H -I. -I. -I..
-I../innobase/include -I../include -I../include -I../regex -I. -O3
-DDBUG_OFF -fno-implicit-templates -fno-exceptions -fno-rtti
-DHAVE_DARWIN_THREADS -D_P1003_1B_VISIBLE -DSIGNAL_WITH_VIO_CLOSE
-DSIGNALS_DONT_BREAK_READ -DIGNORE_SIGHUP_SIGQUIT -MT gen_lex_hash.o -MD -MP -MF
".deps/gen_lex_hash.Tpo" -c -o gen_lex_hash.o gen_lex_hash.cc; then mv -f ".deps/gen_lex_hash.Tpo" ".deps/gen_lex_hash.Po"; else rm -f
".deps/gen_lex_hash.Tpo"; exit 1; fi
/bin/sh ../libtool --preserve-dup-deps --mode=link g++ -O3 -DDBUG_OFF
-fno-implicit-templates -fno-exceptions -fno-rtti -DHAVE_DARWIN_THREADS
-D_P1003_1B_VISIBLE -DSIGNAL_WITH_VIO_CLOSE -DSIGNALS_DONT_BREAK_READ
-DIGNORE_SIGHUP_SIGQUIT -o gen_lex_hash gen_lex_hash.o ../myisam/libmyisam.a
../myisammrg/libmyisammrg.a ../heap/libheap.a ../vio/libvio.a
../mysys/libmysys.a ../dbug/libdbug.a ../regex/libregex.a
../strings/libmystrings.a -lz -lm
mkdir .libs
g++ -O3 -DDBUG_OFF -fno-implicit-templates -fno-exceptions -fno-rtti
-DHAVE_DARWIN_THREADS -D_P1003_1B_VISIBLE -DSIGNAL_WITH_VIO_CLOSE
-DSIGNALS_DONT_BREAK_READ -DIGNORE_SIGHUP_SIGQUIT -o gen_lex_hash gen_lex_hash.o
-Wl,-bind_at_load ../myisam/libmyisam.a ../myisammrg/libmyisammrg.a
../heap/libheap.a ../vio/libvio.a ../mysys/libmysys.a ../dbug/libdbug.a
../regex/libregex.a ../strings/libmystrings.a -lz -lm
/usr/bin/ld: can't locate file for: -lgcc_s
collect2: ld returned 1 exit status
make[2]: *** [gen_lex_hash] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2

How to repeat:
Use source distribution mysql-4.1.13.tar.gz

$ tar xfvz mysql-4.1.13.tar.gz
$ cd mysql-4.1.13
$ ./configure --prefix=/usr/local/mysql
$ make

Build fails.

Suggested fix:
None known yet.


Monday, July 11, 2005

Access Control Lists (ACLs) in Mac OS X

Powerful but complex, and hard to understand.

chmod +a "dancers allow list,directory_inherit" dropbox

should allow anyone in group dancers to list the contents of dropbox and any subdirectories, but the inheritence doesn't seem to happen.

Saturday, July 09, 2005

New refactoring book in the works?

I heard from a reliable source yesterday that O'Reilly is considering doing a book on Refactoring. Maybe they'll include Perl in it.