{
    "componentChunkName": "component---src-templates-index-template-js",
    "path": "/page/23",
    "result": {"data":{"site":{"siteMetadata":{"title":"Viksit Gaur Online","description":"Viksit's home on the WWW. Estd 1997 :)","url":"https://www.viksit.org"}},"allMarkdownRemark":{"nodes":[{"id":"2b42705a-f6b0-5ffb-8ef3-0c882cd6697c","html":"<p>Came across an excellent (<a href=\"http://loufranco.com/blog/files/category-20-days-of-clojure.html\">http://loufranco.com/blog/files/category-20-days-of-clojure.html</a>) of blog posts by Lou Franco, where he uses the SICP videos as input to learn more about Clojure.</p>\n<p>His explanation of HashMap implementations in Clojure, using multimethods, as well as pointers on parallelizing functional programs are very well written. I’m currently on his day 10 post.</p>\n<p>--</p>\n<p><em>If you have any questions or thoughts, don't hesitate to reach out. You can find me as <a href=\"http://twitter.com/viksit\">@viksit</a> on Twitter.</em></p>","excerpt":"Came across an excellent (http://loufranco.com/blog/files/category-20-days-of-clojure.html) of blog posts by Lou Franco, where he uses the SICP videos as input to learn more about Clojure. His explanation of HashMap implementations in Clojure, using…","frontmatter":{"title":"20 Days of Clojure","date":"April 04, 2010","slug":"/blog/20-days-of-clojure","tags":null}},{"id":"afc8ad2a-95fd-50fd-88ad-f2f8dfd8dbd2","html":"<p>I just finished skimming through Bruce Eckel’s Thinking in C++ book – available for free from his website.</p>\n<p>Volume 1 covers the basics pretty well and I didn’t really do much more than glance at it, but volume 2 is highly recommended for its marvelous treatment of the C++ STL containers and algorithms.</p>\n<p>--</p>\n<p><em>If you have any questions or thoughts, don't hesitate to reach out. You can find me as <a href=\"http://twitter.com/viksit\">@viksit</a> on Twitter.</em></p>","excerpt":"I just finished skimming through Bruce Eckel’s Thinking in C++ book – available for free from his website. Volume 1 covers the basics pretty well and I didn’t really do much more than glance at it, but volume 2 is highly recommended for its marvelous…","frontmatter":{"title":"Thinking in C++ by Bruce Eckel is an excellent book","date":"April 03, 2010","slug":"/blog/thinking-in-c-by-bruce-eckel-is-an-excellent-book","tags":null}},{"id":"1f177116-d023-5519-9c6d-19b412959c08","html":"<p>This post contains a list of changes between Clojure 1.1.0 and 1.2.0 that would affect you if you’re reading Stuart Halloway’s “Programming Clojure”.</p>\n<p>It looks like you’d have to replace,</p>\n<p><clojure></clojure></p>\n<p>(use ‘)<br>\n(filter indexable-word? (re-split #”\\W+” “A fine day it is”))</p>\n<p>with</p>\n<clojure>  \n(use ‘\\)  \n(filter indexable-word? (split #”\\\\W+” “A fine day it is”))</clojure>\n<p>–> (“fine” “day”)</p>\n<p>since the str-utils module got renamed to string, and the re-split function to split.</p>\n<p>--</p>\n<p><em>If you have any questions or thoughts, don't hesitate to reach out. You can find me as <a href=\"http://twitter.com/viksit\">@viksit</a> on Twitter.</em></p>","excerpt":"This post contains a list of changes between Clojure 1.1.0 and 1.2.0 that would affect you if you’re reading Stuart Halloway’s “Programming Clojure”. It looks like you’d have to replace,  (use ‘) (filter indexable-word? (re-split #”\\W+” “A fine day…","frontmatter":{"title":"Programming Clojure with Clojure 1.2.0 snapshot","date":"March 30, 2010","slug":"/blog/programming-clojure-with-clojure-120-snapshot","tags":null}},{"id":"91cdc9a9-022b-5232-aeac-a1abcb34eaaa","html":"<p>I was looking for a suitable library for Clojure that would work like Python’s BeautifulSoup or lxml – and found enlive.</p>\n<p>An excellent tutorial here <a href=\"http://github.com/swannodette/enlive-tutorial\">http://github.com/swannodette/enlive-tutorial</a>.</p>\n<p>--</p>\n<p><em>If you have any questions or thoughts, don't hesitate to reach out. You can find me as <a href=\"http://twitter.com/viksit\">@viksit</a> on Twitter.</em></p>","excerpt":"I was looking for a suitable library for Clojure that would work like Python’s BeautifulSoup or lxml – and found enlive. An excellent tutorial here http://github.com/swannodette/enlive-tutorial. -- If you have any questions or thoughts, don't…","frontmatter":{"title":"BeautifulSoup on Cojure? Enlive","date":"March 29, 2010","slug":"/blog/beautifulsoup-on-cojure-enlive","tags":null}},{"id":"d22ab995-bd48-5ef0-89d8-90910611a1c4","html":"<p>I was trying to figure out how to AOT compile a Clojure program, in order to really see some fast execution times. The simplest way to describe AOT compilation would be how its done in Java,</p>\n<p>``</p>\n<p>javac file.java<br>\njava file</p>\n<p>The invocation of the Java compiler (javac) is the pre-compilation of the source file, which is then loaded by the JVM in the next step. In the case of Clojure, when a program is run using,</p>\n<p>``</p>\n<p>clj myfile.clj</p>\n<p>The code is first compiled, and then executed – resulting in large amounts of time for the output to be displayed even for simple programs.</p>\n<p>The AOT compile process turned out to be trickier to set up than I expected, so I thought I’d put it out there for all those who get stuck after reading the original documentation at <a href=\"http://clojure.org/compilation\">http://clojure.org/compilation</a>.</p>\n<p>Firstly, the directory structure for my experiment looks like this,</p>\n<h3>Directory structure</h3>\n<p>I created dir1, and its subdirectories as below. The code is in clojure/examples/ and the classes/ directory is the default <em>compile.path</em> – something that the documentation neglected to mention. Without this path, compilation WILL fail.</p>\n<p>``</p>\n<p>/dir1/.clojure<br>\n/dir1/clojure/<br>\n/dir1/clojure/classes<br>\n/dir1/clojure/examples<br>\n/dir1/clojure/examples/hello.clj</p>\n<h3>The .clojure file</h3>\n<p>This file is used with my clj script, that can be obtained from (<a href=\"http://mark.reid.name/sap/setting-up-clojure.html\">http://mark.reid.name/sap/setting-up-clojure.html</a>).<br>\nIt contains a list of directories that are to be specified to the Clojure compiler at compile time. The file looks like,</p>\n<p>``</p>\n<p>/dir1:/dir1/classes</p>\n<h3>hello.clj</h3>\n<p>This code of course is the default from the Clojure website, as a test.</p>\n<p>``</p>\n<p>(ns clojure.examples.hello<br>\n(:gen-class))</p>\n<p>(defn -main<br>\n\\<br>\n(println (str \"Hello \" greetee \"!\")))</p>\n<p>The next step is to invoke the Clojure REPL using the clj script, from the dir1 directory.</p>\n<p>Type in the following to compile the program in the clojure.examples namespace,</p>\n<p>``</p>\n<p>Clojure 1.2.0-master-SNAPSHOT<br>\nuser=> (compile 'clojure.examples.hello)<br>\nclojure.examples.hello<br>\nuser=></p>\n<p>Success! And the resulting output of the classes directory is,</p>\n<p>``</p>\n<p>$ ls /dir1/classes/clojure/examples</p>\n<p>hello$_main__5.class<br>\nhello$loading__4946__auto____3.class<br>\nhello.class<br>\nhello__init.class</p>\n<p>And lastly, to run this program as any other Java program, you can use,</p>\n<p>``</p>\n<p>java -cp ./classes:/opt/jars/clojure.jar:/opt/jars/clojure-contrib.jar clojure.examples.hello Viksit<br>\nHello Viksit!</p>\n<p>Also, I highly recommend Stuart Holloway’s book “Programming Clojure”. Its turning out to be an excellent read.</p>\n<p>--</p>\n<p><em>If you have any questions or thoughts, don't hesitate to reach out. You can find me as <a href=\"http://twitter.com/viksit\">@viksit</a> on Twitter.</em></p>","excerpt":"I was trying to figure out how to AOT compile a Clojure program, in order to really see some fast execution times. The simplest way to describe AOT compilation would be how its done in Java, `` javac file.java java file The invocation of the Java…","frontmatter":{"title":"Clojure AOT compilation tutorial","date":"March 28, 2010","slug":"/blog/clojure-aot-compilation-tutorial","tags":null}}]}},"pageContext":{"limit":5,"skip":110,"numPages":27,"currentPage":23}},
    "staticQueryHashes": ["4202924991","512065377"]}