Posts

Showing posts from July, 2009

JVM Notebook: Basic Clojure, Java and JVM Language performance

Image
"Measure, don't guess. The primary goal of all performance tuning exercises should be maximize the end user experience given the resource constraints." [1] "It isn't so much a "farewell to the J" as an expansion of the platform opportunities Java provides. Sun's investment to power ongoing development of JRuby and Jython broadens the range and reach of Java, as a whole." -- Rick Ross Overview and JVM Languages    One of the exciting trends to recently emerge from the Java community is the concept of the JVM language. These technologies are all that you would expect them to be. They are implementations of languages that run on the Java Virtual Machine. Some are newly created and some are based on existing, more mature languages. JRuby, Jython are two JVM languages based on CRuby and CPython. Groovy, Scala, Clojure are three completely new JVM languages that were created to add new language features that weren't supported by the core Ja...

Clojure Performance and Discussion

Here is a post verbatim from AndyF on the Clojure discussion forum. http://groups.google.com/group/clojure/browse_thread/thread/289904c1a5deb8d8 BEGIN-QUOTE: Ive (Andy) got a start at programs for solving two of the problems solved in many other languages on "The Computer Language Benchmarks Game" web site: http://shootout.alioth.debian.org In particular, the k-nucleotide problem has as a significant part of its computation time a similar task to what you have done -- tallying the number of times each unique item appears in a collection, using a map (which most programs on the web site implement with a mutable hash table, not a persistent map like in Clojure). I also have adapted some solutions for calculating complex numbers in the Mandelbrot set from a discussion in this group from several months back, and addded a bit of code so the input/output match what is expected for the Mandelbrot benchmark. I don't have Clojure implementations for the othe...

A whole food diet (post Food Inc)

I haven't watched Food Inc yet, but I get more from all the people just talking about it. So far, it seems to be a major work of art. With heart disease and cancer being a major killer in America, it is time for all of us to start thinking about what goes into our bodies. Also as part of my research, I am concerned and wanting to change my diet. Most of my research has come from the Whole Foods websites and blog. Check it out as I don't have much else to say on the subject. http://blog.wholefoodsmarket.com/

Light Log File Viewer - Alpha Release

Image
Light Logs is a sub project of the light text editor. The light log viewer is a simple desktop application for viewing log files that are generated by a web server. But it may also be useful for viewing other text files. This application is especially useful for viewing logs generated by a J2EE Servlet container like the Apache Tomcat or a full J2EE Application Server like Weblogic. Latest version for the Light Log Viewer is 0.8.20090715 http://code.google.com/p/lighttexteditor/ http://code.google.com/p/lighttexteditor/wiki/LightLogViewer

Nightly Meal Deals in Atlanta (mostly midtown area)

Google Calendar Listing of Meal Deals in the Atlanta area. I haven't tried most of these, so you may want to call before you go. http://www.google.com/calendar/embed?src=of063g67ea7kkhbjds18rjec14@group.calendar.google.com Atlanta Nightly Deals

Great example on using git for small projects, simple merge

I asked the following question on stackoverflow: "I have a source directory that includes a mix of different languages and files. Probably 100+ total files. I want to 'fork' that code and create a completely different version of the source. At this point, I will have version-1 of the code and version-2 of the code. I will not make that much development on version-1. I want to change the documentation headers and some other small changes. I will do a lot of development on version-2 and then come back a month or two later and merge version-2 with version-1 (set the latest version-2 to version-1). But, I don't want to lose any changes that I made to version-1 (say after months of small fixes)." Here is the response. --- Begin Quote --- git only creates A SINGLE .git directory. svn is the one that scatters .svn directories in EVERY directory. Your time would be far better spent learning useful git commands (such as git merge --squash). Use git, it will do exactly what...