Gaston Milano's WebLog

About something...





VS Automation


CoolCommands for Visual Studio 2010 (CoolX)

 A week ago Visual Studio 2010 was released and now you can download the final version of the CoolCommands for Visual Studio 2010, it just fix some minor bugs that many of you found.

Thank you for your really good feedback about the tool, I hope you continue saving time using Cool Commands.

 Have a suggestion about a new command that could help us? Just drop me a email! 

Download the latest version for free from the Visual Studio Code Gallery .

DeKlarit V CTP Released : the end of the beginning 2

One year ago we started a new challenge for DeKlarit: an extensible and robust platform for creating rich applications based on Model Driven Development. 

And today we released our first CTP.

The same happened some time ago with GeneXus and its GeneXus X version.

In this year we have been working hard in many areas but mainly in our core technology, today we can say that DeKlarit is using the same core technology than GeneXus.

So in terms of modeling DeKlarit is a subset of GeneXus concepts. 

In terms of what you can generate, Deklarit will focus in Microsoft Technology as always. (ie: ASP.NET, ASP.NET MVC, Silverlight, WP7)

Our approach for Model Driven Development remains. 

In this CTP we introduced a bunch of new features.

More than features, we included a completely new language for Data Providers (I’ll write about this topic in a future post).

Obviously DeKlarit V is fully integrated inside Visual Studio 2010.
And we will target the following generators:

·       ASP.NET Forms
·      ASP.NET MVC
·      Silverlight for Business Applications
·      Silverlight for WP7

All generators will be open source. For example our new ASP.NET MVC 2 generator is hosted in google code at  

If you are interested on helping us improve DeKlarit please download our CTP and connect to our DeKlarit V forum

Another good new is that we have a new alliance with DVelop, they are creating a complete suite of generators over DeKlarit Models and additionally they will be offering consulting services if you want to move to this new world of Model Driven Development.
 Some time ago I wrote about the end of the beginning for GeneXus, this is the end of the beginning for Deklarit !

Model Driven Database Schema Evolution @ Code Generation 2010

Code Generation

The Code Generation conference is Europe's leading event on Code Generation and Model-Driven Software Development.

The conference program is now available and booking is now open. 

Artech presented a purposal and it was accepted. So I'll be there talking about Model Driven Database Schema Evolution.

The samples will be Deklarit and Genexus

Cool Commands for Visual Studio 2010 (CoolX)

It's time for a new version of Cool Commands for a new Visual Studio.

I have added some new commands, my new favorite command is Explorer Context Menu.

With this command all the items available in my Shell are available in Visual Studio!

I can zip, use SVN, send emails, comparing, etc just inside Visual Studio.

Explorer Context Menu

So, it is not just another command, it adds many commands!

I have also added some more commands such as copying and pasting projects between different instances of VS. Or open files on a secondary monitor.

Obviously the classics commands are still there as the reference copy, open command prompt, etc.

The new version is available on the Visual Studio Code Gallery

You can find the full list of commands here

Behind Genexus

I started a new blog with focus in Genexus.

My first post was about integration between Genexus and Zoho Spreadsheets

Posted: Apr 16 2009, 04:08 PM by GMilano | with 7 comment(s)
Filed under:
Data Sets from Freebase using Genexus

In many development cycles there is a step of prototyping, in this step we need more than just the application in order to success. We need good Data Sets. 

Good Data Sets allow us to detect usability issues, performance issues, and probably give a good first impression to your customer.

So we decided to give to our users a way to generate data sets in order to be consumed by Genexus applications.
Fortunaly there are many sources of data today, one of them is FreeBase.

Briefly FreeBase "is an open database of the world's information" It's build by the community in a similar way as Wikipedia. FreeBase is one of the most famous application of the Web 3.0 wave where semantic matter.
So our Data Provider Generator is a new tool in order to generate data sets taking data from Freebase at first.

Let me show you a very simple sample.
You are creating an application for selling cars and in order to try your application you need data about Car Models. Yes, I know you could search for images, and information using your favorite search engine, but it is a time wasting task.

So, at first you have a structure data type in order to manipulate a CarModel


 And you have a Grid in your WebForm showing this information.
Until here you have a very simple application but without data, now you need the data, so in Genexus Evolution I,
you will have a Data Provider Generator in order to create a Data Set for your structure.

So you start de DataProvider Generator and you try a search about "car" (the results from freebase are ordered by relevance)

You will find that the “Automobile Model” type have a lot of information but you only want the Name, Image and Made By attributes so you map each attribute from the data source to the output structure.

After you select Finish you will have a bunch of data so that you can start you application prototype with some interesting data.

This final application sample looks like the following image


 But just in case you like cars here you have the sample online

Annual World Usability Day

Yesterday was celebreated the 4th annual world usability day. In Uruguay it was in the ORT University  Artech and other companies from Uruguay were invited to participate in this event.

Yesterday while I was preparing my talk Fabian (a coworker and Mac fan) sent me the perfect sample for usability where the mental model of a 1 year old user match exactly with the program and hardware model


And additionally I found this sample where obviously the program model doesn't match the mental model  (From uselog)

Ticket Machine


M and textual DSLs

After PDC 2008 everybody start talking about a new way of creating textual DSLs using the Oslo Project, actually I have been confused trying to figure it out what exactly are the differences between the Oslo Project and many of the well proved tools and languages in the market.

The Eclipse world is really well positioned with its Eclipse Modeling Project where you can define your grammar for your textual DSL and have a lot of tools for free for your language (like obviously parsing, editors with coloring, intellisense, deploy the generated editor, etc)

(Take a look here)

 After PDC new samples of Mg (MGrammar) to define languages appeared:

So I continue confused because I felt that esentially Mg has the same complexity or even more than ANTLR or the Gold Parser project. And I don't understand why we need yet another way to create languages.

Luckly I found a comment of Don Box in a Gold Parser vs MGrammar post that tell this:

"I think we’re not being super-clear on our side when we talk about M and textual DSLs."

 "While it is possible to write the grammar for a “capital-L” language in M, that’s not where most of us on the team see the primary use case of M. "

"Rather, the sweet spot (in my mind at least) is in enabling tailored syntax over schematized data - that is, the schema dominates the design, not the language per se. "

 I agree with Don Box, Microsoft is not being clear about the message with M, I downloaded and tried the Oslo SDK, I was expecting a complete sample on using the Oslo Project (M, MGrammar, repository, Quadrant, etc) in order to solve a real world scenario.

I know this is only a CTP, anyway I was expecting more.. 

We, the pragmatic developers, need a side by side sample for a real and simple scenario, in this sample every piece of the puzzle should be included.

We need to learn by example, we need to learn by simple and real examples.

Buildconsole is open source

This morning our team had a very interesting meeting with Jon 'Mad Dog" Hall, we were talking about many topics related with open source. I really enjoy the meeting.

When I developed BuildConsole I knew it was written in a "bad way", I didn't use patterns, I didn't follow styles rules,  I didn't localize the application, I hard coded a lot of things, etc. So, just in case I didn't open the code because of that.

Many times people asked to me for the code and I sent it. The last time Simone Busoli asked to me for open source the code and I accepted. So now you can contribute or use Buildconsole in

 Jon said something similar to: If you consider you are giving benefits to users with your product just open it, even if you consider your code ugly.

So, BuildConsole is open source right now.


Goodbye CUIL

I give you the chance of a good first impression even I believe Google engine is hard to improve. 

The best definition I got this week was : "Wonderful marketing for a bad product"

So that CUIL lost a lot of users this week. You miss your first chance.

Goodbye CUIL.

More Posts Next page »