Monday, February 15, 2016

Persistent Promises/Futures

  1. Imagine a computer system where you don't have to provide an image or other data to an app for days or perhaps weeks later, and it will keep track of it automatically.
  2. Can this be done in a framework, so that it's available on all platforms to all applications?
  3. I think it can.
  4. We need a database with RESOLVE_RESOURCE table with RESOURCE_ID, RESOURCE_TYPE, METHOD_SEQUENCE, METHOD_TYPE, HOST, USER, APPLICATION, FRAMEWORK, PACKAGE, CLASS, OBJECT, METHOD columns
  5. APPLICATIONs may want to keep their own table.
  6. METHOD_TYPEs will include FULFILL (INSERT), ERROR, POSTPONE, CANCEL, CONSUME (DELETE), UPDATE
  7. When an application starts, the RESOLVE_RESOURCE table is queried for the USER and APPLICATION. If found, the user is asked for the resources by RESOURCE_TYPE. The user may select a processing METHOD_TYPE for the resource.
  8. METHOD_TYPE and RESOURCE_ID wilL be combined into a TOKEN or TICKET
  9. When a method sequence is run for a particular TICKET, each METHOD is called in an application on a host for a particular user. METHOD is passed TICKET and a resource. METHOD returns a METHOD_TYPE. If returned METHOD_TYPE = initial METHOD_TYPE, the METHOD_SEQUENCE is removed then the method sequence continues.
  10. If the returned METHOD_TYPE is UPDATE, the promise stays around, and the METHOD_TYPE is not changed in the database. The resource has been provided.
  11. If the initial METHOD_TYPE is UPDATE, the returned METHOD_TYPE replaces the initial METHOD_TYPE.
  12. METHOD_SEQUENCEs are partially ordered.
  13. When an application wants a resource and it's not fulfilled, the application can put a POSTPONE record in the table with a METHOD callback.
  14. if a user selected ERROR or CANCEL, the METHOD_SEQUENCE is removed for that RESOURCE_ID.
  15. This needs more work, especially a security review. Please help!

Wednesday, February 10, 2016

Unstructured media and the challenge for computer science

Unstructured media: variable sized, new, hyper, dangling, broken, unfinished, context sensitive, made up, random, chaotic, ungrammatical, incorrect, paradoxical, and incomplete phonemes, words, sentences, grammars, and meta-grammars. Likewise with music, speech, drawings, points, vectors, surface, volumes, dimensions (geometry), painting, sculpture, pictures, video (pixels, voxels, time rate or size), taste, smell, motion, emotion, thought, haptics and feeling. If we can find a way to represent these in XML or JSON or … I think we have a good chance of handling almost everything. Thoughts?