<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-11253294</id><updated>2011-04-21T21:46:34.375-07:00</updated><title type='text'>Garfixia</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://garfix.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11253294/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://garfix.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Patrick</name><uri>http://www.blogger.com/profile/14652514713181312810</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>18</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-11253294.post-115977710243983469</id><published>2006-10-02T01:17:00.000-07:00</published><updated>2006-10-02T01:18:22.450-07:00</updated><title type='text'>This blog ends ...</title><content type='html'>... and is continued &lt;a href="http://www.garfixia.nl/"&gt;here&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11253294-115977710243983469?l=garfix.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://garfix.blogspot.com/feeds/115977710243983469/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11253294&amp;postID=115977710243983469' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11253294/posts/default/115977710243983469'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11253294/posts/default/115977710243983469'/><link rel='alternate' type='text/html' href='http://garfix.blogspot.com/2006/10/this-blog-ends.html' title='This blog ends ...'/><author><name>Patrick</name><uri>http://www.blogger.com/profile/14652514713181312810</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11253294.post-115557747524153964</id><published>2006-08-14T10:41:00.000-07:00</published><updated>2006-08-14T11:04:03.506-07:00</updated><title type='text'>My stereo set not being an FSM revisited</title><content type='html'>I solved this problem, mentioned earlier. It is published &lt;a href="http://www.dossier-andreas.net/on_fsm/on_fsm.html"&gt;here&lt;/a&gt;. The solution entails treating a transition as a superstate in itself: a stateful transition (my term). Each exit, entry, and transition action (code) is treated as a substate of this superstate.&lt;br /&gt;&lt;br /&gt;I also checked if this article was being linked to. It wasn't. Then I checked if it was indexed by Google. It was. But when I started looking for it with some sommon search terms, I couldn't find it. It turns out that I hadn't even given the article a proper HTML title tag and some meta tags. No-good webdeveloper, me. I fixed it now. I'm pretty sure &lt;span style="font-style:italic;"&gt;somebody&lt;/span&gt; must be interested in it :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11253294-115557747524153964?l=garfix.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://garfix.blogspot.com/feeds/115557747524153964/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11253294&amp;postID=115557747524153964' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11253294/posts/default/115557747524153964'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11253294/posts/default/115557747524153964'/><link rel='alternate' type='text/html' href='http://garfix.blogspot.com/2006/08/my-stereo-set-not-being-fsm-revisited.html' title='My stereo set not being an FSM revisited'/><author><name>Patrick</name><uri>http://www.blogger.com/profile/14652514713181312810</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11253294.post-114945134374423388</id><published>2006-06-04T12:32:00.000-07:00</published><updated>2006-06-04T13:24:02.956-07:00</updated><title type='text'>Ontwikkelingen in rijsimulatorland</title><content type='html'>Ook al ben ik al een tijdje weg bij &lt;a href="http://www.greendino.nl/"&gt;Green Dino&lt;/a&gt;, ik probeer de rijsimulatorwereld toch zo nu en dan een beetje te volgen. Dat doe ik gewoon door op 'rijsimulator' te Googlen. En dan vallen me verschillende dingen op:&lt;br /&gt;&lt;br /&gt;1. De simulator van VStep schijnt nu binnenkort toch echt &lt;a href="http://www.nvexamens.nl/index.php/nve/nieuws/virtuele_rijles"&gt;geplaatst te worden&lt;/a&gt;, en wel in Rotterdam. Er is nog steeds geen foto te vinden van dat ding, maar wel een aantal mooie renderings, bijvoorbeeld op hun website &lt;a href="http://www.drivezone.nl/info.php?page=wat_is_drivezone"&gt;DriveZone&lt;/a&gt;. Informatie hierover zoeken gaat ook goed via VStep's CEO Pjotr van Schothorst. (Of &lt;a href="http://www.goedkooptanken.nu/news/rijles-in-een-stilstaande-auto_news1489.html"&gt;is er al een geplaatst&lt;/a&gt;?)&lt;br /&gt;2. De ANWB heeft Google betaald om op bovenaan de zoekresultatenlijst te verschijnen bij zoeken op "rijsimulator". Hahahaha!&lt;br /&gt;3. Er is geen positief bericht te vinden over de ANWB simulator.&lt;br /&gt;4. Kennelijk heeft Green Dino contact gehad met de Belgische ANWB(?), de VAB, af te leiden uit deze &lt;a href="http://www.vab.be/NL/dossiers/dossiertekst.aspx?Id=175"&gt;uitgebreide pagina met mooie foto's&lt;/a&gt;.&lt;br /&gt;5. Er zijn weer een aantal simulators geplaatst, zoals die van het &lt;a href="http://www.simcenter.nl/createsite/page/createpage.asp?b_id=12587&amp;pg=2"&gt;SimCenter&lt;/a&gt;.&lt;br /&gt;6. Hoe komen ze bij VVCR aan zo'n coole &lt;a href="http://www.bovbv.nl/NL/trainingen/Simulator/SimulatorHuurNl.html"&gt;mock-up&lt;/a&gt;? En waarom heten ze nu ook BOV BV?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11253294-114945134374423388?l=garfix.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://garfix.blogspot.com/feeds/114945134374423388/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11253294&amp;postID=114945134374423388' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11253294/posts/default/114945134374423388'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11253294/posts/default/114945134374423388'/><link rel='alternate' type='text/html' href='http://garfix.blogspot.com/2006/06/ontwikkelingen-in-rijsimulatorland.html' title='Ontwikkelingen in rijsimulatorland'/><author><name>Patrick</name><uri>http://www.blogger.com/profile/14652514713181312810</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11253294.post-114884493599238835</id><published>2006-05-28T12:33:00.000-07:00</published><updated>2006-05-28T12:36:17.443-07:00</updated><title type='text'>Semantic MediaWiki</title><content type='html'>Imagine the combination of the Semantic Web and WikiPedia... the possibilities!&lt;br /&gt;&lt;br /&gt;I am making an &lt;a href="http://www.dossier-andreas.net/semwiki/semantic_mediawiki.html"&gt;inventory&lt;/a&gt; of resources in this area, with the intent of perhaps making a contribution.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11253294-114884493599238835?l=garfix.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://garfix.blogspot.com/feeds/114884493599238835/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11253294&amp;postID=114884493599238835' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11253294/posts/default/114884493599238835'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11253294/posts/default/114884493599238835'/><link rel='alternate' type='text/html' href='http://garfix.blogspot.com/2006/05/semantic-mediawiki.html' title='Semantic MediaWiki'/><author><name>Patrick</name><uri>http://www.blogger.com/profile/14652514713181312810</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11253294.post-114856271357561786</id><published>2006-05-25T06:08:00.000-07:00</published><updated>2006-05-25T06:19:12.340-07:00</updated><title type='text'>Google search RSS feed</title><content type='html'>Note to self: it is possible to create an RSS feed based on Google's new results for any query; use Google's "daterange:startdate-enddate" syntax to filter by the date content was first indexed. Note that the dates are Julian dates (number of days since 1 Jan. 4713 BC); each days starts at noon.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11253294-114856271357561786?l=garfix.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://garfix.blogspot.com/feeds/114856271357561786/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11253294&amp;postID=114856271357561786' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11253294/posts/default/114856271357561786'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11253294/posts/default/114856271357561786'/><link rel='alternate' type='text/html' href='http://garfix.blogspot.com/2006/05/google-search-rss-feed.html' title='Google search RSS feed'/><author><name>Patrick</name><uri>http://www.blogger.com/profile/14652514713181312810</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11253294.post-114581817642350745</id><published>2006-04-23T11:46:00.000-07:00</published><updated>2006-05-13T02:39:11.626-07:00</updated><title type='text'>Remaining vertical space</title><content type='html'>In order to overcome a limitation of CSS that makes it impossible to say "fill the rest of this container with this element, vertically" I did some research. This resulted in &lt;a href="http://www.dossier-andreas.net/dhtml/remaining_height.html"&gt;this article&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11253294-114581817642350745?l=garfix.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://garfix.blogspot.com/feeds/114581817642350745/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11253294&amp;postID=114581817642350745' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11253294/posts/default/114581817642350745'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11253294/posts/default/114581817642350745'/><link rel='alternate' type='text/html' href='http://garfix.blogspot.com/2006/04/remaining-vertical-space.html' title='Remaining vertical space'/><author><name>Patrick</name><uri>http://www.blogger.com/profile/14652514713181312810</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11253294.post-114323138082001349</id><published>2006-03-24T12:00:00.000-08:00</published><updated>2006-03-24T12:17:57.226-08:00</updated><title type='text'>SPARQL</title><content type='html'>In the last 5 months I have been working on an implementation of a SPARQL processor in PHP. &lt;a href="http://www.w3.org/TR/rdf-sparql-query/"&gt;SPARQL&lt;/a&gt; is W3C's latest RDF query language, which means it allows you to retrieve information from RDF files, which are the basis of the 'semantic web'. The process is somewhat similar to the use of SQL to query a database, except of course that the structure of the data is different. A working, though (very) buggy, version is available &lt;a href="http://62.166.18.36/sparql/index.php"&gt;from my server&lt;/a&gt;. I implemented the entire specification, except for some points that are unclear to me.&lt;br /&gt;&lt;br /&gt;I created some (54) testcases to test the processor. W3C is currently still working on the official testcases. They are written in another (relatively simple) language called N3. Maybe I will write an N3 interpreter later to run the testcases.&lt;br /&gt;&lt;br /&gt;Other SPARQL implementations may be found &lt;a href="http://esw.w3.org/topic/SparqlImplementations"&gt;here&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11253294-114323138082001349?l=garfix.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://garfix.blogspot.com/feeds/114323138082001349/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11253294&amp;postID=114323138082001349' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11253294/posts/default/114323138082001349'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11253294/posts/default/114323138082001349'/><link rel='alternate' type='text/html' href='http://garfix.blogspot.com/2006/03/sparql.html' title='SPARQL'/><author><name>Patrick</name><uri>http://www.blogger.com/profile/14652514713181312810</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11253294.post-113724188659999228</id><published>2006-01-14T04:18:00.000-08:00</published><updated>2006-08-14T10:41:03.500-07:00</updated><title type='text'>My stereo set is not an FSM!</title><content type='html'>Ever since my &lt;a href="http://www.dossier-andreas.net/on_fsm/on_fsm.html"&gt;document&lt;/a&gt; on Finite State Machine, a small thing has been bugging me. It is my &lt;a href="http://www.amazon.com/gp/product/B00005JHE4/104-2095395-4934347?v=glance&amp;n=172282"&gt;AIWA XS-G3&lt;/a&gt; stereo installation. Because, when I am playing an audio cassette and press the off button, it doesn't switch off immediately. In stead, it stops playing, it lowers the blue transparent door in front of the cassette player, changes the display, and then, and only then, switches off. This process takes about 3 seconds! To describe this system with a Finite State Machine, all these actions would have to be state-exit actions, that should theoretically be &lt;span style="font-style:italic;"&gt;instantaneous&lt;/span&gt;! Now, there is nothing in this world that takes no time at all, but 3 seconds can be called instantaneous by no stretch of  the imagination.&lt;br /&gt;&lt;br /&gt;In stead: the transitions of the systems, are &lt;span style="font-weight:bold;"&gt;states in themselves&lt;/span&gt;!&lt;br /&gt;&lt;br /&gt;Since then, I have occasionally wrecked by brain to turn transitions into states. And , even though this not easy, I sort of managed, although my solution does not have the simplicity I sought. To understand this, you have to take another thing into account: when a transition takes time, and is interpreted as a series of states, these states may be &lt;span style="font-style:italic;"&gt;subject to transitions themselves&lt;/span&gt;. For example, suppose the cassette door closes and I keep my fingers in the cassette, and the audio system has a feature that detects this, it should stop moving and break off the entire sequence. Or, may continue later, when I have removed my fingers again. Argh.&lt;br /&gt;&lt;br /&gt;Only when I had sort of a way to tackle these things, altough not bulletproof and not &lt;span style="font-style:italic;"&gt;sense and simplicity&lt;/span&gt;, I could take the time and look at my creation. And then I looked at my audio system and it dawned on me: "no, wait, it doesn't work like that".&lt;br /&gt;&lt;br /&gt;My audio system can be implemented much more simple and directly as a &lt;span style="font-weight:bold;"&gt;Planner&lt;/span&gt;. A system that uses hierarchical decomposition. A system that sets goals, like 'shut down', that have subgoals, like 'cassette door closed'. A system that has behaviours to reach these goals, like 'close cassette door', that may be temporarily interrupted by yet another goal, like 'wait until passage is clear'.&lt;br /&gt;&lt;br /&gt;Planners are good, planners are powerful, but they lack the complex bottom-up state mechanisms of an FSM that I love so much. So now I should start dreaming of a combination of a FSM and a planner...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11253294-113724188659999228?l=garfix.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://garfix.blogspot.com/feeds/113724188659999228/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11253294&amp;postID=113724188659999228' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11253294/posts/default/113724188659999228'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11253294/posts/default/113724188659999228'/><link rel='alternate' type='text/html' href='http://garfix.blogspot.com/2006/01/my-stereo-set-is-not-fsm.html' title='My stereo set is not an FSM!'/><author><name>Patrick</name><uri>http://www.blogger.com/profile/14652514713181312810</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11253294.post-113723838705242550</id><published>2006-01-14T03:18:00.000-08:00</published><updated>2006-01-14T03:33:07.066-08:00</updated><title type='text'>Fight guestbook spam</title><content type='html'>The guestbook of my Andreas website got spammed so much that 2/3rd of it was spam. The spamming frequency increased from once a month to several times a week. It became impossible to clean up the spam manually.&lt;br /&gt;&lt;br /&gt;On the other hand, I did not want punish my users by having them type some number before entering there message.&lt;br /&gt;&lt;br /&gt;I now use a technique that is just as useful and at the same time does not require any action from the user. When the guestbook is visited, the guestbook form is extended with a (dynamic) secret code. If the user sends the form with his message, the code is sent along. The message processor then checks if this code is the same as the code he expected. Only then the message is allowed.&lt;br /&gt;&lt;br /&gt;The code is generated, so that it is different each time. I use a somewhat simple code that remains the same all day. Once you know the code (from the HTML source code), you can spam me all day long :) But the next day the code is different.        It is still possible to create a script that creates spam automatically for this site, but I seriously doubt that our spamming friends will go through all that trouble. And if they do, we will, *ping*, enter the next round, and the fight is not lost :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11253294-113723838705242550?l=garfix.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://garfix.blogspot.com/feeds/113723838705242550/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11253294&amp;postID=113723838705242550' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11253294/posts/default/113723838705242550'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11253294/posts/default/113723838705242550'/><link rel='alternate' type='text/html' href='http://garfix.blogspot.com/2006/01/fight-guestbook-spam.html' title='Fight guestbook spam'/><author><name>Patrick</name><uri>http://www.blogger.com/profile/14652514713181312810</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11253294.post-113432346120608327</id><published>2005-12-11T09:35:00.000-08:00</published><updated>2005-12-11T10:37:05.816-08:00</updated><title type='text'>Data Version Control</title><content type='html'>This is just an idea I had:&lt;br /&gt;&lt;br /&gt;People are always changing the way they organise their data. It is in the nature of knowledge that concepts are fluid and change from time to time. This same principle applies to IT projects. When a new project starts, the developers have immature ideas about the domain they are working in. Hence they create simple data models. When the project matures, so do their concepts about the domain. These changes may be simple, like adding a property to a class of objects, or they can be bigger, as when two distinct concepts need to merge or a concept splits up. This can be a lot of work for a database developer. The database always reflects the latest view of the domain, in a very static way. Changing the database also means changing all data that is inside it, or is to be imported later. The main idea here is that &lt;i&gt;data is static&lt;/i&gt;.&lt;br /&gt;&lt;br /&gt;On the other hand, we have version control systems that work on documents, and program code in particular. Code is allowed to change. Files may be added or deleted, classes can be added and modified. And all these changes may be retracted as well. Because we have version control systems, like &lt;a href="http://subversion.tigris.org/"&gt;Subversion&lt;/a&gt;. Documents in such a system are tagged by revision numbers. The differences between every two revisions are stored. Let's say that &lt;i&gt;code is flexible&lt;/i&gt;, code is allowed to be fluid.&lt;br /&gt;&lt;br /&gt;This train of thought can lead us to a combination of these ideas. Is it not possible to apply the concepts and techniques of version control systems to database management systems and the data that depends on it?&lt;br /&gt;&lt;br /&gt;The first consequence could be that, whenever a datastructure, like one or more database tables, changes, the &lt;i&gt;diff&lt;/i&gt;, or difference, between these structures, is stored as well. This diff should be seen as a procedure to change data from one structure (or revision) to another.&lt;br /&gt;&lt;br /&gt;The second consequence could be that a piece of data is not only interpreted as a datatype like a word, string, object, or array; but is connected to a &lt;i&gt;revision number&lt;/i&gt; as well. The old data can be used by newer versions of applications by applying the change-procures to it. And, the other way around, newer versions of data may be used by older applications.&lt;br /&gt;&lt;br /&gt;Such a system would allow you to change your datastructures without having to change legacy data. This old data will be automatically upgraded when it enters your application.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.amazon.com/gp/product/0465024750/qid=1134325322/sr=8-1/ref=pd_bbs_1/102-9784024-8334548?n=507846&amp;s=books&amp;v=glance"&gt;Concepts are fluid&lt;/a&gt;. It would be great if we could write the software to support it.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11253294-113432346120608327?l=garfix.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://garfix.blogspot.com/feeds/113432346120608327/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11253294&amp;postID=113432346120608327' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11253294/posts/default/113432346120608327'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11253294/posts/default/113432346120608327'/><link rel='alternate' type='text/html' href='http://garfix.blogspot.com/2005/12/data-version-control.html' title='Data Version Control'/><author><name>Patrick</name><uri>http://www.blogger.com/profile/14652514713181312810</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11253294.post-113422412097333387</id><published>2005-12-10T06:04:00.000-08:00</published><updated>2005-12-10T06:15:20.986-08:00</updated><title type='text'>Creative Commons</title><content type='html'>"Creative Commons" is an easy way to allow other people to use your creative work in ways that you control. If you &lt;span style="font-style:italic;"&gt;want&lt;/span&gt; others to use your work without them having to ask you first, you can declare so by placing a Creative Commons link/image on your website. &lt;br /&gt;&lt;br /&gt;I did so on &lt;a href="http://62.166.18.36/ai/index.html"&gt;My AI repository website&lt;/a&gt;. It is free and easy. Just go to &lt;a href="http://creativecommons.org/"&gt;Creative Commons&lt;/a&gt;, press the big "Publish" button and follow the wizard. At the end you will have a piece of HTML code you can paste on your website. It is a link to the full license.&lt;br /&gt;&lt;br /&gt;It is part of the Web 2.0 thing where everyone can publish anything and everything. It is a good thing to be clear about what others may do with your pictures/movies/code/writing.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11253294-113422412097333387?l=garfix.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://garfix.blogspot.com/feeds/113422412097333387/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11253294&amp;postID=113422412097333387' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11253294/posts/default/113422412097333387'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11253294/posts/default/113422412097333387'/><link rel='alternate' type='text/html' href='http://garfix.blogspot.com/2005/12/creative-commons.html' title='Creative Commons'/><author><name>Patrick</name><uri>http://www.blogger.com/profile/14652514713181312810</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11253294.post-111540629236126693</id><published>2005-05-06T11:56:00.000-07:00</published><updated>2005-05-06T12:04:52.370-07:00</updated><title type='text'>BDI Agent: a dMARS implementation</title><content type='html'>I made an implementation of a dMARS agent, a Belief, Desire, Intention-agent. It can be found &lt;a href="http://62.166.18.36/ai/dmars.html"&gt;here&lt;/a&gt;. This agent has a representation of the world around it (beliefs), desires (or goals) and can execute plans to fulfill/reach them. The goals and plans may change with time. The agent is based on predicate logic constructions.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11253294-111540629236126693?l=garfix.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://garfix.blogspot.com/feeds/111540629236126693/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11253294&amp;postID=111540629236126693' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11253294/posts/default/111540629236126693'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11253294/posts/default/111540629236126693'/><link rel='alternate' type='text/html' href='http://garfix.blogspot.com/2005/05/bdi-agent-dmars-implementation.html' title='BDI Agent: a dMARS implementation'/><author><name>Patrick</name><uri>http://www.blogger.com/profile/14652514713181312810</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11253294.post-111273032763519808</id><published>2005-04-05T12:43:00.000-07:00</published><updated>2005-04-05T12:47:22.716-07:00</updated><title type='text'>Procurios</title><content type='html'>Ik ben sinds vandaag werkzaam bij &lt;a href="http://www.procurios.nl/"&gt;Procurios&lt;/a&gt;, een klein maar ambitieus webdevelopment bedrijf in Wijk bij Duurstede. Ik denk dat ik het er wel naar mijn zin zal hebben :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11253294-111273032763519808?l=garfix.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://garfix.blogspot.com/feeds/111273032763519808/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11253294&amp;postID=111273032763519808' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11253294/posts/default/111273032763519808'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11253294/posts/default/111273032763519808'/><link rel='alternate' type='text/html' href='http://garfix.blogspot.com/2005/04/procurios.html' title='Procurios'/><author><name>Patrick</name><uri>http://www.blogger.com/profile/14652514713181312810</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11253294.post-111143554391791752</id><published>2005-03-21T12:04:00.000-08:00</published><updated>2005-03-21T12:17:35.056-08:00</updated><title type='text'>PayPal account</title><content type='html'>I opened a PayPal account. I placed PayPal code to make a donation on my homepage and on the Andreas website. I can feel the cash flowing in. I'll soon be rich!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11253294-111143554391791752?l=garfix.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://garfix.blogspot.com/feeds/111143554391791752/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11253294&amp;postID=111143554391791752' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11253294/posts/default/111143554391791752'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11253294/posts/default/111143554391791752'/><link rel='alternate' type='text/html' href='http://garfix.blogspot.com/2005/03/paypal-account.html' title='PayPal account'/><author><name>Patrick</name><uri>http://www.blogger.com/profile/14652514713181312810</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11253294.post-111106961704956579</id><published>2005-03-17T06:21:00.000-08:00</published><updated>2005-03-17T06:30:56.080-08:00</updated><title type='text'>Sparse Distributed Memory</title><content type='html'>I'm studying the cognitive agents of the &lt;a href="http://csrg.cs.memphis.edu/"&gt;Conscious Software Research Group&lt;/a&gt;. For that reason I made an &lt;a href="http://62.166.18.36/ai/sdm.html"&gt;implementation&lt;/a&gt; of Pentti Kanerva's Sparse Distributed Memory: a model of human long-term-memory that aims to be psychologically valid. It is also useful as an AI tool.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11253294-111106961704956579?l=garfix.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://garfix.blogspot.com/feeds/111106961704956579/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11253294&amp;postID=111106961704956579' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11253294/posts/default/111106961704956579'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11253294/posts/default/111106961704956579'/><link rel='alternate' type='text/html' href='http://garfix.blogspot.com/2005/03/sparse-distributed-memory.html' title='Sparse Distributed Memory'/><author><name>Patrick</name><uri>http://www.blogger.com/profile/14652514713181312810</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11253294.post-111055624103426536</id><published>2005-03-11T07:48:00.000-08:00</published><updated>2005-03-11T07:58:35.773-08:00</updated><title type='text'>Julia Explorer 1.1</title><content type='html'>It's been over a month ago, but anyway: I updated my &lt;a href="http://www.download.com/3000-2053_4-10074492.html"&gt;Julia Explorer&lt;/a&gt; program. Its a small program, very simple to use, that instantly gives you an impression about the nature of fractals. Since 3 years its available from Download.com and has been downloaded over 11.000 times!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11253294-111055624103426536?l=garfix.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://garfix.blogspot.com/feeds/111055624103426536/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11253294&amp;postID=111055624103426536' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11253294/posts/default/111055624103426536'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11253294/posts/default/111055624103426536'/><link rel='alternate' type='text/html' href='http://garfix.blogspot.com/2005/03/julia-explorer-11.html' title='Julia Explorer 1.1'/><author><name>Patrick</name><uri>http://www.blogger.com/profile/14652514713181312810</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11253294.post-111054155706324151</id><published>2005-03-11T03:44:00.000-08:00</published><updated>2005-03-11T03:45:57.063-08:00</updated><title type='text'>Maes Behavior network</title><content type='html'>I made an implementation of Pattie Maes' action selection / behavior network.&lt;br /&gt;Follow &lt;a href="http://62.166.18.36/ai/maes.html"&gt;this link&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11253294-111054155706324151?l=garfix.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://garfix.blogspot.com/feeds/111054155706324151/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11253294&amp;postID=111054155706324151' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11253294/posts/default/111054155706324151'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11253294/posts/default/111054155706324151'/><link rel='alternate' type='text/html' href='http://garfix.blogspot.com/2005/03/maes-behavior-network.html' title='Maes Behavior network'/><author><name>Patrick</name><uri>http://www.blogger.com/profile/14652514713181312810</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11253294.post-111004063267915721</id><published>2005-03-05T08:35:00.000-08:00</published><updated>2005-03-11T03:52:20.283-08:00</updated><title type='text'></title><content type='html'>Yes I know, it is not very original. Blogging. But that's not the reason to start one. It's just that I want to have a forum to make some announcements once in a while. And I just started using RSS, which is quite interesting, I must agree.&lt;br /&gt;&lt;br /&gt;So, don't expect daily remarks on what I did today. It's more on a general level to let you know I'm still alive and doing things.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11253294-111004063267915721?l=garfix.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://garfix.blogspot.com/feeds/111004063267915721/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11253294&amp;postID=111004063267915721' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11253294/posts/default/111004063267915721'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11253294/posts/default/111004063267915721'/><link rel='alternate' type='text/html' href='http://garfix.blogspot.com/2005/03/yes-i-know-it-is-not-very-original.html' title=''/><author><name>Patrick</name><uri>http://www.blogger.com/profile/14652514713181312810</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
