I write, therefore I amWith this variation on a famous statement by the philosopher Descartes, I would like to express that writing about what happens in my life is important to me. | |||
Sunday, May 13, 2012IParse: Parallel parserThis weekend, I worked on the parallel parser in IParse. I removed a number of bugs but I am still encounting problems, which become harder and harder to debug. Also added code to assist debugging. However, I do have good faith that I will be able to weed out these bugs. Today, I discovered that performance is very bad compared to the other parsers. Implementing an alternative memory allocation strategy (keeping a list of deallocated objects to avoid calls to system allocation routines) did not show a significant improvement. I am afraid it is becoming a rather academic exercise, one that I will finish anyway.Friday, May 11, 2012IParse: Parallel parserIn the past weeks, I worked on a parallel parse version of IParse. The first parser that I implemented as part of IParse was a recursive back-tracking version, which jumps for- and backwards through the text in an attempt to parse the text according to the given grammar. For a very long time, I have been thinking about a version that would try all alternatives in parallel and would be strickly speaking only move forward through the text. This evening, I managed to parse the first text ("12") with a very simple grammar ("root : int eof .") succesfully. I does not look much, but I still consider it as an important milestone, because the parallel parser is a rather complex thing. It maintains two tree like structures in parallel. One tree like structure represents all the alternatives. The second tree is an memory efficient implementation of a collection of stacks, where each stack belongs to one of the active alternatives. Each stack represent the nesting of the rules that have been applied to parse the text up until the given point. The structure of the actual parsing routines looks very much like the one used for the heap implementation of the back-tracking implementation (which was released on October 2, 2011) and in the past week, I realized that they could be combined, where only the execution part would be different. Maybe that will be my next project, when this will be finished.Tuesday, May 8, 2012P. Struycken: Five booksToday, the five books about/by P. Struycken that I ordered from Luïscius Antiquarian Booksellers arrived. The books with the prices are:
Saturday, May 5, 2012Link
Wednesday, May 2, 2012Peter Struycken: Structure 7Last Sunday, I looked at Structuur 4,5,6,7 made by Peter Struycken and the algorithm used to make it. I did not notice the rather obvious structure, which I read about yesterday evening in the book P. Struycken on page 108, that it build-up with squares of four elementary squares. This evening, I spend some time turning the bottom pattern of the work of art (downloaded from Kunst.Nu) into a binary representation using a script for the MySample editor. In the process, I made some fixes to this editor as well. The image that is produced by this script is:
Tuesday, May 1, 2012Peter StruyckenAt 17:11, I bought the book P. Struycken (ISBN:9789056626051) from bookshop De Slegte for € 16.99, which is about the works of Peter Struycken, a Dutch artist who often used computer programs during the creation of his art works.Sunday, April 29, 2012Tetem 2 and 21RozendaalThis afternoon, I went to Tetem 2 and looked at the exposition of The Artery Show where I found one drawing by Billy Foley: "24.3.99 no 1. 90x111.1 cm". It is currently owned by Dave Blank. I also looked at Structuur 4,5,6,7 by Peter Struyken, and thought about the algorithm that he could have used to produce it. Next, I went to 21Rozendaal and experienced Tide. Interesting.Saturday, April 28, 2012BooksI bought two books from bookshop De Slegte and used a € 2.50 coupon, I got last month. I had two of such coupons which are only valid this month if you spend at least 15 Euro. The books I bought are:
The Kuks CollectionI went to the opening of the exposition of "The Kuks Collection" at art galery "Beeld & Aambeeld". There were only two paintings by Billy Foley, but one of them, I had not seen before. It is a work from the late ninethies with rather pale colours and but a few strokes that became so characteristic in his later works. And one painting that I remember having seen on Sunday, November 16, 2008. I heard that there were also some paintings on display at "Tetem 2". I also looked at the drawings by Billy Foley that they still have in stock. Some look interesting.Tuesday, April 24, 2012LinkSaturday, April 21, 2012Painting Billy FoleyToday, when I visited gallery "Beeld & Aambeeld", I met Stefan Kuks by accident and he told me that my favourite painting by Billy Foley will not be included in the exposition that opens next Saturday as part of The Artery Show. The most important reason being the large size of the painting, which, besides makes it difficult to transport, would make it take a large part of the exposition. We talked a little about my 'obsession' with the painting and my desire to calculate the number of ways it could have been painted. He thinks that the number of possibilities must be infinite. If it is made with a finite number of strokes, than it must be a finite number, ableit large, no larger than the factorial of the number of strokes. But if of many strokes the order can be determined, the number might be much smaller. It might be very difficult to calculate the number, but that is another matter.Sunday, April 15, 2012Random tile designThis afternoon, I was phoned by one of my brothers-in-law with the question if I could write a program for generating random tile designs for his back garden. He told me that it was 13 tiles wide and he would lay a rectangle 22 tiles deep and than (besides the shed) a sqaure of 6 by 6 tiles. He told me that he had tiles in four colours: 69 white, 42 pink, 102 yellow, and 109 blue tiles. I told him that I wrote write a web page for the design. He also send me some links to images of tiles on ImageShack. It took me about two hours develop the page using JavaScript. I remarked to him that it was truely random and this means that tiles of the same colour might be clogged together, but he was quite happy with it. (Below an adapted version of the script is used that uses colours instead of images to judge yourself. A new pattern will be generated on each reload.) I did think about an algorithm to prevent groups of tiles with the same colour to appear, but realized that it would not be simple.
Thursday, April 12, 2012Alternative URU worldsYesterday evening and to night, I tried to explore some alternatives of URU Live. Yesterday evening, I had some trouble downloading the installer of Open URU, but tonight it worked without problems. So I tried The Open Cave. When I ran the installer, it appeared I had an outdated version of URU live. I just starting URU live, copied the new files (using xcopy), and ran the installer again without any problems. When I tried The Open Cave MOUL, it crashed when I linked to the linking book. Next I walked throught the dessert cleft and after this, the crash no longer appeared. In Bevin, one of the stands linked to an age that I had not seen before and that looked quite nice. (Later, I discovered that it belongs to the original game.) Tonight, I installed URU open and played with it, but did not find anything new. Next I tried URU live and found the city deserted, while the last time I went there it was still quite crowded. Then I started The Open Cave again and went to City of Dimensions, which is a copy of the normal city with some enhancements. Although the enhancement looked clever, the texturing was really poor making it look very amateuristic. I went to the normal city and encountered some people there. When I went back to the City of Dimensions, it crashed when I entered a new vessel. I decided to leave it there. (See Logbook for some more details.) On YouTube I watched some movies from Let's Play Myst Online URU Live Again.LinkTuesday, April 10, 2012Back-tracking languageNot so long ago, I was working on an adaptation of my IParse program to generate back-tracking parsing routines in a simple scripting language. This generated a function for each non-terminal and used various variables to keep track of the parsing state. Later, I realized that it would be an interesting idea to extend the script language with some constructs for parsing and I realized that I could generalize it into support for back-tracking. The idea is that each function can either return a result (of what has been parsed) or return a failure. Returning a failure is kind like raising an exception. But with parsing (and also back-tracking) a failure often means to reset the values of some variables and try again along a different path. For example, one could have the "or" language construct that would combine two blocks of code. If the first finds the result, that is returned. If the first returns a failure, the second is executed. And the "opt" language construct, when followed by a block of code, would mean that a possible failure would simply be ignored. A "seq" language construct could be used to indicate that a block of code should be execute (at least once, if not followed by "opt") repeatingly until it failed. And there should also be three kind of loop statements (in many language indicated by a "for" or "while" statement), one that would fail whenever the body would fail, one that would simply continue with the next option, and one that would stop on the first option resulting in a success. These could be named "forall", "forany", and "forone". The language could use boolean expressions (possibly preceded by a keyword like "check") that when evaluated to false would signal a failure. There also needs to be a special statement to start a back-tracking execution from within a normal procedural part, for example with the keywords "try" and "on failure". In case of parsing, it would also be interesting to know at which point the failure occured. Parsing often only suggest one result, where general back-tracking algorithms often can produce multiple results. That leads to a problem, because expression generally only return one result. There are several methods to approach this problem. One is to let produce a possible empty list of results. Another solution is to introduce an "output" statement, which like the "return" statements produces a result, but does not stop the execution at that give point. The language would also need to have a statement to combine the results of all the output statements, or as an alternative, allows the creation of an iterator by which the results can be returned one by one. The language might also benefit from a statement like the "!" operator in Prolog to indicate that other alternatives in the current closure should not be tried in case of a failure following that statement. IParse uses memorization of intermediate results to speed-up parsing. Maybe this could also be applied to other back-tracking algorithms. It could be possible to add a paradigm to the language to add to a back-tracking function to indicate that memorization should be applied.Saturday, April 7, 2012It starts with housingThis afternoon at 16:41, I bought the book Het begint met wonen / It starts with housing (ISBN:9789068684773) with 75% off for € 9.98 from bookshop Broekhuis. The book (with text both in Dutch and English) is about all the historic buildings of the housing cooperatives Ymere.Links
Wednesday, April 4, 2012Links
Tuesday, April 3, 2012Copyright violation of pictureNeha Lobana op Tumblr has used a picture made by Annabel in a post without reference and after removing the text "eyepolish.blogspot". The post got more than ten thousands of likes and notes. Because this is a clear violation of the copyrights of Annabel, I send the following email to dmca@tumblr.com in which I request the picture to be removed and the likes and notes to be transfered. I am looking forward to how they are going to respond to this.
I am making a DMCA notice with respect to the image http://nehalobana.tumblr.com/post/19878725657 which is a copy (after removing the clearly visible eyepolish.blogspot text) of http://eyepolish.blogspot.com/2012/03/giraf_23.html which was placed on Tumblr by the link: http://annabelester.tumblr.com/post/19795875569/www-eyepolish-blogspot-com-for-more-do-it-your The image is copyrighted by Annabel Ester Faase and she has not granted anyone to use this image for any purpose. I hereby request you remove the image in violation and transfer all the thousands of likes and such to the image on tumblr crediting the rightful owner. Update: This evening we were informed by Tumblr that they have removed the offending image. But that was just part of my request. It seems that Tumblr does not have a mechanism to transfer all the likes and notes to the rightful owner of the image, and Annabel did thus not receive the credits that she deserved. Tumblr will terminate an account in case many copyright infringments have been reported. It is possible that Neha Lobana found the image on weheartit where also a version without text can be found. But note that a link to the blog is shown with the image.
|
IntroductionDiariesMay 2012 April 2012 March 2012 February 2012 2012 2011 Alzheimer's Disease Trip to China 2010 -- contact -- FamilyFransLi-Xia Annabel Andy Honeymoon Faase Family tree Friends Others Pictures
| ||
| |||