Friday, December 12, 2008

Starting up with SQL Data Services (SDS)

SDS A few days ago I got my invitation code to the SQL Data Services CTP and last week I decided to take a peek of the ‘new technology’. Since I could not find a straight forward example of what to do when you want to test the SQL Data Services (FKA: SQL Server Data Services), I decided to post here a short version of what I did and hopefully someone will find here what I found in many places.

So, first of all I assume you already signed up for a SDS account at Microsoft Connect. They’ll send you two emails. The first one tells you your code to sign in but it also says the service is not available yet. And then, you get another email saying that the service in now available for you and that you need to sign in with the code they’d sent in the previous mail. Why don’t they send you just one mail when everything is ready? beats me!

And then what? well, is not easy… as I mentioned before, the site sucks big time. You need to go to the Azure site and click on the Sign In button at the top right corner. You might think you we’ll be prompted for user credentials, but no. Just click on Microsoft .Net Services & Microsoft SQL Data Services (or click my link). Now here you’ll have to sign in. Type your invitation code, the one they sent you in the first mail, here and click on Sign Up. Then you need to create a solution (remember this solution name for further reference). They also assign you a password (which you can change).

After that, click on the SDK link and download the Microsoft SQL Services SDK. After installing the so called ‘SDK’' open the SSDS Explorer. Read the doc to create and Authority, Containers and Entities (ACE is a mnemonic you might want to remember). I suggest you play around for a while before trying to write some code. Create Containers, and Entities. Create entities whit a different name (other than Entity) and same thing for the entity properties… notice you can write what ever you want there. Try some LinQ to query your entities.

In order to keep the post short I’ll show you some code in my next post.

Edit: I forgot to mention that the credentials asked by the SSDS Explorer are the name of the solution (the one you created before), and the password they gave (which hopefully you changed it)

Read Full Post

Sunday, December 07, 2008

World’s worst web site ever!

Seriously dudes! I know you were in a rush and all to release the Azure platform in time for PDC 2008, but come on! It impossible to get around without going twice on the same page.

If I’m already signed in, I don’t want to see a sign in button… but you have to go there cause that’s not just for signing in purposes but it’s also “the way” to get to your projects… by clicking on the Windows Azure link.

Also, why the hell the Azure site is so different from the SQL Services? (which is supposed to be part of the Azure initiative)

Azure SDS

One last thing, my credit card? really? you need my credit card to sign in for a FREE CTP version of the SQL Data Services… Please, stop what you’re doing, take a deep breath, stop the features and fix theses sites!

I bet Bill Gates has not seen them yet! ;)

Read Full Post

Wednesday, December 03, 2008

Windows Live is changing… and not in a good way

Live I was uploading a few files to my SkyDrive when I noticed they changed the look and feel. It felt good. Of course, as usual, I couldn’t find what I was looking for right away but you can get used to it easily.

But today I noticed that something else changed from the Windows Live site. I got an email with some promotions (spam). It had the good old disclaimer saying “this is not spam cause you can unsubscribe”… so I did, I clicked on the link and got into a page where I could unsubscribe from their advertisements. Lucky for them, they were having some kind of problem, (probably everybody doing the same) which would allow them to “process my request”. So I’m still down for that junk.

And now, I just got an email from a “hot chick” saying she wanted to get in touch with me. The mail also had another disclaimer which lead me to a page where I could set who could reach me. And I got a big unpleasant surprise when I got there…

This were my settings:
Who can invite you to their network? Anyone
Who can ask to view your space? Anyone
Who can send you private messages? Anyone
Plus a few checkboxes allowing them to send me emails for almost every possible reason.

Who the hell thought these are the right default values for the new preferences?

Read Full Post

Tuesday, December 02, 2008

Pownce is shutting down…

That’s right…, Kevin Rose’s attempt to kill facebook, is shutting down. I got this email from them this morning:

We are sad to announce that Pownce is shutting down on December 15,
2008. As of today, Pownce will no longer be accepting new users or new
pro accounts.
To help with your transition, we have built an export tool so you can
save your content. You can find the export tool at Settings > Export.
Please export your content by December 15, 2008, as the site will not
be accessible after this date.
Please visit our new home to find out more:
Our thanks go out to everyone who contributed to the Pownce community,
The Pownce Crew

Also, in their blog they say they’re moving to Six Apart which, for I read, sound like an AdSense “killer”.

So, since I won’t be seeing it anymore, I’ll leave a pic of my pownce start page here.


Read Full Post

Saturday, November 08, 2008

Assembla is no longer free

and it sucks! I got quite a few emails regarding my previous posts about how great Assembla was. Assembla is no longer hosting private projects for free. I you want free, it must be open source, and that’s not what I need so I started quite a quest for a new svn hosting site.

Obviously, I’m not the only one flying away from Assembla. Take a look at this post at None of the suggested sites were good to me, cause they offered 1 free private project (and I need more). sounds good but they restricted their free private hosting to invitation-only (they say is temporary), so created an account at, it is just svn hosting, they don’t wiki or other services and the site look & feel is pretty crappy, but it does what I need it to do, and for free.

But wait! as I was writing this post and going over the stackoverflow thread I discovered Origo, and I stuck with it. It’s 100% free for private projects, has issue tracking, wiki, and more.

Give it a try!

Read Full Post

Thursday, September 11, 2008

Easy Remover also goes open source


Following Milano’s BuildConsole my “Easy Remover” is also going open source, as I did before with Goomez. Now in a Google Code hosted project since I wanted to try it out. I think I’ll move Goomez there too.

For those of you who don’t know Easy Remover and don’t understand spanish (the original post was in spanish), Easy Remover is my alternative to the “Add/Remove Programs” feature in Windows. I always thought the loading was way too slow, had some missing features, and found no use for some of the info displayed there, like the size of the program and how often I use it, I already know that thank you.

Easy Remover loads much faster than the standard/official feature, and lets you search in your installed programs refining the showed programs to the word (or pieces of it) you are looking for.

In the original post, Gusbro posted a link to a blog where it was explained how Windows collects the info to show in the standard form, which explains why it is so slow to load. (here’s the link)

But as mentioned before, I just wanted to let everyone know that Easy Remover goes now open source. Here’s the project site

One more thing… I posted the project as GNU Public cause they don’t have the “Works on My Machine” license ;)

Read Full Post

Monday, August 25, 2008

Jerry Seinfeld joins Microsoft

helloimapc Almost two years ago I posted about a few funny commercials Seinfeld did for American Express. And now Jerry gives me a little more to talk about him as he joins a $300: Microsoft campaign to combat Apple. For those of you who don’t know Seinfeld (shame on you) he’s one of the greatest comedians of all times, and he’s pretty rich too… his deal with Microsoft is for $10:

But about that campaign, how expensive could it be to make Microsoft Windows a flawless system with enhanced usability features? I guess more than $300.000.000 :)

There are tons of Seinfeld’s videos online but I wanted to share one which is one of my favorites: Jerry Seinfeld on Larry King’s CNN show

(the poor old timer)

Read Full Post

Sunday, August 03, 2008

Next stop: Florida!


I didn’t want to say anything but a few days ago Milano mentioned it in a post in our forum so I guess that gave me the green flag :)

We are now working on the next version of DeKlarit code-named “florida”. We want to add a lot of new stuff but I think one of the most important features will be the Silverlight addin which will let you create web applications with Silverlight controls. We are still in the process of making a few decisions like, will it be a full Silverlight app or will it have aspx pages as containers for the Silverlight controls? We believe the second is the best choice right now since we have two excellent web addins and we can use the navigation logic we already have in those. That means it will be pretty easy for you to migrate your current WebGenerator generated app to a brand new Silverlight app. Cool uh?

Also, we’re thinking on REST support for our WCF addin, WPF for a fully funtional WinGenerator addin independent of third party controls, something you guys’ve been asking for, and full text search in generated applications among others. Also, I have to work on our security features for the generated apps and add a few features like allowing a user to change his password, sending conformation emails and more.

So if you have any suggestions, now is the time. I can’t assure you we’ll implement them all but we’ll surely keep’em under the radar.


Read the full thread of the “announcement” here.

Read Full Post

Friday, August 01, 2008

Visual Studio 2005 Extensions for WCF and WPF not available after installing Visual Studio 2008

WCF It’s a fact, Microsoft wants you to use the 2008 version of Visual Studio rather than 2005. But what if you are in a big project, not ready to change the IDE, yet, and you want to install VS2008 to test the new features? They say everything works fine but the true is you loose an important extension: Visual Studio 2005 extensions for .NET Framework 3.0 (WCF & WPF).

The problem is that you can’t install them because you have .net 3.5 installed so googling around I found a pretty useful post from Timur.

Just locate the installer with your Visual Studio 2005 command line and execute the following command:
msiexec /i vsextwfx.msi WRC_INSTALLED_OVERRIDE=1

I don’t know what’s going on with that package cause the site where it used to be available to download from is no longer available, so if you need it I uploaded to my SkyDrive account. Download it from here.

Edit: I also found it here, as I mentioned in my comment below.

Read Full Post

Saturday, June 21, 2008

Is Apple doing it again?

Apple-logo In a way, we’re getting used to be amazed by Apple news. The iPod, the iPod shuffle, the iPod Nano, the iPhone, the iPod touch, the MacBook Air and so on. The have also been showing some huge improvements in the software division, iTunes, Time Machine (my favorite) and more. Today I read an article about Apple’s newest file system called ZFS to be released on Snow Leopard.

I didn’t realize that NTFS is 20 years old already, and if you think about it, what are you using today from 1988?. Anyway, I like the comparison Harris does with Microsoft and GM.

I said it before… I was happily surprised by Microsoft Live Mesh, but let’s be honest, it’s not even close to releasing a brand new top of the line FS :(

What’s Microsoft doing about it?

Read Full Post

Wednesday, June 18, 2008

DeKlarit 4.5.1 released!

I know, it took us a while… but it’s finally here.
DeKlarit 4.5.1 has now support for Infragistics NetAdvantage 2008.1 and 2008.2. You can download it from here and read the release notes here.

We’re already working in our next major version, code name “Florida”.

Read Full Post

Tuesday, June 03, 2008

Introducing Goomez

GoomezLogo2Goomez started as a test. I wanted to create an application that given a server it could crawl all the shared folders of the server. So I stared googling around and I found it. There I was, with a program that could "know" the names of the shared folders on a server, but what could I do with that?
So I thought, "well, I could create a crawler to get info from the servers, save that data in a database and the query the tables if I want to know whether I file or program I'm looking for, is in fact, in any of my servers". So that's how Goomez was born.
It changed a bit after Milano's suggestion to use, but now Goomez is what we use at Artech when somebody wants to find a software installer.

Today I decided to make it public. It has no tricky license or anything like that, I created a space in Assembla Google Code so you can download the source code and do whatever you want with it. Also, you can upload some fixes or new features, I'll be approving the changes (at least for now) in case somebody breaks anything.

As I mentioned before, Assembla has a wiki and some other stuff that I plan to use like the tickets and files. (Edit: Google Code also has a wiki)

One more thing. This software is being released as is with a full "works on my machine" certification. works on my machine

Oh! I almost forgot... here's the link to the space. Enjoy!

EDIT: The Goomez project is no longer hosted in Assembla. We moved to Google Code at

Read Full Post

Tuesday, May 27, 2008

Microsoft Live Mesh: WOW!

mesh I don't know when was the last time a Microsoft product made such an impression on me. Microsoft Live Mesh surely did it.

About a week ago Ignacio send me an invitation to take a look at Mesh sharing one of his folder with me. I started up installing the small (1.57 MB) client app in my notebook computer. After doing that a shortcut appeared in my desktop to the folder Ignacio shared with me. I double clicked it and a light winform asked me where I wanted that folder.

Now that folder is synchronized all the time and we can add, remove or modify files and the client will sync those files up. Even when we modified the same word doc at the same time, the client told us there was a conflict and let us view both version of the file and pick the one we wanted to keep as final version (no merging yet).

Another cool feature is that I don't need the client to access the files. I can go online to and go to my Live Desktop where I can see al my folders and files, work with them and upload them back up to keep them synchronized with all my computers.

Also, you can connect via Remote Desktop to any of your devices and work as if you were sitting in front of them. Better yet than regular Remote Desktop, since, when you're working somebody can be watching what you're doing. Let's say my wife's at home having some kind of problem and calls me for help (she does that). I can connect to my home computer (DSL connection) and show her how to do what she needs to do.

And one more feature I haven't been able to test is the ability to extend your desktop to one of your devices. The client installs a video controller which I assume will be used for that kind of stuff.

Live Mesh is a tech preview (not even in beta yet) but if you ask me, It's already a great product!

Note: I always mentioned devices because now you can only add computers but mobile devices and mac computers will also be available for synchronization.

Read Full Post

Thursday, May 01, 2008

GeneXus X is here

Many cool stuff I won't detail since you can read them from the site

For a couple of months or so I contributed with my grain of sand to the GeneXus dev team, so I guess that allows me to feel the pride and happiness I feel right now about the release :)

Congratulations to all the team!

Read Full Post

Saturday, March 15, 2008

Popfly Blocks

I've been playing around with Popfly for a while now, so I thought I'll post something about it.

Popfly is one of Microsoft 'newest' online toys that allows you to create mashups and blocks. Mashups are pieces of code which using Silverlight will display something nice to show in your web site, Facebook profile, Live Space, etc.

But, to show what?!... well pretty much everything that's available on the internet. To create a mashup you don't need any programming skills cause it's pretty much dragging, dropping and linking blocks. To build blocks you must have at least some programming knowledge cause you'll need to write some javascript and a config file with xml.

You can build your block from the online editor (not too nice) or you can download the VS2008 Popfly Explorer and build your blocks from VS2008, where you can debug your code.

I created a few mashups and two blocks. One of them is called Picasa Web Block and takes two parameters, username and albumname. After filling those up you'll get a collection with all the pictures from that album and you can display those pics with any of the display blocks available.
The other block was a little trickier, it takes a US zip code or a location code and the temperature unit (c or f) and it'll return the "current" weather conditions from the given location. The weather forecast is provided by Yahoo! Weather which takes the data from

In my spanish blog (scroll down all the way) I have a mashup I created with my Yahoo Weather block and the Live Earth block from Microsoft. Here's a picture of what it looks like.


Mahalo to my visitor from Hawaii :)

Read Full Post

Tuesday, March 11, 2008

Show us your love!

RCA2008_Generic_125  As every year aspnetPro is conducting the Reader's Choice Awards where DeKlarit is running for best Add-In and of course, Product of the Year.

It is a good opportunity to vote for your favorite tools, the ones that make your life easier every day (of course DeKlarit is one of them). Me, I voted for IDM's UltraEdit which it's is a great tool, some of the Infragistics's controls and Microsoft's Visual Studio, among others.

As a great plus, you get the chance to take a look at a great compiled list of the best developing related tools in the web.

Vote here!

Read Full Post

Tuesday, March 04, 2008

Assembla: What a tool!

I was getting tired of VSS, don't ask me why, I just wasn't happy about the different VSS databases. Also, at DeKlarit we're using SVN with TortoiseSVN which has a great integration with Windows Explorer. So I started to look for some free SVN server... I didn't try too hard, cause I just loved the first one I found.

It's called Assembla and it has many cool features. Here's just a list of what you get with a free account:

  • Unlimited team size
  • Public or Private (invited members only)
  • Subversion (this is what I was looking for)
  • Trac - development tickets and timeline
  • Integrated Ticket tool
  • Wiki
  • Milestones, Tasks, and Discussions
  • Alerts: Real-time email, batch email, or RSS (one of the simplest and coolest features)
  • File attachments
  • Chat
  • "Stand-up" or "Scrum" team member reports
  • Image Annotation
  • Time tracking and reporting
  • Staffing workbench

You get all that with a free 500 MB account, which is pretty decent for just source code and some wiki pages. Right now I'm hosting three projects there and I'm really happy about it.

One feature I particularly "enjoy" is being able of open tickes (like, issues, bugs, improvements) and then close them from tortoise while committing the changes. All you have to do is writing 'fix #2' as as comment to the commit you're doing if that action closes your ticket #2.

Read Full Post

Saturday, February 16, 2008

Cool VB 9 stuff

Beautiful day outside to go to the beach, but I'm recovering from the flu, so I stayed in and thought give some of the "new" VB9 (aka VB 2008) features a try. I must say I got into the .net world thru VB.Net but for one of my projects I decided to switch to C# (also to learn it) and never looked back.

But today I found some amazing new features in VB9 and I wanted to share them. Actually one of them is plain LinQ and we covered that before but I want to comment on VB9's integrated support for XML, and probably the best way to explain it is by showing an example... take a look at the following sub

Dim orders As New OrdersCollection

Dim elems = From order As Orders In orders Where order.ShipCountry = "Brazil" _
Select <order><id><%= order.OrderID %></id><customer><%= order.CustomersCompanyName %></customer></order>

Dim doc = <?xml version="1.0" encoding="UTF-8"?><orders></orders>


Keep in mind that OrdersCollection is the collection generated by DeKlarit's BusinessObject Addin. Do you have any idea what this writes to the console? well... take a look at it...


First of all, have you ever seen xml displayed like that in the console? not me. And in case you missed it, let me go thru the code. First, I created the collection and filled it. Then I used LinQ to query the orders shipped to Brazil and selected <order> XElements with an id tag and a customer tag, both of them filled with data. Then I created an XDocument just writing the tags, and then just added my previous collection of XElements (elems) to the document and voilá!, to ToString method of the XDocument prints out what you see in the console pic. Ain't that cool or what?!

Others things you can do with your XDocument (doc)



The first line writes how many orders are in the xml document, while the second line writes the value of the (first) customer of the the first order.

Read Full Post

Friday, February 08, 2008

The truth is out there...

...and so is DeKlarit 4.5

We have just released DeKlarit 4.5 for 2005 and 4.5 for 2008.
Both versions share the same functionality, but this is our last version supporting VS2005, so start your migration right away. I know I said before that you should create a blank VS2008 project with DeKlarit and import your existing objects to it. Now all that changed, I mean, you can still do it that way, but now I believe the best way is to just open your existing project with VS2008. You will have to add the addins back again.

Remember different VS versions of DeKlarit can coexist. Which means 4.5 for VS2008 can be installed in the same box where 4.5 for VS2005 or 4.3 is. But to install 4.5 for VS2005 you have to uninstall 4.3

There are some cool new features like a suggest combo in foreign keys in the WebGeneratorInfragistics Addin, full WCF support, extension capabilities for the generated application menu, and many more.

Give it a try!, and let us know what you think.

Read Full Post

Wednesday, January 30, 2008

LinQ with DeKlarit's BussinesObjects Addin

I recently showed how to use LinQ to query the BusinessFramework's DataSets. Now using the same model (good old Northwind) I'll show you (in case you haven't figured it out yet) how to query the business objects's collections created by DeKlarit's BusinessObjects Addin.

So let's say you have your orders and you want to get all of them:

           OrdersCollection orders = new OrdersCollection();


And now you want to "query" around for say orders shipped to Brazil (love the beaches), so you'll have to write your linQ query as follows:

            var query = from Orders o in orders
where o.ShipCountry == "Brazil"
select o;

And then just printout whatever you want from the orders:

            foreach (var order in query)
Console.WriteLine(string.Format("Shipped on {0} to {1} @ {2},{3}",order.ShippedDate, order.CustomersCompanyName, order.ShipCity,order.ShipCountry ));
Easy uh?

Read Full Post

Monday, January 21, 2008

DataAdapters and DataSets vs. LinQ to SQL

I recently read an article on Visual Studio Magazine from Roger Jennings where he discussed performance using LinQ to SQL.
One of the key "benefits" of using LinQ to SQL with the Entity Framework is the lazy loading. Lazy loading implies that when you are querying Orders you'll get just the orders and in case you want to go thru the Order lines only then LinQ will execute the query against your DB to get the lines.
There are pros and cons against the "old" schema where you used a DataAdapter with the query to fill a DataSet.

One of the pros I see is that the query to get the orders will probably execute faster since it's only going to one table (or two if you want the customer name), thus you'll get to see the orders header faster. But, what happens when you want to see the order lines? well, you have again, to wait for the db to execute "your" query and send in the results. And what if you want to see the Customer address? again another query to the db which Roger refers as to round trips to the database.

In his article Roger discusses a few tips to tweak those round trips and get the best performance out of LinQ SQL, but there's a table in his article which I'm posting here, where you can see not only the time difference between every method of retrieving data, but also the amount of queries LinQ SQL fires to the database in order to get the data. Also, for comparison purposes, he shows typed DataSets which are the fastest and one with the least amount of queries of all.

(The red rows were painted by Roger himself to show the best approach)

So... what to choose and when? The answer is simple... Get DeKlarit ;)
DeKlarit uses DataAdapters and DataSets so you don't have to write the SQL queries. Also, DeKlarit knows what you want to get in advance, how? because you told him so while defining the Date Providers.
So, as I see it, you have three ways of getting your data:
1) You use LinQ SQL with entity framework for compile time syntax checking and stuff and loose performance
2) Write your own queries to fill datastes taking care of the connection and everything else gaining performance but doing a lot of the hard work yourself, or
3) Get DeKlarit and just focus in the UI which as far as the client goes, that's what makes your app appealing

I thought it was going to be a tech post but it ended up in a marketing kind of way :)

Read Roger's full article here

Read Full Post

Monday, January 14, 2008

DeKlarit and LinQ (to DataSets)

This is going to be just a short post about how to use DeKlarit's business framework with LinQ.
For this sample I used the well-known Northwind database. So it's pretty simple: create your DeKlarit model, rebuild the project so the business framework gets created and add a new project to the solution. In my case it's just a simple Console application which it's Main method has the following code:

OrdersDataAdapter adapter = new OrdersDataAdapter();
   OrdersDataSet ds = new OrdersDataSet();


   var orders = from OrdersDataSet.OrdersRow order in ds.Orders
                      where order.ShipCountry == "USA"
                      select order;

(var order in orders)
         Console.WriteLine(string.Format("{0}: {1}-{2}",order.CustomerID, order.ShipCity, order.ShipCountry));

Keep in mind that OrdersDataAdapter and OrdersDataSet are the ones from the business framework so you'll need to add a reference to it and add the correct using statement.

And that's it...

Read Full Post