Correct placement for modules for making Apple Configuration Profiles
Hello! I'm looking for some module-naming advice. I'm creating a set of modules that provide an easy, object-oriented way to create and manage Apple Configuration Profiles, and I would like to know where to place it in CPAN. Apple Configuration Profiles are typically used in the enterprise environment, but anyone can make and use them. Configuration profiles can be used to pre-configure an iOS device, or a computer running Mac OS X. For example, I have a .mobileconfig file that I use to automatically set up my home Wi-Fi network, as well as a VPN tunnel to home, on my personal iPhone. You can also use them to install certificates (with or without private keys), add email accounts, and more. Apple Configuration Profiles are essentially XML files (specifically, they are plist files). Because of that, I am tentatively using the XML::AppleConfigProfile:: namespace. I was also thinking about using XML::Apple::ConfigProfile. Full disclosure, I do know that Apple uses XML as part of their Mobile Device Management protocol, but that protocol is only available by signing an NDA (or something similar) with Apple, so I don't see it becoming public any time soon. If I had a copy of the MDM protocol reference, though…. I'm not even thinking about asking to create an Apple top-level namespace, so Apple::ConfigProfile is out. There is already a module for manipulating plist files, Mac::PropertyList, which I rely upon. The plist format, I think, originated with Mac OS X, so that makes sense, but configuration profiles were used in iOS first, and only later were added to OS X, so I don't think Mac:: is appropriate. Any advice would be appreciated! For me, it's a tossup between XML::AppleConfigProfile and XML::Apple::ConfigProfile, but I may have missed something obvious. ~ Karl
Re: Top level name proposal - ComputeCluster
What about HPC::? BTW, we have SGE at work too so this seems very interesting :-) Cheers! Alex
Re: Top level name proposal - ComputeCluster
So you intend to develop a new pure Perl compute cluster? Because if you just need to get the job done why would you not use Hadoop whether private cluster or AWS? It has a Perl APi and it will cheerfully run Perl jobs. Hadoop is an Apache project, open source free software with a large installed base. -Original Message- From: John Macdonald john.macdon...@oicr.on.ca Date: Fri, 5 Sep 2014 13:57:47 To: Fields, Christopher Jcjfie...@illinois.edu Cc: James E Keenanjk...@verizon.net; module-authors@perl.orgmodule-authors@perl.org Subject: RE: Top level name proposal - ComputeCluster I'm intending that ComputeCluster (or whatever the final name turns out to be) will be domain-agnostic at the top level interface at least. However, my lab will be using it for genome analysis pipelines, and I suspect a significant proportion of the potential other users will also be in this field (as shown by the repsonses on this discussion already) so there could be domain-specific submodules - either within this namespace or in other namespaces simply using this module set. Chris, Alex, and anyone else who is interested as a potential future user/contributor, feel free to email me outside of this module-authors discussion about how the actual module will develop. John Macdonald Software Engineer Ontario Institute for Cancer Research MaRS Centre 661 University Avenue Suite 510 Toronto, Ontario Canada M5G 0A3 Tel: Email: john.macdon...@oicr.on.ca Toll-free: 1-866-678-6427 Twitter: @OICR_news www.oicr.on.ca This message and any attachments may contain confidential and/or privileged information for the sole use of the intended recipient. Any review or distribution by anyone other than the person for whom it was originally intended is strictly prohibited. If you have received this message in error, please contact the sender and delete all copies. Opinions, conclusions or other information contained in this message may not be that of the organization. From: Fields, Christopher J [cjfie...@illinois.edu] Sent: September 5, 2014 9:47 AM To: John Macdonald Cc: James E Keenan; module-authors@perl.org Subject: Re: Top level name proposal - ComputeCluster Yup, I agree. I think Cluster is too generic and can mean a lot of things (I think of cluster analysis myself). Maybe something more distinctive? Is it application- or domain-specific (bioinformatics, etc)? There are a few tools with similar functionality that come to mind. Most of them have catchy names; one written in Perl is Clusterflow (not on CPAN but here: https://github.com/ewels/clusterflow/). Another is the (completely unmaintained, likely broken, but possibly useful for something) biopipe project: https://github.com/bioperl/bioperl-pipeline. I have thought about retooling the latter to be less reliant on bioperl and more a stand-alone tool. There are a couple Java tools also: bpipe (https://code.google.com/p/bpipe/) and nextflow (https://github.com/nextflow-io/nextflow). And I agree with Alex; as you might guess based on my comment on biopipe, our group would be very interested in helping out on this, even if it’s at simply the testing phase (we run PBS/Torque locally). chris On Sep 5, 2014, at 8:00 AM, John Macdonald john.macdon...@oicr.on.ca wrote: Cluster was my first thought for a name, but when I did a search to see what modules already existed (bot in case someone had already written a generic cluster module saving me the bother of starting a new one, and to see what types of cluster had cluster-specific modules written for them) the word cluster came up in a large number of contexts. An tightly connected group of things is a cluster (e.g. nodes in a graph) - so I didn't think that the simple name would be clear enough. The name Cluster leaves the reader with the immediate question Cluster of what?. John Macdonald Software Engineer Ontario Institute for Cancer Research MaRS Centre 661 University Avenue Suite 510 Toronto, Ontario Canada M5G 0A3 Tel: Email: john.macdon...@oicr.on.ca Toll-free: 1-866-678-6427 Twitter: @OICR_news www.oicr.on.ca This message and any attachments may contain confidential and/or privileged information for the sole use of the intended recipient. Any review or distribution by anyone other than the person for whom it was originally intended is strictly prohibited. If you have received this message in error, please contact the sender and delete all copies. Opinions, conclusions or other information contained in this message may not be that of the organization. From: James E Keenan [jk...@verizon.net] Sent: September 5, 2014 7:25 AM To: module-authors@perl.org Subject: Re: Top level name proposal - ComputeCluster On 09/04/2014 10:23 AM, John Macdonald wrote: Hi, I wanted to get general comment/concensus about a top level name that I am
Re: Top level name proposal - ComputeCluster
There exists a Perl interface to Hadoop. I can't look up right now, but i think that was under Apache:: . AWS also offer Hadoop as a service with Perl and PHP interface at least. Under AWS::Hadoop IIRC. -Original Message- From: Fields, Christopher J cjfie...@illinois.edu Date: Fri, 5 Sep 2014 13:47:26 To: John Macdonaldjohn.macdon...@oicr.on.ca Cc: James E Keenanjk...@verizon.net; module-authors@perl.orgmodule-authors@perl.org Subject: Re: Top level name proposal - ComputeCluster Yup, I agree. I think Cluster is too generic and can mean a lot of things (I think of cluster analysis myself). Maybe something more distinctive? Is it application- or domain-specific (bioinformatics, etc)? There are a few tools with similar functionality that come to mind. Most of them have catchy names; one written in Perl is Clusterflow (not on CPAN but here: https://github.com/ewels/clusterflow/). Another is the (completely unmaintained, likely broken, but possibly useful for something) biopipe project: https://github.com/bioperl/bioperl-pipeline. I have thought about retooling the latter to be less reliant on bioperl and more a stand-alone tool. There are a couple Java tools also: bpipe (https://code.google.com/p/bpipe/) and nextflow (https://github.com/nextflow-io/nextflow). And I agree with Alex; as you might guess based on my comment on biopipe, our group would be very interested in helping out on this, even if it’s at simply the testing phase (we run PBS/Torque locally). chris On Sep 5, 2014, at 8:00 AM, John Macdonald john.macdon...@oicr.on.ca wrote: Cluster was my first thought for a name, but when I did a search to see what modules already existed (bot in case someone had already written a generic cluster module saving me the bother of starting a new one, and to see what types of cluster had cluster-specific modules written for them) the word cluster came up in a large number of contexts. An tightly connected group of things is a cluster (e.g. nodes in a graph) - so I didn't think that the simple name would be clear enough. The name Cluster leaves the reader with the immediate question Cluster of what?. John Macdonald Software Engineer Ontario Institute for Cancer Research MaRS Centre 661 University Avenue Suite 510 Toronto, Ontario Canada M5G 0A3 Tel: Email: john.macdon...@oicr.on.ca Toll-free: 1-866-678-6427 Twitter: @OICR_news www.oicr.on.ca This message and any attachments may contain confidential and/or privileged information for the sole use of the intended recipient. Any review or distribution by anyone other than the person for whom it was originally intended is strictly prohibited. If you have received this message in error, please contact the sender and delete all copies. Opinions, conclusions or other information contained in this message may not be that of the organization. From: James E Keenan [jk...@verizon.net] Sent: September 5, 2014 7:25 AM To: module-authors@perl.org Subject: Re: Top level name proposal - ComputeCluster On 09/04/2014 10:23 AM, John Macdonald wrote: Hi, I wanted to get general comment/concensus about a top level name that I am proposing. I'm starting to organize a set of modules for managing jobs on a computer cluster. I intend it to work much like DBI - with a top level abstract interface that programs can use, actually implemented by drivers that translate the common interface into the interface used by the particular type of compute cluster that is being accessed. Initially, I will provide a driver for SGE, since that is what we have and use in our lab (but after I have that running, my PI can get me access to a couple of other type of compute cluster to add some more. For naming, I am planning to use: ComputeCluster - top level name - will provide switching functions to create a class of object for a particular cluster type Could that be shortened to simply: Cluster ?
Re: Top level name proposal - ComputeCluster
Doesn't Hadoop have to restart the perl interpreter for every execution step, i.e. run a script that performs the map or reduce operation? It seems like a single perl interpreter could listen on TCP for authenticated subroutines to run in threads, passing them on to idle neighbors if busy. No need for a scheduler? Scale by adding nodes; they glom together by broadcast registration, no single point of failure. They all UDP-broadcast their load averages to each other and keep track of each other from a detached `nice` child process. Load average is the only criteria used for work assignment. That process acts as a control channel. Object API for the cluster lets you give it chains of dependent subroutines. Subroutines can be defined to open a listener, broadcast the uuids of the subroutines it is waiting for, and listen until they get all expected results. If it gets missed, the subroutine return function broadcasts to ask which listener expects its results. Implement map-reduce this way? And whatever... Mark On Sep 7, 2014 11:01 AM, Dana Hudes dhu...@hudes.org wrote: There exists a Perl interface to Hadoop. I can't look up right now, but i think that was under Apache:: . AWS also offer Hadoop as a service with Perl and PHP interface at least. Under AWS::Hadoop IIRC. -Original Message- From: Fields, Christopher J cjfie...@illinois.edu Date: Fri, 5 Sep 2014 13:47:26 To: John Macdonaldjohn.macdon...@oicr.on.ca Cc: James E Keenanjk...@verizon.net; module-authors@perl.org module-authors@perl.org Subject: Re: Top level name proposal - ComputeCluster Yup, I agree. I think Cluster is too generic and can mean a lot of things (I think of cluster analysis myself). Maybe something more distinctive? Is it application- or domain-specific (bioinformatics, etc)? There are a few tools with similar functionality that come to mind. Most of them have catchy names; one written in Perl is Clusterflow (not on CPAN but here: https://github.com/ewels/clusterflow/). Another is the (completely unmaintained, likely broken, but possibly useful for something) biopipe project: https://github.com/bioperl/bioperl-pipeline. I have thought about retooling the latter to be less reliant on bioperl and more a stand-alone tool. There are a couple Java tools also: bpipe ( https://code.google.com/p/bpipe/) and nextflow ( https://github.com/nextflow-io/nextflow). And I agree with Alex; as you might guess based on my comment on biopipe, our group would be very interested in helping out on this, even if it's at simply the testing phase (we run PBS/Torque locally). chris On Sep 5, 2014, at 8:00 AM, John Macdonald john.macdon...@oicr.on.ca wrote: Cluster was my first thought for a name, but when I did a search to see what modules already existed (bot in case someone had already written a generic cluster module saving me the bother of starting a new one, and to see what types of cluster had cluster-specific modules written for them) the word cluster came up in a large number of contexts. An tightly connected group of things is a cluster (e.g. nodes in a graph) - so I didn't think that the simple name would be clear enough. The name Cluster leaves the reader with the immediate question Cluster of what?. John Macdonald Software Engineer Ontario Institute for Cancer Research MaRS Centre 661 University Avenue Suite 510 Toronto, Ontario Canada M5G 0A3 Tel: Email: john.macdon...@oicr.on.ca Toll-free: 1-866-678-6427 Twitter: @OICR_news www.oicr.on.ca This message and any attachments may contain confidential and/or privileged information for the sole use of the intended recipient. Any review or distribution by anyone other than the person for whom it was originally intended is strictly prohibited. If you have received this message in error, please contact the sender and delete all copies. Opinions, conclusions or other information contained in this message may not be that of the organization. From: James E Keenan [jk...@verizon.net] Sent: September 5, 2014 7:25 AM To: module-authors@perl.org Subject: Re: Top level name proposal - ComputeCluster On 09/04/2014 10:23 AM, John Macdonald wrote: Hi, I wanted to get general comment/concensus about a top level name that I am proposing. I'm starting to organize a set of modules for managing jobs on a computer cluster. I intend it to work much like DBI - with a top level abstract interface that programs can use, actually implemented by drivers that translate the common interface into the interface used by the particular type of compute cluster that is being accessed. Initially, I will provide a driver for SGE, since that is what we have and use in our lab (but after I have that running, my PI can get me access to a couple of other type of compute cluster to add some more. For naming, I am planning to use: