2008-04-11
Step-by-step debugging with Silverlight and IronRuby
I struggled a bit while preparing my Silverlight and IronRuby article for the french magazine Programmez so I'll share those tips here.
Here are the required elements to achieve step-by-step debugging when working in IronRuby Silverlight:
- Visual Studio 2008 RTM (trial version is ok)
- Silverlight 2 Visual Studio Tools - available here (you'll have to uninstall any already installed Silverlight runtime or SDK first)
- Grab the latest dlls from the Dynamic Silverlight SDK and place them under your app folder (or under the chiron /bin folder)
Then add the following to your html file:
<param name="initParams" value="debug=true, reportErrors=errorLocation" />
To actually debug, here are the required steps:
- open your ruby file in Visual Studio
- enable the breakpoint
- attach the debugger to your browser window process
- go back to the browser and hit F5
Here's a screenshot:
(many thanks to Jimmy Schementi for helping out on the ironruby-core list).
If you are still here and like Ruby, you may also want to check out this ruby and rmagick visualization mashup I did to display Velib (Paris bike rental system availabilities.
2008-03-28
Write Silverlight applications with dynamic languages
Not sure this has been spread much yet: the Dynamic Silverlight website let you download the Dynamic Silverlight SDK and shows a few online IronRuby and IronPython (or Managed Javascript) Silverlight samples as well.
I’ve been playing around a bit with the SDK and start to like it. Although pretty basic for the moment, it’s functional and let you write and run IronRuby or IronPython Silverlight applications locally.
Typical development steps include the creation of three files:
- the xaml manifest
- the html file
- the code file (app.rb, app.py … )
Once these files are ready, use the following command line to run the Chiron dev server (coming with the SDK) which packages things as a XAP module seamlessly:
chiron /webserver
Detailed information can be found on the Silverlight Quickstart page.
An introduction to IronRuby (french readers only)
As as sidenote, french readers may want to check out my introduction to IronRuby on developpez.com.
2008-03-13
Une license gratuite de MindManager 7 pour les bloggeurs francophones
(via le web pédagogique)
Une news un peu "hors-topic" toutefois c'est suffisamment intéressant pour que je veuille en informer les autres bloggeurs DNG et nos lecteurs assidus!
Si vous connaissez le mind-mapping ou que vous souhaitez découvrir un logiciel pratique pour acquérir cette technique, l'éditeur MindJet offre une license gratuite de son logiciel MindManager 7 aux bloggeurs francophones actifs (voir ici pour toutes les informations).
Attention c'est une offre limitée au 31 mars 2008.
Si vous ne connaissez pas le mind-mapping, vous pouvez en apprendre davantage ici et voir les usages concrets que j'ai pu en faire ou découvrir son utilisation pour générer des données de pilotage d'une application informatique.
05.03.08
Silverlight 2 (beta1) Installer, SDK and Documentation are available now!
I'm downloading these.
(through Michael Sync).
2008-02-23
A couple of February news
A few things I want to share tonight:
Want to work on dynamic languages at Microsoft ?
First John Lam announced that Microsoft is recruiting on the dynamic language side:
We have five open positions as of today. We need devs for IronRuby, IronPython and F# and testers for IronRuby and F# (the links to the F# jobs will appear soon).
If you are interested, contact John through his blog.
I’m sharing articles on a new “generalizing-specialist” blog
A few weeks ago, I’ve started a new blog where I share learning content with software developers. It’s not tied to a particular technology.
What you will find there: articles, how-to’s, beginner’s guides. No news.
I’ll continue to blog about DotNet news here.
IronRuby with Silverlight soon to come
I believe we’ll get a release of Silverlight with IronRuby enabled at Mix08...
Be sure there is going to be a lot of funny stuff written with this when it will be out.
Mike Gunderloy 301 redirect
I’ve been a fanatic reader of Mike Gunderloy’s LarkWare news for years. Now he has decided to focus on Rails, Merb and other technologies.
I warmly recommend his new blog A Fresh Cup.
Even if you’re not focusing on Rails, you’ll find plenty of useful links in his daily cup of links.
A tiny IronRuby sample
To close this post, here’s a sample of code I want to share. I wrote it while preparing an IronRuby article for the french magazine Programmez:
class System:: Drawing::Bitmap
def set_pixel_clip(x,y,color)
set_pixel(x,y,color) unless (x<0 or y<0 or x>=width or y>=height)
end
end
(forget about the extra space before Drawing – if I remove it this blog draws a smiley)
Here although the Bitmap class is sealed, we’re able to add a method to it to handle a convenient scenario (I believe it’s using the “extension methods” ). The existing SetPixel method is automatically “rubynised” to set_pixel, as well as the Width and Height properties.
The more I work with IronRuby, the more I like it!
That’s all for now. Back to feeding the baby!
2007-12-26
The Evolving Worker - tools for a better day
Hello dear readers,
I'd like to introduce a blog I've started recently.
It's called the Evolving Worker. The idea here is to share tools and methods about how to ease our day at work.
Here are some already available posts:
* How to start and keep your wiki alive
* How do you feel today ?
* Mind mapping tools
I hope this new blog will be useful to you, your friends and colleagues.
Happy new year and thanks for reading !
2007-07-25
How to call Rake from CruiseControl.Net ?
I've just started blogging about it and will likely blog more about it in the next few weeks: Rake gives you a tremendous power when it comes to automating tasks for any kind of applications, including DotNet applications. For those DotNet applications, I only delegate the compilation step to MsBuild. All the rest is handled through Rake itself, which may do the job itself and/or delegates stuff to other binaries (things like wget, winscp, unzip, gunzip, putty).
I usually setup a CruiseControl.Net instance when I start a DotNet project. When I started using Rake, I wanted to be able to call Rake from CruiseControl.Net.
Here's an extract of a working ccnet.config file calling Rake. You'll notice that the paths are absolute to ensure it doesn't rely on a PATH variable, which cause troubles when CCNet is running as a service.
You can call as many Rake tasks as you like on the same row. Properties (key=value) can be passed along, and retrieved later in the Rakefile using ENV['key'].
2007-07-24
How to run Pimki as a service under Windows with Cygwin - and how to back up its data
What is Pimki ?
I like Pimki because it’s a lightweight wiki, easy to setup, and quite straightforward to use. I’m using it to mix technical and non-technical teams knowledge, operational procedures, write-ups, internal blogging. It works very well in my typical configuration (10 to 25 users on a daily basis).
I’ve been installing it a couple of times, so I thought I would share some possible steps to install it.
Getting Pimki up and running
- install ruby (one click installer, http://rubyforge.org/projects/rubyinstaller/)
- install cygwin (http://www.cygwin.com/, setup.exe), including the Admin/cygrunsrv package
- install pimki with: gem install pimki—include-dependencies
- configure pimki to run as a service using this command line
Of course you have many other possibilities to run something as a service under windows. I found out that Cygwin has been very reliable for that purpose (it never failed once since I installed it), althought it can seem a bit overkill at first sight.
Setting up a back-up
The data which comes in quickly becomes valuable, so you’ll want to set up a back-up.
Once you have Ruby, you also get Rake, which I’m using a lot to achieve reliable scripting (unlike dos commands, error handling is implicit; and reusability is a lot better).
Given the fact that Pimki stores its data as ‘snapshots’ on the disk (using an in-memory ORM), the backup is very easy to write.
Next step is to automate the task: I just plug it in one of my favourites continuous integration server which is usually already in place for the development (or one can use any other scheduling system).
2007-07-23
First drops of IronRuby available
The first bits of IronRuby are available. I’m obviously going to have a look at this.
One very good news is that MSFT are going to accept source code contributions to the IronRuby libraries and host the project on RubyForge. They intend to fully open the whole project once the DLR will have reached version 1.0 and will be stable enough.
Update: Scott Guthrie offers a write-up you may want to have a look at (demoing the interactive interpreter and a wpf example).
Learn more about Ruby: Programming Ruby: The Pragmatic Programmers’ Guide, Second Edition
2007-05-25
Online data mapping with Dapper - sweet!
2007-05-09
FiveRuns : some notes from my evaluation
I'm evaluating FiveRuns, a new player in the arena of system monitoring, which offers a 30 days trial. So far I find it's an effective way of monitoring my servers, hence this post.
How it works: just use the wizard to download the agent for your platform, and install it on each machine to monitor. The agent starts pushing data to the FiveRuns hosted server, where it is consolidated and monitored.
Things I liked so far:
- easy to setup, and no server required to handle the monitoring
- cross-platform (I'm currently monitoring 5 windows-based servers, a debian server and an imac)
- good default behaviour, "smart" groups of systems
- easy to configure global thresholds (like: warning and critical level for % CPU or memory or disk)
- history graph for all sensors
- simple but effective notification chain
- automatically detects subsystems to provide more accurate information (mysql and apache already included - I've heard that IIS / SqlServer 2005 support is planned)
- the agent can act as a proxy if some machines in a network do not have access to the internet
Quite often I find that setting up and taking care of a monitoring server can be a burden for small to middle-sized companies (even though you can download a Zenoss or Nagios appliance).
The FiveRuns approach is on a sweet spot here.
(I wasn't even paid to write all this - really)
2007-04-30
Software Estimation : Demystifying the Black Art
Okay - we're not in 2006 anymore, but I've been willing to post this since last year. I've been kind of busy, working on various topics including SSIS/Rake/Ruby/ASP.Net for Villanao (holidays rentals aggregator) and a couple of RubyOnRails applications.
Now the book: my favorite book in 2006 is Software Estimation: Demystifying the Black Art by Steve McConnell.

The book is all about estimation, in a very pragmatic fashion. From a clear definition of the underlying concepts (including the key fact of separating estimates, planning, negociations and targets), to simple principles on how to avoid the easy or not-so-easy mistakes (like "never guesstimate"), to real-life methods to stay happy in a deadline world, Steve McConnell has gathered the best advices an estimator could read in one single book, and managed to keep complex things simple.
I warmly recommend it to any developer / project manager / architect.
2006-10-03
Montastic: a nice web monitoring tool
If you need a simple way to be warned when a web site goes offline, you may find Montastic sweet: a web-hosted and free monitoring service, very simple to setup.
It checks your sites at minimum every 10 minutes, provides RSS and email notification, and includes a totally-geeky widget you can install on your desktop:

I've been using it for one month and I'm very happy with it.
CruiseControl.Net 1.1 Final is released
Here are the highlights:
* Log4Net is used with a rolling logfile appender for logging CCNet build server output.
* Users can use CCTray to volunteer to fix a broken build.
* <prebuild> section allows custom tasks to run prior to build. This allows clean up operations to run before the build starts.
* Caching is used in WebDashboard to reducing loading time of build reports.
* Build statistics are available through the CCWebDashboard.
* WebDashboard provides an interface for stopping and starting CCNet projects.
* Alienbrain source control provider is now supported.
Read the full release notes (thanks Owen). Grab the binaries here.
2006-09-04
Watch out the cloud
(through John Lam's blog)
Jesse Andrews has a nice write-up about how to setup Fedora Core, MySql and a small application in EC2 (the distributed platform offered by Amazon).
Given the flexibility of the pricing (ie pay only for what you use), and given that it seems to play well with S3 (the online storage by Amazon), EC2 is something I'll watch closely.
UPDATE (07/09/2006) : InfoQ has an article ( http://www.infoq.com/news/amazon-changing-enterprise-ec2 ) which summarises the various options as well as the reaction of the blogosphere.
:: Next Page >>