CInk (Beta) is now online at http://cink.applegrew.com/, and do check out its gallery at http://cink.applegrew.com/art.html.
Author / Nirupam Biswas
CInk version 0.1 preview
[AG_PH_ON]
For past few weeks I have been on working on this. This has come out to be quite good. The above video shows rendering being done on latest Google Chrome browser. I have tested my code in Chrome and FireFox 5, and it works with reasonable performance.
About CInk
Sometime back I stumbled upon Aza Raskin’s very inspiring and beautiful Algorithm Ink[sup] 1[/sup]. It’s easy to use and you can create some truly amazing art. From there I learnt that it is a Javascript implementation of Context Free Design Grammar (CFDG), invented by Chris Coyne[sup]2[/sup]. Also, that CFDG contains more language constructs which Algorithm Ink didn’t support, like loops, z-index, etc. Instead it provided a link to C implementation of CFDG – Context Free Art[sup]3[/sup]. When I saw what still more amazing stuffs people have done there, particularly a B/W artwork, “Bleak” [sup]4[/sup], then I decided of re-implementing CFDG in Javascript.
Why Javascript
CInk is not a replacement for its C counterpart – Context Free, but it adds to it. First this allows a way for random nettizens to stumble on it and create something amazing, even if by chance. Second, CInk clearly separates parsing and rendering logics, making it possible to be used to draw your site’s background. Yeah I find that cool. 😉 Third, as a side-effect of the trick Aza used to keep the browser from locking up as the script draws the art, makes for a visual treat. Which the C counterpart cannot, as it is too efficient and fast to render. 😛
Algorithm Ink
CInk can be considered an enhancement of Algorithm Ink, as the rendering logic’s fundamental concepts are from it. Except for that it is purely a new product. The parser has been created using JSCC[sup]5[/sup] with slightly modified grammar than given in Context Free’s source code. Output rendered by CInk is now very much like its Context Free. CInk retains support for MOUSEMOVE and MOUSECLICK predefined rules, introduced by Aza. One major difference between CInk and Algorithm Ink is that, unlike Context Free, Algorithm Ink used HSL to RGB color conversion, but CInk uses HSV to RGB conversion. Also CInk code has been made modular and it doesn’t litter the global namespace.
Overall CInk is compatible to Algorithm Ink and Context Free. So, codes for Algorithm Ink will run in CInk and codes for Context Free may need to be scaled down. You can use size {} command for that.
Future
This is just a preview. I haven’t released CInk yet. It will be online when I have created its site. It will be GPL licensed. Currently path commands like LINETO, etc. are not supported, but will be in little future. Though tile{} command is supported but the output will be less than appealing. I am not sure if it is possible to fix this now. For now tile{} will remain broken. Since <canvas> doesn’t support z-indexes, so CInk creates stack of them when rendering a code that refers to z indices. At the end of the rendering all these stacks are merged into the one. This is of course a hack, but can’t help it unless HTML5 specification and browser developers do something about it.
- http://azarask.in/projects/algorithm-ink (Algorithm Ink)
- http://korsh.com/cfdg/ (CFDG inventor)
- http://www.contextfreeart.org/mediawiki/index.php/Context_Free_Art:About (Context Free Art)
- http://www.contextfreeart.org/gallery/view.php?id=2550 (Bleak Artwork)
- http://jscc.jmksf.com/ (JS Compiler Compiler)
Official Kinect Developer Kit: now available for download
Finally official Kinect SDK released. Click the above link to learn more.
Official Kinect SDK page: http://research.microsoft.com/en-us/um/redmond/projects/kinectsdk
Have you used Google’s new Search By Image?
I tired this. Don’t expect much though. It seems to be decent for searching places, art pictures (which means it can search abstract patterns, symbols etc.) and creatures. For everything this else it simply seems to match images’ histograms. Anyway this is not bad and quite useful. The google UI too is cool and supports drag and drop.
Head over to http://www.google.com/insidesearch/searchbyimage.html for a intro.
Minz Meyer’s Researchkitchen – CSS – Auto-height and margin-collapsing
Minz Meyer’s Researchkitchen – CSS – Auto-height and margin-collapsing.
Wow! This is totally new. I never knew this concept. I was working on project of mine and was at my wits end when I stumbled upon this issue. Nice, learnt something new. 🙂
Javascript PC Emulator – Reviewed
There are many crazy people in this world, but he is not one of them. 😛
The author of the above link has done something cool. Crate pure JS system emulator. That’s right a JS code which can load binary kernel of the OS and run it inside your browser! Click the above link to check it out. It runs BusyBox Linux.