[Hplusroadmap] SKDB class structures, and a proposal for standardization teams

Bryan Bishop kanzure at gmail.com
Sat May 24 10:11:22 CDT 2008


I sent this over to the openvirgle group and figure it'd also do some 
good here. I welcome anybody yelling at my ideas for the metadata file. 
At some point we'll need to do a brief outline of metadataing standards 
policies or something. So, shogunx suggests copying IETF and IRTF from 
ISOC.

Internet Research Task Force
http://irtf.org/
^ copy these guys for standardization (or: establish contact)

Internet Engineering Task Force
http://ietf.org/

Internet Society (".. for the future of the internet.")
http://isoc.org/

So I figure a standardization team or quality assessment team would be 
nice, especially if based off of debian's quality assessment teams and 
project maintainers [on the deb side of things]. But at the moment the 
people who would be on that team would be the only ones writing code 
and packages anyway. Call it a bootstrapping problem.

- Bryan
/me needs to get back to fenn's email on CD3WD.

----------  Forwarded Message  ----------

Subject: Re: Project proposal
Date: Saturday 24 May 2008
From: Bryan Bishop <kanzure at gmail.com>
To: openvirgle at googlegroups.com

On Saturday 24 May 2008, Paul D. Fernhout wrote:
> Bryan Bishop wrote:
> > No, that's not what we said at all.
>
> Again, who is the "we"?

The guys in #hplusroadmap, which at the moment consists of: fenn, nsh, 
ybit, kanzure, krebs, shogunx, biopunk, Vedestin, kramer3d, phreedom. 
I'm missing a few guys at the moment, but that's probably because they 
are slackers and doing something irrelevant like sleeping :-).

> > The only thing that needs to be done
> > to get it started is writing out python and classes. It's not a
> > waiting thing. Just sit down with the python documentation and hack
> > out some classes to represent the processes that we want to add
> > into the system. I see no such thing on this wiki page :-(.
>
> I once came into a project as a consultant that had a dozen people
> coding GUIs with that philosophy. What a mess, Everything different.
> Stuff incomplete. Inconsistencies. Bugs. Lots of time spent trying to
> understand what all that did. Eventually, we :-) replaced all that
> with a common architecture and higher level specifications for
> building GUIs. That new code has run for many years with hardly any
> problems and processed a lot of information.

Nah, I'm all for common architectures.

> Again, it would be helpful to give an example of a *complete* class
> that shows what you mean. Otherwise, this is about as helpful as

Again ...
http://heybryan.org/mediawiki/index.php/2008-05-12

class metadata:
	name = "Default project name"
	pgpKey = "3940914afdafdja0r391"
	hashSum = "90149940141" # This is of the dot skdb file in general, yes?
	maintainerEmailAddy = "Bryan Bishop <kanzure at gmail.com>"
	reqFiles # Required files for a default installation.
	configScript = path/to/config/script/within-the/.skdb-file/config.py
	# To help with over-rides, the config-script is still included.

Three things that make this 'incomplete':

	#1: 'reqFiles' needs to be of type list. This is due to my lack of 
python knowledge.

	#2: It'd be a good idea to discuss the efficacy of this format.

	#3: The actual Py-YAML hooks. These are not hard.
http://pyyaml.org/wiki/PyYAMLDocumentation

Example:
class Hero:
...     def __init__(self, name, hp, sp):
...         self.name = name
...         self.hp = hp
...         self.sp = sp
...     def __repr__(self):
...         return "%s(name=%r, hp=%r, sp=%r)" % (
...             self.__class__.__name__, self.name, self.hp, self.sp)

In this case we can do something like:

class metadata:
	name = "Default project name"
	pgpKey = "3940914afdafdja0r391"
	hashSum = "90149940141" # This is of the dot skdb file in general, yes?
	maintainerEmailAddy = "Bryan Bishop <kanzure at gmail.com>"
	reqFiles # Required files for a default installation.
	configScript = path/to/config/script/within-the/.skdb-file/config.py
	# To help with over-rides, the config-script is still included.
	def __init__(name, pgpKey, hashSum, maintainerEmailAddy, reqFiles, 
configScript):
		self.name = name
		self.pgpKey = pgpKey
		self.hashSum = hashSum
		self.maintainerEmailAddy = maintainerEmailAddy
		self.reqFiles = reqFiles
		self.configScript = configScript
	def __repr__(self):
		return "%s(name=%r, pgpKey=%r, hashSum=%r, maintainerEmailAddy=%r, 
reqFiles=%r, configScript=%r)" % (self.__class__.__name__, self.name, 
self.pgpKey, self.hashSum, self.maintainerEmailAddy, self.reqFiles, 
self.configScript)

It'd be a good idea to check the %r's there, I'm pretty sure I'm not 
using the correct variable replacement symbols/tokens, for example 
specifying a list with %r is probably very very wrong. 

> saying "write it down on paper". Which may be what is done (using
> paper), but write what?

It's the classes and metadata, remember? It's so that we can then 
proceed to eventually something like this: class BunsenBurner variables 
size, metal composition requirements (this is probably of a type that 
is elsewhere specified in the database; but at first, it can be a 
placeholder), maybe propane versus octane versus pure alcohol and so 
on. Also, the reason why the 'reqFiles' variable is up there in the 
root metadata class specification is so that you can dump files into 
the .skdb file (there's a dot there, it's to be pronounced) and mention 
them, even if they're just 'natural language' stuffs.

> And using what notation?

http://yaml.org/
http://python.org/

> And to what ends?  

Automated manufacturing, semanticized knowledge databases, etc. etc.

> And how does it all interrelate? All issues that are begun to be
> addressed when you give an example. These are just a few examples of

To be fair, I did post examples a few weeks ago.

> the "hard questions" I mentioned in another post. If you're going to
> intimidate Mike into wandering off, at least let's get something out
> of it, please. :-(

For what it's worth, I have+had no intentions of intimidating Mike.

- Bryan
________________________________________
http://heybryan.org/

-------------------------------------------------------
________________________________________
http://heybryan.org/


More information about the Hplusroadmap mailing list