text:
CPAN Frequently Asked Questions
Here are some answers to the most common questions received by email@example.com.
For general information about Perl you should see the Perl Home Page (www.perl.org).
See the Perl FAQ (especially for any Perl programming questions, but also for other resources), available at http://perldoc.perl.org/index-faq.html.
I. - General Questions.
II. - The Quest for Perl source, modules and scripts.
- Where can I find the current release of the Perl source code?
- Where can I find older/obsolete versions of Perl or Perl Modules?
- How do I interpret the Perl version numbers?
- How do I install Perl from the source code?
- Where can I find Perl modules?
- How do I install Perl modules?
- How do I find out what modules are already installed on my system?
- Where can I find the most recently uploaded Perl modules?
- Where can I find Perl modules for Windows?
- Where can I find Perl binaries/packages or Perl module binaries?
- How are Perl and the CPAN modules licensed?
- Does the Perl source distribution include any modules?
- Where can I find Perl scripts?
III. - RIF [ Reading is Fun-duh-mental ]
- Where can I find the Perl FAQs?
- Where can I find Perl documentation?
- Where can I find Perl module documentation?
- Where can I find Perl DBI/DBD/database documentation?
- Where can I find/join/create Perl mailing lists?
- Where can I find Perl courses/training/on-line tutorials?
- How do I find/join/organise a Perl User Group?
- Where can I find a history of Perl releases or a general history of the Perl community?
IV. - Danger Will Robinson! Danger! Danger!
- I downloaded a module/script/file but it was corrupt, what should I do?
- How do I use module Foo::Bar, can you help? (a.k.a. Are you a helpdesk?)
V. - Searching CPAN.
VI. - Contributing modules, patches, and bug reports.
- How do I contribute modules to CPAN?
- Does CPAN allow contributions of shareware or code that requests a fee of any kind?
- How do I contribute scripts to CPAN?
- How do I contribute documentation?
- How do I report/fix a bug in Perl and/or its documentation?
- How do I report/fix a bug in a module/script?
- How do I go about maintaining a module when the author is unresponsive?
- How do I adopt or take over a module already on CPAN?
- Is there a site for module bug reports/tests?
- Does CPAN provide download statistics for authors?
VII. - How to mirror CPAN.
What is Perl?
From the Perl documentation:
Perl is a high-level programming language with an eclectic heritage written by Larry Wall and a cast of thousands. It derives from the ubiquitous C programming language and to a lesser extent from sed, awk, the Unix shell, and at least a dozen other tools and languages. Perl's process, file, and text manipulation facilities make it particularly well-suited for tasks involving quick prototyping, system utilities, software tools, system management tasks, database access, graphical programming, networking, and web programming. These strengths make it especially popular with system administrators and web developers, but mathematicians, geneticists, journalists, and even managers also use Perl. Maybe you should, too.
A good starting point for Perl information is http://www.perl.org/
What is Perl6?
Perl and Raku (formerly known as Perl 6) are two languages in the Perl family, but of different lineages. Raku is not intended primarily as a replacement for Perl, but as its own thing - and libraries exist to allow you to call Perl code from Raku programs and vice versa.
For more about Raku see http://www.raku.org/.
"We're really serious about reinventing everything that needs reinventing." --Larry Wall
What is CPAN?
CPAN is the Comprehensive Perl Archive Network, a large collection of Perl software and documentation. You can begin exploring from either http://www.cpan.org/ or any of the mirrors listed at http://www.cpan.org/SITES.html.
CPAN is also the name of a Perl module, CPAN.pm, which is used to download and install Perl software from the CPAN archive. This FAQ covers only a little about the CPAN module and you may find the documentation for it by using perldoc CPAN via the command line or on the web at https://metacpan.org/pod/CPAN.
What is PAUSE?
PAUSE is the Perl Authors Upload SErver, a registry for Perl module, script and documentation authors to upload their work to the CPAN. CPAN and PAUSE are often used interchangeably but they are distinct from each other. The CPAN.pm documentation explains it rather simply;
In this discussion CPAN and PAUSE have become equal -- but they are not. PAUSE is authors/, modules/ and scripts/. CPAN is PAUSE plus the clpa/, doc/, misc/, ports/ and src/.
See the question 'How do I contribute modules?' below if you want to become a registered PAUSE user.
How does the CPAN work?
CPAN works with the generosity and cooperation of thousands of developers, over 1 participating mirrors, many companies, institutions and individuals donating the network bandwidth, storage space and computing power, volunteers who help keep everything together and users whose interest in Perl keep the archive alive and growing.
After an author uploads their module to PAUSE, it will be mirrored to CPAN once an hour and from there, to the rest of the mirrors around the world. There are people who advise authors on their choice of name and namespace for their modules and a few others who answer questions and investigate issues sent to firstname.lastname@example.com.
Where can I find the current release of the Perl source code?
- http://www.cpan.org/src/ - A detailed list of source code offerings.
Where can I find older/obsolete versions of Perl or Perl Modules?
Unless you have A Very Good Reason you shouldn't be installing obsolete versions because they might contain bugs, possibly even security bugs.
Good Reasons may include having to support Perl 4 programs, trying to replicate a bug that requires an old Perl release, or pure joy of software archaeology. (Are you Perl 1 compliant?)
CPAN does not carry all ancient releases and patchlevels of Perl (because of the bugs we mentioned above and because they would take quite a lot of storage space).
- http://cpxxxan.barnyard.co.uk/ - for versions of modules that are known to pass their tests on particular versions of perl or particular platforms, such as perl 5.8.8 on Irix
- http://backpan.perl.org/ - for an archive of all the old versions of all modules
How do I interpret the Perl version numbers?
Perl changed the version numbering system with v5.6.0 as was indicated in the release announcement:
Perl v5.6.0 is a major release that incorporates all maintenance and development changes since the last major release, 5.005. As you may have noticed, the version numbering has changed. Releases will henceforth be numbered as revision.version.subversion triples. Maintenance releases will have an even version component, while the version component for development releases will be odd. For example, the next maintenance update of Perl 5.6.0 will be v5.6.1, and the development series will begin life at v5.7.0.
You may also peruse the perlhist manpage for a complete list of versions and their release dates.
How do I install Perl using the source code?
To build Perl you need a C compilation environment. After downloading the source code and opening it up, you should first read the INSTALL document which will detail how to build Perl on most systems. There are a number of README.[platform] for platforms where special care is needed in building Perl. As always, reading the documentation is a Good Thing[tm].
Perl can be installed using the standard source code distribution on almost all platforms Perl runs on. This includes all the UNIXes (and good lookalikes, meaning POSIX environments like OS/2, Plan 9, QNX, Amiga, MPE/iX, VMS, OS390, Stratus VOS), and Microsoft platforms. The most notable exceptions are (as of 1999-Mar-24);
- MacOS (1)
- Novell Netware (2)
For these platforms a binary release may be the easiest path.
- The source code to compile MacPerl is available at http://www.cpan.org/ports/mac/.
- The source code for AS/400 and Netware Perls have not been merged to the main Perl source code distribution. If you want to try compiling them yourself, get the sources from http://www.cpan.org/ports/As400/ or http://www.cpan.org/ports/netware/ and then continue at http://www.cpan.org/src/README
Where can I find Perl modules?
Due to the ever increasing number of modules on CPAN, the CPAN search engine is possibly a better starting point in your quest for code, especially if you already know exactly what you are looking for.
How do I install Perl modules?
Installing a new module can be as simple as typing perl -MCPAN -e 'install Chocolate::Belgian'. The CPAN.pm documentation has more complete instructions on how to use this convenient tool. If you are uncomfortable with having something take that much control over your software installation, or it otherwise doesn't work for you, the perlmodinstall documentation covers module installation for UNIX, Windows and Macintosh in more familiar terms.
Finally, if you're using ActivePerl on Windows, the PPM (Perl Package Manager) has much of the same functionality as CPAN.pm.
How do I find out what modules are already installed on my system?
perldoc perllocal
Each time a module is installed on your system, it appends information like the following to a file called perllocal.pod which can be found in /usr/local/lib/perl5/version number/architecture/ or something akin to that. The path for your specific installation is in your @INC which you can divine with perl -V.
=head2 Wed May 12 13:42:53 1999: C<Module> L<Data::Dumper> =over 4 =item * C<installed into: /usr/local/lib/perl5/5.00503> =item * C<LINKTYPE: dynamic> =item * C<VERSION: 2.101> =item * C<EXE_FILES: > =back
Each entry includes the Module name, date and time it was installed, where it was installed, linktype [ static or dynamic ], version and executables, if any, included with the module.
- ActivePerl has the PPM utility.
C:\>ppm query Archive-Tar [0.072 ] module for manipulation of tar archives. Compress-Zlib [1.03 ] Interface to zlib compression library DBI [1.13 ] Database independent interface for Perl GD [1.25 ] Interface to Gd Graphics Library HTML-Parser [2.23 ] SGML parser class MIME-Base64 [2.11 ] Encoding and decoding of base64 strings PPM [1.1.4 ] Perl Package Manager: locate, install, upgrade software
- The pmtools suite written by Tom Christiansen to help navigate and
manage Perl module installations. You can obtain them at https://metacpan.org/release/pmtools.
From the README:
This is pmtools -- a suite of small programs to help manage modules. The names are totally preliminary, and in fact, so is the code. We follow the "keep it small" notion of many tiny tools each doing one thing well, eschewing giant megatools with millions of options.
- pmpath - show the module's full path
- pmvers - get a module version number
- pmdesc - get a module description
- pmall - get all installed modules pmdesc descriptions
- pmdirs - print the perl module path, newline separated
- plxload - show what files a given program loads at compile time
- pmload - show what files a given module loads at compile time
- pmexp - show a module's exports
- pminst - find what's installed
- pmeth - list a class's methods, recursively
- pmls - long list the module path
- pmcat - cat the module source through your pager
- pman - show the module's pod docs
- pmfunc - show a function source code from a module
- podgrep - grep in pods of a file
- pfcat - show pods from perlfunc
- podtoc - list table of contents of a podpage
- podpath - show full path of pod file
- pods - list all standard pods and module pods
- sitepods - list only pods in site_perl directories
- basepods - list only normal "man-page" style pods
- faqpods - list only faq pods
- modpods - all module pods, including site_perl ones
- stdpods - list standard pods, not site_perl ones
Where can I find the most recently uploaded Perl modules?
There are so many new and updated modules that it is hard to keep up with the deluge, but there are ways to stay abreast of the tide.
- https://metacpan.org/recent
- https://metacpan.org/feed/recent - an RSS format of /recent
Any of these should be good for your daily feed of new modules.
Where can I find Perl modules for Windows?
www.activestate.com has a FAQ for their Package Manager. Also see http://strawberryperl.com/ which also enables you to build your own modules from CPAN.
Where can I find Perl binaries/packages or Perl module binaries?
http://www.cpan.org/ports/index.html is a current list of Perl binaries that we are aware of at this time. If you have a package for a platform, send us a URL. We do not endorse nor guarantee these packages nor do we store them locally on CPAN due to the potential size of the archive if we did.
Perl module binaries for use with ActivePerl's PPM can be found at http://www.activestate.com/PPMPackages/.
How are Perl and the CPAN modules licensed?
Most, though not all, modules on CPAN are licensed under the GNU Public License (GPL) or the Artistic license and should be stated in the documentation that accompanies the module itself. If the license is not specifically stated in the module, you can always write the author to clarify the issue for you. Also, the text of the Artistic license and the GNU Public License are included in the root directory of the source distribution. From the 'README' file that comes with Perl:
Perl Kit, Version 5.0 Copyright 1989-1999, Larry Wall All rights reserved. This program is free software; you can redistribute it and/or modify it under the terms of either: a) the GNU General Public License as published by the Free Software Foundation; either version 1, or (at your option) any later version, or b) the "Artistic License" which comes with this Kit. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See either the GNU General Public License or the Artistic License for more details. You should have received a copy of the Artistic License with this Kit, in the file named "Artistic". If not, I'll be glad to provide one. You should also have received a copy of the GNU General Public License along with this program in the file named "Copying". If not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA or visit their web page on the internet at http://www.gnu.org/copyleft/gpl.html. For those of you that choose to use the GNU General Public License, my interpretation of the GNU General Public License is that no Perl script falls under the terms of the GPL unless you explicitly put said script under the terms of the GPL yourself. Furthermore, any object code linked with perl does not automatically fall under the terms of the GPL, provided such object code only adds definitions of subroutines and variables, and does not otherwise impair the resulting interpreter from executing any standard Perl script. I consider linking in C subroutines in this manner to be the moral equivalent of defining subroutines in the Perl language itself. You may sell such an object file as proprietary provided that you provide or offer to provide the Perl source, as specified by the GNU General Public License. (This is merely an alternate way of specifying input to the program.) You may also sell a binary produced by the dumping of a running Perl script that belongs to you, provided that you provide or offer to provide the Perl source as specified by the GPL. (The fact that a Perl interpreter and your code are in the same binary file is, in this case, a form of mere aggregation.) This is my interpretation of the GPL. If you still have concerns or difficulties understanding my intent, feel free to contact me. Of course, the Artistic License spells all this out for your protection, so you may prefer to use that.
Does the Perl source include any modules?
Yes, Perl comes with a number of useful modules and are listed in the perlmodlib pod:
- http://perldoc.perl.org/perlmodlib.html
- perldoc perlmodlib
Where can I find Perl scripts?
- MetaCPAN results include scripts
- The App:: namespace
- and many, many other places on the net have Perl programs....
Where can I find the Perl FAQs?
The Perl FAQ is included with the Perl source code distribution.
- perldoc perlfaq
- http://perldoc.perl.org/index-faq.html
Where can I find Perl documentation?
- http://perldoc.cpan.org/
- perldoc perldoc to use the documentation included with your Perl distribution.
- http://perldoc.perl.org/perlfaq2.html#Perl-Books for those who have read all of the free documentation and want something they can read in the loo by candlelight.
Where can I find Perl module documentation?
- https://metacpan.org/,
- perldoc Foo::Bar if the module is installed locally.
Where do I find Perl DBI/DBD/database documentation?
- http://dbi.perl.org/ - The Perl DBI site
- https://metacpan.org/module/DBI - The DBI man page
- perldoc DBI
Where can I find Perl mailing lists?
There are quite a few mailing lists with a broad range of topics.
- http://lists.perl.org/
- http://www.perl.org/support/mailing_lists.html
- nntp.perl.org - browseable web archives (and NNTP gateway) of many of the Perl lists.
Where can I find Perl courses/training/on-line tutorials?
How do I find/join/organise a Perl User Group?
The Perl User Groups are known as "Perl Mongers" and have active groups all over the world. You can find an established group at http://www.pm.org/groups/ or start a new group if one isn't near you via http://www.pm.org/start/
Where can I find a history of Perl releases or a general history of the Perl community?
A history of Perl releases can be found in your Perl distribution via perldoc perlhist or via the web at http://perldoc.perl.org/perlhist.html. A more general history of the Perl community, CPAST, can be found at http://history.perl.org/.
I downloaded a module/script/file but it was corrupt, what should I do?
Many CPAN filenames end in .tar.gz. Unfortunately some programs mutilate such names (e.g., rename them with _tar.tar) so that unpacking programs don't recognise them and refuse to unpack them. Try saving the file using the .tgz suffix or try changing your web client. Also, you could try a plain FTP client as almost all the CPAN sites are ftp-reachable. You can find the full list of mirrors http://www.cpan.org/SITES.html
If you use FTP remember to download in binary format, not text format.
Please read http://www.cpan.org/ENDINGS if you aren't sure what the files should be unpacked with and want to know if you are using the right program.
If you still think you have a corrupt file, try downloading the file from another site. If you still have no satisfaction, then please let us know the exact file name and URL/FTP site and path.
How do I use module Foo::Bar, can you help? (a.k.a. Are you a helpdesk?)
We at CPAN are not a helpdesk. We may point you towards a plethora of documentation to help you in your quest for knowledge but we cannot debug your code or read for you. We exist specifically to answer questions and solve problems relating directly to the functioning of the CPAN itself.
In addition to the on-line documentation you might try the newsgroup comp.lang.perl.modules for help with a particular module. Also, looking at other code using the same module might prove enlightening.
How do I search for anything in CPAN?
By using a CPAN search engine.
- https://metacpan.org/ - A front-end for api.metacpan.org, which was created so that CPAN metadata can be searched and accessed without necessarily having to use any specific interface.
- http://perldoc.perl.org/ - also useful for core perl documentation.
How do I search for module/script documentation? (also known as "How do I use ..."?)
In general modules and scripts come with their own documentation which should have been installed along with your module/script. (Thanks to Perl's pod-style documentation, "it is very hard to misplace your documentation".)
- perldoc Module::Name
- perldoc scriptname
- https://metacpan.org/
How do I contribute modules to CPAN?
If you would like to learn more about PAUSE and how to go about contributing your module to CPAN please read the PAUSE FAQ at http://www.cpan.org/modules/04pause.html which will tell you how to go about getting a PAUSE ID and the steps needed to upload your code. Also,perldoc perlmodlib and perldoc perlmod are a good introduction to Perl modules.
Does CPAN allow contributions of shareware or code that requests a fee of any kind?
No. Everything on CPAN is free of charge. The reason for this is that CPAN is the product of hundreds of people donating their time and resources for the common good of the Perl community. There are places on the net where one can offer shareware without treading on the generosity of others and this is not that place.
How do I contribute scripts to CPAN?
Scripts can be provided in any CPAN distribution, though distributions need to contain a module to be easily installable. By convention, CPAN modules meant to install scripts are usually put in the App:: namespace.
How do I contribute documentation to CPAN?
If the documentation is for a particular module that isn't a core distribution module, then please send it to the module author. If the module is a core module the most appropriate place to send doc patches and enhancements is the Perl5Porters mailing list.
How do I report/fix a bug in Perl and/or its documentation?
Always remember to make your bug reports as detailed as possible. "Perl
doesn't work." is not a bug report.
Please note that problems concerning modules that are installed separately
from the Perl distribution (such as Tk) are reported differently.
Here is a checklist from perlbug, a bug reporting tool included in your Perl distribution. It is a bit on the long side, but please read it carefully as the better your bug report is, the more likely the issue will be addressed.
What version of Perl you are running?
Try perl -v at the command line to find out.
Are you running the latest released version of perl?
Look at http://www.perl.com/ to find out. If it is not the latest released version, get that one and see whether your bug has been fixed. Note that bug reports about old versions of Perl, especially those prior to the 5.0 release, are less likely to be incorporated into the source as Perl1 through Perl4 are largely unmaintained.
Are you sure what you have is a bug?
A significant number of the bug reports we get turn out to be documented features in Perl. Make sure the behavior you are witnessing doesn't fall under that category, by glancing through the documentation that comes with Perl (we'll admit this is no small task, given the sheer volume of it all, but at least have a look at the sections that seem relevant).
Be aware of the familiar traps that perl programmers of various hues fall into. See the perltrap documentation.
Check in perldiag to see what any Perl error message(s) mean. If message isn't in perldiag, it probably isn't generated by Perl. Consult your operating system documentation instead.
If you are on a non-UNIX platform check also perlport documentation, some features may not be implemented or work differently.
Try to study the problem under the Perl debugger,if necessary. See the perldebug documentation.
Do you have a proper test case?
The easier it is to reproduce your bug, the more likely it will be fixed, because if no one can duplicate the problem, no one can fix it. A good test case has most of these attributes: fewest possible number of lines; few dependencies on external commands, modules, or libraries; runs on most platforms unimpeded; and is self-documenting.
A good test case is almost always a good candidate to be on the perl test suite. If you have the time, consider making your test case so that it will readily fit into the standard test suite.
Remember also to include all the exact error messages, if any. "Perl complained something" is not an exact error message.
If you get a core dump (or equivalent), you may use a debugger (dbx, gdb, etc) to produce a stack trace to include in the bug report. NOTE: unless your Perl has been compiled with debug info (often -g), the stack trace is likely to be somewhat hard to use because it will most probably contain only the function names and not their arguments. If possible, recompile your Perl with debug info and reproduce the dump and the stack trace.
Can you describe the bug in plain English?
The easier it is to understand a reproducible bug, the more likely it will be fixed. Anything you can provide by way of insight into the problem helps a great deal. In other words, try to analyze the problem (to the extent you can) and report your discoveries.
Can you fix the bug yourself?
A bug report which includes a patch to fix it will almost definitely be fixed. Use the diff program to generate your patches (diff is being maintained by the GNU folks as part of the diffutils package, so you should be able to get it from any of the GNU software repositories). If you do submit a patch, the cool-dude counter at firstname.lastname@example.com will register you as a savior of the world. Your patch may be returned with requests for changes, or requests for more detailed explanations about your fix.
Here are some clues for creating quality patches:
Use the -c or -u switches to the diff program (to create a so-called context or unified diff). Make sure the patch is not reversed (the first argument to diff is typically the original file, the second argument your changed file). Make sure you test your patch by applying it with the patch program before you send it on its way. Try to follow the same style as the code you are trying to patch. Make sure your patch really does work (make test, if the thing you're patching supports it). -
Can you use perlbug to submit the report?
perlbug will, amongst other things, ensure your report includes crucial information about your version of perl. If perlbug is unable to mail your report after you have typed it in, you may have to compose the message yourself, add the output produced by perlbug -d and email it to email@example.com. If, for some reason, you cannot run perlbug at all on your system, be sure to include the entire output produced by running perl -V (note the uppercase V).
Whether you use perlbug or send the email manually, please make your Subject line informative. "a bug" is not informative. Neither is "perl crashes" nor "HELP!!!" These don't help. A compact description of what's wrong is fine.
Having done your bit, please be prepared to wait, to be told the bug is in your code, or even to get no reply at all. The Perl maintainers are busy folks, so if your problem is a small one or if it is difficult to understand or already known, they may not respond with a personal reply. If it is important to you that your bug be fixed, do monitor the Changes file in any development releases since the time you submitted the bug, and encourage the maintainers with kind words (but never any flames!). Feel free to resend your bug report if the next released version of perl comes out and your bug is still present.
How do I report/fix a bug in a module/script?
Please contact the author of the module/script, ideally by creating a ticket using the bug tracker for the module (linked as 'Bugs' from metacpan.org). The author should be automatically notified by email.
If the author doesn't respond, the documentation of the module/script might contain a contact address or you can try email@example.com where CPANID is the authors CPANID.
Most of the checklist in reporting bugs in Perl above applies for modules as well. Make your bug report as good as possible if you really want the bug fixed. If the module is included with the Perl distribution you should also follow the Perl bug reporting tips.
How do I go about maintaining a module when the author is unresponsive?
Sometimes a module goes unmaintained for a while due to the author pursuing other interests, being busy, etc. and another person needs changes applied to that module and may become frustrated when their bug reports and emails goes unanswered. CPAN does not mediate or dictate a policy in this situation and rely on the respective authors to work out the details. If you treat other authors as you would like to be treated in the same situation the manner in which you go about dealing with such problems should be obvious.
- Be courteous.
- Be considerate.
- Make an earnest attempt to contact the author as explained in How do I report/fix a bug in a module/script?.
- Give it time. If you need changes made immediately, consider applying your patches to the current module, changing the version and requiring that version for your application. Eventually the author will turn up and apply your patches, offer you maintenance of the module or, if the author doesn't respond in a year, you may get maintenance by having interest.
- If you need changes in order for another module or application to work, consider making the needed changes and bundling the new version with your own distribution and noting the change well in the documentation. Do not upload the new version under the same namespace to CPAN until the matter has been resolved with the author or CPAN.
Simply keep in mind that you are dealing with a person who invested time and care into something. A little respect and courtesy go a long way.
How do I adopt or take over a module already on CPAN?
The easiest way to take over a module is to have the current module maintainer either make you a co-maintainer or transfer the module to you.
If you can't reach the author for some reason (e.g. email bounces), the PAUSE admins at firstname.lastname@example.com can help. The PAUSE admins treat each case individually.
Please make sure you have tried all of the above ways of getting in contact with the author before going this way!
- Get a login for the Perl Authors Upload Server (PAUSE) if you don't already have one: http://pause.perl.org
- Write to email@example.com explaining what you did to contact the current maintainer including all email addresses of the author in cc and links to the tickets you have opened. The PAUSE admins will also try to reach the maintainer.
- Post a public message in a heavily trafficked site announcing your intention to take over the module. Potential places are http://blogs.perl.org/, http://www.perlmonks.org/, and any appropriate mailing lists or web forums.
- Wait a bit. The PAUSE admins don't want to act too quickly in case the current maintainer is on holiday. If there's no response to private communication or the public post, a PAUSE admin can transfer it to you.
Is there a site for module bug reports/tests?
Yes, through the diligence of Paul Schinder and a few others, we have CPAN Testers which is a collection of test results for modules on a number of different platforms. This information is also available when viewing module information on Metacpan.
There is also http://bugs.perl.org/ where you might search for a module bug already reported to P5P.
Does CPAN provide download statistics for authors?
No we don't. http://xxx.lanl.gov/help/faq/statfaq sums up our thoughts on the matter quite well.
Questions about mirroring CPAN
See How to mirror CPAN.The CPAN FAQ is copyright Jarkko Hietaniemi and Elaine Ashton 1998-2007 and Ask Bjørn Hansen, Leo Lapworth 2011 All Rights Reserved. Send questions and comments to firstname.lastname@example.com.


text: RPCBIND(8) BSD System Manager's Manual RPCBIND(8) NAME rpcbind -- universal addresses to RPC program number mapper SYNOPSIS rpcbind [-adhiLls] DESCRIPTION The rpcbind utility is a server that converts RPC program numbers into universal addresses. It must be running on the host to be able to make RPC calls on a server on that machine. When an RPC service is started, it tells rpcbind the address at which it is listening, and the RPC program numbers it is prepared to serve. When a client wishes to make an RPC call to a given program number, it first contacts rpcbind on the server machine to determine the address where RPC requests should be sent. The rpcbind utility should be started before any other RPC service. Nor- mally, standard RPC servers are started by port monitors, so rpcbind must be started before port monitors are invoked. When rpcbind is started, it checks that certain name-to-address transla- tion-calls function correctly. If they fail, the network configuration databases may be corrupt. Since RPC services cannot function correctly in this situation, rpcbind reports the condition and terminates. The rpcbind utility can only be started by the super-user. OPTIONS -a When debugging (-d), do an abort on errors. -d Run in debug mode. In this mode, rpcbind will not fork when it starts, will print additional information during operation, and will abort on certain errors if -a is also specified. With this option, the name-to-address translation consistency checks are shown in detail. -h Specify specific IP addresses to bind to for UDP requests. This option may be specified multiple times and is typically necessary when running on a multi-homed host. If no -h option is speci- fied, rpcbind will bind to INADDR_ANY, which could lead to prob- lems on a multi-homed host due to rpcbind returning a UDP packet from a different IP address than it was sent to. Note that when specifying IP addresses with -h, rpcbind will automatically add 127.0.0.1 and if IPv6 is enabled, ::1 to the list. -i ``Insecure'' mode. Allow calls to SET and UNSET from any host. Normally rpcbind accepts these requests only from the loopback interface for security reasons. This change is necessary for programs that were compiled with earlier versions of the rpc library and do not make those requests using the loopback inter- face. -l Turn on libwrap connection logging. -s Cause rpcbind to change to the user daemon as soon as possible. This causes rpcbind to use non-privileged ports for outgoing con- nections, preventing non-privileged clients from using rpcbind to connect to services from a privileged port. -w Cause rpcbind to do a "warm start" by read a state file when rpcbind starts up. The state file is created when rpcbind termi- nates. NOTES All RPC servers must be restarted if rpcbind is restarted. SEE ALSO rpcinfo(8) LINUX PORT BSD September 14, 1992 BSD |

subset: commoncrawl


text:
Dubhe srl ships for free its jewelry with express courier in 7-15 working days from the reception of the payment. If you purchase with a credit card, add one business day to the normal shipping schedules due to administrative procedures. If you pay via bank transfer, the shipping time will be calculated from the confirmation of the payment, which is usually calculated between 3 up to 5 days.
You can check the status of your shipment from the courier's website, thanks to the information you will be given via e-mail. Remember to always indicate a phone number so that the courier can contact you at the time of delivery. After two attempts, the courier will keep the parcel at their warehouse where you can collect it.
The packaging of our products is very important for us. If you receive a damaged package, remember to add the following text to the shipping document: "I accept the package reserving the right of further checks because it is damaged". We also kindly ask you to immediately notify us your conditioned acceptance by e-mail. If the courier refuses to let you add the reserve for further checks, please reject the delivery. Please notify us the rejection by e-mail to
We are glad you chose a Mizar jewel If it's not exactly what you were expecting, you have 14 days from receiving your order to make an exchange or return and send it back to us. We will collect your jewel free of charge, on a day that is convenient for you. If you wish to arrange a return, please send an email to We'll get in touch with you as soon as possible and will provide you with all the information. Please return all items, including the warranty certificate and the box containing the jewel. This is in fact part of the product and should remain intact by placing it in an outer packaging when sending it back to us. Make sure to carefully seal the outer packaging.
Once the return is received, we will refund you with the same payment method used for the purchase, unless otherwise requested.
In any case, you won't be charged for your return.


text: Fishing Savannah Fly and Light Tackle Jim M with a 100lbs of craziness Ryan with one of the biggest tarpon I haver ever seen. Trip smacking one with a spin rod using a big jerk bait, Off the beach in S.C. Nice poon in a discreet creek off the Broad River S.C. S.C. TARPON FISH HAS BEEN GOOD ! Couple shots of the fun with Trapon Published by Capt. Scott Wagner I have been fishing the Georgia and South Carolina Coast for 30 years and guiding full time for 20 plus years. What you will get from me is a quality fishing trip, whether with fly rod or spinning tackle that is always a long time on the water for the rate. My half days run more like 5-6 hours and full days are over 8 hours. 4 hours on a half day just isn't long enough to fish. What you will not get from me is a quick trip to spots 5 minutes away that are fished heavily so can make it back to the dock in time for my next trip. I have guided through out the southeast as well as Alaska and the Bahamas. I have been instrumental in developing shallow water sight casting in Georgia and South Carolina and have been the first to introduce Tarpon fishing on fly rod to South Carolina and Georgia!! View all posts by Capt. Scott Wagner


text:
The Acura NSX Concept has stirred up many an emotion within us. First we were excited. Then we were really excited. After a while we became frustrated, followed quickly by bouts of uncontrollable tantrums – we're talking kid in a toy store here, folks. You see, Acura has been teasing the car for some time now, and despite its recent appearance in Super Bowl ads, movies, the 2013 Detroit Auto Show, and literally everywhere but our driveway, we're still a few years away from production. We suppose that's OK though, as Acura recently lifted the NSX's darkly-tinted veil, giving us a glimpse into the vehicles stylish innards and hybrid powertrain.
We're already enamored with the NSX's design: It's a sleek, sexy, confident piece of sheetmetal, delivering everything we could possibly desire from Acura's hybrid supercar. From the look of it, the NSX's interior will borrow heavily from the exterior's geometric design, with sharp lines dashing throughout the cockpit. The video below shows a cabin filled with dark maroon leather-wrapped steering wheel and seats. A large LCD screen can be seen atop a wide, scaling center console, accompanied by raised buttons corresponding to car's Drive, Park, and Reverse gears. Carbon fiber detailing, stitched suede headliners, and brushed steel brightwork round out the NSX's stylish interior.
According to Acura's press release, the configuration seen in the video is merely "one possible direction" the interior could go to highlight Acura's "Human Support Cockpit" theme. We take that to mean this won't be the final design, which makes sense given how clean and futuristic it looks. Still, Acura says the NSX Concept will feature what it calls a "Simple Sports Interface," designed to minimize clutter and allow the driver to focus on the driving experience. And from what we've seen here, we'd be happy if even a fraction of the layout made it to production.
Last year, Acura announced its NSX Concept would be powered by a mid-mounted, direct-injected V-6 engine mated to Acura's Sport Hybrid SH-AWD (Super Handling All-Wheel Drive) system. We've already covered in detail Acura's SH-AWD system in the 2013 TL, but what makes the NSX unique is that it will utilize an all-new three-motor hybrid system. Acura's Sport Hybrid SH-AWD combines the drivetrain's dynamic torque vectoring all-wheel drive with three electric motors: one integrated into the V6 engine and two motors driving the front wheels. Acura says the system delivers instant torque during cornering that should set it apart from current AWD systems.
Sadly, no word yet on when exactly the next-gen NSX will enter production, but we do know the hybrid supercar will be manufactured at a new production facility in central Ohio. For now, check out the brief video below and be sure to rifle through the NSX Concept photo gallery above.


text:
The Mark Center Defense Department buildings have long been a campaign issue in the state District 30 race, but who knew it also could crystallize the differences between the three Democratic candidates?
More than once during Mondays forum at Alexandrias MetroStage Arlington School Board member Libby Garvey, City Councilman Rob Krupicka and Del. Adam Ebbin (D-49) admitted there were few differences between them politically.
But when it came to a hindsight question about BRAC-133, the undecided voter got a surprising glimpse at the trios leadership styles.
Krupicka, who has taken heat from Garvey about his involvement in the Armys decision to opt for the West End site, made the case his first-hand knowledge of the issue and his experience in local mass transit planning would benefit him in Richmond.
The issue is a familiar one among local voters and its not clear whether spinning his presence on city council during the decision-making process as a positive will smooth over concerned constituents. Still, he argued that BRAC-133 is as a reason to vote for and not against him on August 23.
Garvey told prospective voters she would have gone to the mat to prevent the project and then again to keep the Army from opening the facility in September. She argued for drawing on the regions plethora of influential decision-makers for support, falling in line with her oft-cited experience in building coalitions.
Though Garvey used the Mark Center issue against Krupicka early on, her response stuck the blame on the city councilman by extension without attacking him personally. And by outlining BRAC-133 as an issue worth going to the mat for, she successfully implied city council hadnt yet done so.
Whether that works on voters who have kept tabs on city councils hand-wringing over the expected traffic crunch and Rep. Jim Morans (D-8) efforts in Congress remains to be seen.
Ebbin, quick to remind everyone hes the sole candidate with prior experience in the General Assembly, highlighted his efforts in Richmond to mitigate future congestion. The question was a softball for him, having had no dealings in bringing the Army to Alexandria and plenty of opportunities to try and clean up the mess.
For those keeping score at home, Ebbin sent it out of the park.
Going to the mat after something is built is not a solution, he said. With all due respect, the building is built and one thing that should be recognized is that it was ultimately the Department of the Armys decision where to put it. But that doesn't excuse the city from sending an invitation.
The other race
An unexpected plot twist at Mondays forum, hosted by the Alexandria Democratic Committee, was a plea for help shoring up support for state Sen. George Barkers (D-39) re-election campaign by chairman Clark Mercer.
The state GOP isnt running a candidate against incumbent Del. Charnielle Herring (D-46), proof they dont want to galvanize the Democratic base in the West End, newly redrawn as part of the 39th Senate District, Mercer warned.
Barker will face either Miller Baker or Scott Martin in the general election come November 8. The district, which includes Alexandria and parts of Fairfax and Prince William counties, is roughly 1.7 percent Democratic leaning after being redrawn.
But with the House and governors mansion controlled by Republicans, state Democrats clearly worry they may find themselves the minority in the Senate where they currently hold a 22-18 majority.
Anthony Bedell, Fairfax County Republican Committee chairman, recently told the Washington Post Barkers seat is one the GOP is hopeful of taking.
But the regions left-leaning politics are no secret and Barker already holds a sizeable fundraising lead over his potential Republican challengers, according to the Virginia Public Access Project.
In a recent interview with the Times, Barker joked about another potential handicap for his re-election: the one letter difference between his surname and Bakers.


text:
2021-2022 Catalog > Courses > OSH - Occupational Safety Technician Courses > 100 > OSH 127
Community College of Aurora is a diverse, tight-knit community that offers quality education at two convenient locations and online. Students leave CCA prepared for the next stage of their lives, whether in the workforce or at a four-year institution.
CCA is committed to student success and provides many resources, tools and support to aid students in their education. From enrollment to graduation, CCA is dedicated to helping students realize their potential both inside and outside of the classroom.
CCA's mission is to help students succeed in college and beyond. Cutting-edge technology, outstanding faculty, student clubs and countless services work together to ensure that students meet their goals.
CCA offers over 40 areas of degrees and certificates to choose from, many as part of seamless transfer plans. Students can take classroom, online, hybrid and evening/weekend classes to fit their schedule.
Each member of CCA's skilled, knowledgeable and compassionate faculty and staff is committed to creating a comfortable and supportive learning environment for students. Students and alumni of diverse backgrounds have excelled at CCA and beyond.
CCA is a vital and vibrant part of Aurora and a center for the community. The cultural and intellectual offerings are often open to the public, free of cost and occur year-round.
CCA proudly serves Aurora and the surrounding communities, engaging in economic and community development initiatives through workforce training, certificate and degree programs and community enrichment.


text:
Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
RT Shared Editing
Project Lead: Mustafa K. Isik
Mentor(s): Scott Lewis, Ken Gilmer
The RT Shared Editor, which I'll dub Cola (collaborate) for now, is supposed to be a tool enabling developers to reap the benefits of pair programming within the Eclipse IDE.
The term pair programming describes an activity in which two developers simultaneously work on a single development machine.
Even though not new to the development community, pair programming has witnessed a significant rise in adoption over the last years. One of the main reasons being the inclusion to the set of eXtreme programming (aka XP) practices. Thus pair programming is especially, but certainly not only, popular among developers utilizing the values, principles and practices propagated by the XP methodology.
The reasoning behind pair programming, as articulated by software developer, author and XP figurehead Kent Beck (2005 p.42) is manifold and pair programmer's activities are described as
- keep each other focused and on task
- brainstorm refinements to the system
- clarify ideas
- take initiative when their partner is stuck, lowering frustration
- hold each other accountable to the team's practices
From my own experience I can add, that programming in pairs has proved to be beneficial in
- widening developers' horizons and perspectives on perceiving and tackling problems
- increasing trust in one's own skills and generating awareness for areas requiring improvement
- learning from more advanced developers
- improving through working with less experienced devs, motivating to reflect on the essence of one's own practices
- refining one's own communication skills
Current Situation
Tool-support for pair programming in Eclipse is pretty much non-existent. Pair programming sessions, as spontaneous as they might be arranged in some teams, usually are set up for longer periods of time, ranging anywhere from an hour to some four or five. Pairs consist of locally available developers.
Limitations & Problems
Geographical limitations do not permit for simple pair programming. Since individuals are required to sit in front of the same machine, they apparently have to be located at offices close to each other. Thus software development, not being a regionally bound activity, as proven by the sustained success and advances of open-source software and the nature of many open-source teams, has to be carried out without utilizing effective pair programming in many cases.
Even when developers are located at the same work site, the effort to get two people set up together in front of a computer (drinks, resources, etc.) proves not to be worth for short programming or reviewing tasks, which sometimes are all that is required. This does not mean that coders do not occasionally sit down for such quick tasks, but from personal experience not as often as it might be beneficial for oneself and/or the code.
Traditional instant messaging software does not lend itself for code communication among developers. Such software generally proves to be fairly feature-limited and catering to different target audiences. Theoretically it would lend itself for sending back and forth short code snippets at best, practically large-scale adoption of such behaviour has yet to be seen.
Open-plan offices or group cube farm layouts do not support developers in utilizing pair programming benefits either, quickly degrading the workspace noise-level to that of an airport lobby (by the way, the true problem here would be of course the office layout, but the scope of changing that is unfortunately usually beyond the individual developer).
Furthermore developers, who usually keep book resources in their personal work environment, end up being stripped of those for half of the time they are pair programming.
Cola is supposed to support collaborative work on code from disparate locations, minimizing organizational impact and improving on flexibility issues concerning pair programming.
Developers are intended to be able to work simultaneously on a single source file, viewing changes made by other contributors in real-time and editing the most up-to-date version of the file at all times.
The initial incarnation of Cola is to materialize in the form of an Eclipse IDE plug-in.
Consistency Maintenance
Maintaining consistency among shared data in a distributed real-time editing environment is of prime importance.
Over the last decade a lot of thought has been dedicated to the research of domain-specific issues in real-time collaborative groupware systems. Chengzheng Sun and Clarence Ellis have authored a paper (Sun & Ellis 1998) providing a thorough overview of such. The subsequent discussion of challenges specific to real-time collaborative editing is based on the referenced paper and intended to be self-sustaining in that you will not have to dig into academic research material to understand the challenges at hand however if such a necessity appears it is always possible to turn to term paper writing for the materials and basically for a research help. Figure 1 shows a somewhat idealistic scenario where communication lag between several editing sites remains without undesired consequences because operations are generated and executed at all sites in an orderly fashion. In a realistic distributed editing scenario, as depicted in Figure 2, the need for consistency maintenance becomes apparent.
Due to dependencies between operations originating from different editors on a shared document and suffering from propagation lag in a distributed environment, shared data state at different sites can divert from each other. This holds especially true for operations that are not commutative in execution order.
site 1 | state | site 2 | state | site 3 | state |
A:insert('a') | a | A:insert('a') | a | A:insert('a') | a |
C:insert('c') | ac | B:insert('b') | ab | B:insert('b') | ab |
B:insert('b') | acb | C:insert('c') | abc | C:insert('c') | abc |
Each editing user's changes need to be communicated to the other editing sites. Independent from message generation times, notification of changes may arrive out-of-order. The resulting artifact for dependent operations is referred to as causality-violation. The order in which operations A and B in Figure 2 arrive at site 3 visualizes a typical case of causality-violation. Operation B is generated at site 2 after the arrival and execution of operation A. The reversed arrival order of both operations at site 3 may result in an undefined operation B at site 3 (e.g. B is supposed to delete an insertion commited by A). Depending on the underlying communications protocol even the in-order arrival of editing operations originating from the same site might not be guaranteed.
Intention-violation is different from causality-violation in that it refers to the problems that arise when executing an operation on a document state altered by operations not having been executed at the operation's generation site.
Operation C in Figure 2 is defined/generated at site 3 on a document state neither affected by operation A nor B. Upon arrival and execution at sites 2 and 3 the respective document states have already been changed by operations A and B and can cause operation C to commit an unintended and undesired change.
In contrast to the divergence-problem, intention-violation cannot be resolved by a simple serialization protocol.
Resolution Approach
Look at the Sky & Spot JUPITER
A closer inspection of a paper titled "High-Latency, Low-Bandwidth Windowing in the Jupiter Collaboration System" (Nichols et al 1995) reveals a very interesting approach to solving distributed-state synchronization problems in systems with more than two participating sites.
Even though functionality-wise the more advanced approaches described in (Sun & Ellis 1998) also represent solutions to the challenges in realizing Cola, (Nichols et al 1995) makes assumptions perfectly feasible for Cola's case that (in relative terms) greatly simplify the required concurrency-control algorithm.
Client-Server Communications
Much of the complexity of for instance the GROVE and REDUCE collaboration models stem from the fact, that they are designed for handling arbitrary communication-paths between each editing site. The JUPITER collaboration system on the other hand is designed around a central server. Utilizing the resulting communications topology, conflicting messages are resolved on the level of 2-way messaging between specific client - central server as opposed to n-way communications.
Concerning causality-violation, communications being effectively limited to 2-way / routed through the server document state, out-of-order arrival of messages adhering to a causal order, such as deletions referring to prior insertions, is prohibited. The central ordering instance, the server editing site, ensures, that all sites are updated in the right causal order.
Network Protocol
Considering operations originating from the same site, causality-violation of this specific type or more general reversed messaging, can be prohibited by using a network protocol not permitting for out-of-order communication of operations to the receiving site (either client or server). Cola's network protocol will be chosen with respect to satisfaction of this property.
Optimistic Change Application
Responsiveness and immediate user feedback are important and expected features in an editor, therefore user operations are applied immediately to the local document state without awaiting server approval or undergoing any modifications.
Conflict Resolution via Operational Transformations
Even with the client-server topology in place and a 2-way messaging protocol ordering communications, preventing the out-of-order arrival of messages causing causality-violation, intention-violation can still occur.
This becomes apparent when considering, that causality-violation is due to remote messages either from different sites or originating from a single site crossing on the wire on their way to the unaltered, i.e. consistent in document state concerning all prior operations, recipient. Ensuring the ordered arrival and execution of operations at the receiver site suffices to maintain consistency in document state.
Intention-violation on the other hand describes problems that occur due to operations being intended for execution on a certain document state, which is not available upon their arrival at the receiver. Locally generated and executed operations have altered the receiving site's document state during the transmission of remote operations. In this scenario, best described as mutually directed messages crossing on the wire, the same problem applies the other way around when exchanging sender and receiver labels on the sites.
Application of operations on a document state different from the one they'd been intended for, bears the danger of intention violation, ranging from insertions at wrong places to deletion of wrong sections. Dropping and rolling back operations, in such a highly interactive application domain, is not an option, especially since local operations are executed immediately.
Therefore intention-preserving transformations of such operations, i.e. operational transformations, are key to Cola's resolution approach.
basic 2-way communication is of the form
- client generates operation
- client executes operation locally
- client notifies server of operation
- server receives operation
- in case of conflict: server transforms operation
- server executes operation locally
- server notifies all other clients of operation
for every receiving client
- client receives operation
- in case of conflict: client transforms operation
- client executes operation locally
Presenting operational transformations as a means for conflict resolution, several immediate concerns arise
- what are cola's operations on which to perform transformations
- how do conflicting scenarios look like
- what do operational transformations look like and
- how are conflicts in document state to be detected in order to resolve them via transformations on operations?
Cola models all editing operations on documents as atomic deletions and insertions of single characters. Editing operations on more than a single char are broken down to atomic operations, as listed below.
→ del(position) → del(from_position, to_position):= for(int i = from_position; i <= to_position; i++){ del(i); } → ins(position, char) → ins(from_position, string):= for(int i = 0; i < string.length; i++){ ins(from_position + i, string[i]); }
An example serves best to illustrate the features demanded of operational transformations.
remote op. | local op. | state @ client 1 | state @ client 2 | local op. | remote op. |
ins(2,O) | CRON | CRON | ins(5,A) | ||
ins(5,A) | CORON | CRONA | ins(2,O) | ||
The user at site 2 intends to insert an A after the last N. When the corresponding operation he issued and which was successfully applied to his local document, arrives at site 1 the document state has been altered by the insertion of another character at a lower index, thus shifting all subsequent characters' indeces by one. The untransformed execution of the insertion from site 2 on site 1's document results in intention-violation. The obvious solution in this case would be to increment the insertion op's index by one and executing ins(6,O)
Building on the information provided by the knowledge of the document states being one operation apart and knowing which two operations are intended for execution, abstraction and generalization lead to the specific operational transformation for two conflicting insertions.
With regard to the conflicting insertions example, and the type of relation defined by transformations on operations, it becomes apparent that the transformation can be precisely described in terms of a function taking two conflicting operations at a time as input parameters and delivering two output operations modified for intention-preserving applicability at their respective destination sites.
For brevity reasons, I will refer to cola's operational transformation function as coopt function (for cola operational transformation).
coopt(ins(x, char_1), ins(y, char_2)):= {(ins(x, char_1), ins(y + 1, char_2)) , for x < y (ins(x + 1, char_1), ins(y, char_2)) , for x > y (noop, noop) , for x = y && char_1 == char_2 serverside insertion comes first , for x = y && char_1 != char_2 }
Using coopt for resolving the conflict between the insertion operations in our example, yields the same and intention-preserved document state at both sites.
remote op. | local op. | state @ client 1 | state @ client 2 | local op. | remote op. |
ins(2,O) | CRON | CRON | ins(5,A) | ||
coopt(ins(5,A), ins(2,O)) → ins(6,A) |
CORON | CRONA | coopt(ins(2,O), ins(5,A)) → ins(2,O) | ||
Conflicts can also arise for deletions at both sites and deletion and insertion operations executed on the same document state at two different sites.
remote op. | local op. | state @ client 1 | state @ client 2 | local op. | remote op. |
del(6) | MARIPOSA | MARIPOSA | del(5) | ||
del(5) | MARIPSA | MARIOSA | del(6) | ||
The specific conflict in the conflicting deletions table can be resolved by decrementing the index of the del(6) operation originating from site 1 by one upon arrival at and prior to execution at site 2.
As for insertions, coopt handles conflicting deletions in a general way.
coopt(del(x), del(y):= {(del(x), del(y - 1) , for x < y (del(x - 1), del(y) , for x > y (noop, noop) , for x = y }
Transforming remote delete operations defined on document states one operation apart from the local state, results in conflict free convergence.
remote op. | local op. | state @ client 1 | state @ client 2 | local op. | remote op. |
del(6) | MARIPOSA | MARIPOSA | del(5) | ||
coopt(del(5), del(6)) → del(5) |
MARIPSA | MARIOSA | coopt(del(6), del(5)) → del(5) | ||
Cola provides two more operations, which also need to be handled by coopt. These last operations are intended to improve on the collaborative experience and are of non-editing nature. Both operations are user-specific in that every user's cursor, possibly each in a different color, is replicated among editing sites. This is to make remote user operations more comprehensible for the respective local user. The same applies to the user-specific highlighting of editor contents.
→ cursor(position, user) → highlight(position, user) → highlight(from_position, to_position, user):= for(int i = from_position; i <= to_position; i++){ highlight(i, user); }
Concurrency Algorithm
Summarizing the previous section and giving a motivation for the one at hand, operational transformations are applicable on operations, defined on the same document state at different sites. When reaching their respective destination sites in such scenarios, the remote sites' document state diverges by one operation. The transformation modifies the incoming operation with respect to the operation that has been executed at the receiving site, so that intention-preservation for the incoming operation is satisfied.
In cases where the local, receiving document state diverges by more than one (locally executed) operation compared to the state at a remote site sending an operation, the mechanism of operational transformations cannot be utilized directly. The previously iterated preconditions for the application of such are not met.
A concurrency algorithm takes care of detecting conflicting situations and meeting requirements for resolution via operational transformations.
Figure 4 features an exemplary graph of the state-space a client and the server editing site roam during a session. The diagram visualizes a scenario where during editing, document states at client and server side diverge by a single operation respectively and get resolved via operational transformations.
As indicated, the need for a concurrency algorithm arises in part from the non-applicability of operational transformations on document states diverging by more than a single operation, as presented in Figure 5. The graph shows client and server sites diverging as of state (0,0). The client site receives the server message, which it directly transforms via the coopt-function and subsequently applies to its document state. Let c be the initial client application, and s1 the first server-site operation. coopt(c,s1) results in a 2-tuple (c',s1') of which the parameters are characterized by the equation c ⊙ s1' = s1 ⊙ c' Interpreting the equation, the subsequent application of s1' to a document state c results in the same state as applying s1 followed by c'. This is by definition the exact thing the operational transformation function coopt is to take care of. The interesting part is when the client receives another message s2, having been generated on a document state only incorporating operation s1, s2 cannot be applied to the client state c ⊙ s1' directly. But since the client already contains s1, which just had been applied to the client-local state via s1' in the previous step, the precondition for conflict-resolution via coopt, i.e. divergence by a single operation, is met.
The important and central question is what other parameter is supposed to go into coopt with s2.
Considering that the server-state did not contain c when generating s2, c in some form resembles/relates to the deviating operation. With c' we are aware of a transformed version of operation c, which could be applied to an s1 document state in an intention-preserving/non-destructive manner. Thus c' is to be the other parameter to be respected when transforming operation s2 for applicability on the client side. Figure 5 has concrete operations substituted for c, s1, and s2.
c | c' | c' ' | s1 | s1' | s2 | s2' |
del(5) | del(5) | del(5) | del(9) | del(8) | del(8) | del(7) |
Assuming that in state (0,2) the server receives the client-message originating from state (0,0) and communicating the client-operation c (i.e. del(5) in Figure 5), it becomes once again apparent, that an operational transformation via coopt(c,s2) won't suffice to reach consistent document states on client and server sides.
The server, being in a document state off by more than one diverging operation considering the state on which c had been defined, some course of action is needed to transform c with respect to all operations, that have already been applied on the server state, i.e. regarding not only s2, but also s1.
obtaining an intention-preserving instance of operation c for application on state (0,2)
coopt(c,s1)→(c',s1'); //use c' for transformation against s2 ⇒ coopt(c',s2)→(c'',s2'); //c'' is OK for application on state (0,2)
different notation for the same procedure
applyLeftOfResult(coopt(leftOfResult(coopt(c,s1)→(c',s1')),s2) → (c'',s2'));
Figure 6 extends the editing scenario accordingly.
the algorithm
Having closely inspected an example where operational transformations cannot be utilized directly to resolve conflicting situations, we understand the need for an encapsulating algorithm, taking care of meeting the proper preconditions for the application of coopt.
Interpreting the state-space graph in Figure 7 as how a client perceives an editing session and the processing of local and incoming operations, leads to the required functionality of the controlling concurrency algorithm. From the client's perspective the server was last known to be in state (x,y). The client state has moved on by k locally generated and executed operations since the last server-to-client communication. All k messages generated by the client have been communicated to the server, so that the next server-generated message is to originate from one of the states between (x,y) and (x+k,y). As demonstrated in the introductory example to this subsection, an incoming operation, originating from a state (x+i,y), where i ∈ {0,..,(k-1)}, could not be directly coopt'ed with the most recent client operation k. Instead the received server operation has to be consecutively coopt'ed with each operation starting with the one generated by the client on the same state as the server operation originated from, leading up to and including the state of operation k-1. That is each succeeding coopt is called with the result of the transformed server message from the preceding coopt and the respective state's local operation. The last coopt, which is coopt(i*, k), where i* := indicates properly transformed server message/operation i, yields the intention-preserving transformed operation i^(*+1) applicable on the client state and taking it to state (x+k, y+1).
Since the cola architecture is designed to have the server only differ from the clients in that it serves as central notification instance, the algorithm also applies to the server site.
Integration into Eclipse Communication Framework
The org.eclipse.ecf.example.collab.editor plugin provides a shared editor implementation based on the Eclipse Communication Framework.
It differs from the cola approach in that it does not utilize advanced mechanisms, such as operational transformations and a concurrency algorithm, to ensure consistency in document states at discrete sites while maintaining the effects of every editing operation.
Instead of communicating atomic editing operations to each remote site, where state-specific transformations ensure consistent applicability, the exemplary shared editor sends the entire document content to session participants upon local application of an operation. The incoming document overwrites each receiver's copy. In case of communications crossing on the wire, editing information is lost and document states divert.
In order to maximize code reuse, cola's sample implementation, org.eclipse.ecf.example.sharededitor.cola, builds on the prior shared editor, modifying and extending its functionality as needed. Thus, even though the core communications are handled very differently, setting up and running either editor is very much alike.
Take a Sip
The Cola Source
Cola's current incarnation lives in a CVS repository at the Oregon State University Open Source Lab. You can get your hands on the sourcecode via anonymous access.
Host: ecf1.osuosl.org
Repository Path: /ecf
Module: applications/org.eclipse.ecf.example.sharededitor.cola
User name: anonymous
Set it Up & Get it Running
As for obtaining the rest of the code required to build and run cola, consult the ECF development resources page and get the latest sources. A team project set is provided to greatly simplify your workspace setup.
Consult the straightforward how-to on the prior shared editor, selecting the cola-specific menu entries at steps 5. and 7., to set up a cola editing session.
Cola is stable and functional apart from some minor restrictions, which are being worked on. Currently the following restrictions apply:
- document sharing is limited to two sites
- both participants have to join, prior to editing
- multi-character operations, such as copy & paste of multiple characters or bulk deletion of such, are yet to be implemented.
Meeting Notes
Papers & Books
- Beck, K 2005, Extreme Programming Explained - Embrace Change, 2nd Ed., Addison-Wesley, Boston MA (USA), p. 42
- Sun, C & Ellis, C 1998, Operational Transformation in Real-Time Group Editors: Issues, Algorithms, and Achievements, Proceedings of the ACM Conference on Computer-Supported Cooperative Work, Seattle WA (USA), pp. 59-68
- Nichols, D, Curtis, P, Dixon, M & Lamping, J 1995, High-Latency, low-bandwidth windowing in the Jupiter collaboration system, Proceedings of the 8th annual ACM symposium on User interface and software technology, Pittsburgh PA (USA), pp. 111-120


text:
While I love to browse through Pinterest and other online sources for inspiration, nothing compares to thumbing through my favorite shelter magazines. Recently I spotted two projects I wanted to knock off. The first is something I saw in House Beautiful. It was actually an image from Baker Furniture {The Barbara Barry Collection}.
Snapped the above photo with my phone so I apologize for the quality. Do you see those frames? I LOVE them. I had just completed a DIY brass side table and knew I wanted to repeat the brass finish in a couple more spots so it really felt at home in the room. I have similar frames in my living room already . . . I just needed to add the brass corners. My first thought was to spray paint each corner. But then if I ever changed my mind, I would be stuck with the frames sporting some serious brass. So it occurred to me that I could actually spray the painters tape! Great for two reasons. I can remove it if I ever want to AND it is somewhat textured so it gives off more of a gold leaf effect then if I had just painted the smooth frame. Apparently, I checked my brain at the door the first go around. Do you see what I did there? I actually stuck the painter's tape to the newspaper. Good one, Courtney! Really good. So that whole thing went out with the trash.
Ahhh! Much better. I elevated the tape so it wouldn't stick to the newspaper. Actually super embarrassed about this mistake. Oh well. Live and learn.
While that was drying outside, I marked off my corners. I used 2 3/4 inches as my measurement {just eye balled how much gold I wanted}. I made a pencil line where the tape would need to end.
Lay the tape very gracefully on the frame and be sure to overlap the edges. I used a width of tape that exactly fit my frame edges. Worked out great.
Because I had the tap overlap the edges, I could carefully snip where I needed to and fold the tape down to cover all of the inside black edges of the frame.
The nice thing about using tape is that you can move it if need be. It's super easy to work out any creases as well.
I wish you could see them in person! They have such a pretty sheen at night {above photo} but it's tough to capture. So my magazine copycat project number one is done! And the frames are a nice compliment to this little number:
For a tutorial on how I lengthened these drapes click here.


text:
Pansexual is a term that has been growing in recent years as a way for people to better identify their sexual identity. The word Pansexual is derived from the Greek prefix pan, meaning "all". The term is reflective of those who feel they are sexually/emotionally/spiritually capable of falling in love with all genders.
Pansexuals have the capability of attraction to others regardless of their gender identity or biological sex. A pansexual could be open to someone who is male, female, transgender, intersex, or agendered/genderqueer.
Pansexual FAQ:
Do Pansexuals like everyone?
Pansexual identified people have the physical/emotional/spiritual capability of falling in love or being with someone regardless of their gender. This doesn't mean they like everyone, and some Pansexuals do have physical preferences. The identity is used merely to express the openness and fluidity to people of all genders.
How is Pansexuality different from Polysexuality?
Pan means "all" while Poly means "many" and so there are some similar overlaps, a Polysexual may be attracted to some gender variant people but not have the capability or desire to be with some others. Pansexuals are open to any person regardless of their gender or sex.
Aren't Pansexuals really just Bisexual?
Pansexuality is not to be confused with Bisexuality in which "Bi" denotes two genders (male & female) and "Pan" being "all" is open to people who fall at all points or even outside of the gender continuum.
Wednesday, June 11, 2008
Diversity Lesson 101: "Pansexuality"
26 comments:
- Alexandra said...
This is really clear and consise. Thanks for the "definition". I love that new words keep cropping up to express one's sexuality...I think it really demonstrates how unique each person is, because I don't think we are going to ever fit perfectly in one box. We are way more complex than a dictionary definition, and I think that's great.
Not to degrade one's sexuality to one's food preferences, but in a way, it's like, I'm a vegetarian, and have been for years and years, but damn, whenever I walk past KFC, I have total cravings!! - June 11, 2008 at 11:42 AM
Great post. Thanks for the information. I learned something new. I'm glad that there are people like you out there spreading the new words and their meanings.
- June 11, 2008 at 12:24 PM
- Queers United said...
Thanks Alexandra - I understand about cravings from time to time. As a vegan though I have zero cravings for KFC, http://www.kentuckyfriedcruelty.com will get rid of any cravings you have for that nasty place.
Ceara - I am glad to help, thanks so much for your continued support =) - June 11, 2008 at 3:54 PM
- Laurie said...
Wow, now I'm confused as to if
I'm 'pan'sexual or 'bi'sexual. I
didn't think there was such a
name for just falling in love with
the whole person male or female.
I know that I do have the capacity
to love someone as a whole male
or female (transgender too). - June 11, 2008 at 4:34 PM
Bravo to you for posting this. I've heard this term bounced around here and there but confused it with polysexuality. Thank you for posting such a clear and interesting topic. I'll definitely be a repeat visitor to your blog.
- June 19, 2008 at 4:20 AM
bisexual, a rose is a rose by any other name. pansexual fits in the bisexual umbrella, no need to cut sexuality into 500 names.
- August 6, 2008 at 10:20 AM
- Queers United said...
i disagree with you a. I think bisexual fits in the pan umbrella as bi is more specific. Bi means male and female, whereas pan is open to all gender identities male, female, trans, intersex.
- August 9, 2008 at 3:42 PM
Wonderful post. I was glad to see a clear explanation of this term somewhere other than wikipedia. Am I correct in assuming that pansexuality and omnisexuality are synonymous?
- August 17, 2008 at 9:30 PM
Hey, I'm a pansexual lady and it's neat to see it's getting out there nowadays. I'm a bit tired of explaining the idea to people. Hopefully it'll be a more widely used and understood term soon.
Hopefully acceptance will follow that. Homophobia bothers me more than anything else in the world. - November 8, 2008 at 12:23 AM
I am pansexual. Tried and true. I am attracted to biological women, biological men, transwomen, transmen, genderqueers, agenders, those who are intersexed and there are probably others that I have missed! That is because I'm all about the person, and what I find attractive is often on a per-person basis--if that makes any sense.
There was a time I really used to loathe the term 'bisexual' that people would often used to label me, as I never felt that, by definition, it truly described my complex sexuality and who I am attracted to. When I discovered there was a word that most closely described my sexuality, I was elated. Finally!
Currently, I am in a serious relationship with a biological male who identifies as heterosexual. I have never dated a biological, heterosexual male so open and understanding of my pansexuality, and of the varying types of sexuality as a whole. Also, I must say that when I met him, I was not looking for anyone in particular. I never really am. It just goes to show that I just can't help who I fall in love with! Nowadays, people I know are quick to comment that I'm "straight again"! They say, "oh! So you're into guys now? You changed your mind? You've decided to be straight?", and assume sexuality is a light switch. Something to turn on and off. A choice. That is simply not true. It's not always about "either or". I love who I love, and I certainly don't base that on sex, sexual orientation, or gender. I am very happy and in love, but if the relationship ever were to end, I surely would not limit myself to biological males. Why? Because I'm interested in everyone, remember? And for crying out loud, being pansexual does not make me greedy or indecisive. It does not make me immoral.
I really hope that people like yourself can continue to post such valuable educational information so that we can create awareness of the fluidity of sexuality. Also, I would like to say that nothing is ever as 'cut and dry' as we like to pretend it is. Words and concepts will always have a myriad of definitions and meanings, as we each have unique perspectives. With that being said, we should be focusing on creating an inclusive, unprejudiced, loving, understanding global community, intent on truly celebrating our differences instead of waging war on them.
Thanks again for the article!
-Elisha - November 27, 2008 at 4:01 PM
- Queers United said...
Elisha thanks for joining us and I am glad you like the article, it is my intent to educate others. Hope you make a username and continue to provide your insight to other postings as well :)
- November 27, 2008 at 4:12 PM
OH WOW. i am very very new to the term pansexual. before my discovery i considered myself "bi-sexual" but felt it never really explained my sexuality. the lack of knowledge and utter frustration almost made me want to give up sexuality (and sex) completely!! thank god i found some way to explain...well...me.
- January 14, 2009 at 2:36 AM
Hi my name is Vixen and I'm a moderator on a pansexual webpage on bebo (I will be reccommending this site and link).
This is by far the best piece of information that clears up and doubts or queries, by being so clear and easy to understand.
I get a lot of people who say I'm a lesbian(last 2 relationships were with females), but now that I am with a hetro male they think I'm turning my back on the gay/bi/pan/poly "ways of old that Vixen had".
That was a direct quote by the way lol.
My best friend is a gay male, my cousin is a lesbian, my last female ex was bi and my last male ex was androgynous to the point of cross dressing everday.
We all understood eachother and as oppossed to me having a hetro male who just doesn't "get" me, my new boyfriend does.
My parents arent religious but said if either I or my brother was "gay" they would still love us but be dissappointed! Grrrrr.
They know I have had girlfriends and boyfriends who are, effemminate, as THEY would put it, but I dont think they will ever be able to accept my sexuality for what it is.
My mums cousin Linda is gay and my mum simply adores her, so maybe Linda and I could explain to them together.
Anyway, lovely site, I will definatly be looking at it again.
Vixen x - February 15, 2009 at 1:28 PM
- Danielle said...
What is the difference between Pan and Omni? and if they are the same then why are there two terms for the same thing?
- February 15, 2009 at 2:23 PM
I'm really happy to have found something online that clearly defines how I feel. People don't always understand, nor do they try to. I could fall in love with anyone. I'll never limit myself to gender and I think I can live happy knowing that I figured that out at a young age :)
- February 17, 2009 at 10:39 PM
In response to Tallis, Omnisexual and Pansexual synonymously exist because our word origins come from numerous countries. "Omni" is the greek root of the word "all"; "Pan" is the latin root of the word "all". They mean the exact same thing.
And Queers United, thanks so much for posting this cohesive clear definition! More people need to read the truth about sexual minorities. There can be a lot of confusion circulating around all these labels, but for the sake of identity and self-realization, they can be extremely necessary. Thanks so much for the post. - March 17, 2009 at 4:51 AM
Wow! I'm pansexual too! I don't care about gender.. I see people as a whole and i fall in love with their personalities.. Nothing else matters.
- December 1, 2009 at 10:55 AM
I am a married woman--to a hetero man--who, for the last 12 years has considered herself bisexual. I am attracted to both the same and opposite gender, but am als attracted to transexuals, as well as the intersexed, effeminate men, masculine women... As you can see, there are mor than two genders I'm attracted to, so the term "bisexual" just doesn't cut the mustard. Reading this gave me a new way to understand my sexuality.
I AM A PANSEXUAL!!! - December 2, 2009 at 1:07 PM
Oh for the love of god, we're all human regardless of sexuality. Love is love, no need to give it a million names.
- March 15, 2010 at 6:42 PM
I have called myself pansexual since I understood the meaning around the age of 18 (before then, 'bi' was the best I could find)... I've dated men, women, a few trans, am the daughter of a bisexual woman and a man who later revealed himself as a woman (thank you incorrect hermaphrodite assignment...), and when I found this definition, it made so much more sense to me than 'bi' ever did.
Ultimately I think the names come to nothing, you are who you are and you love who you love. I do, however, understand that people are always looking for classification, looking for a better understanding. So, if that's the case, pan is the best box I could fit myself into for their pleasure. **shrugs*
I think so far one of the hardest points of realizing myself as pansexual is that it's really hard to place yourself into a community... as a bisexual, transsexual, intersexed, transgendered, gay/lesbian, hetero there seems to be a plethora of ways to have a sense of community with like-minded individuals. It seems to me very hard to find this same feeling for myself.
Anyhow, I appreciate this page, and will likely be pointing people to it when they ask. - October 3, 2010 at 10:38 AM
I agree with everyone, on that this is an amazingly helpfull post. And to Alexandra below me I TOTALLY agree, I'm still a newbie veggie-monster only 2 years, and I still have cravings for chicken!! I do consider myself pansexual and I don't refer to myself as any gender, or will change it as I please depending on the day :)
Thanks for the post!! :D - October 22, 2010 at 9:17 AM
- Scarlet Rhapsody said...
This so clears things up. I used to think of myself as bisexual, but that term didn't seem to satisfy what I really was. I'm only in high school, and haven't had much dating experience, but it would explain the reason why I was attracted to a guy who seriously doubted his heterosexuality.
Thanks for this! - December 7, 2010 at 1:36 AM
May I just say that this is the most concise summing up of pansexual I have ever read. EVER. Thank you. I have identified as pansexual ever since I knew the word, because I knew I wasn't really bi. I just assumed I was questioning, then found pansexual and *boom* made sense.
For those curious, I'm a biological female (who also identifies female) currently in a relationship with the most amazing transexual woman on the planet. And I really don't care that her gender and her bits don't match. She is who she is. And I love her so much for it.
My favorite, though, is those that insist that because she's biologically male I must therefore be straight. Or that I'm bisexual. No, I think anyone who is confident in their gender is attractive, thanks. Gender matters to me in how it can define my relationship with someone, but gender fails to eliminate anyone from my potential-attraction spectrum. - December 15, 2010 at 12:45 AM
Wow..... I think Pansexual is the new trendy word for bisexual.
- December 31, 2010 at 12:09 AM
I am attracted to people, just because they are genuinely nice people in every way that counts. That includes: loyalty, trustworthyness ,friendliness, and just common goodness, Sex and gender do not necessarily have a great deal to do with how I relate to the people I meet.
Pansexual means being and having a good friend. Having any-thing is a welcome bonus. - February 6, 2011 at 1:43 PM
See I don't see this as clear and concise, I find it confusing and ambiguous. How can one keep up with all of these labels, can't we just all be.
- February 15, 2011 at 8:18 AM


text:
Five St. Joseph is a dramatic 48-storey modern point-tower, integrating the historically-designated façade of 5 St. Joseph, designed by the award-winning architectural firm Hariri Pontarini Architects, at the south-east corner of St. Joseph St and St. Nicholas St, just west of Yonge St. The modern and sleek glass tower will feature undulating balconies offering panoramic views of the City, while the brick podium offers 'Historic Loft' suites with original design details. Interiors will be custom designed by Cecconi Simone, offering the best in stylish, modern features and finishes. Five also will boast 10,000 sf of interior and 6,000 sf of outdoor amenity space. Five's stellar location puts it within easy reach of all the Downtown Core has to offer – it's 'south of chic, and north of trendy. It's real'.
Steam Room | Concierge | Party Room | Fitness Centre | Bicycle Room | Change Rooms | Rooftop Terrace 9' to 10' ceilings; Engineered hardwood flooring throughout; Miele stainless steel appliance package including cook-top, oven and integrated refrigerator and dishwasher; Contemporary kitchen cabinetry designed by Cecconi Simone; Corian or granite countertop with custom-designed multi-level island (as per plan); Glass, porcelain or ceramic tile kitchen backsplash; Custom designed Corian bathroom sink with wall-mounted faucet; Custom designed bathroom cabinetry; Porcelain tile bathroom flooring; Soaker tub and/or separate frameless glass shower enclosure with porcelain wall tiles; Stainless steel bathroom accessory package including towel bar and toilet holder.
The trademarks MLS®, Multiple Listing Service® and the associated logos are owned by The Canadian Real Estate Association (CREA) and identify the quality of services provided by real estate professionals who are members of CREA. Used under license. The trademarks REALTOR®, REALTORS®, and the REALTOR® logo are controlled by The Canadian Real Estate Association (CREA) and identify real estate professionals who are members of CREA.
Royal Lepage Vision Realty, Brokerage, Independently Owned & Operated


text:
[PHOTO: Special Arrangements] |
Rome: International efforts against corruption in football took a
significant step forward after the Secretaries General of INTERPOL, FIFA and
UEFA united for the first time against the danger posed by match-fixing which
generates billions in illegal betting.
Addressing the landmark international conference entitled
'Match-fixing: The ugly side of the beautiful game', INTERPOL Chief Ronald K.
Noble, FIFA's Jérôme Valcke, Gianni Infantino from UEFA and the Chief of
Italian State Police, Antonio Manganelli, underlined how the footballing and
law enforcement worlds stand shoulder to shoulder in tackling match-fixing at
the national, regional and international levels.
"Match-fixing is about the money," said the INTERPOL Chief.
"Illegal betting which drives match-fixing encompasses a market that is said to
be in the range of hundreds of billions of euros per year, with estimates that
the large bookmakers have revenues on the same scale as the Coca-Cola company."
"Criminal organizations benefit from match-fixing both in
the profits it promises and in its ability to launder their ill-gotten gains
from other criminal activities. Match-fixing is clearly a many-headed dragon
that we must slay with a coordinated national and international effort," said Noble, highlighting that this first European conference also brought
together the Secretaries General of INTERPOL, FIFA and UEFA for the first time
in history.
"Today, almost 300 million people play football in the
world. This extraordinary popularity gives FIFA responsibilities. One of them –
a major one – is to protect the integrity of the game. And this responsibility
is also a statutory objective of FIFA. Therefore, the fight against match
manipulation is a top priority for FIFA," said Valcke.
"At our end, we have to ensure that we have appropriate
rules, that everything we do is transparent, that our decisions benefit our
sport and that everyone who cheats is punished. But FIFA cannot do it alone,
that is why we need strategic alliances with INTERPOL and the authorities and
moreover the support of the member associations who must work closely with
their national law enforcement agencies to send out together the powerful
signal of immutable commitment, progress and success against organized crime,"
added Valcke.
"We will continue to fight this cancer," said UEFA Secretary
General Gianni Infantino.
"With our continued programme of education to players, match
officials and coaches, our sophisticated monitoring systems and our close links
with law enforcement agencies and state authorities, under no circumstances
will we surrender to match-fixers," said Infantino.
"The Italian National Police is proud to host this first
European conference on match fixing which brings together the key players from
all sectors involved in this collective fight against the organized crime
networks which seek to profit from the beautiful game. The Italian police
remain committed to protecting football and all sport from corruption," said
Prefect Antonio Manganelli, Head of the Italian National Police.
The conference comes under the auspices of INTERPOL's
Integrity in Sport unit, as part of the joint INTERPOL/FIFA Training, Education
and Prevention initiative, and is in partnership with the Italian Ministry of
the Interior and UEFA.
Some 200 delegates from 50 countries have gathered in Rome
to discuss the threats posed to football by match-fixing and ways to further
improve its prevention and investigation. Delegates include officials from
international organizations including FIFPro, Sportaccord, national football
associations, national FA integrity officers, players and referee
representatives, betting organizations, gambling regulatory authorities and law
The conference will address current and anticipated future
trends in match-fixing, the adverse influence of the Asian betting markets and
organized crime on football, ways of enhancing good governance in the football
family, and the importance of protecting players and initiatives in training,
education, prevention and investigation.