[racket] Finndesign Liitin: Computing rethought

From: Jukka Tuominen (jukka.tuominen at finndesign.fi)
Date: Wed Jan 5 18:55:56 EST 2011

Hi Matthias,

> -----Original Message-----
> From: Matthias Felleisen [mailto:matthias at ccs.neu.edu]
> Sent: 06 January 2011 00:09
> To: Jukka Tuominen
> Cc: users at racket-lang.org
> Subject: Re: [racket] Finndesign Liitin: Computing rethought
> Jukka, this all sounds like an inspiring idea, kind of like a
> return to the future of Lisp machines.

Inspiring indeed :) However, we have taken a very different starting point.
Liitin uses many "best of the breed" open source software (Linux, Ubuntu,
Postgres, Racket, Kerberos, OpenLDAP, OpenAFS....), actually much over the
bear minimum, just to make it instantly useful until there is enough native
Liitin applications available. Because the environment has to be frozen for
persistency demand (during 2011 hopefully), from that point on it will be a
kind of read-only BIOS that will eventually be outdated and overridden by
native content... and perhaps become a reincarnation of Lisp Machine among
other things. Even now, when you log into Liitin account, it runs a single
scheme command ([namespace]:home) which you can modify as any other Liitin
object. So there doesn't need to be anything original left (visibly anyway).
> 1. What kind of uses do you imagine?

The project has gone a long way since the beginning. It actually started up
from the need to make the communication with machines easier and allow far
better personalisation than exists today. People have different physical
properties, and one's interests change during lifetime. This all concerns
both HW and SW. But to allow this to happen properly, we had to dig much
deeper to get the architecture right, so you could harness all the data and
functionality during your lifetime. Further on, most of the information
doesn't come from yourself, but you have to be able to collaborate with

Something very narrow turned out to be very generic. For one thing, I'd like
to use it as a personal user interface for basic computing. Accumulate
personal information and functionality that is valuable for me. Harness
various gadgets under a more usable interface, control electronics and
household functions in a consistent and familiar way (rather than learning a
different interface for each as is required today).
I would very much like people bringing in they specialised knowhow be it
data or functionality, so that others with less skills in that area could
utilise it and take it further. Ontologies and prolog type of functionality
comes to mind as an example. I would also like to see children being able to
create new things as a lego type of game, as well as older ones with genious
minds but no programming skills. With the help of Moore, there may not be
need for seperate, speed-only oriented environments in future.

Somehow the role of Latin comes to my mind as an analogy. Even today it
plays an important role both in the foundation as well as the latest

The reason to pick Scheme actually comes from my personal hobby of
artificial intelligence dating back 20 years or so. Without that experience
there wouldn't be Liitin today.

> 2. I am not sure how the phrase 'network OS' connects to the rest
> of the message.
> -- Matthias

To make Liitin truly hardware independent and almost software independent
system as well, the idea is to create a kind of self sufficient Turing
Machine that is only connected to other systems through a network. As a
proof of concept, we have tested out that you can create GUI interfaces
without display card and music stream without sound card and view the
results over network. Nothing unique there, but proves the point.

br, jukka
> On Jan 5, 2011, at 10:04 AM, Jukka Tuominen wrote:
> >
> > Hi all,
> >
> > after about a decade's development work, we (Finndesign) are about to
> > release something that we feel very exited about. It's a
> network OS called
> > Liitin and it uses Scheme (Racket) as built-in language. BTW,
> Liitin means
> > 'connector' in Finnish and is pronounced like "Lee tin".
> >
> > Rational:
> > There are lots of great free software and snippets out there, but due to
> > incompatibilities and overall complexity to setup a working environment,
> > they are often out of the reach of most of us. Or it's just not
> worth the
> > trouble. Often data disappears or keeps changing without warning, so
> > eventhough you know it's out there, it's an unsure and tedios task to
> > actually utilize it (let alone to build something on top of it).
> >
> > Liitin tries to address these problems with some of its key principles:
> > - The environment is kept static and uniform, so when you
> create an object,
> > anybody else can use it instantly without worrying about compatibility.
> > - Development and dynamicy is done by Liitin objects. You can create an
> > infinite number of objects and use and share them on the fly. That is,
> > object are located in a global database, and you can refer to any object
> > directly without requiring a different set of libraries case by case
> > (provided that these functions are placed into Liitin once,
> naturally :).
> > - Liitin objects can be anything (data, functions, GUI...), and
> - thanks to
> > Eli Barzilay's help - you can use them just like Scheme's
> built-in objects.
> > For example:
> >  (gaia:fibonacci 10) >> 55   i.e. user Gaia has created a public object
> > fibonacci.
> >  (mirko:eliza "i feel like singing") >> "do you often feel like singing"
> >  (liitin:script-manager) >> opens a new window that manages scripts
> >  (liitin:object-properties 'gaia:fibonacci) >> opens the source
> code of the
> > object for viewing/editing
> > - Each user has his own namespace, so eventhough you can
> view/execute/modify
> > all public objects as you like, you can only do so within your own
> > namespace. Private objects are also available.
> > - Persistency is enforced, so that any object ever saved/published, is
> > always accessible thereafter.
> > - You can choose whether to call the latest version of the
> object, or any
> > earlier version.
> > - Updates are instant; the author updates the object once and
> everybody else
> > will receive the latest version the next time they call the object.
> > - Best of all, there's nothing to setup, just log into Liitin
> >
> > There are many potential ways to utilize Liitin, such as:
> > - Personal desktop
> > - innovating new functions or combining existing ones into something new
> > (visual programming and hardware control on the roadmap)
> > - Educational usage: teaching, learning, research, final thesis...
> > - collaborating work: use all the power of existing effort and
> work on new
> > projects simultaneously around the globe.
> > - Building ontologies with built-in functionality (~semantic web)
> > ...
> >>> Consider accumulating not only the knowledge of humankind but also
> > methods (instantly at hand :)
> >
> > The main goal is not to build the fastest system out there, but
> rather an
> > enabler. Instead of weeks of work, you can create something in hours or
> > minutes. Instead of not having something done at all, you can
> and feel like
> > having it done.
> >
> > A lot still needs to be done but we already have a prototype running the
> > basic functionality. Before passing this into hands of a wider audience
> > (incl. non-schemers), we would be anctious to hear how you like
> this kind of
> > idea?  I could also provide a limited number of test accounts
> over Internet
> > to allow first hand experience (preferably core Racket
> developers at this
> > point). For test account requests, please email me directly.
> >
> > So, how does this sound to you?
> > Possibilities, limitations, threats, questions, ideas? Cool/ not cool?
> >
> > br, jukka
> >
> >
> > |  J U K K A   T U O M I N E N
> > |  m a n a g i n g   d i r e c t o r  M. A.
> > |
> > |  Finndesign  Kauppiaankatu 13, FI-00160 Helsinki, Finland
> > |  mobile +358 50 5666290
> > |  jukka.tuominen at finndesign.fi  www.finndesign.fi
> >
> >
> > _________________________________________________
> >  For list-related administrative tasks:
> >  http://lists.racket-lang.org/listinfo/users

Posted on the users mailing list.