RogueWolves

Rogue Wolves is the personal site of .

I'm currently a research scientist with Oculus Info Inc. in Toronto, Ontario Canada.

My research interests include: adaptive user interfaces, machine learning, Bayesian reasoning and distributed artificial intelligence.

Language Performance Benchmarks

Recently, I came across Julia, a high-level, high-performance dynamic programming language for technical computing. The language itself is interesting, but on the Julia website is are comparative language performance benchmark results. Julia is compared against several other common scientific computing languages, such as, Python, Matlab, R, etc.

The following micro-benchmark results are from a MacBook Pro with a 2.53GHz Intel Core 2 Duo CPU and 8GB of 1066MHz DDR3 RAM

language performance benchmark results

(Figure from julialang.org)

While the performance benchmarks are touting the advantages of the Julia language, I found it most striking the JavaScript performance. It was a surprise to me that JavaScript mostly outperforms Python by an order of magnitude. I knew the optimizations Google and Apple were performing made dramatic improvements, but putting it into this perspective is very impressive. It would have more interesting if they had included Java in the benchmark as well.

I guess I see why node.js has been getting lots of attention for server side processing.

Rice University Data Visualization Course Materials

Looking to learn more about data visualization? Hadley Wickham at Rice University has posted all the course materials for his course Stat 645: Data Visualization online. It’s a nice collection of papers, tutorials and presentations covering a wide range of topics related to visualization and visual analytics.

Fix Eclipse Fonts on Retina MacBook Pro

Are you being driven mad by the horrible non-retina font rendering of Eclipse on a retina MacBook Pro? Fortunately, there is a workaround:

Open Finder and right click on the Eclipse.app then select “Show package contents”. Edit Contents/Info.plist file in a text editor and add lines 5 + 6.

1     <dict>
2     <plist>
3     ...
4 
5     <key>NSHighResolutionCapable</key>
6     <true/>
7 
8     </dict>
9     </plist>

Then, log out or make a copy of the app so that OSX will notice the change. Launch Eclipse and it should now be retina.

Rapid Machine Learning with Ramp

Ramp is a python library for rapid machine learning prototyping. It provides a simple, declarative syntax for exploring features, algorithms and transformations quickly and efficiently. The library leverages pandas, which provides high-performance, easy-to-use data structures and data analysis tools, as well as various python machine learning and statistics libraries (scikit-learn, rpy2, etc.). Some features:

  • Fast caching and persistence of all intermediate and final calculations – nothing is recomputed unnecessarily.
  • Advanced training and preparation logic. Ramp respects the current training set, even when using complex trained features and blended predictions, and also tracks the given preparation set (the x values used in feature preparation – e.g. the mean and stdev used for feature normalization.)
  • A growing library of feature transformations, metrics and estimators. Ramp’s simple API allows for easy extension.

kvh has a nice blog post introducing Ramp. I’m looking forward to experimenting with it.

Script Excel with Python using IronSpread

IronSpread is an Excel 2010 plugin for Windows that lets you script your spreadsheets with Python.

I’d choose python over VBA any day.