Gabor Szabo Perl trainer and developer http://szabgab.com Gabor Szabo about programming in Perl, automated testing, dynamic languages and everyting else en-us Copyright 2002-2012, Gabor Szabo szabgab@gmail.com 1901-01-01T00:00+00:00 1 hourly DWIM 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 Szabo 2012-02-12T12:06:01+00:00 Perl, Windows, Padre, Moose Announcing 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 Szabo 2012-02-06T16:44:00+00:00 Perl, Windows, Padre, Moose Perl 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 Szabo 2011-11-24T19:03:22+00:00 Perl, editor, vim, emacs, Padre, Eclipse, Komodo Call 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 Szabo 2011-11-23T14:36:45+00:00 Perl, GCI, Google, translation, transcription, screencast, Moose, Padre How 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 Szabo 2011-07-20T21:42:06+00:00 Perl, Padre, party The 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 Szabo 2011-07-14T17:32:37+00:00 Perl, Padre, Facebook The 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 Szabo 2011-07-12T19:41:46+00:00 Perl, Google, Padre Three 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 Szabo 2011-07-11T04:22:38+00:00 Perl, Padre, screencast, statistics I 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 Szabo 2011-07-07T22:21:23+00:00 Perl, Padre, Strawberry, distribution Creating 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 Szabo 2011-07-06T22:17:42+00:00 Perl, Padre, open source, project, promotion, marketing