Knowing .NET Sometimes a coder who writes, sometimes a writer who codes. Formerly, a coder who edited magazines.

July 18, 2007

Ruby’s ObjectSpace: A Challenge for the Managed Platforms

Filed under: Languages,Languages/Ruby — admin @ 6:00 pm

The Ruby language contains the built-in module ObjectSpace, which provides programmatic access to the entire world of living objects. For instance, in Ruby you can write:

ObjectSpace::each_object(Class) do |c|
p c if c < Test::Unit::TestCase

which will iterate over every instance of Class in the system and do something (in this case, print it out if it is a subclass of TestCase).

John Lam has mentioned to me that ObjectSpace is a particular challenge to IronRuby, as the obvious way to implement ObjectSpace is to hook into the garbage collector, which is not something that is allowed in the world of the CLR. Or in the world of the JVM, as Ola Bini discusses in this interesting post. Implementing ObjectSpace on the managed platforms (using WeakReferences) involves a huge performance hit (Bini talks of measuring several dozen percentage points worth of penalty). He additionally shows some code that works around the obvious ObjectSpace use-case.

The Continuing Decline of Tech Magazines, Chapter 38

Filed under: Uncategorized — admin @ 12:00 pm

Forbes has a few-hundred word article on the decline in tech-sector print media. (via James Robertson) Nothing specific to the software development industry, but still, another data point…

Virtual Earth MapCruncher

Filed under: Uncategorized — admin @ 12:00 pm

This tool from Microsoft Research:

lets users quickly convert existing maps into an online format that’s as fast and easy to use as Virtual Earth. PDF and raster maps can be converted in minutes just by clicking on corresponding landmarks on the user’s map and the global maps in Virtual Earth. MapCruncher re-projects the user’s map, rendering correctly registered and zoomed tiles that can be mashed up seamlessly with Virtual Earth’s standard road and aerial imagery.

Virtual Earth MapCruncher

Concurrency Tutorials Via LOLCuteness

Filed under: Concurrency — admin @ 11:36 am



I figure I’ll be the #1 programming blog by the end of the month.

Need To Draw (Mathematical-Style) Graphs? Try This Free Layout Engine for .NET

Filed under: SD Tools — admin @ 12:00 am

I’ve fiddled around with the examples of GLEE, Microsoft’s layout engine for graphs and wish I’d had it for some visualization projects I did a few years ago. Looks like a nice library to add to your collection.

Powered by WordPress