Welcome to MSDN Blogs Sign in | Join | Help

Just Coding

Spanish Developer Bits
SEO keywords and My PageRank

In the last months I've seen how SEO has become a day-to-day conversation in web projects. From web-standards like XHTML, to better ways to display and link content (REST style URLs, no querystrings, and so on...) But few people talk about how to organize and measure content quality to improve the Page Rank.

So I started to monitor how people find and use this blog.

Due to my current job situation I can't blog too much, however "Just Coding" still have some activity, look at the last 14 days:

929 Visits, 882 Unique Visitors and 1,203 Page Views

I thought this is because I'm linked from El Ventanal de Rosa or MSDN Spain

Also, I hope to to see that some of my little contributions to .Net development like the trx2html tool, or the FileRollerTraceListener , or maybe some of my presentation related materials, are useful to someone.

However the results are incredible, see the stats:[ http://www.w3counter.com/stats/popular_pages/2505/20/0 ]

The most viewed page with more than 55% page views is Just Coding : Mount ISO Files in VISTA !!! Note that this page is just an aggregated kind of post with no "original content", and have had no changed since 27Oct2006.

This is a development blog, I'm not an expert on ISO neither the VISTA OS, and I've never wrote anything related to ISO formats,  so why this page has some many visits?

We have to look at the sources (or which web sites redirect users to here) http://www.w3counter.com/stats/referrers/2505/top/20/0

Wow !! more that the 76% percent comes from Google !!, and do you know with which search keywords?

1

 

mount iso vista

 

5,093

 

15%

 

2

 

vista mount iso

 

3,808

 

11%

 

3

 

iso mount vista

 

861

 

3%

 

4

 

vista iso mount

 

673

 

2%

 

5

 

css creator

 

504

 

1%

 

6

 

mount iso in vista

 

429

 

1%

 

7

 

vista iso mounter

 

398

 

1%

 

8

 

mount iso file vista

 

305

 

<1%

 

9

 

iso mounter vista

 

217

 

<1%

 

       

and I thought because I wrote that post just after VISTA RTM, maybe I had been one of the first entries to get indexed. But we know this is a bad result for that search keywords, because my blog and that page are not relevant about this areas.

I could delete that page from the index, also destroy it from my blog, however this URL maintains my blog active, so I'll keep it there...

thx::G ;-)

Video Interview

I've been interviewed by some folks of DPE, here in Spain. You can watch it here: http://comandotomate.net/archive/2008/02/13/entrevista-a-rido.aspx

trx2html supports VS 2008

I have released a new version (still in beta) that support Visual Studio 2008 Test Results File Format.
It has been really easy, the underlying schema was pretty similar, so I could reuse the whole UI without modification, just 2 hours of XSLT refactorings ;-)

http://www.codeplex.com/Release/ProjectReleases.aspx?ProjectName=trx2html&ReleaseId=10672

Note that this release only supports the 2008 format.  

Next versions will support 2005/2008 in one binary file.
RidoCode
Since gotdotnet is phased out, I'm moving all my samples to codeplex (http://www.codeplex.com/ridocode), including the famous FileRollerTraceListener
trx2html @ CodePlex

I have moved the  trx2html  project to CodePlex 

http://www.codeplex.com/trx2html

I'm looking for members and collaborators !!

Continuous Integration with TFS

Today I've been talking about CI with TFS in Madrid, Spain. The event has been organized by the local DPE division at Microsoft Spain.

The Spanish Title was: "Integración Continua con Team Foundation Server"

Hope everybody enjoyed the show !!

here are the slides: http://www.slideshare.net/rido/integracin-continua-con-team-foundation-server/

The demo, was based on my last workshop about TestingWithVS, anyway I have refactored the code to focus on CI. You can download it here

TestResults Reports in TFS Builds

If you use TFSBuilds with VS UnitTests, you know how to inspect the TestResults: you must download the whole directory to your local machine, and sometimes this folder could be pretty huge.

So, if you want to check the error details of your tests, you can use my tool trx2html to convert the *.trx files to html, so you can see the reports with any browser.

Here are the instructions in 3 simple steps:

1) copy the RidoTasks.dll file to your source tree

 $(SolutionRoot)\RidoCode\tools\RidoTasks.dll

2) Reference the msbuild task in TFSBuild.proj

<UsingTask TaskName="RidoTasks.trx2html" AssemblyFile="$(SolutionRoot)\GEN4\tools\RidoTasks.dll" />

3) Convert the test reports after drop the build results

<Target Name="AfterDropBuild">

    <CallTarget Targets="CreateTRXReports" />

</Target>

<Target Name="CreateTRXReports">

   <CreateItem Include="$(DropLocation)\$(BuildNumber)\TestResults\*.trx">

  <Output TaskParameter="Include" ItemName="trxfiles"/>

</CreateItem>

<RidoTasks.trx2html FileName="%(trxfiles.Identity)" />

</Target>

Testing with VS2005 Demo

Today's workshop was based on a demo to show all the vs features about testing, it covers:

  • Unit Tests (With MockObjects)
  • Integration Tests (Using ASP.Net Host)
  • Functional Tests (With Web Tests)
  • Load Tests (With testcontrollers and test agents)

 I've packed all the code in a zip that you can download here:

http://blogs.msdn.com/rido/attachment/1159890.ashx

 

My Workshop about testing

Tomorrow I will be talking about Testing with VS2005, here is my presentation:

http://blogs.msdn.com/rido/attachment/1156243.ashx

If you are interested in the code samples, please let me know and I will send you the latest version

 

 

Mocking SQLException

I'm working on a presentation about Testing, and one of the technics I would like to show is MockObjects.

One of the mock objects I want to create is a DataAccess Layer, and this one should throw SqlExceptions, however the SqlException class is sealed and has no public constructor.

 

I found a comment about it here: http://www.taylor.se/blog/2006/06/09/mocking-sqlexception/

But the implementation does not work with .Net2, so I have to refactor the code to create a SqlExceptionCreator, and here it is:

 

using System;

using System.Data.SqlClient;

using System.Reflection;

using System.Runtime.Serialization;

 

public class SqlExceptionCreator

{

    public static SqlException CreateSqlException(string errorMessage, int errorNumber)

    {

        SqlErrorCollection collection = GetErrorCollection();

        SqlError error = GetError(errorNumber, errorMessage);

 

        MethodInfo addMethod = collection.GetType().

            GetMethod("Add", BindingFlags.NonPublic | BindingFlags.Instance);

        addMethod.Invoke(collection, new object[] { error });

 

        Type[] types = new Type[] { typeof(string), typeof(SqlErrorCollection) };

        object[] parameters = new object[] { errorMessage, collection };

 

        ConstructorInfo constructor = typeof(SqlException).

            GetConstructor(BindingFlags.NonPublic | BindingFlags.Instance, null, types, null);

 

        SqlException exception = (SqlException)constructor.Invoke(parameters);

 

        return exception;

    }

 

    private static SqlError GetError(int errorCode, string message)

    {

        object[] parameters = new object[] {

            errorCode, (byte)0, (byte)10, "server", message, "procedure", 0 };

        Type[] types = new Type[] {

            typeof(int), typeof(byte), typeof(byte), typeof(string), typeof(string),

            typeof(string), typeof(int) };

 

        ConstructorInfo constructor = typeof(SqlError).

            GetConstructor(BindingFlags.NonPublic | BindingFlags.Instance, null, types, null);

        SqlError error = (SqlError)constructor.Invoke(parameters);

        return error;

    }

 

    private static SqlErrorCollection GetErrorCollection()

    {

        ConstructorInfo constructor = typeof(SqlErrorCollection).

            GetConstructor(BindingFlags.NonPublic | BindingFlags.Instance, null, new Type[] { }, null);

        SqlErrorCollection collection = (SqlErrorCollection)constructor.Invoke(new object[] { });

        return collection;

    }

}

Mount ISO Files in VISTA

Once my box is ready, I need to WinSDK. The download format from MSDN is an ISO file, so I need a tool like VirtualCD (but this one works only for XP).

So I found

Mounting ISO Images in Vista 5536 http://richmercer.com/archive/2006/08/29/Mounting-ISO-Images-in-Vista-5536.aspx

referencing magic iso: http://www.magiciso.com/tutorials/miso-magicdisc-overview.htm

My lastest desktop

Today I have switched to Vista RC2. After reinstalling the OS I have to install all the tools I use everyday. Here is the list

  • Office Beta2
    • OneNote 2007
    • Project 2007
  • SQL2005
    • SP2 (Beta)
  • Visual Studio 2005 Team Suite
  • Enterprise Library
  • Composite UI Application Block
  • Smart Client Software Factory
  • Windows Live Writer
TFS: Change Connected user

When you setup TFS for the first time, usually you use the TFSSetup account. And with this account you are going to login for the first time.

However, once your environment is complete, you will want to login as a different user, but the credentials you used for the first time is already cached...

The first idea I have in mind was: remove the server from the registered server list and add it again, but... the button "remove" is disabled.

After digging (more than 30 minutes) I found the solution here: http://forums.microsoft.com/MSDN/ShowPost.aspx?Pos...

So here is the tip, go to control panel, UserAccounts->Advanced->Manage Passwords and remove the server from the list.

VSTS LoadTesting 64bit WebServer

Last week I had to stress a web portal running on x64 machine. Everything works as spected but when I tried to analyze ASP.Net counters I found there was little problem, every ASP.Net related counter was empty, I mean with no values.

And this is because my loadagent was running in 32-bit machine.

I've found http://blogs.msdn.com/edglas/archive/2006/09/06/74... but it's too late to try it :-(

This experience makes me think ... ¿Do we really need 64bit for application servers (IIS)?

SQL Server Hosting toolkit

One of the most wanted features I miss from the VS2K5 platform SDLC tools is the ability to manage databases as plain text files, and not only the schema but also the minimal data you need to recreate your db from a command line.

Now this tool is started at codeplex, you can try it here SQL Server Hosting Toolkit

More Posts Next page »
Page view tracker