Gabor Szabo Perl trainer and developer
http://szabgab.com
Gabor Szabo about programming in Perl, automated testing, dynamic languages and everyting elseen-usCopyright 2002-2012, Gabor Szaboszabgab@gmail.com1901-01-01T00:00+00:001hourlyDWIM Perl 5.14 for Windows (v7) released
http://szabgab.com/dwimperl-for-windows-v7.html
Installing CPAN modules is time consuming. Having a Perl distribution that contains every
CPAN module you'll ever need can save you lots of hours. Having that on the laterst
Perl 5.14.2 is even better.
<p>For the full article visit <a href="http://szabgab.com/dwimperl-for-windows-v7.html">DWIM Perl 5.14 for Windows (v7) released</a></p>
Gabor Szabo2012-02-12T12:06:01+00:00Perl, Windows, Padre, MooseAnnouncing DWIM Perl for Windows
http://szabgab.com/dwimperl-for-windows-v6.html
Installing CPAN modules is time consuming. Having a Perl distribution that contains every
CPAN module you'll ever need can save you lots of hours. It can also help in making sure
you always get working versions of the CPAN modules. Even if they are not the absolute latest.
That's the idea behind DWIM Perl.
<p>For the full article visit <a href="http://szabgab.com/dwimperl-for-windows-v6.html">Announcing DWIM Perl for Windows</a></p>
Gabor Szabo2012-02-06T16:44:00+00:00Perl, Windows, Padre, MoosePerl Editor
http://szabgab.com/perl-editor.html
<p>
Perl scripts or Perl programs are just simple text files.
You can use any kind of text editor to create them but you should
not use any word processor. Let me suggest a couple of editors.
</p>
<p>
This is part of the <a href="http://szabgab.com/perl_tutorial.html">Perl tutorial</a> series.
</p>
<p>
<h2>Editor or IDE?</h2>
</p>
<p>
For Perl development you can either use a plain text editor or an
<b>Integrated Development Environment</b>, also called IDE.
</p>
<p>
First I'll describe the editors on the major platforms you might use,
and then the IDEs which are usually platform independent.
</p>
<p>
<h2>Unix / Linux</h2>
</p>
<p>
If you are working on Linux or Unix, then the most common editors used there are
<a href="http://www.vim.org/">Vim</a> and
<a href="http://www.gnu.org/software/emacs/">Emacs</a>.
They have very different philosophy, both from
each other, and from most of the editors out there.
</p>
<p>
If you are familiar with either one of those, I'd recommend using them.
</p>
<p>
For each one of them there are special extensions or modes to provide better support for Perl
but even without those they are very good for Perl development.
</p>
<p>
If you are not familiar with those editors, then I'd probably recommend
you separate your Perl learning curve from your editor learning experience.
</p>
<p>
Both of those editors are very powerful but take a long time to master.
</p>
<p>
It is probably better to focus on your Perl studies now and only later to learn one
of these editors.
</p>
<p>
Both <b>Emacs</b> and <b>Vim</b> are available for all the other major operating systems.
</p>
<p>
<h2>Perl editors for Windows</h2>
</p>
<p>
On Windows, many people are using the so-called "programmer's editors".
</p>
<p>
<ul>
<li><a href="http://www.ultraedit.com/">Ultra Edit</a> is a commercial editor.<li>
<li><a href="http://www.textpad.com/">TextPad</a> is shareware.</li>
<li><a href="http://notepad-plus-plus.org/">Notepad++</a> is an open source and free editor.</li>
</ul>
</p>
<p>
I have been using <b>Notepad++</b> a lot and I keep it installed on my Windows machine
as it can be very useful.
</p>
<p>
<h2>Mac OSX</h2>
</p>
<p>
I don't have a Mac but according to popular vote,
<a href="http://macromates.com/">TextMate</a> is the most often used Mac
specific editor for Perl development.
</p>
<p>
<h2>Perl IDEs</h2>
</p>
<p>
Neither of the above are IDEs, that is, neither of them provide
real, built-in debugger for Perl. They also don't provide language specific help.
</p>
<p>
<a href="http://www.activestate.com/">Komodo</a> from ActiveState costs a few hundreds of USD.
It has a free version with limited capabilities.
</p>
<p>
People who are already <a href="http://www.eclipse.org/">Eclipse</a> users might want to know
that there is a Perl plug-in for Eclipse called EPIC.
</p>
<p>
<h2>Padre, the Perl IDE</h2>
</p>
<p>
In July 2008 I started to write an <b>IDE for Perl in Perl</b>. I called in Padre -
Perl Application Development and Refactoring Environment or
<a href="http://padre.perlide.org/">Padre, the Perl IDE</a>.
</p>
<p>
Many people joined the project. It is distributed by the major Linux distributions
and it can also be installed from CPAN. See the
<a href="http://padre.perlide.org/download.html">download</a> page for details.
</p>
<p>
In some aspects it is still not as strong as Eclipse or Komodo but in some other,
Perl specific areas it is already better than the other two.
</p>
<p>
Moreover, it is very actively developed.
So if you are looking for a <b>Perl editor</b> I'd recommend to give it a try.
</p>
<p>
<h2>The big Perl editor poll</h2>
</p>
<p>
In October 2009 I ran a poll and asked
<a href="http://perlide.org/poll200910/">Which editor(s) or IDE(s) are you using for Perl development?</a>
</p>
<p>
Now you can go with the crowd, against the crowd or you can pick an <b>perl editor</b> that fits you.
</p>
<p>
<h2>Exercise</h2>
</p>
<p>
I don't know what exercise could I give you here. Just make sure you have
an editor and you are familiar with it.
</p>
<p>
Then next part in the tutorial is a small side-step to talk about <a href="http://szabgab.com/perl-on-the-command-line.html">Perl on the command line</a>.
</p>
<p>
<hr>
<h2>Perl tutorial and video course</h2>
For further articles see the <a href="http://szabgab.com/beginner-perl-maven.html">Beginner Perl Maven tutorial book and video course</a>.
<hr>
</p>
Gabor Szabo2011-11-24T19:03:22+00:00Perl, editor, vim, emacs, Padre, Eclipse, KomodoCall for translators, transcriptors and mentors for them!
http://szabgab.com/gci-call-for-translators-and-transcriptors.html
The GCI - Google Code-In - has started 2 days ago.
<a href="http://www.perlfoundation.org/">The Perl Foundation</a> participates
through the heroic work
Florian Ragwitz (rafl), Paul Johnson ( pjcj ) and Mark Keating ( mdk )
The dead-line for the first round was extended to 27 November 2011.
In the 2 days since it started, I think I saw what is missing.
I'd like to ask for your help.
<p>For the full article visit <a href="http://szabgab.com/gci-call-for-translators-and-transcriptors.html">Call for translators, transcriptors and mentors for them!</a></p>
Gabor Szabo2011-11-23T14:36:45+00:00Perl, GCI, Google, translation, transcription, screencast, Moose, PadreHow to prepare a surprise birthday party
http://szabgab.com/how-to-prepare-a-surprise-birthday-party.html
<p>
I woke up way too early today and sat down in the living room opening my netbook
and opening <a href="http://padre.perlide.org/">Padre</a>. I was surprised to
see a pop-up telling me it is the birthday of Padre and inviting me to
<a href="http://padre.perlide.org/irc.html?channel=padre">join the developers on the IRC channel</a>.
</p>
<p>
That was great.
</p>
<p>
I did not remember when Adam Kennedy added it. Apparently he has
<a href="http://irclog.perlgeek.de/padre/2011-07-20#i_4140097">forgotten</a> as well.
</p>
<p>
Apparently it started when a (or the?)
<a href="http://irclog.perlgeek.de/padre/2011-07-19#i_4138344">spacechicken</a> joined the IRC channel
but it has been <a href="http://irclog.perlgeek.de/padre/2011-07-20">going on</a> since then.
Lots of people came by. Said hi. Said Happy Birthday. Thanked the developers for building Padre.
Told us how much they like the project.
</p>
<p>
It's awesome good feeling.
</p>
<p>
<b>Thank you all</b> and special thanks to
<a href="http://ali.as/">Adam Kennedy</a> for setting up the surprise party!
</p>
Gabor Szabo2011-07-20T21:42:06+00:00Perl, Padre, partyThe Social Padre: Facebook like button
http://szabgab.com/the-social-padre-facebook-like-button.html
<p>
After adding a <a href="http://szabgab.com/the-social-padre-google-plus.html">Google +1 button</a> to the <a href="http://padre.perlide.org/">Padre</a>
website now I also added the Facebook like button. So far Google leads 54:32 but Facebook has
the advantage of showing the faces of my friends who liked it. I think it has a very
powerful effect to see that people I know already trust or like something.
</p>
<p>
OTOH among geeks the both Facebook, Google+ and the whole "social networking" thing might be
seen as something negative. Certainly I see some people pretending they don't care.
It must be some kind of a geek-cool thing. I was left out. Again. :-(
</p>
<p>
Facebook has a <a href="https://developers.facebook.com/tools/lint/>lint</a> tool that will do
some analysis to your web page and then provide the HTML code to be be embedded in order to
get the <b>like</b> button. I checked
<a href="https://developers.facebook.com/tools/lint/?url=http%3A%2F%2Fperl.org%2F">perl.org</a>
and there are 267 people who liked it. Even though AFAIK it does not have a like button on the
web site itself.
</p>
<p>
Anyway, if you think Padre is an important project for Perl, even if you personally don't use it
and if you are either a Facebook user or a Google+ user then it is now only two clicks away to
give a little bit of endorsement to <a href="http://padre.perlide.org/">Padre</a>.
</p>
Gabor Szabo2011-07-14T17:32:37+00:00Perl, Padre, FacebookThe Social Padre: Google+
http://szabgab.com/the-social-padre-google-plus.html
<p>
As <a href="http://szabgab.com/creating-a-successful-open-source-project.html">promised</a> I am looking for new ways to reach potential users of
<a href="http://padre.perlide.org/">Padre, the Perl IDE</a>. Google introduced its new
hype called <a href="https://plus.google.com/">Google Plus</a>. I am not sure
how will it work out but as finally I could register I thought I'll give it a try.
</p>
<p>
I added a +1 button to the web pages of Padre. It was very easy after I found
<a href="http://code.google.com/apis/+1button/">the instructions</a>.
I set it so that the whole site has now one single counter.
I am not sure if this is better or having a separate counter for each page would be better.
</p>
<p>
In any case, I was surprised to see that it already had +3 when I added the button. I wonder if this
is a clever trick of Google or if the money trick in
<a href="http://www.imdb.com/title/tt0366532/">La grande séduction</a> has too much impact on me.
</p>
<p>
<h2>Blogs about Padre</h2>
</p>
<p>
There is also an <a href="http://padre.perlide.org/about.html">about page</a> on our website. There we
list every blog entry where Padre was mentioned. I wanted to add a +1 button to each individual
link. Here I chose the smallest icon possible but due to the large number of blog entries on that
page the load time got too high. So for now I restricted the buttons for this years entries only.
We might need to split up that page anyway. In the meantime let's see if people use these buttons at all.
</p>
<p>
<h2>My blog</h2>
</p>
<p>
As I already learned how to add these buttons I also added them to my blog and removed that
"social icon" I had that did not do much anyway. In this case I made the counter individual for
each post as I think this is better in case of a blog.
</p>
<p>
<h2>What do you think?</h2>
</p>
<p>
BTW If you need a Google+ invite, catch me in IRC or send me an
<a href="http://szabgab.com/contact.html">e-mail</a> and I'll try to send one to you.
</p>
Gabor Szabo2011-07-12T19:41:46+00:00Perl, Google, PadreThree new screencasts and a little bit of statistics
http://szabgab.com/three-new-screencasts-and-a-little-bit-of-statistics.html
<p>
Before I restarted my screencasts a month ago I had an average of 35 daily views.
Then in the past month it went up to an average of 115 views per day. That's mostly due
to the initial peaks when I release a new screencast. In the last week when I have not
released any new screencast it went down to an average of 80 views. I guess this
would be the long time average if I did not upload any new screencasts.
</p>
<p>
This is the chart YouTube provided for the last 3 months.
</p>
<p>
<img src="http://szabgab.com/img/youtube_chart_2011_07_10.png" alt="YouTube view chart for 3 months ending on 10 July 2011" />
</p>
<p>
On one hand these are nice numbers but they are quite far from what the
viewer counts of <a href="http://www.youtube.com/user/elmexable">elmexable</a>.
There were more that 6000 viewers in 2 days of his first
<a href="http://www.youtube.com/watch?v=qd95SrdNkgE">Construder</a> video.
You know, the 3D game he wrote in Perl.
</p>
<p>
Then there was the first <a href="http://mojocasts.com/">Mojocast</a> it seems it managed to generate
a lot more buzz than any of my screencasts. He got lost of positive
comments even from Ruby programmers!
Congratulations to <a href="http://blogs.perl.org/users/tempire/">Glen Hinkle</a>.
</p>
<p>
The 3 screencasts I made are all Padre related and they are part of my experiment
to create a set of video based tutorials on how to use the editor.
I even created a new page for all the Padre related
<a href="http://padre.perlide.org/screencasts.html">screencasts</a>.
</p>
<p>
I was think how someone might learn to use a new tool so
I approaching this from 2 or maybe 3 directions:
</p>
<p>
<ul>
<li>Going over every (important) menu item.</li>
<li>Looking at specific features and their configuration.</li>
<li>Trying to accomplish specific task that might involve several features.</li>
</ul>
</p>
<p>
Does this make sense?
</p>
<p>
<b>How do you learn a new tool?</b>
</p>
<p>
The new videos are here:
</p>
<p>
<a href="http://www.youtube.com/watch?v=zreiHLeKf6o">The View menu of Padre</a>
including Syntax checking, Outline, List of Functions, Project browser and more.
</p>
<p>
<a href="http://www.youtube.com/watch?v=eCpxUA1vIuM">The File menu of Padre</a>
mostly basic stuff but also including example and default Perl files and sessions.
</p>
<p>
<a href="http://www.youtube.com/watch?v=ptN63wSVK9w">Autocompletition in Padre</a>
has several options. This video explores those options.
</p>
<p>
<h2>Enjoy!</h2>
</p>
Gabor Szabo2011-07-11T04:22:38+00:00Perl, Padre, screencast, statisticsI need a name for a Perl distribution
http://szabgab.com/i-need-a-name-for-a-perl-distribution.html
<p>
In the past 2 months I released several versions of a <b>Perl super package</b> that included most of
the Modern and Enlightened parts of Perl and lots of other modules. I tried to give it all kinds of names
but none of them is really good.
</p>
<p>
It is currently called <b>Padre on Strawberry Perl</b> but in reality it should not have neither
Padre nor Strawberry in it. Padre is just one tool in it and while it is built on top of Strawberry
it would be better to avoid any confusion.
</p>
<p>
(Besides, while it is currently Windows only, I'll try to build something similar for Linux and Mac as well).
</p>
<p>
I saw recent suggestions by <a href="http://www.mechanicalrevolution.com/">Peter Shangov</a> on
<a href="http://www.mechanicalrevolution.com/blog/perl_names_and_world_domination.html">Perl, Names and World Domination</a>
but he probably have not seen this project. BTW I think he is describing about the same thing that
<b>Strawberry Professional</b> will be. (The thing that was once had the code name <b>Chocolate Perl</b>).
Tempire suggested <a href="http://blogs.perl.org/users/tempire/2011/06/perl-numbrenclature-support.html">Raptor</a>
for that package Peter was thinking about but that's not my pet.
</p>
<p>
<b>So I am looking for a name.</b>
</p>
<p>
The plan is to create a package that will include <b>everything</b>
one would normally need to build an application. One that would also include applications.
</p>
<p>
I sent out a call to the <a href="http://wxperl.sourceforge.net/">wxPerl</a> list for people to build useful GUI applications to be included in this distribution.
</p>
<p>
I talked to the <a href="http://sdl.perl.org/">SDL</a> people that I'd like to include more games.
</p>
<p>
I started to look around for web applications that could be bundled.
</p>
<p>
<b>So I am looking for a name.</b>
</p>
<p>
Any suggestions?
</p>
Gabor Szabo2011-07-07T22:21:23+00:00Perl, Padre, Strawberry, distributionCreating a successful open source project
http://szabgab.com/creating-a-successful-open-source-project.html
<p>
People write and contribute to open source for various reasons. My main reason
to start writing an <a href="http://padre.perlide.org/">IDE for Perl</a> was to help people:
Both beginners and people
who don't know much Perl or who need to maintain large or just old projects.
I'll use it as an example to go over the various aspects of making a project successful.
</p>
<p>
For me it is important that the product will be used by many people and that
it will make them happier. For me, in the context of Padre, that's success.
</p>
<p>
That means it is not enough to just write the code. It is also important to make
sure people who could benefit from it can find it and use it. So I need to look at
it in a way somewhat similar to how a company looks at a product.
I pulled out my marketing book from my university studies.
Surprisingly it looked unfamiliar. Then I remembered
I got 60 on my marketing exam. The lowest mark that still let me earn my degree.
</p>
<p>
I recall something called the <b>the 4 P-s</b>. (<b>Product, Price, Place, Promotion</b>).
I looked it up and it can be
found on Wikipedia under the title
<a href="http://en.wikipedia.org/wiki/Marketing_mix">Marketing mix</a>. I'll go over
the items as they are related to the <a href="http://padre.perlide.org/">Padre</a> project.
</p>
<p>
<h2>Product</h2>
</p>
<p>
AFAIK most of the open source projects focus on this part only.
</p>
<p>
We have built the product. It is quite good already. Sure there are areas of improvement
and there are even important areas that need a lot of work. In general the product is quite good.
Thanks to the 50+ people who were involved in the project.
</p>
<p>
We will certainly need to make further adjustments and we will need to invest a
lot more energy in the development but the most important of the Marketing mix
we have done. We have a good product.
</p>
<p>
Of course I know it does not fit everyone. I know for example that people
using vi or emacs will have a hard time to adjust to the more Windows-like editor.
I also know there are many people for whom Padre would be of great help.
</p>
<p>
<b>Installation</b>
</p>
<p>
For <b>Windows</b> it is solved now in a reasonably good way as we have a Windows installer.
</p>
<p>
For <b>Linux</b> it is partially solved as the major distributions carry a version of Padre. Unfortunately
in some cases their package is broken and naturally it always lags behind the source-code
releases of Padre. People can install the most recent version of Padre relatively easily but it
still requires spending some time.
</p>
<p>
On <b>Mac</b> the situation is quite bad as Padre can only be installed manually.
</p>
<p>
While the mostly potential users are on Windows, these issued need to be addressed on
Linux and Mac as many of the vocal people are using those platforms.
</p>
<p>
<b>Tutorials and documentation</b>
</p>
<p>
A couple of months ago we started to collect a list of all the
<a href="http://padre.perlide.org/trac/wiki/Features">features of Padre</a>
and started to describe them on our wiki. This work needs to be continued and
presented in a better way.
</p>
<p>
I have made a few screencasts showing features of Padre. I should make a few more
describing all the features. That will also help me find out if I missed some of them :)
</p>
<p>
<h2>Price</h2>
</p>
<p>
Price is a funny thing. We don't charge anything for Padre. It is free. Both as in
<b>free beer</b> and as in <b>free speech</b>.
I am just not sure if it is always a good thing? I know many people, especially in the corporate
environment, who would value it more if it cost them money.
Anyway. We have a price and it is 0 USD.
</p>
<p>
There is however another <b>cost factor</b> besides the actual purchase price.
</p>
<p>
It is the time the customer needs to spend with installation, learning to use the product
and on maintenance. In many open source projects this is higher than in their
shrink-wrapped proprietary counterpart. For Padre this boils down to ease of installation,
tutorials and good documentation.
</p>
<p>
<h2>Place</h2>
</p>
<p>
Traditionally this referred to the location of the store to make it convenient
for the customers to visit and buy the product. In a supermarket setting this referred
to the location of the product on the shelves. Who can put its sweets next to the counter
where people are waiting with small kids?
</p>
<p>
On the Internet the physical location is not relevant but it is very
important to make sure it is easy for the customer to find the product and
it is convenient to purchase / download and install it.
(In our case purchase is irrelevant.) Download and install was already mentioned
under product.
</p>
<p>
So what remains is to make it easy for the potential users to find Padre. That brings us to
the last of the 4 P-s:
</p>
<p>
<h2>Promotion</h2>
</p>
<p>
We would like to make sure people who are learning Perl will see Padre very early.
</p>
<p>
That means we have to make sure Padre is <b>featured on <a href="http://learn.perl.org/">learn.perl.org</a></b>
and maybe also on <a href="http://www.perl.org/">www.perl.org</a>. For that we need to make
sure it's worth the attention of the maintainers of those sites.
</p>
<p>
People who learn Perl will look for a tutorial. So we should build a <b>free tutorial for
learning modern Perl</b>. I already started it using both screencasts and blog posts.
(see <a href="http://szabgab.com/modern-perl-5-tutorial-part-01.html">Install Perl, print Hello World, Safety net (use strict, use warnings)</a>) This needs to be expanded and made it good enough to be
features on the main page of learn.perl.org.
</p>
<p>
In addition we will need to find other channels where people - not yet familiar with
the Perl community - are looking for information about Perl. That's a much longer job
and it will include using various social networks.
</p>
<p>
Lastly, many people get recommendations from friends who are already experts in Perl.
Previous <a href="http://perlide.org/poll200910/">polls</a> and surveys showed
that a large part of the Perl community is using vi or emacs. I know they won't switch
to use Padre but at least some of those understand that for many people vim and emacs
are not the best choices. Especially when they are learning. (You don't want people to
be distracted by the editor while they are learning Perl, do you?)
Some of the hard core vim users told me:
</p>
<p>
<b>Probably I won't use Padre but I see its value and I'll recommend it to others.</b>
</p>
<p>
That's the message I would like to see echoed in the Perl community.
</p>
<p>
<h2>Conclusion</h2>
</p>
<p>
So there are a number of things to do. They are quite interconnected.
Luckily while I enjoy coding Padre I also enjoy the promotional activities
such as creating screencasts.
</p>
Gabor Szabo2011-07-06T22:17:42+00:00Perl, Padre, open source, project, promotion, marketing