Heads up II - Astro-satpass modifications

The Astro-satpass distribution contains classes to compute satellite position and visibility. If you are using it, please read on. If you think I should continue to deliver change notifications via this blog, please let me know, otherwise I will stop doing so, and merely give notice via electronic mail.

On June 11 2011 I wrote about the changes to the Astro::Coord::ECI::TLE pass() method which were in release 0.039_04. The blog entry detailed those changes and expressed the intent to make another release in about two weeks.

A respondent questioned the performance of the pass() method when the interval attribute was positive. This attribute causes the pass() method to return periodic positions during the pass, as well as the significant events of the pass. Investigation revealed a serious inefficiency in this functionality, and turned up some more “edge case” pass prediction problems.

Perl, Perl 5, Perl 6, and names

First, please, you are free to comment, but I do not want to open a flame war or anything. Also, I do not think this is the place for this to be discussed. This post is just my humble opinion.

I think Perl 6 is a bad name for the new language Larry (and Damian and others) are defining. First, before the language, although based on Perl 5, is a new language. Second, because the name is around for too many time, making it bad advertising for the language itself, and for the community. Third, because it makes hard to Perl 5 to advance.

In fact, I think that keeping the name of the new language as Perl 6 is bad for everybody, from the people that do not like Perl 6, for the people who love Perl 6, and for all the community members.

Exercise on subroutine

hi there,
Am new to perl. been very determined make some lines of code fromRandal l. Swartz work.
It reads:
write a subroutine named greet, that welcomes the person you name by telling them the name of the last person it greets.

like; greet('fred');
greet('Barney');

This sequence of statement should print:
Hi Fred! you are the first one here!
Hi Barney i've seen Fred
Hi Wilma i;ve seen Fred Barney
HI Betty ive seen Fred Barney Wilma.


I have folloed the tips and even implemented defined operator and state but nothing seem to work. Anyone with extensive knowledge of this should please help me with the answer.

YAPC::Europe 2011 Schedule

A few days ago we began moving things together to form the conference schedule. It was ready a couple of days ago, and after talking to the speakers and making a number of changes, we are proud to present the schedule to a wider audience.

YAPC::Europe 2011 "Modern Perl" Schedule is publicly available: Monday 15th, Tuesday 16th and Wednesday 17th of August are full of Perl talks.

This year we easily filled four talk tracks for the whole three days of YAPC. The first day even contains five. All the talks start at 10 a.m., and together with the fact that Riga Old Town is small enough, it would be quite convenient for many of us to show up at the conference a bit before 10 in the morning.

The first two days will be opened with the keynotes given by Larry Wall and Damian Conway. The names say everything.

Exploratory one-liners with less typing

Here's one for the "stupid shell tricks" category:

I made myself a shell alias today to simplify the times when i want a quick view of how something works in perl:

alias perl1='perl -MData::Dumper -MYAML::Any -MClass::Autouse=:superloader -E "sub D(\$){ say Dumper(shift) } sub Y(\$){ say Dump(shift) }"'

I'm not quite sure about the name, and I may add more helper functions, but a handy alias like this one allows me to type this at the shell:

perl1 -E 'D [File::Spec->path]'

Instead of

perl -MData::Dumper -MFile::Spec -E 'say Dumper( [File::Spec->path] )'

I don't have to type out -MData::Dumper and I can use D instead of say Dumper()

Plus, thanks to Class::Autouse and it's :superloader import tag I don't have to type out Module::Name ("File::Spec" for example) multiple times just to get a quick glance at it's output.

I haven't decided yet if I want to just append " -E" to the alias. That might get in the way if I want the "-n" or "-p" flags or multiple -E's or something...

Anyway... thought that was handy; Thought I'd share.

Syntax highlight your SQL HEREDOCs in VIM

I got tired of seeing my SQL in big, ugly grey walls of text in my Perl code, so I wanted to syntax highlight them. Of course, since I'm working with a large code base which has evolved over many years, it's simply not possible (or desirable) for me to rip these out and replace them with SQL::Abstract or something else (as has already been suggested) lest I spend a few weeks not developing features and hoping I didn't introduce bugs.

Fortunately, vim allows you to be rather flexible about this.

A good reason not to version submodules.

Probably you do not agree with my point of view, but I think that adding version numbers to sub-modules is, most of the times, counter-productive.

Explaining what I mean by adding version numbers to sub-modules. If I have a module, named Foo::Bar that ships with Foo::Bar::Helper, probably I don't want to add a version to Helper module.

Or if you do, be sure to keep or increment it on every release you do.

Why this matters? Well, it matters to the people who use cpan and the r command to check for outdated modules:

CHI::Driver::Role::HasSubcaches     undef      0.45  JSWARTZ/CHI-0.45.tar.gz
CHI::Serializer::JSON         undef      0.43  JSWARTZ/CHI-0.43.tar.gz
CHI::Test::Class              undef      0.39  JSWARTZ/CHI-0.39.tar.gz
Mason::DynamicFilter           undef      2.06  JSWARTZ/Mason-2.06.tar.gz
Mason::Plugin::Defer::Filters     undef      2.01  JSWARTZ/Mason-2.01.tar.gz

How to use Devel::Cover

Very basic introduction with example about how to use Devel::Cover to improve your tests.

Read the article.

The difference between distros, modules, and programs; and how that affects indexing

Programs, modules, and distributions are different things, but we are often loose with the language. In CPANizing Behavior and Democratizing Publishing, chromatic conflates two issues that are really only loosely connected: making modules and releasing code as a Perl distribution.

Distributions are merely the unit of things we give away. A Perl distribution has a conventional structure, and usually contains modules. However, there's no requirement that it contain any modules. It doesn't even have to contain Perl code. It's quite easy to distribute a non-module Perl program in a Perl distribution. The major installers handle it just fine. You can even extend the installers right from the distribution, doing almost anything you wanted.

Cognitive tasks and Dual N Back

A few days back I stumbled on this blog post about increasing your intelligence and the Dual N Back task

I had a dot cloud invite that I had not used and I wanted to learn some HTML5 and looking around there did not seem to be a N-back version in HTML5 (most of them use flash) so I created a web app Bodhi . The intent is that this app works on the browser as well as mobile devices ( at least iPad). This is the initial version and I am looking for some feedback on improving this or adding some more tasks.

I am pretty impressed with the dot cloud infrastructure, it's easy to get started and deploying is simple.

Being a Dancer

For some time now, I am a Dancer contributor. It all started in the last Christmas (everything in the Perl community start or end at Christmas time), with Dancer Advent Calendar.

Getting a little behind... I tried to learn to use Catalyst some time ago, reading a Packt Publishing book and found at that time that the book was already outdated. Unfortunately that is standard in Technology, and the books that keep up to date for some time are the ones that focus the foundations of computer science, and not the technology itself. It didn't work. Probably I was not tuned to the MVC model, or I didn't have a concrete project where to test Catalyst.

Padre 0.86 has been released

After a long 3 months or so, Padre 0.86 has been rolled up and released into the wild.

0.86 comes with a warning that there are still some lumps to be smoothed out, but with that it also comes with a newer version of Scintilla which means better support of Perl.

Thanks to the efforts of Ahmad Zawawi and Mark Dootson, who you often see in the Perl Wx mailing list, this version of Padre now supports an updated version of the Scintilla text editor/control. You can enable the new Scintilla by setting the feature_wx_scintilla configuration parameter in Padre's Tools / Preferences / Advanced dialog.

Promoting CPAN Testers

A week of Damianic possession

The process of organizing my summer speaking tours is often NP-complete, with too many possible events competing to fit into too few available timeslots.

So it's a refreshing change, this year, to find myself with an entire unused week, during which I definitely need to be in Europe, but could be anywhere in Europe. The week in question is August 7-11 (i.e. the week immediately before YAPC::EU).

Normally I would just arrive at the conference venue a week early, lock myself in my hotel room, and hack for 168 hours straight...but this year I thought I might try something different. So I'm putting out an invitation to the entire European Perl community: make use of me for a week!

The idea is simple: anybody anywhere in Europe is welcome to contact me with a suggestion/proposal for occupying my time from August 7 to August 11.

Resuming Maintenance of XML-LibXML

For a long while, work on the XML-LibXML CPAN module halted as the existing maintainer was busy. After a discussion on the Perl-in-XML mailing list, some people and I were given co-maintainer status and we resumed its maintenance inside a Bitbucket.org Mercurial repository.

So far what I did, was fix some low-hanging fruit bugs, apply some patches, as well as start the long process of converting the test suite, which still uses Test.pm to Test::More . There are still many bugs lurking there, and some of them are XS bugs that are still beyond my reach, and I could use some assistance there. But it's a start.

If you're interested in helping, the clone the repository, write a patch and send me a pull request.

Text::Table Update: I've written about resuming the maintenance of Text::Table in April, and it progressed nicely: the tests were converted to Test::More, a lot of the code was cleaned up, the build system was converted to Module::Build, and keywords and resource URLs were defined, and some bugs were solved (along with tests). I'm still looking into ways to clean up the code, and if anyone has an idea for a cool feature, then they should drop me a line (or provide a patch).

Perl 5.12.4 is now available

You cannot eat breakfast all day,
Nor is it the act of a sinner,
When breakfast is taken away,
To turn his attention to dinner;
And it's not in the range of belief,
To look upon him as a glutton,
Who, when he is tired of beef,
Determines to tackle the mutton.
Ah! But this I am willing to say,
If it will appease her sorrow,
I'll marry this lady today,
And I'll marry the other tomorrow!

-- William Schwenck Gilbert, "Trial By Jury"

It gives me great pleasure to announce Perl 5.12.4, the fifth stable release of Perl 5.12.

You can download Perl 5.12.4 from your favourite CPAN mirror or from:

http://search.cpan.org/dist/perl-5.12.4/

SHA1 digests for this release are:

68ff2f4a0901d1e4ea263f452001db0563d2edb3 perl-5.12.4.tar.bz2
b64a5d1fefe6db9c4144b4adba2c360afa9c29ea perl-5.12.4.tar.gz

This release contains bug fixes, build fixes and documentation updates. It should be fully backward compatible with Perl 5.12.3.

CPAN Testers Wiki & Blog Updates

Following a couple of issues raised recently, I have updated the CPAN Testers Wiki and the CPAN Testers Blog sites.

Primarily the updates for the Wiki site concentrated on user management, and the ability to register as a new user. There is still a problem with sending UTF8 mail, but mail itself should be working for anyone who has forgotten their password. The most obvious change though is that we have now changed to use Gravatars for the images used in user profiles. This falls in line with many other Perl & CPAN sites, which have standardised on using the Gravatar service.

For the Blog site, although user management has been improved, the updates were mostly for image management. For regular readers, its unlikely you will notice much change, but pages should render a little quicker now.

Get a job

I've started maintaining a list of interesting-looking jobs. You'll find mostly perl jobs here (with a pinch of ruby, python, and maybe even php). The jobs will tend to be telecommute, PDX, or "we will relocate you" jobs.

http://wickline.org/jobs.html

Transferring a Ticket to YAPC::Europe::2011

I originally planned to attend YAPC::Europe::2011 in Riga, Latvia (on 15-17 August, 2011), and so bought an early bird ticket, but will no longer be able to attend due to personal reasons. As a result, I'm now seaking to transfer the ticket to someone else, for the right price (which will be cheaper than what I bought it.).

If you are interested, please contact me and we will negotiate a price. I hope everybody enjoys the YAPCs.

Damian Conway Trainings in Switzerland

I am helping to organize a series of Courses with Damian Conway in late August. The Courses will be held at the Swiss Federal Institute of Technology (ETH) in Zurich Switzerland. As we are choosing the topics we are looking for input as to what people are interested in. If you are in the region and are thinking about participating, have a look at our toppics selection page.

If many people attend from abroad, we may be able to strike a bulk deal with some local hotel. I will post again as soon the program is finalized. Then I will also have information about the prices. The more people attend, the lower …

Update: The dates are 2011-08-22 to 2011-08-30.

About blogs.perl.org

blogs.perl.org is a common blogging platform for the Perl community. Written in Perl with a graphic design donated by Six Apart, Ltd.