Roland Clobus | 2 May 2013 15:16
Face
Picon
Gravatar

[pio-develop] Proposals for easier game creation

Hello all,

Now that I've finally modified the metaserver to use the same codebase
as the rest of Pioneers (LOC went down from 1200 in 14.1 to 755
currently), other possibilities open up.

I'm thinking about sending the GameParams using the existing protocol,
because it already exists and allows for the data to be sent either
using a file or a socket.

Some possibilities (partly in chronological order):
1- The metaserver could send a complete GameParams to the client when
the client requests a game to be started. This means that the client
will (per default), among other settings, use the amount of victory
points that were determined by the designer of the board layout. (Todo
in metaserver/main.c from 2005-01-30)
2- If the client would send a complete GameParams to the metaserver for
the game to be started, the metaserver could send this to a
server-console.
3- A server-console could be started in admin mode with --admin-wait,
receive the GameParams and then even recycle its port number for the
actual game.
4- The server-console will not need a long and elaborate commandline
anymore, because feeding it with a GameParams is much easier (perhaps
also using a pipe)
5- The server-console will also not need an elaborate admin-interface
anymore.
6- The functionality in server-gtk could even be split, such that the
server-gtk is only a graphical frontend to server-console (Debian
Feature Request #359859)
(Continue reading)

Roland Clobus | 30 Apr 2013 17:34
Face
Picon
Gravatar

[pio-develop] Pioneers welcomes Matt Zagrabelny

Hello all,

I'm very happy to announce the addition of another developer for
Pioneers: Matt Zagrabelny

Matt Zagrabelny has sent some patches regarding the Cities and Knights
expansion in the past and is working on some more Cities and Knights
related rules.

Welcome!

Roland Clobus
------------------------------------------------------------------------------
Introducing AppDynamics Lite, a free troubleshooting tool for Java/.NET
Get 100% visibility into your production application - at no cost.
Code-level diagnostics for performance bottlenecks with <2% overhead
Download for free and get started troubleshooting in minutes.
http://p.sf.net/sfu/appdyn_d2d_ap1
_______________________________________________
Pio-develop mailing list
Pio-develop <at> lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/pio-develop
Micah Bunting | 30 Apr 2013 03:50
Picon

[pio-develop] Work flow and items I am working on.

I agree with Roland Clobus's work flow, with two exceptions.

I think waiting periods should be 7 days not 3. The reason for this is to ensure that everyone has a weekend to review patches. Currently I am working 12 hour night shifts alternating between 3 and 4 days in a row. I am hoping this will change soon.

I also think that developers should have an area they are responsible for. If a bug or feature request is submitted in one of these areas, the owner has 7 days to claim or respond to the ticket. If it is not claimed during those 7 days, the ticket is open for anyone to claim.

This system would work better if we had more active developers, but I think it will still work.

These are my suggested responsible areas based on what I've seen people worked on:

Roland Clobus
Project lead
Should not have ownership of a particular area, but the project as a whole.

Rodrigo Espiga Gómez
genetic AI ( genetic.c )

Micah Bunting
Map editor ( editor/* )
Map handling ( common/map.c common/gtk/guimap.c )

Matt Zagrabelny
City and Knights
Matt Zagrabelny, are you still working on City and Knights? How is it coming?

Do we have any other active developers?

This is the list of items I am working on in this order:

Dice deck
Adds an option to use a dice deck of 36 cards instead of random dice.
Requires only minor changes.

Editor toolbars 
- Adds toolbars in the map editor above the map. This allows for quicker and easier map modification.
- Roland Clobus send an requesting suggestions for the toolbar. ( https://sourceforge.net/mailarchive/message.php?msg_id=30468431 )
- I need to change how the toolbars work. Only one item should be selected at one time.
- There are two options for the current context menus:
a) (preferred) The context menus should be disabled only when an item in the toolbar is selected.
b) Combine both right and left click context menus into one menu and use only as right click.

Hex groups
- Map hexes can be assigned to a hex group.  On a separate tab, hex groups can be defined to have a certain amount of terrains and chits. When the server loads these maps, the hexes are randomly assigned terrain and chits based on the group's definition.
- Allows up to 5 map groups to be used.
- I need to add ability to assign map hexes to the hex groups by using the toolbar and by the context menu.

Hidden explorable tiles
- I feel this requires the hex groups patch.
- A whole hex group can be assigned as fog hexes.
- May have an option to receive a resource card when exploring.
- Can anyone create a .png file for a fog hex? I could use a white hex, but it will not look as good.

Thanks,
Micah Bunting
------------------------------------------------------------------------------
Introducing AppDynamics Lite, a free troubleshooting tool for Java/.NET
Get 100% visibility into your production application - at no cost.
Code-level diagnostics for performance bottlenecks with <2% overhead
Download for free and get started troubleshooting in minutes.
http://p.sf.net/sfu/appdyn_d2d_ap1
_______________________________________________
Pio-develop mailing list
Pio-develop <at> lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/pio-develop
Roland Clobus | 29 Apr 2013 09:41
Face
Picon
Gravatar

[pio-develop] Proposed workflow

Hello developers,

In bug 278 Micah Bunting wrote:
> I wanted to work more on it, but time was not on my side. My weekend
started just after the bug was fixed.

Let's agree on a workflow. This is the workflow that Bas Wijnen and I
used when both of us were actively working on Pioneers/Gnocatan:

When one of us wants to work on a bug/patch/feature, set the 'Owner'
field to yourself. That is a signal that the issue is claimed, and that
the other developers will not need to look into that issue. If you have
ideas, either post to the issue or mail pio-develop.

When the patch is ready, it can either be directly committed (after a
'make reindent') or it can be attached to the issue, depending on the
expected amount of comments. I think that large/complex patches can best
be attached to the issue. When I was very busy developing with Bas
Wijnen, we agreed on a three day period. After that period the patch
could be committed, before that, is was up for review. (If the review
finished earlier, the commit could be done earlier).

Bas and I also used the following:
- Developer A writes the patch
- Developer B writes the ChangeLog (using the name of developer A) and
commits.
I now think it is better to commit your own patches, it also shows up
better with 'svn praise'. :-)

Which workflow is chosen depends on personal taste and available time.
At this moment I have much time available, but that might change at any
time.

With kind regards,
Roland Clobus

------------------------------------------------------------------------------
Try New Relic Now & We'll Send You this Cool Shirt
New Relic is the only SaaS-based application performance monitoring service 
that delivers powerful full stack analytics. Optimize and monitor your
browser, app, & servers with just a few lines of code. Try New Relic
and get this awesome Nerd Life shirt! http://p.sf.net/sfu/newrelic_d2d_apr
_______________________________________________
Pio-develop mailing list
Pio-develop <at> lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/pio-develop
Roland Clobus | 24 Apr 2013 19:32
Face
Picon
Gravatar

[pio-develop] Work in progress

Hello Micah and list,

On Tue, 2013-04-16 at 20:05 +0000, Micah Bunting wrote:
https://sourceforge.net/p/pio/patches/625/
...
> I do like the idea that 2 dice cards are dealt out at the beginning of
> the game allowing a choice of the 3 dice cards to use. This would add
> more strategy into the game by adding a choice to play a high
> producing number, or a seven to have someone discard half their hand.
> I will test this out using the board game. If I like it, then I will
> work on it in a separate patch.

Ok.

> On this note, can we have two branches of the source code? This would
> allow protocol changes to be applied to the unstable branch, while the
> non protocol changes will be applied to the both the trunk and
> unstable branch. This way a patch can be created using a patch that is
> waiting for a protocol change. I know this does add more maintenance,
> because two branches will need to be maintained, but I think the
> benefits are worth it.

Micah, I've added you to the list of developers, you should have commit
rights by now. Feel free to create as many feature branches as you might
need.
I've worked offline on the turn timer patch, which requires a protocol
change too. I'll have to write a document about how the versioning in
the protocols works. It's not hard, but requires some care.

> Using a D12+1 for the flat dice option is a good idea. The robber will
> be rolled on both a 7 and 1. This will have the odds of the robber be
> 1/6, which is the same odds as the normal rules. This however removes
> high and low production hexes which I feel is an important part of the
> game, however some will like this option.
> 
> I will work on the points you brought up, but lately things have been
> quite busy. Unless a protocol change is about to take place, it will
> be lower on my list of priority.

Things I've been working on lately, that are work in progress:
- #502 Use GIO in the network.c file, instead of POSIX sockets. If that
works well, a server for Pioneers running natively on Microsoft Windows
can be built from unpatched code (Starting from 0.9.33 it was already
possible, but with external patches). The metaserver will not be
built/supported for Windows, I think that the two metaservers that are
around (pioneers.debian.net and pioneers.game-host.org) are quite
sufficient at the moment.
- #620 Turn timer. A patch by Jared Quick
(https://sourceforge.net/p/pio/patches/620/) uses a turn timer in the
client. I've been reworking the patch to use the turn timer in the
server, to ensure that all clients will obey the turn time limit.
- A new computer player. I've found the project 'Solitaire Catan' which
contains a computer player that is capable of trade. I'm working to
convert the Java code to C and to fit that computer player in the
Pioneers framework.

With kind regards,
Roland Clobus

------------------------------------------------------------------------------
Try New Relic Now & We'll Send You this Cool Shirt
New Relic is the only SaaS-based application performance monitoring service 
that delivers powerful full stack analytics. Optimize and monitor your
browser, app, & servers with just a few lines of code. Try New Relic
and get this awesome Nerd Life shirt! http://p.sf.net/sfu/newrelic_d2d_apr
_______________________________________________
Pio-develop mailing list
Pio-develop <at> lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/pio-develop
Roland Clobus | 24 Apr 2013 19:11
Face
Picon
Gravatar

[pio-develop] Pioneers welcomes Micah Bunting and Rodrigo Espiga Gómez

Hello all,

I'm very happy to announce the addition of two developers for Pioneers:
Micah Bunting and Rodrigo Espiga Gómez.

Micah Bunting has supplied many patches of which the first was applied
to the repository over two year ago at 2011-02-16.

Rodrigo Espiga Gómez wrote to pio-develop that he wants to write a
computer player based on genetic algorithms.

Welcome!

Roland Clobus

------------------------------------------------------------------------------
Try New Relic Now & We'll Send You this Cool Shirt
New Relic is the only SaaS-based application performance monitoring service 
that delivers powerful full stack analytics. Optimize and monitor your
browser, app, & servers with just a few lines of code. Try New Relic
and get this awesome Nerd Life shirt! http://p.sf.net/sfu/newrelic_d2d_apr
_______________________________________________
Pio-develop mailing list
Pio-develop <at> lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/pio-develop
Rodrigo Espiga Gómez | 23 Apr 2013 11:44
Picon
Favicon

[pio-develop] Getting game identifier upon game exit

Hi, I would like the player to print out some information that I would need to collect at the end of the game. I have modified the greedy_game_over function so it prints out the player number and name of the exiting player, and the player number and name of the winning player of that game, but I want it to print the server port too. Which function will do that?
By the way, in order to improve the speed of each generation that has to evolve the genetic algorithm, I´m running several games in parallel and I need to identify the game each player is exiting from. I´ve seen that the game is assigned an identifier (in the style of game #1366628526.G.040) but it doesn´t seem to be a unique one, cause when I launch all the games at the same time most of them seem to have the same identifier. Right now I´m using the server port as identifier cause since they all launch at the same time they use different ports (that´s the reason of my first question) but I wonder if there is a way of getting a unique identifier for a game.
Going back to speed, I see that the server has a time out before exiting when the game is over and all the players exit the game. I would like to reduce that time out to 0, so it does not waste precious seconds waiting at the end of each game. It could look like a trifle, but having in mind that any modification to the way the algorithm evolves will lead to playing literally thousands of games again to see how it works, it is probably not. How can I modify that?
Thanks!
------------------------------------------------------------------------------
Try New Relic Now & We'll Send You this Cool Shirt
New Relic is the only SaaS-based application performance monitoring service 
that delivers powerful full stack analytics. Optimize and monitor your
browser, app, & servers with just a few lines of code. Try New Relic
and get this awesome Nerd Life shirt! http://p.sf.net/sfu/newrelic_d2d_apr
_______________________________________________
Pio-develop mailing list
Pio-develop <at> lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/pio-develop
Rodrigo Espiga Gómez | 18 Apr 2013 21:26
Picon
Favicon

[pio-develop] Getting statistics from games

Hi everyone. In order to improve my genetic player, I would need to collect some statistics from a game after running the server and the players in console mode. I can get the victory points of the winning player from the exit of the pioneersai command, but I need more information (specially the victory points of ALL the players at the end of the game, and probably more, like the number of turns, maybe total resources collected during the game, etc).
I guess I could modify some file to output all that information to a file after the end of the game, but I don´t know where is that information stored.
What would be very the easiest way of doing that?
Thanks!
------------------------------------------------------------------------------
Precog is a next-generation analytics platform capable of advanced
analytics on semi-structured data. The platform includes APIs for building
apps and a phenomenal toolset for data science. Developers can use
our toolset for easy data analysis & visualization. Get a free account!
http://www2.precog.com/precogplatform/slashdotnewsletter
_______________________________________________
Pio-develop mailing list
Pio-develop <at> lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/pio-develop
Roland Clobus | 12 Apr 2013 18:03
Face
Picon
Gravatar

Re: [pio-develop] Everything OK now. Thanks!

On Fri, 2013-04-12 at 13:39 +0200, Rodrigo Espiga Gómez wrote:
> Ok, I have installed a new version of Debian stable from scratch,
> installed all dependencies and ran with disable-deprecation-checks and
> now everything seems to go fine (console and gtk versions alike). I
> installed the netpbm version available through Synaptics, I guess it´s
> the last one (not the 10.29, but that version is in Sourceforge if it
> is mandatory) but it seems that it didn´t give any problem.

The version of netpbm in Debian Stable is OK. netpbm is only used to
render some svg graphics for icons and such.

>  I also installed debhelper 8.0.0, but it has not given me any problem
> neither (thus far, I cross my fingers).

It is not necessary to have a version of debhelper that is not from
Debian Stable. debhelper is only used when a Debian package needs to be
built.

> You have been very helpful. Thank you a lot.
> By the way, before uploading any code I need to design the full player
> (even if it´s a dumb one) so it can evolve playing against itself and
> the other AI. It is not as if I could upload small steps of that
> process, but as soon as I have something tangible I´ll let you know.
> Even if it is a very stupid genetic player, who knows ;-)

Whenever you have code that is ready to commit, please do so.
As long as it compiles without errors, you could also commit and use the
commit as a kind of 'remote backup'. It that case nothing will be lost
when disasters happen :-).

With kind regards,
Roland Clobus
Developer for Pioneers

PS: Please reply to the list instead of my private e-mail. More people
might be able to respond.

------------------------------------------------------------------------------
Precog is a next-generation analytics platform capable of advanced
analytics on semi-structured data. The platform includes APIs for building
apps and a phenomenal toolset for data science. Developers can use
our toolset for easy data analysis & visualization. Get a free account!
http://www2.precog.com/precogplatform/slashdotnewsletter
_______________________________________________
Pio-develop mailing list
Pio-develop <at> lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/pio-develop
Rodrigo Espiga Gómez | 10 Apr 2013 17:16
Picon
Favicon

[pio-develop] Problems updating Debian from stable(squeeze) to unstable(sid)

Ok, now I´m trying to update to the unstable version of Debian to get the most recent packages to compile pioneers. My /etc/apt/sources.list now looks like this:
#

deb http://ftp.es.debian.org/debian/ sid main contrib
deb-src http://ftp.es.debian.org/debian/ sid main contrib

deb http://security.debian.org/ squeeze/updates main contrib
deb-src http://security.debian.org/ squeeze/updates main contrib

# squeeze-updates, previously known as 'volatile'
deb http://ftp.es.debian.org/debian/ squeeze-updates main
deb http://ftp.es.debian.org/debian/ squeeze-proposed-updates contrib main
deb-src http://ftp.es.debian.org/debian/ squeeze-proposed-updates contrib main
deb-src http://ftp.es.debian.org/debian/ squeeze-updates main

deb cdrom:[Debian GNU/Linux 6.0.7 _Squeeze_ - Official i386 NETINST Binary-1 20130223-18:53]/ squeeze main

I reload in Synaptics and Mark All Upgrades, and trying to update it gives the error:
E: Couldn't configure pre-depend xml-core for docbook-xml, probably a dependency cycle.

It doesn´t seem to be a severe error so I ignore it. However, when I enter lsb_release -a to check my release it stills says:
No LSB modules are available.
Distributor ID:    Debian
Description:    Debian GNU/Linux 6.0.7 (squeeze)
Release:    6.0.7
Codename:    squeeze
¿Am I using the right repositories? Now I run apt-get build-dep pioneers with this result:
Reading package lists... Done
Building dependency tree      
Reading state information... Done
The following packages have unmet dependencies:
 initscripts : Breaks: nfs-common (< 1:1.2.5-3) but 1:1.2.2-4squeeze2 is to be installed
 xserver-xorg-core : Recommends: libgl1-mesa-dri (>= 7.10.2-4) but 7.7.1-5 is to be installed
                     Breaks: libgl1-mesa-dri (< 7.10.2-4) but 7.7.1-5 is to be installed
E: Build-dependencies for pioneers could not be satisfied.

Ok, now I go back to Synaptics Package Manager to check if I can install a newer version by hand. I select nfs-common to install the latest version (1:1.2.6-3) and when I try to apply it says:
Could not apply changes!
Fix broken packages first.
Now I try to fix the broken packages and it gives a new error:
E: Error, pkgProblemResolver::Resolve generated breaks, this may be caused by held packages.
E: Error, pkgProblemResolver::Resolve generated breaks, this may be caused by held packages.
E: Unable to correct dependencies
E: Error, pkgProblemResolver::Resolve generated breaks, this may be caused by held packages.
E: Unable to correct dependencies

Sorry for the log post, but I should be doing something terribly wrong cause each step I take to fix an error just leads me to the next one.
Any help?



------------------------------------------------------------------------------
Precog is a next-generation analytics platform capable of advanced
analytics on semi-structured data. The platform includes APIs for building
apps and a phenomenal toolset for data science. Developers can use
our toolset for easy data analysis & visualization. Get a free account!
http://www2.precog.com/precogplatform/slashdotnewsletter
_______________________________________________
Pio-develop mailing list
Pio-develop <at> lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/pio-develop
Roland Clobus | 5 Apr 2013 20:07
Face
Picon
Gravatar

Re: [pio-develop] New AI for Pioneers

Hello Rodrigo,

On Fri, 2013-04-05 at 18:50 +0200, Rodrigo Espiga Gómez wrote:
> First, thanks for the fast reply. Your information is very helpful. It
> would great if you could send me that file you talk about.

> Thanks again!

I'll create the file client/ai/genetic.c.

In the meantime, could you send me your account name on SourceForge?
I'll need that in order to be able to grant you write access to the
repository so that you'll be able to post your progress.

I've set the reply to this mail to the mailing list.

With kind regards,
Roland Clobus
---

> From: rclobus <at> users.sourceforge.net
> To: pio-develop <at> lists.sourceforge.net
> Date: Thu, 4 Apr 2013 21:42:33 +0200
> Subject: Re: [pio-develop] New AI for Pioneers
> 
> Hello Rodrigo,
>  
> On do, 2013-04-04 at 20:02 +0200, Rodrigo Espiga Gómez wrote:
> > HI, MY NAME IS RODRIGO ESPIGA, A COMPUTERS DEGREE STUDENT FROM SPAIN,
> > AND I NEED TO MAKE A PROJECT FOR MY DEGREE ADDING A NEW AI FOR YOUR
> > GAME. THIS AI SHOULD USE GENETIC ALGORITHMS TRYING TO FIND AN OPTIMAL
> > PLAYING STRATEGY.
>  
> Thank you for choosing Pioneers for your project.
>  
> > I WOULD BE VERY THANKFUL IF YOU COULD BE SO KIND TO GIVE ME SOME
> > ADVISE OF WHERE TO START AND WHAT IS THE BEST WAY TO ADD THAT NEW AI
> > TO YOUR GAME. RIGHT NOW IM STRUGGLING WITH THE SOURCES TRYING TO FIND
> > OUT WHAT DOES WHAT. I CAN SEE IN THE SOURCES THAT THE CURRENT AI IS IN
> > A FILE CALLED GREEDY.C THAT DEFINES THE FUNCTIONS THAT ARE PASSED TO
> > THE CALLBACKS STRUCT (DEFINED IN CALLBACKS.H), BUT ONLY SETS 20 OF THE
> > APROXIMATELY 60 DEFINED IN THAT STRUCT. I SEE ALSO THAT SOME OF THEM
> > ARE ALSO SET INSIDE AI.C.
> > WHAT FUNCTIONS SHOULD A NEW AI DEFINE?
>  
> I would suggest that you write the behaviour of your computer player in
> a separate C-file, I can set one up for you. It could be called
> genetic.c, if the behaviour is based on genetic algorithms.
> Please say so, it you would like that. (It is better to implement the
> new functionality in a separate file, instead of modifying greedy.c).
>  
> I can also grant you access to the svn repository, so that you'll be
> able to push your code in smaller steps instead of pushing only the
> final result. I'll need the name of your SourceForge account for that.
>  
> You can use greedy.c as an example. The callbacks struct is a C
> equivalent of a virtual function in C++. When you need to implement some
> behaviour you can add your function in the *_init() function. It will be
> called when the corresponding situation occurs in the game. (That means
> that you don't need to worry about the actual protocol).
> The very minimum would be: setup (during the setup phase), turn (during
> a regular turn), discard_add (when a seven was rolled) game_over (at the
> end of the game). It you want to react to trade requests, you'll need to
> add relevant functions too. (I'll provide hint when you need that).
>  
> > IT WILL ALSO BE VERY HELPFUL FOR ME TO BE ABLE TO RUN THE PROGRAM
> > WITHOUT THE GRAPHICAL INTERFACE, BECAUSE THE AI HAS TO PLAY LOTS (I
> > REALLY MEAN IT, LOTS) OF GAMES AGAINST ITSELF AND THE GREEDY PLAYER TO
> > EVOLVE, AND THAT WOULD BE FASTER.
>  
> Pioneers can be run without the graphical interface.
>  
> You can run the console server:
> $ pioneers-server-console --port [portnumber] --auto-quit
> --fixed-seating-order --game-title "Default" --players 4
>  
> Then you can add greedy computer players:
> $ pioneersai --server localhost --port [portnumber] --name
> [GreedyPlayer#] -t 0 --chat-free --algorithm=greedy
> Or your own computer player (when I've set it up):
> $ pioneersai --server localhost --port [portnumber] --name
> [GeneticPlayer#] -t 0 --chat-free --algorithm=genetic
>  
> (You can add --debug for more information about the gameplay, but that
> reduces the speed)
>  
> > WHERE CAN I GET A SOURCE THAT I CAN COMPILE WITH KDEVELOP IN UBUNTU?
>  
> I would recommend that you use trunk in the subversion repository, that
> is the most recent code.
> See: http://sourceforge.net/p/pio/code/
>  
> In Ubuntu, you'll need at least the following packages:
> debhelper (>= 8.1.0~), libgnome2-dev, scrollkeeper, gnome-common,
> librsvg2-bin, netpbm, libgtk2.0-dev, automake, autoconf, po-debconf,
> intltool, libtool, libavahi-glib-dev, libavahi-client-dev, gob2,
> libnotify-dev, xfonts-scalable
>  
> I would recommend the following actions:
> - Install the packages
> - Get the source from the repository
> - Run './autogen.sh --enable-warnings'
> - Run 'make all'
> - As root: run 'make install'
> - When you are testing: use './pioneersai' instead of 'pioneersai'
> - I have not used KDevelop in a while, but you'll probably only need to
> open 'genetic.c' and use the make command. Perhaps you'll also need a
> simple script to run a game with the computer players, with the  command
> lines as mentioned earlier.
>  
> Don't hesitate to write to this list for more help.
>  
> With kind regards,
> Roland Clobus
> Developer for Pioneers
>  
> 
> 
> ------------------------------------------------------------------------------ Minimize
network downtime and maximize team effectiveness. Reduce network management and security costs.Learn
how to hire the most talented Cisco Certified professionals. Visit the Employer Resources Portal http://www.cisco.com/web/learning/employer_resources/index.html
> _______________________________________________ Pio-develop mailing
> list Pio-develop <at> lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/pio-develop

------------------------------------------------------------------------------
Minimize network downtime and maximize team effectiveness.
Reduce network management and security costs.Learn how to hire 
the most talented Cisco Certified professionals. Visit the 
Employer Resources Portal
http://www.cisco.com/web/learning/employer_resources/index.html
_______________________________________________
Pio-develop mailing list
Pio-develop <at> lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/pio-develop

Gmane