We Don’t Need No Stinkin File Formats

A discussion mentioning CAD file formats motivated me to make this entry.

 A file format is a particular way to encode information for storage in a computer file.

Wikipedia

Today information systems are used to either simulate and augment the tangible world or represent a fictional, virtual reality(see Meshverse 101). Except for modeling tangible documents and existing information systems, the document-oriented notions of files and folders aren’t needed in today’s simulation-oriented information systems. File systems are a brittle artifact of the misguided evolution of today’s hardware and operating systems which are innovation bottlenecks

The software that best serves human interests needs to change rapidly. From individuals to Google, new code shows up on the Internet daily, but the pace of innovation is throttled by the slower changes in operating systems which in turn are constrained by horribly inflexible hardware designed independently of the software.

Rhythmeering: Water and Ice

Entities(including what we traditionally call programs) represented in simulations just need to persist reliably in a format suitable for the simulation. Ideally, in the future, some type of RAM/holographic memory combo will transparently backup exact copies of the bits representing entities in the simulation using a single binary encoding similar to/derived from today’s FUNK. Until then everyone from large corporations to individuals will continue to increasingly use databases and non-traditional file and other storage systems that better map to the entities being represented. This information is being encoded in a small number of formats such as JSON and XML(which btw, the upcoming new release of FUNK will support). Slowly but surely the industry is returning from the mistaken journey down the road to Babylon. As with nature, a small number of self-similar, recursive approaches are much more powerful than a multitude of over-specialized ones.

Bob Barton, the main designer of the B5000 and a professor at Utah had said in one of his talks a few days earlier: “The basic principal of recursive design is to make the parts have the same power as the whole.” For the first time I thought of the whole as the entire computer and wondered why anyone would want to divide it up into weaker things called data structures and procedures. Why not divide it up into little computers, as time sharing was starting to? But not in dozens. Why not thousands of them, each simulating a useful structure? I recalled the monads of Leibniz, the “dividing nature at its joints” discourse of Plato, and other attempts to parse complexity.

The Early History of Smalltalk

Let me close with something to ponder. Do you recall files and folders being mentioned on Star Trek?

Influences
Interoperability

Comments (0)

Permalink

Can Lego’s RAP?

The already important issue of interoperability is raised to another level in this post about the upcoming Lego virtual world

Having a generational migration path through the various platforms, some for play some for work, raises all the questions about how we represent ourselves in each and how we are able to move between them.

Eighbar

FUNK encoding was designed to accomodate a very broad range of devices/environments particularly those with limited memory and little or no support for commonly used web protocols.  I don’t have a Mindstorms robot, but a quick look at the Advanced Programming Guide would seems to indicate that it fits the above description. There may not be XML and JSON parsers for Lego Mindstorms real soon and even when there are, just like Second Life’s LSL, these robots will be small memory footprint environments for some time to come. I’d love to hear from anyone with hands-on Legos programming experiences about this - I’m sure we can get Legos robots to RAP!

Influences
Interoperability

Comments (0)

Permalink

RAP was Scobleized

Scoble on Croquet reminded me that in it’s first incarnation - see scobleonrap.pdf Back then RAP was Javascript only and on the serverside only supported in Web Crossing so it’s come a long way.

Uncategorized

Comments (1)

Permalink

New RAP Demo Available

Here’s a video of the new demo of RAP. This video shows a cube in Croquet and a cube in Second Life exhibiting the same behavior(changing the color of the cube) via RAP messages send from in-world web browsers. The key steps seen in the video are described below.

RAP messages are created and processed in Squeak Smalltalk, JavaScript and Linden Scripting Language(LSL). These messages are transmitted to a primitive FUNK Space and retrieved by each environment via http.

rapdemo001.png
Cubes are white, the cursor is in Croquet about to click on the “Black Cube” link. After clicking the cubes have turned black and the cursor is about to click on the “White Cube” link.
rapdemo002.png

After clicking again, the cube turn back to white.
rapdemo003.png

Now the cursor is moved to the Second Life window where the “Black Cube” link is clicked and the cubes turn black.

rapdemo004.png

the “White Cube” link is clicked on and the cubes turn white.

rapdemo005.png

The messages in FUNK encoded form look like:

0message,6,3did,firefox,3ts,1184402324783,3aid,DemoCube,3action,setColor,0sd,3,2r,1.0,2g,1.0,2b,1.0,1d,0

A structured layout would look like:

  • 0message,6
    • 3did,firefox
    • 3ts,1184402324783
    • 3aid,DemoCube
    • 3action,setColor
    • 0sd,3
      • 2r,1.0
      • 2g,1.0
      • 2b,1.0
    • 1d,0

Implementation
News

Comments (6)

Permalink

Second Life Implementation

FUNK In Second Life has the Linden Scripting Language implementation.

Implementation
LSL(Second Life)

Comments (0)

Permalink

Updated Influences

There have been many products, projects and books that have influenced the development of FUNK over the years. These are being documented incrementally on the Influences page. Each update will be posted here so you can subscribe to the Influences category to keep abreast.

Influences
News

Comments (0)

Permalink

The Elements: FUNK-E

FUNK Elements specification released.

Implementation
LSL(Second Life)

Comments (0)

Permalink

Hello world!

3ObligatoryExample,Hello%20world%21

News

Comments (0)

Permalink