Zoku Collaborative Systems™
Group software for your business, team or tribe™

"People working together need to coordinate
their activities regardless of where they are located
or when they are working together.
This need will never go away."

- Peter William Lount, 1998
Zoku.com
 Main Page 
 Welcome 
 Zoku 
 What is Zoku? 
 ZokuTalk 
 Contact us 
 Login 

Welcome to Zoku.com™ | Zoku Principles

“First build a strong base."
- Sun Tzu

“Three helping one another will do as much as six working singly."
- Spanish proverb

“I must create my own system or be enslaved by another man's."
- William Blake

“As I would not be a slave, so I would not be a master. This express my idea of democracy. Whatever differs from this, to the extent of the difference, is no democracy."
- Abraham Lincoln, August 1st, 1858

“Commitment is what transforms a promise into reality. It is the words that speak boldly of your intentions. And the actions which speak louder than the words. It is making the time when there is none. Coming through time after time after time, year after year after year. Commitment is the stuff character is made of; the power to change the face of things. It is the daily triumph of integrity over skepticism."
- Shearson Lehman, American Express

“Until one is committed, there is hesitancy, the chance to draw back, always inneffectiveness. Concerning all acts of initiative (and creation), there is one elementary truth the ignorance of which kills countless ideas and splendid plans: that the moment one definately commits oneself, then providence moves too. All sorts of things occur to help one that would never otherwise have occured. A whole stream of events issues from the decision, raising in one's favour all manner of unforeseen incidents and meetings and material assistance which no man could have dreamed would come his way.
Whatever you can do or dream you can do begin it.
Boldness has genius, power and magic in it.
BEGIN IT NOW!"

- Johann Wolfgang von Goethe

“Designing an object to be simple and clear takes at least twice as long as the usual way. It requires concentration at the outset on how a clear and simple system would work, followed by the steps required to make it come out that way -- steps which are often much harder and more complex than the ordinary ones. It also requires relentless pursuit of that simplicity even when obstacles appear which would seem to stand in the way of that simplicity.
- T.H. Nelson, The Home Computer Revolution, 1977

“There is great satisfaction in building good tools for other people to use."
- Freeman Dyson, Distrubing the Universe , 1979

“The real question before us lies here: do these instruments further life and enhance its values, or not?"
- Mumford, Technics and Civilization, 1934


Zoku™, a word meaning group of some kind
Zoku, a Japanese word that means group, family or tribe.

Zoku, a set of collaborative technologies from Zoku.com.

Zoku is an idea, a way of thinking about people working together, a way of exploring how people work together to produce results, a perspective on getting things done with others.

Zoku is a collaborative system, made up of various software and hardware, that empowers people to work together to achieve their commitments and goals.

If you work, live or play with other people then you are in one or more "zokus". How many different zokus, or groups, are you a part of?

Zoku allows you to build applications customized to meet the needs of your business, team or tribe. A system that enables you to share you work with others as you are working on it. A system that moves the information around your team of people so that your work flows as efficiently as possible.

Zoku.com synthesizes, innovates, integrates, delivers, provides collaboration solutions for your project, family, home, group, collective, community, cooperative, common, commune, monastery, church, congregation, conflux, congress, organization, friends, party, school, neighborhood, contesseration, concourse, convergence, common ground, concentration, body, board, unit, regiment, corps, brigade, battalion, union, fellowship, muster, attroupement, ship, peers, rabble, crowd, throng, state, country, pariliment, legislature, senate, troupe, task force, profession, tribe, squad, team, department, division, company, and of course, business.

We are working diligently to bring you the most advanced collaborative software technologies available using currently available commodity computing hardware. Our software technologies are an integration of revolution and evolution, a synthesis of what is known to work really well with the way you really want it to work, a meeting of the tried and true with human sensibilites taken into account, a technology that is forgiving of machine and human faults.

What is Zoku?
“The wheel is an extension of the foot,
the book is an extension of the eye,
clothing, an extension of the skin,
electric circuitry, an extension of the central nervous system."

- Marshall McLuhan and Quentin Fiore, The Medium Is the Message, 1967

“Zoku is an extension of the individual, team, business or tribe."
- Peter William Lount, 1999

Empowering People to Work Together
Zoku is a collaborative system that empowers people to work together to achieve their commitments and goals. It allows you to build custom applications that meet the needs of your business, team or tribe. A system that enables you to share you work with others as you are working on it or after you've completed it. A system that moves the information around your team of people so that your work flows as efficiently as possible.

Forming Communities, Teams and Tribes
Zoku's a technology that aims to bring people together to form communities, teams, and tribes where they can coordinate their actions and produce real results. It enables a diverse group located in different locations to work together at the same time or at different times.

Forming Social Networks
Zoku's a technology that aims to bring people together to form social networks, private and public, where they can communicate, discuss, debate, converse, and share with each other.

New Media and Time Travel
Zoku's a new media format that solves the problem of being in different places at the same time. It allows you to time travel in the sense that voice mail lets you leave a message for someone to hear in the future. It lets you hear what was said to you from the past.

Intuition
Zoku's got your intuition in mind, and by extension to your group, Zoku has got your organization's intuition in mind. Zoku is about harnessing the power of the collective inituition of people in your group and enabling them to communicate it.

Proactive Safe Computing
Zoku's a system that protects your data and applications with fault tolerance so that you can concentrate on your task at hand. A system that practices safe computing. A system that provides robust industrial strength storage of your data and applications.

Graphics - 2D, 3D & Animation
Zoku's a system that provides powerful professional quality 2 and 3 dimensional graphics that any serious publisher would be proud to print. When you bring time into the mix you get animation.

Human Interface
Zoku is interactive, fast, and presents a familar graphical human user interface that is easy to use yet powerful for any application.

Application AND Database
Zoku allows you to construct your collaborative applications and build a database of information and publish it on paper, online or on the web.

Summary and Details
Zoku's a system that lets you see your data in detail or in summaries. You choose what you want to see and when you want to see it.

Active Information. It's Alive!
Zoku is an active system that can be running all the time (if you choose). This allows your team members actions to be happening and supported around the clock. Information on paper is static while Information in Zoku is active, dynamic and flexible. "It's alive" you might say.

Automation for Creativity
Zoku's a system that automates the boring, repititive stuff and lets you be creative.

Incorporates Feedback
Zoku's a system that grows over time. It is constantly being improved. It takes your feedback, incorporates it, and distributes it back in a symbiotic-bio-feedback cycle.

Dynamic, Flexible, Easy and Scalable
Zoku's a system that enables end users who have the level of skills to use a spreadsheet to be able to build dynamic and flexible applications that can be used to drive a large, medium, small or rapidly changing business. From a one person operation to a large bank, Zoku, provides technology solutions that scale to your needs.

Be Informed
Zoku's a system that lets your team members be informed about the progress of a project and allows them to contribute appropiately as needed to produce the results your aiming towards.

Cold Heat
Zoku's cool technology that's hot...

ZokuTalk™ | The Powerful Language Of Zoku
ZokuTalk is the powerful computer language that underpins all the Zoku Collaborative Applications

At the heart of Zoku is the powerful ZokuTalk computer language which uses a pure object oriented message passing syntax with full block closures where code is data and data is code. In the tradition of Lisp, ZokuTalk is one of the only pure message passing object oriented languages that is "homoiconic", that is where the same textual format for source code written in ZokuTalk is also used to represent and store all kinds of data.

There are many innovations that ZokuTalk adopts from a number of other computer languages (Lisp, Smalltalk, Forth, Postscript, Rebol, C, Assembly, and many others too numerous to list here.

For example, ZokuTalk introduces its own innovations such as the Unification of Block (where program code between square brackets becomes an active living object) and Method (aka Function) Syntax. This unification simplies the language syntax and enables entire classes and their methods or pieces there of to be defined within other blocks or methods. An aspect of ZokuTalk is using the leverage of "code generation" to construct dynamic on the fly applications as needed.

ZokuTalk provides powerful meta programming capabilities, that is the same ZokuTalk syntax used to express and perform general purpose programming is used to write programs or parts thereof that inquire about, manipulate or modify your running program. Along with this powerful unification of general purpose and meta programing (programing about your program) ZokuTalk provides another breakthrough use of the "meta" reserved keyword which enables all "primitive language functions/methods" and all operating system or foreign libraries (DLLs) produced with other systems (or Zoku) to be accessed using the full power of the full language syntax and semantics. With only six reserved words, ZokuTalk is minimalist by design in the reserved words and provides "nil, true, false, self, super and meta" as the only reserved words in the language. "meta" enables access to all aspects of the low level object oriented bare metal Zoku Execution Engine™ (ZEE). You can load other components, such as DLLs, and call their functions, you can access ZEE primitive methods regardless of the langauge they are written in; you can perform many meta operations such as learning about the current execution context on the current thread or another thread; you can access namespaces and the current security profile. You can find out the sandbox that you're running in and it's resources available to your program. Of course these meta operations occur with a security context, for example a Zoku Program that comes in from a stranger will be run in a secure sandbox so that any damage or attempts at security breaches are contained.

In ZokuTalk many kinds of programming are unified with one syntax to rule them all, that is one syntax is used for these crucial major kinds of programming:
  • (1) general purpose programming;
  • (2) meta programming (programming that treats your program as data, provides reflection capabilities);
  • (3) data programming (for defining or generating data, including generating programs as data);
  • (4) validation/verification programming (for providing basic "type safety" constraints as well as data "input/parameter/allow values" verifcation as needed);
  • (5) testing programming (for unit and regression testing);
  • (6) functional programming;
  • (7) transactional programming;
  • (8) concurrent multi-core multi-threading programming;
  • (9) distributed database programming (to support concurrent collaborative data storage and transport);
  • (n) and more.
All these kinds of programming are provided using the same powerful block object message passing syntax using unary, binary and keyword message sending syntax. All syntax in the ZokuTalk language supports or aids in these kinds of programming unifying them with the full power of general purpose programming. Why is this important?

Usually "meta programming" or "type safety" validations are constricted to a subset or separate limited syntax that is different than the main grammar principles of the language. Take the iCk "C" based languages, such as "C", Objective-C, Java, C#, Apple's new Swift language, JavaScript, C++, and many others for example, their "static typing" adds a rigid and very limited "type" syntax onto these languages, the main general purpose grammar can't be used to reason about the "types" of variables, parameters, objects (if they have objects), generics (if they have generics), etc....

In ZokuTalk validations can be attached to instance variable "slots", parameter "slots", and these validations are defined using the exact same block object messaging syntax as all programming in the ZokuTalk system uses. In fact the validations and verifications form a class library that the end users can modify and extend as their need requires for their applications. In ZokuTalk the main area where "class type checks" are needed is when communicating via the meta reserved keyword object, "meta", to access ZokuTalk Primitives or to access foreign libraries (DLLs, shared libs, ...) as these primitive or low level functions have tight requirements on their parameter "types" (such as SignedInteger64, UnsignedInteger32, Character8, Pointer64, Pointer64 to a SignedInteger64, ...).

The programming language principle of "homoiconicity" or "homoiconic" is when a program can be represented in the same language as data and vice versa. The Lisp programming language has this property. ZokuTalk inherits many things from Smalltalk and as much from Lisp, the principle of "homoiconicty" being a principle from Lisp that heavily influences the ZokuTalk language syntax, in fact so much so that ZokuTalk diverges from Smalltalk for the express purpose of achieving ZokuTalk meeting the criteria for being a homoiconic programming language where data and program code are interchanable at all places. Anywhere you can have Objects you can have data and where ever you have data you can have objects! This means slicing off legacy syntax from Smalltalk that doesn't meet the homoiconic principles. In ZokuTalk the Unification of Block and Method Syntax eliminates the "legacy source code format" as methods can be definied in blocks and scripts of blocks (see the example 1 below). In ZokuTalk the "thisContext" reserved keyword is replaced by the much more generic and much more powerful "meta" reserved keyword which facilitates the elimination of the non-block non-object non-message-sending syntax of Smalltalk's primitive and foreign function call syntax. In addition, ZokuTalk eliminates a number of Smalltalk's "literal array" syntaxes, #(...), #[...], and {...} as they are restricted to literal data type definitions only violating the homoiconic principles that any data definition syntaxes mush also enable full general purpose programming to be performed.

ZokuTalk introduces new syntax very cautiously to ensure that the new syntax is block method message passing compatiable or provides new ways of specifying basic data type literals. For example, ZokuTalk introduces binary, octal, and hex as well as Unicode chracter types using 0b1010 (binary, 0 and 1), 0xABFC (hexidicimal, four bits per character, 0-9A-F), 0o2 (octal - three bits per character 0-7), U+000D (for any Unicode code points), as well as many more.

ZokuTalk introduces blocks that are used to define arrays or lists of things, such as "anArray := [ 1. 2. 'hi'. (3+4). #end ] valuesAsArray", which uses a library method to collect up the value of each statement in the block and place it into an array instance. As this is part of the class library you can add your own customized methods that do things such as "[...] valuesAsSet" which puts the values from each statement into a set object instance. Note in Squeak and Pharo and a few other Smalltalk's they use the curly braces, "{ }", for this however that wasn't needed as it can be accomplished with blocks and the #values methods instead. This leaves the curly braces to be available for another new important syntax for interoperability on the Internet and with other computer languages.

ZokuTalk introduces the concept of "free text strings" using the curly braces, "aString := {this is free text that produces a string object with the difference that all the text including white space is perfectly preserved which is great for tags or JSON data}" or whatever other data or language syntax that you wish. Nested curlies are permitted as are unbalanced curlies, fixed size binary/text blobs, variable sized binary/text blobs which are perfect for MIME encoded data or binary files such as images being embedded in the source code stream. The String class instance methods have various parsing methods that invoke various parsers for JSON, XML, or whatever you wish so you can say something like "xmlTag := {John Smith} parseAsXML." and get back an XML tag object with the nested name and person tags. You can also define your own data format parsers if you wish using the ZokuTalk Parsing Framework.

ZokuTalk allows variable name identifiers, method names, method and block parameters, instance variable names, class names, and namespace variables to be expressed in a subset of Unicode greatly expanding the range of allowed characters from languages other than English to be used. The full set of characters allowed will follow standards set by Unicode and other programming languages that have adopted Unicode in "identifiers". Strings of course may have a much wider range of characters, actually the full set of Unicode code points (with certain characters requiring escape characters in Strings; free text can have any Unicode code points in them (again some with escapes or using the free text variable length syntax without escapes).

ZokuTalk is compiled to high speed native assembly language for 64 bit AMD/Intel CPUs as well as to powerful OpenCL Kernels for AMD/NVidia/Intel GPUs.

ZokuTalk provides for safe multi-core multi-threading using it's exclusive Zoku Dexter Serial Killer™ technologies. Zoku Dexter™ enables safe parallel use of all the cores in your computer, laptop, mobile device, phone, tablet, desktop computers functining as a cloud or use of the Zoku Cloud service. ZokuTalk programs that have parallel workloads can be split among one or more cores, as well as one or more compute "nodes" in your collection of computers (your cloud) or a dedicated Zoku Clould Service. This disribution of your programs and data across the devices at your control can be done on an as needed basis at the time you run your custom Zoku Applications.

Many collaborative applications are being contructed using ZokuTalk.

An example of ZokuTalk can be found here: ZokuTalk Example 1.0

The ZokuTalk parser and compiler are being built as is the Zoku Execution Engine (ZEE). The ZEE is not a "virtual machine" as their time has past, the ZEE is the runtime environment required for ZokuTalk programs to fully fuse with the bare metal of the latest and greatest state of the art computing hardware! As close as it gets! Intimate contact with the real machine to scrape every last machine cycle out of the ZokuTalk program whether it's a CPU or a GPU or a whole network of them in an Intranet, across the Internet or within a Zoku Clould Service.


Contact Us
Zoku Collaborative Systems™, a division of
Active Information Corporation
1917 West 4th Avenue, #14
Vancouver, BC, CANADA
V6J 1M7
info@zoku.com
www.zoku.com

Login
If you have been assigned a login id you can login here for the visualizations demonstration.



Powered by Zoku.net™ Global Network Operations


sensei