Association Subscribers Manager and Open source stuffs - Tag - slackget10Association Subscribers Manager & slack-get new official website and Infinity Perl blog. Here we discuss about Qt (Qt3 and Qt4), C++, Perl (lot of Perl !), Slackware Linux, KDE and more generally Open Source stuffs.2011-11-12T01:54:02+01:00Arnaud DUPUISurn:md5:10245Dotclearslack-get perl module change its name !urn:md5:08e8ef2b533e7dcf2731bb864afe7d362007-12-03T07:32:00+01:00Arnaud DupuisPerl modulesdevelopmentModulePerlslack-getslackget10Slackware::Slackget Hi,<br />
Like I <a href="http://sourceforge.net/mailarchive/forum.php?thread_name=200711302206.44149.a.dupuis%40infinityperl.org&forum_name=slack-get-10-devel">
announced on the developers' mailing list</a>, the slackget10 was about to die.
It's now done. The PAUSE (Perl Authors Upload SErver) admins sent me an email
confirming the creation of the Slackware::Slackget registered namespace on
<a href="https://pause.perl.org">PAUSE</a>/<a href="http://www.cpan.org">CPAN.</a><br />
I will modify all the library to fit the new namespace and release the changes
as soon as possible.<br />
One more thing : I created a new branch on the <a href="http://slack-get-10.svn.sourceforge.net/viewvc/slack-get-10/">SVN</a> for the
GUI tests <img src="/themes/default/smilies/wink.png" alt=";-)" class="smiley" /><br />
<br />
Cya,<br />
<br />
Arnaud Dupuis<br />http://www.infinityperl.org/post/2007/12/03/slack-get-perl-module-change-its-name#comment-formhttp://www.infinityperl.org/feed/atom/comments/181361New Network backend mechanismurn:md5:0f5fad7924e0bfc2988e8cf6b7ae63042007-11-27T21:32:00+01:00Arnaud Dupuisslack-getdevelopmentPerlslack-getslackget10Today I implemented the new slackget10::Network mechanism I wanted to. What is
it you ask ?<br />
Clearly something which will help everything to be super-easy to improve. As
you may know (or not) the slackget10::Network Perl Module has been completely
redesigned and will be largely recoded.<br />
The changes are quite important and the API is completely new. It's now a front
end module (like slackget10::Network::Connection is) and it aim at providing a
unified interface for all kind of "protocol" implementation.<br />
The idea is to answer the question : "what are you doing with an incoming
network packet ?". The answer is simple : you decode it, you interpret it, you
build the answer and you encode the answer before sending it. Hi,<br />
Today I implemented the new slackget10::Network mechanism I wanted to. What is
it you ask ?<br />
Clearly something which will help everything to be super-easy to improve. As
you may know (or not) the slackget10::Network Perl Module has been completely
redesigned and will be largely recoded.<br />
The changes are quite important and the API is completely new. It's now a front
end module (like slackget10::Network::Connection is) and it aim at providing a
unified interface for all kind of "protocol" implementation.<br />
The idea is to answer the question : "what are you doing with an incoming
network packet ?". The answer is simple : you decode it, you interpret it, you
build the answer and you encode the answer before sending it.<br />
Very well ! the new API behave exactly like that and you can test it with the
last SVN revision of slack-get trunk (83) and the following code :<br />
<pre>
<span style="font-weight: bold; color: rgb(0, 0, 0);">#!/usr/bin/perl</span><br />
<span style="font-weight: bold; color: rgb(0, 0, 0);">use</span><span style="font-weight: bold; color: rgb(0, 0, 0);">strict</span><span style="color: rgb(0, 0, 0);">;</span><br />
<span style="font-weight: bold; color: rgb(0, 0, 0);">use</span><span style="font-weight: bold; color: rgb(0, 0, 0);">warnings</span><span style="color: rgb(0, 0, 0);">;</span><br />
<span style="font-weight: bold; color: rgb(0, 0, 0);">use</span><span style="color: rgb(0, 0, 128);">slackget10::Network</span><span style="color: rgb(0, 0, 0);">;</span><br />
<span style="font-weight: bold; color: rgb(0, 0, 0);">my</span><span style="color: rgb(128, 0, 0);">$net</span><span style="color: rgb(0, 0, 0);"> = new </span><span style="color: rgb(0, 0, 128);">slackget10::Network</span><span style="color: rgb(0, 0, 0);"> ;</span><br />
<span style="font-weight: bold; color: rgb(0, 0, 0);">my</span><span style="color: rgb(128, 0, 0);">$message</span><span style="color: rgb(0, 0, 0);"> = </span><span style="color: rgb(128, 0, 0);">$net</span><span style="color: rgb(0, 0, 0);">-></span><span style="color: rgb(128, 0, 0);">decode</span><span style="color: rgb(0, 0, 0);">(</span><span style="font-weight: bold; color: rgb(0, 128, 0);">'</span><span style="color: rgb(255, 108, 108);"><?xml version="1.0" ?></span><span style="font-weight: bold; color: rgb(0, 128, 0);">'</span><span style="color: rgb(0, 0, 0);">.</span><br />
<span style="font-weight: bold; color: rgb(0, 128, 0);">'</span><span style="color: rgb(255, 108, 108);"><SlackGetProtocol version="1.0"></span><span style="font-weight: bold; color: rgb(0, 128, 0);">'</span><span style="color: rgb(0, 0, 0);">.</span><br />
<span style="font-weight: bold; color: rgb(0, 128, 0);">'</span><span style="color: rgb(255, 108, 108);"> <Enveloppe></span><span style="font-weight: bold; color: rgb(0, 128, 0);">'</span><span style="color: rgb(0, 0, 0);">.</span><br />
<span style="font-weight: bold; color: rgb(0, 128, 0);">'</span><span style="color: rgb(255, 108, 108);"> <Action id="123456">get_connection_id</Action></span><span style="font-weight: bold; color: rgb(0, 128, 0);">'</span><span style="color: rgb(0, 0, 0);">.</span><br />
<span style="font-weight: bold; color: rgb(0, 128, 0);">'</span><span style="color: rgb(255, 108, 108);"> </Enveloppe></span><span style="font-weight: bold; color: rgb(0, 128, 0);">'</span><span style="color: rgb(0, 0, 0);">.</span><br />
<span style="font-weight: bold; color: rgb(0, 128, 0);">'</span><span style="color: rgb(255, 108, 108);"></SlackGetProtocol></span><span style="font-weight: bold; color: rgb(0, 128, 0);">'</span><span style="color: rgb(0, 0, 0);">);</span><br />
<span style="color: rgb(0, 0, 128);">print</span><span style="color: rgb(128, 0, 0);">$net</span><span style="color: rgb(0, 0, 0);">-></span><span style="color: rgb(128, 0, 0);">encode</span><span style="color: rgb(0, 0, 0);">(</span><span style="color: rgb(128, 0, 0);">$message</span><span style="color: rgb(0, 0, 0);">), </span><span style="font-weight: bold; color: rgb(0, 128, 0);">"</span><span style="color: rgb(255, 0, 255);">\n</span><span style="font-weight: bold; color: rgb(0, 128, 0);">"</span><span style="color: rgb(0, 0, 0);">;</span>
</pre>
I think it's quite a natural of of doing things. Of course, the sg10::Network
class provide the interpret() method !<br />
And to actually do the encoding and decoding part it rely on
slackget10::Network::Backend::* class.<br />
I already coded the slackget10::Network::Backend::XML backend and do not plan
on coding other backends until I have decided how to implements secure
connections.<br />
I will work on tutorials/howto which will describes how to code network
backends and add the support for new protocol for the
slackget10::Network::Connection class.<br />
<br />
See ya !<br />
<br />
Arnaud Dupuis<br />http://www.infinityperl.org/post/2007/11/27/New-Network-backend-mechanism#comment-formhttp://www.infinityperl.org/feed/atom/comments/179673New slackget10 Perl Module release - version 0.11urn:md5:71253ac783d72b3fe4f2afbc24937a972007-11-11T21:21:00+01:00Arnaud DupuisPerl modulesdevelopmentModulePerlslack-getslackget10 <p>Hi,</p>
Well.. I changed so much slackget10::Network::Connection* modules that I made a
release of the whole module on CPAN !<br />
This release features :<br />
<ul>
<li><strong>Dynamic driver loading</strong>. As explained in another post I
made the driver loading code completly dynamic. From now on, you just have a
slackget10::Network::Connection::<PROTOCOL>.pm module to add support for
<protocol>:// protocol to slackget10::Network::Connection.pm.</li>
<li><strong>New slackget10::Network::Connection API</strong>. Loads of things
have changed in the API of this class. First it's now event driven and it means
you have to pass a InlineStates => {} parameter to the constructor. Then the
old construction behavior (with only one parameter) is now deprecated and
unsupported. Please have a look at the <a hreflang="en" href="http://search.cpan.org/perldoc?slackget10::Network::Connection">documentation</a>
for more information about this.</li>
<li><strong>New slackget10::Network::Connection::*.pm API</strong>. It's now
way easier to create a protocol driver ! You just have to create a module with
the 3 followings methods defined inside : __test_server(), __get_file(),
__fetch_file(). They'll be called by slackget10::Network::Connection.pm wich
will take care of everything (like event throwing).</li>
</ul>
This class is now fully usable out of the box in other programs than just
slack-get, and that was one of the goal of the slackget10 module !<br />
I'll made a HOWTO on the <a href="http://slack-get-10.wiki.sourceforge.net/">wiki</a> to explain how to create a
driver.<br />
<br />
Good day<br />
<br />
Arnaud Dupuis<br />http://www.infinityperl.org/post/2007/11/11/New-slackget10-Perl-Module-release-version-011#comment-formhttp://www.infinityperl.org/feed/atom/comments/174231Week end planningurn:md5:8843629657f786bdcbfbfcdcc055e9922007-11-10T15:46:00+01:00Arnaud Dupuisslack-getdevelopmentPerlslack-getslackget10 <p>Hi ,</p>
<p>I'm working a lot on slack-get this week end ! Today's morning was
concentrated on slackget10::Network::Connection modifications. I made quite a
lot of them. I made two major changes in the module architecture :</p>
<ol>
<li>I made the protocol driver's loading completly dynamic (no more static,
hardcoded hash table to track authorized protocols)</li>
<li>I changed all drivers (slackget10::Network::Connection::*) and made them
independents from the slackget10::Config. The "config" parameter is not
required anymore. In place of this option you have to give the
"download_directory".</li>
</ol>
The other thing I planned for the week end is to polish my skills with Qt4.
I'll try to make the configuration widget for the GUI this week end... even if
I can't promise anything.<br />
<br />
I also updates the <a href="http://slack-get-10.wiki.sourceforge.net/">Wiki</a>
by creating some API documentation pages.<br />
<br />
Let's keep the pace !<br />
<br />
Arnaud Dupuis<br />http://www.infinityperl.org/post/2007/11/10/Week-end-planning#comment-formhttp://www.infinityperl.org/feed/atom/comments/173910new release of the slack-get Perl Module - slackget10-0.10urn:md5:8eeed0fa1cddab6169448146c8cc2a2f2007-10-24T06:50:00+02:00Arnaud Dupuisslack-getModulePerlslack-getslackget10Slackware <p>Hi all !</p>
<br />
After doubt and interrogation, even after I though to dismiss the slack-et
project it couldn't be helped... I enjoy developing this tool !<br />
So be it. Here is the latest release of the slack-get Perl Module. Tons of
thing are new since there was a not-released version...<br />
This release main features are :<br />
<ul>
<li>loads of bugfixes (starting with the test suite)</li>
<li>removed unused modules</li>
<li>removed deprecated modules</li>
</ul>
Well a lot of things !<br />
<br />
I'm now working on the slack-get communication protocol. This protocol is full
XML based and have to be well designed to support all situation of usage.<br />
It also have to be bulletproof and highly error resistant.<br />
<br />
By the way the slack-get devel mailing list have open, please find more
information on this at <a hreflang="en" href="http://sourceforge.net/mail/?group_id=162636">Sourceforge</a> , you can also
find more informations about <a hreflang="en" href="http://sourceforge.net/svn/?group_id=162636">slack-get SVN</a> on
Sourceforge.<br />
<br />
You can find all documentation and source of the new version of slackget10 on
<a hreflang="en" href="http://search.cpan.org/%7Edupuisarn/slackget10-0.10/">CPAN</a><br />
<br />
That's all for the moment.<br />
<br />
Good day<br />
<br />
Arnaud Dupuis<br />http://www.infinityperl.org/post/2007/10/24/new-release-of-the-slack-get-Perl-Module-slackget10-010#comment-formhttp://www.infinityperl.org/feed/atom/comments/166924