ironruby - for the last year i've somehow been avoiding doing any ruby work. been writing plenty of python for prototyping as and duct tape for work as well as hobby, but nothing in the way of ruby. one of the reasons i've had the opportunity to write some python is because of ironpython. no matter how much diversity i would like in my professional development the truth is i work in a microsoft shop. it's just that simple. because ironpython lives in the .net runtime i only have to be slightly creative to get some professional use out of it. with the advent of .net 3.5 microsoft (thanks in part to john lam) has introduced ironruby. much like ironpython the idea is simple. marry the .net runtime with the ruby programming language...
Groovy: Dynamic Language for the JVM... Groovy! - I'm continuously encouraged by the influence dynamic languages such as Ruby and Python have had on mainstream runtimes like the CLR and JVM. Direct ports like JRuby, Jython to the JVM and IronRuby and IronPython to the CLR are truly exciting. More exciting still are languages like Boo that are built from the ground up for mainstream runtimes. I've finally had the chance to fool around with a language I've been dying to dig in to that was built specifically for the JVM: Groovy. Groovy is an agile, dynamically-typed, well supported language that is perhaps most famous as the basis for Groovy on Grails, a rails-like web development framework. Example As I typically do I'll show you a quick twitter status example to get your feet wet. Consider the following class...
Now in IronRuby on Rails - Just a quick note. I've again changed the architecture of this site. It's now in IronRuby on rails, running on Windows Server 2008 with SQL 2008 R2/Solr. Previously I was using django on linux with Oracle Express/Solr which was just one node in a long list of architectures I've used here. Why the change from django? Why the choice of IronRuby-microsoft-ish stack? Well, I'll surely be blogging about that shortly when I update my Tale of a Website post. In the meantime please keep an eye out for anything not working and let me know if you find something broken.
My Tool List - One of the more popular thing's Scott Hanselman has done is maintain a tool List, essentially a list of applications and utilities that he's found useful. There are plenty of absolute gems in his list and rather than present my own I'd be very comfortable just pointing you to his... But what fun would that be? None! I also think there are a few more that I can add that are relevant to my personal experience. The list is rather short and there's a bit of overlap with Scott's but if all goes as planned I'll expand it over time as old useful tools come to mind or I discover new ones. Cloud iAWSManager - This is an iPhone app that lets you manage many of the functions of Amazon Web...
Windows Services in Python - Any more it seems that virtually all the code I write on the windows platform ends up being a windows service. It's just the nature of the kind of work I do: the underappreciated guts that sit far beneath the software that users directly interact with. Obviously windows services are typically written in mainstream .Net languages like C# or VB these days but it's also easy if not easier to do in Python. Requirements A Python Interpreter - this one's pretty obvious. Can't run Python code without a Python interpreter. Python for Windows Extensions - this is a wonderful, easy to install project that exposes the innards of windows to Python. Administrative access - you must be logged in with administrative access in order to install your service. The Code Once...
Scripting Your .Net Applications with IronPython - At several points in my .Net development career I've had the need to make an application I wrote scriptable. Sometimes it was to provide easy product extension to customers or lower level information workers. Sometimes it was to ease maintenance of very fine grained logic that has the capacity to change frequently or unpredictably. But every time I found it to be one of the more interesting facets of the project at hand. Early in .Net's history this was made easy by using Visual Studio for Applications (VSA) which allowed you to host arbitrary C# or VB.Net code within the executing AppDomain. Unfortunately VSA was plagued with resource leak problems and was therefore impractical in most enterprise situations. VSA was eventually deprecated. One of the many alternatives is to perform dynamic,...
Clojure, A Lisp for the JVM and CLR - I've been becoming increasingly interested in functional languages in the last few years and I'm apparently not the only one. It's pretty hard to listen to any general purpose software development podcast without hearing about Erlang, Haskell or F#. Another one came up recently that I just had to play with. It's a Lisp variant named Clojure. The reason I find Clojure particularly interesting is that it's designed to be hosted in the Java Virtual Machine and the .Net Common Language Runtime (via the DLR). From a practical perspective that's wonderful considering integration with other commonly used libraries in the business world is a snap. I'm sure it annoys Lisp purists, but it makes Clojure much more adoptable between 9 and 5. As is frequently the case this is not something...











