Shlomif's Technical Posts Community - Recent Hacktivity [entries|archive|friends|userinfo]
Shlomif's Technical Posts Community

[ userinfo | livejournal userinfo ]
[ archive | journal archive ]

[Links:| Shlomi Fish's Homepage Main Journal Homesite Blog Planet Linux-IL Amir Aharoni in Unicode open dot dot dot ]

Recent Hacktivity [Dec. 11th, 2009|11:12 pm]
Previous Entry Add to Memories Share Next Entry


[Tags|, , , , , , , , , , , , , , , , , , ]
[Current Location |Home]
[Current Music |Leona Lewis - Bleeding Love]

Happy Chanukah, everyone! Lately, I've had little energy for blogging, and have been coding a lot. I suppose that's a good thing, but I'd like to keep up with my Planet Perl Iron Man statistics. So here we go - another recent hacktivity report.

As I said, I've went over the Moose::Manual and learned many nice new tricks to make my Moose-using Perl modules more Moosey. I've implemented some of them in XML-Grammar-Fiction and also on Test-Run, which is a much more massive codebase.

While I worked on Test-Run I noticed that some of the Test-Run-CmdLine tests failed, and realised the problem was a MooseX-Getopt bug which I was able to supply a test for, and which involved a very short fix. While I was in the neighbourhood, I also contributed a test for handling the Getopt::Long no_ignore_case which I used as well, and the results were released in MooseX-Getopt-0.26 by Tomas Doran.

I also ran into an undesirable behaviour with MooseX-StrictConstructor which I was able to workaround with some help from the #moose people: when using it inside a class which has a base class, one needs to do BEGIN { extends ("BaseClass"); } instead of just extends("BaseClass");. I didn't understand why, but it just works.

I'm now reading the chapters from the Moose Cookbook, which will take me some time.

After that, I finally did the work I promised on the list of Perl mailing lists. There's still a lot to fill in, but the YAML/DBI foundation is in place.

I worked on a Ruby program which I originally started writing in order to learn Ruby. I've added some tests, and refactored it. I've got bitten by a case where I overrided a variable called yx as a parameter to a closure and it got clobbered afterwards. This is one reason why I prefer Perl 5's (and Scheme's) explicit lexical scoping using "my", which provides better protection against such mishaps.

I continued to work on Mozbot, but my original patch was not applied yet, so I don't know if there's any interest in further work on the internals of the robot.

I've made some progress with reading the book xUnit Test Patterns: Refactoring Test Code. One of the insights I gained so far was that the failed tests should point what became broken without too much debugging. The book is off to a slow start with many overviews and introductions, which is kinda annoying, though.

Finally, I attended a meeting of PHP-Israel where there were a lot of Bourekas, and were someone gave a presentation about PHP Unit and writing unit tests. There was a discussion of whether we should only test the external behaviour of a class, or also its protected/private methods, and if the latter - how (there was some way to do it in PHP). One thing I noticed was that some of the PHPers used Eclipse for their development, and there was some discussion about how to get it to behave properly on Linux.

A few of the PHPers also thought that they would love to use JavaScript on the server. It's funny, but as a Perl 5 programmer (with experience in many other languages) I look at JavaScript and see many horrible aspects, and missing features. However, the PHPers seem to think it's better than PHP. Maybe it's the Blub Paradox.