March 25, 2014
Reddit as a Project Community
April 30, 2012
New documentation about Entrelacs
- Arrows Space - Introduction
- Arrows Space - Tricks
- Arrows Space - Connectivity
- Arrows Space - Persistence Layer
December 27, 2011
Entrelacs first prototype starts working
During this year, I did my best finalizing the Entrelacs prototype I started few times ago. It has been totally rewritten, now with a 64 bits cell structure which may hold a whole arrow definition, ie. a pair of 24 bits adresses. It also includes a commit journal and a working functional machine which illustrates how I imagine a self-efficient system. This code is now runnable and successfully passes few regression tests.
I've also completly rewritten the project introduction into the form of a manifesto. My plan is to separate and highlight the core ideas I believe in from the code I've authorised. By doing so, I hope to make the Entrelacs project an umbrella project working as a reference for people wishing to explore the paths I went into. I' m nothing like a leader but necessities push me to act so.
Here are my next plans. On the theoretical side, among other things, I plan to work on a peer-to-peer scalable architecture of networked entrelacs system. On the political side, I plan to introduce Entrelacs as a easily self-hostable server of cloud-like applications which may counterbalance corporate-driven cloud services. On the coding front, I obviously plan to embed an http server in my prototype so to serve arrows as REST resources. Of course, it has surprising implications, like merging resources and url concepts into a single one.
All in all, I'm bound to merge the two projects I'm working on. That is Handballer and Entrelacs. My Entrelacs prototype will be an http server publishing the Entrelacs language interpreter I'm working on. But its key feature will be to allow user agents to register a "closure" as an url that the server will call back on invocation. So Handballer will be operated here to open http push connections and convert them into reliable url. This duo will transform Entrelacs into a Restful applications bus, that is a new form of application server to host complex AJAX/COMET web appliances in a very open and transparent way.
April 28, 2010
The first Entrelacs prototype is emerging
The arrows space is a kind of data base which allows to store and fetch information in the form of arrow structures, in compliance with the arrow paradigm.
As I expected, the resulting piece of code is very short. But it isn't as simple as I wished.
Of course, as predicted by the arrow theory, the mass memory stands as a self-referred open-addressed hash table using all the available storage space.
But I had to better integrate data strings in my plans.
However, I had to made concessions.
- BLOB arrows raw data are not stored into the arrows space. They are stored as host files instead. As long as Entrelacs won't be an autonomous operating system, I guess this is a reasonable concession.
- Incoming children arrows and outgoing children arrows are put in the same back-references list. It means one can't distinguish them without fetching them and examining their ends. This is a bit disappointing news, but I can't have more than one coalesced linked list per arrow.
- For the same reason, tag arrows are not back-referred. Otherwise, the back-references list would have been put beside the char string in the same coalesced linked list. Tag arrows only have a reference counters used for garbage collector.
But for the first prototype, I had only 8 admin bits per cell. Combined with 24 bits for a memory address, it just fits in a 32 bits cell.
Now, I use these administrative bits for two other needs.
- to distinguish between regular arrows, rooted arrows, tag arrows and stuffed cells.
- to count cell "crossovers". This other invention of mine consists in incrementing a short-range counter per cell each time the cell is included into a probe sequence. It is supposed to make cell freeing feasible as in linear probing. TBC!
I've thought about this code for like 11 years. So I'm more than happy to see something concrete emerging. Now I must confess I need a break. I haven't even tried yet to compile or obviously to debug the whole thing. It also lacks for a few features, like a commit log to ensure transaction atomicity.
Then the next step will be to code the virtual machine for the Entrelacs language -a query language for the arrows space-. Sigh! If only I could be seconded in this task.
November 22, 2009
Misunderstood Chrome OS
But at the moment writing, even the rare IT experts who positively welcomed Chrome OS persist in propagating even more wrong beliefs about it. To name a few:
- Chrome OS is a "crippled OS" / a "toy OS" / a "secondary OS"
- Which could NOT run Photoshop or WoW
- Which depends on a network connection to run
- Which can't compete with regular OS for non Internet centric use cases.
On the other side, Gears and now HTML 5 allow a web application to be fully mirrored and runnable in a local storage.
Please note Gears is already a several years old technology, now superseded by HTML 5 local storage features. Both Gears and HTML 5 are fully integrated to Chrome browser. It means nothing prevents software developers to design applications 100% featured offline.
I think one doesn't even need a network connection to install such a web application as I suppose you could install it from a "file:" URI pointing e.g. a plugged SD card. You understood well: Not only Chrome OS applications could run without a net connection but they could even be "installed" offline.
Chrome OS can run anything.
- For example, your preferred MMORPG could be replaced by as an O3D/JS app, seconded by a NativeClient framed IA and physic engine.
- People often cite Photoshop as THE application which will never be available on Chrome OS. On my own, I don't see why it could not be cloned as well. Simply combine O3D, Javascript and NativeClient framed image processing native code.
Google is not (yet) like Microsoft but...
Even if Chrome OS also features a form of trusted computing, I'm confident with the fact that the end user will be able to bypass security checks and even install an alternative OS. Why? Because Google is neither a software nor an hardware authoring company. It's a SAS provider whose long-term strategy consists in removing all the mess between their services and their users, especially closed software on mobile and wired devices.
However I'm OK complaining about how Google is centralizing and mining our user data. As long as Google deals with ads, no problem. But at any time the Google's architecture could be high-jacked by some governments or corporations to make 1984's world a truth. This is clearly a "single point of failure" in human rights protection.
My idea is that we can make personal data accessible from anywhere without storing it "on the cloud". The solution consists in self-hosting SAS at home with low-consumption hardware. This is the necessary condition to sanitize this new software architecture Google has built for us. It pleads for a complementary software stack providing self-hosted services at home. HandBaller and Entrelacs could contribute to it.
November 19, 2009
Nickel OS: a home server for Chrome OS and relatives
November 5, 2009
HandBaller project blog opened
Welcome to HandBaller project blog. This blog will gather useful information about the project, its status and future. For more information about this software, please visit the HandBaller project page.