Skip to content

owise1/ic-js

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

92 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Intelligence Collective (text/ic)

you know how sometimes you're like "this is like that" and "that is like this"? well, this is like that

IC is an extremely simple text format designed for creating meaning. It's a simple way to collect, share, and connect our associations, perceptions, and thoughts.

IC is designed for humans first and the internet second. As opposed to HTML, which combines UI, content and application logic, IC is only for one thing: recording what someone thinks. IC's simple syntax makes it easy to uderstand for us, but it also makes it easy to build for and work with.

In IC we're connecting things. Either this goes with that, or this doesnt go with that. That's it. The syntax is basically just a +, a -, the enter key, and however you already talk. This makes it so literally anyone can contribute knowledge. Here I'll show you:

Intelligence Collective
+ simple syntax
+ thoughts
- hard to learn 
- html
+ connection collections
+ thought maps
+ distributed brainstorms
+ a *web* of meaning
+ a new medium 
+ a new demographics 
+ internet primitive
+ ponds
- streams

Imagine an index.ic sitting right alongside your index.html file representing what the website owner thinks and linking to other ICs on the internet that they endorse, like a link list for perspectives. IC files on the internet allow us to create truly decentralized and personalized knowledge webs at any scale, without having to rely on large corporations, complex search algorithms or expensive processing power.

There is a lot to talk about. Continue here...

This is a javascript implementation of IC built to be stored in memory and external files on the internet.

JavaScript Style Guide

Methods

ic.tag(to, from, yesNo = '+')

creates a tag for the perspective

ic.all()

returns all tags

async ic.import(str)

parses IC export format into db

str can be .ic formatted string or url to .ic or ipfs CID containing .ic formatted string

ic.export(fn, opts = { pure: false })

returns IC export of entire db in .ic formatted string

fn can transform/filter tags before they're output. note flattens tags to most recent. also, see IC purity

async ic.refresh()

re-fetches external ICs

ic.seed(['seed tags'], opts = { depth: -1 })

returns a new IC containing only tags connected to your seed tags

by default it will take everything connected to everything connected to....the seeds tags. adding opts.depth = 1 will only go one step out from the seeds in either direction

Eventually we'll amass enormous collections of thots managed and curated by different groups for different reasons. "Seeding" is an approach to interacting with these unweildy data sets. When we seed we use a small collection of our own and pull in only the thots from the larger set that are explicitly mentioned in ours and their ancestors. Like seeding a cloud.

ic.findTagged(['parent tags'], opts = {})

by default returns an array of all children with all given parents

This is useful for quickly finding the intersection of multiple tags.

Add the ic option for a new IC object containing only the parent child connections

Static

IC.clean(str)

utility function to enforce tag string format

  • remove special leading characters //, _, +, -

IC.create(opts)

factory function

IC.isIcUrl(str)

basic regex check for http and .ic

Events

'data'

when new data arrives

About

Intelligence Collective

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published