Subscribe: Gaston Milano's WebLog
Added By: Feedage Forager Feedage Grade B rated
Language: English
application  chart  code  data  date ctod  deklarit  development  genexus  google  new  order  studio  visual studio  visual 
Rate this Feed
Rate this feedRate this feedRate this feedRate this feedRate this feed
Rate this feed 1 starRate this feed 2 starRate this feed 3 starRate this feed 4 starRate this feed 5 star

Comments (0)

Feed Details and Statistics Feed Statistics
Preview: Gaston Milano's WebLog

Gaston Milano's WebLog

About something...


CoolCommands for Visual Studio 2010 (CoolX)

Fri, 23 Apr 2010 02:51:00 GMT

 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

Mon, 12 Apr 2010 20:56:00 GMT

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

Sun, 14 Mar 2010 15:41:00 GMT

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)

Sun, 14 Mar 2010 02:06:00 GMT

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.


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

Thu, 16 Apr 2009 20:08:00 GMT

I started a new blog with focus in Genexus.

My first post was about integration between Genexus and Zoho Spreadsheets

Data Sets from Freebase using Genexus

Wed, 25 Feb 2009 17:58:00 GMT

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

Fri, 14 Nov 2008 21:18:00 GMT

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

. (object) (embed)

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



M and textual DSLs

Thu, 13 Nov 2008 00:03:00 GMT

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

Wed, 10 Sep 2008 16:39:00 GMT

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

Sun, 03 Aug 2008 23:23:00 GMT

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.

Google Intensity Map , another GeneXus user control

Tue, 17 Jun 2008 19:58:00 GMT

You can download it here and you can see how to use it in the following video.

In the sample I had only one Business Component called Country, after I created a WebPanel, drag and drop the IntensityMap and bound it to a DataProvider that takes data from Countries.  

The DataProvider Code is

        Name = "Population"
        Name = "Area"
            CountryISO = CountryId
                Value = CountryPopulation
                Value = CountryArea


(object) (embed)

Cardal : Something is changing...

Fri, 13 Jun 2008 21:38:00 GMT

Even if you don't read it in the news, even if you don't watch it on TV, in the society something is changing... and luckily my country is one of the main player in these good changes.

Probably you know about the OLPC and probably you know the first picture of the following video, but almost for sure you never see the others pictures. Why? Because even in Uruguay we never watch these pictures on TV

But our friend Fernando lives in Florida the first City in the world that go ahead with the OLPC program. To be more specific it began on Cardal in Florida. Fernando gave us these pictures. For me are shocking pictures. How many times did you go to school on sunday?


(object) (embed)

What is changing? Traditional things, traditional ideas.  

We start thinking in the next version of GeneXus, we had been thinking a new code name for our version, we believe that traditional ways to do applications should change, so more than ever we choose a strong meaning name for our version:




My First User Control on GeneXus X: Google Motion Chart

Tue, 10 Jun 2008 22:30:00 GMT

After Enrique wrote about Google Visualization API, and after Gonzalo showed us that create an User Control for Google Visualization Gadgets is an easy task, I tried to do my first User Control.  I choose Google Motion Chart. You can download it here   This sample is a simple chart showing Sales and Price for IPhone, WM and Nokia (N Serie). I wrote this "hard coded" code in GeneXus X DataProvider1  TimeSerie{    Category    {        Name = "IPhone"        Date = ctod("01/01/2007")        X = 0        Y = 0    }    Category    {        Name = "Nokia N"        Date = ctod("01/01/2007")        X = 400        Y = 9    }    Category    {        Name = "WM"        Date = ctod("01/01/2007")        X = 400        Y = 2.9    }    Category    {        Name = "IPhone"        Date = ctod("06/01/2007")        X = 499        Y = 2.3    }    Category    {        Name = "Nokia N"        Date = ctod("06/01/2007")        X = 599        Y = 11    }    Category    {        Name = "WM"        Date = ctod("06/01/2007")        X = 450        Y = 3.8    }    Category    {        Name = "IPhone"        Date = ctod("08/11/2008")        X = 199        Y = 4    }    Category    {        Name = "Nokia N"        Date = ctod("08/11/2008")        X = 699        Y = 12    }    Category    {        Name = "WM"        Date = ctod("08/11/2008")        X = 499        Y = 3    }    } The right code should be:  TimeSerie{    Category    {       Name = ItemName       Date = ItemDate        X = ItemPrice        Y = ItemSales    } }    And in the Start Event of the Panel   WebPanel1    Event Start    &serie = DataProvider1() // The &serie is the data bound to the controlEndEvent I think is a bit easier than write a bunch of javascript code. And the data is almost real ;)[...]

The end of the begining: GeneXus X

Thu, 01 May 2008 00:12:00 GMT

Two years ago we started the first prototypes of the GeneXus Rocha, at that time we were sure we had to redesign the architecture of the GeneXus development environment.  We analyzed several options for our new Development Environment like using an existing development environment, for example:  Eclipse, Visual Studio, or even emerging technologies like the Composite Application Block. Even we are accustomed to work with traditional environments; they are lacking a crucial point: Usability. In order to work with Knowledge, usability is essential.  So we decided to create a new Environment focusing on Usability, Productivity and Extensibility. The platform we chose was .NET, so GeneXus is one of the first development environments completely written in .NET, but this is not the essential part. The essential part is for sure unique usability features; some of them are very important, and some others are minor features that most of the development environments in the market don’t have. Two years later we have our first major Release of our product; its name is GeneXus X. The GeneXus core is creating business applications using knowledge. Our approach: a declarative language and code generation. This was and is our way.  A declarative language is the only way programmers can focus in What to do instead of How to do it. And the only way programmers and engineers will focus on solving the real problem.  Additionally GeneXus generates code, I don’t know another technique in order to increase dramatically the software development productivity.   In GeneXus you have patterns, an excellent tool that increases productivity and gather knowledge, but when you are creating a pattern inside GeneXus, you are creating a new Generator . In GeneXus X we are being really, really, declarative; just let me give you an example. This is the code you have to write in order to return a list of Customers Customers {           Customer          {                    Name = CustomerName          } } There is no information about how to obtain data, there is no information about the format, this is declarative code. This code is technology independent, this code will be a time survivor. Trust me, if you don’t know about GeneXus just take your time to learn about unique features of this language. Obviously, you have already noted this project is not just one more project for me, it has been the project living in my mind during two or more years, during the project we have many technical challenges I’m expecting to write about them at some moment: ·         The Challenge of Usability ·         The Challenge of Extensibility ·         The Challenge of Productivity ·         The Challenge of Performance ·         The Challenge of Memory use in .NET ·         Ideal software vs  good enough software How big is the GeneXus Project? 193 Visual Studio projects. (I promise you to give more data ;).  Big enough I think. This is the end of the beginning of a new generation of GeneXus, thanks specially to Beta Testers giving us their ideas, their criticisms, they “go ahead”, and so on. And thanks to all the Artech Team, I have been really learning more than design, develop, test, and release a product in t[...]

GXChart and after Google Chart and YUI Chart Control

Mon, 10 Dec 2007 19:08:00 GMT

In 2001 GeneXus released its chart service called GxChart. GXChart is an online service that instantly creates any chart you want to visualize.

You define the chart and the GXchart server will return an image of it.

The service was created oriented to GeneXus users but anybody could consume this service.

The data, the chart type and other parameters can be passed either in a URL or in an XML file.

The simplest way is to include the parameters in the URL.

For example:,February,March,April&Series1=Values:Purchases:70,40,90,20&Series2=Values:Sales:50,100,20,50&%3Cbr/%3EType=Bar3D&Width=600&Height=400&Legend=Right

Is the following chart:



GXChart service is free and additionally you could obtain the local version in order to install the service in some local server.


 More information about GXChart here

 The last week Google released its Google Chart, esentially the same idea.

The point of this post anyway is not to compare GXChart with Google Chart (I think today GXChart is better)

The point is that I was thinking in a new way to render charts, a more interactive one.

Render images is not enough in many cases because we need interaction with the data.

We need a chart with client events in order to create new ways of interaction with Data. In this way YUI Chart control is using Flash in order to give interaction with charts. Obviously YUI Chart is very rudimentary in terms of charts yet. Using Images is a bit complicate achive this behavior.

GeneXus, Yahoo, Google, where is Microsoft in this game? What about the same service but giving us Silverlight charts ;)

GeneXus USA Event 2007

Tue, 16 Oct 2007 22:59:00 GMT

October 29-30 is our annual GeneXus USA Event (Chicago IBM Innovation Center) 

I'll be there giving first of all an overview of GeneXus (coded name Rocha) and after in another talk I'll be talking about Development of dynamic languages generators. We will show the current development stage of our Ruby Generator and obviously we are going to show you what kind of applications you could create with GeneXus Rocha.

If you want to join us 

We have just released our first Beta for GeneXus with C# and Java generators and SQL, MySQL, DB2, Oracle support. Additionaly we have released our first CTP of our Ruby Generator.

You can try GeneXus Beta 1 here.

If you don't know anything about GeneXus here you have our first online book, it is a good starting point to understand many of the concept behind GeneXus.


Vista/Ubuntu Odisea

Wed, 30 May 2007 20:23:00 GMT

I have a new Lenovo T60p notebook I'm very happy obviously is my new toy. I thought it was a great opportunity to migrate to new OS. I watched this video about Vista and Ubuntu and I decided to install both. I will describe right now the steps that  I followed in order to acomplish the crazy idea of install the latest operating system in the market. I think this will be useful for somebody else. My notebook has XP preloaded with office 2007 , ThinkPad software, Symantec software.Install UbuntuIn the middle of the installation the setup failed so a command prompt appears with a strange message. (After a coworker told me that ubuntu has problem with ATI cards so I had to run a couple of "nice" commands and ready...)For me the first Ubuntu try failedm, remember I'm a user of a 2007 operating system, I was expecting to be in a 3D cube but I finished in a command prompt.Install VistaWindows Vista Capable sticker present in the notebook so I started...Upgrade Lenovo BIOS, uninstall some thinkpad tools, uninstall symantec tools ( Windows Vista SetupChoose UpgradeFinishAt this point I was very happy ;) Time to working ATI FireGL V5250 driver missing. Solution: Download driver from lenovo SiteOutlook 2007 failed with "Could not create form" messageSolution: Regsvr32 c:\Windows\System32\vbscript.dllTry to connect to vpn using openvpn failedDownload a new openvpn versionAdd to your .ovpn file the following two lines:  route-method exeroute-delay 2Run openvpn-gui as AdministratorTry to use Outlook Web AccessI could write messages !!! Our exchange should be patched in order to get up and running... I have to patch the company server... Try to run Visual Studio 2005Install VS SP1Install VS SP1 for VistaI join to a DomainI couldn't use Windows Update anymoreSolution: Left the domain update and join again... I know should be another way I didn't find easily.At this time I spent a lot of hours reading, installing, but not reading the new features about VistaWhat is the first "feature" I learned about Vista ? UAC (User Account Control) read about this feature because from my point of view (before reading) in Vista Microsoft did:Administrator is not Administrator, I mean I need to run program with Run as administrator, but... I'm an Administrator !!Right now in Vista before running a program I should think "Double click or Run as administrator ?" I mean they break the Don't make me think rule at the more basic level !!At this time I'm very disappointed I think is a perfect piece of security software they do the right think about security but miss the main thing The User.Well I'm having more problems because a bunch of third parts libraries doesn't install in Vista.Yes you are right I did more effort in Vista than Ubuntu it's true this is because my main environment is Windows right now. Anyway my new 90GB disk has 50GB used (Windows Folder: 11GB, System Volume Information: 9GB, Program Files 9GB, Users 4 GB, IBM 3 GB...) So I suppose Ubuntu should find another machine to live ;) Right now I have Ctrl+tab, aero, search, etc but it's time to working and I can't... My boss is not happy either. [...]

A Better Way To Show your Build Output: BuildConsole.NET

Mon, 16 Apr 2007 17:25:00 GMT

Sometime ago I built a tool I called Build Console. I was a quick and dirty development but until today we are using it often in our daily building. Why I needed this tool, well I don’t wanna tell you that VS build report is  really poor but… it is ;) I don’t wanna open a big solution and wait 5 minutes in order to build my solution. I known I can use msbuild command line but it is so hard to know what is going on with the build process (how many warining, errors, what project fail, etc).So that I built a very simple tool that just is listening msbuild and show you the in a better way what is going on with your build.Additionally it save the history of your builds.  BuildConsole features:Open BuildFiles and Solution FilesShow and Save Build ReportsSupport for cancellationVerbosity ConfigurationBuild Console solve another small problem that I always have, when building C++ I want a detailed verbosity but for C# projects I need a normal verbosity. BuildConsole assume you want this and if you choose normal when it is building a C++ project it assume detailed. I could be annoying for somebody but I need to know what C++ source is msbuild building and with normal verbosity I can’t see this. ConfigurationIf you are going to use BuildConsole always with the same build file you can use the .config file        If you need the code just drop me a line. Remember it is dirty code ;)Download BuildConsole.NET I would like to have a better output in Orcas ;)[...]

Easily Add a string resource with CoolCommands

Tue, 17 Oct 2006 16:24:00 GMT

Localizability is one of the tasks that we should be aware to writing a World-Ready Application. Basically this task implies that the application executable code has been clearly separated from the application localizable resources.

So that one required feature in our code is that all literal should be in a resource file. This sound easy but for lazy programmers like me this task is very hard.

In order to make my life easier I did a new coolcommand called “Add As String Resource”.

Basically you select a string in the text editor and after in the right click menu you will have a new option “Add As String Resource”

The command will show you a dialog like this



After add the resource the command automatically execute the custom tool associated with the selected resx file.


In order to install unzip this file and run setup.bat in a VS command prompt.


Deklarit 4.0 Released !!

Wed, 10 May 2006 23:09:00 GMT

I'm very happy because Deklarit 4.0 is released our team was working very hard the last months in order to achieve this. I hope you enjoy the new version. If you were involved in beta testing THANK YOU !!

We have added a lot of new features.

DeKlarit 4.0 Key New Features: 
- Integrates with Visual Studio 2005
- New platform-independent layout designer
- Integration with Enterprise Library 2.0 and the Composite Application Block
- Support for the .NET 2.0 Membership and Role API
- Support for Web Services Enhancements (WSE) 3.0
- Redesigned ASP.NET code generator

More Features