Welcome to MSDN Blogs Sign in | Join | Help

Just Coding

Spanish Developer Bits
Great ALM Icons

TMap for Visual Studio 2010 [ http://tmap.codeplex.com/ ] is a testing focused process guidance, looks great !!

..and it has a nice icon set to illustrate the software lifecycle

softwareLifeCycle

like the development and test ones

Moles

I’ve been interesting in unit testing for some years now. One major aspect of unit testing is about how use designs that allows a separation of concerns so you can test your program as units (usually at class level), for this the interface basic programming is a MUST.

Once you start with interfaces, you will follow with mocks, and stubs. However, this approach has a big limitation when you want to test code that depends on static methods, typical examples are ASP.Net context or SharePoint API.

The next step forward to alleviate this limitation will be the Mole pattern where using the instrumentation capabilities of the .Net runtime we are able to “inject” code that simulate static behavior without needing an explicit interface to decouple classes.

Microsoft research is working on something called Moles, that integrated with Pex will offer a brand new way to perform unit tests.

More info: http://research.microsoft.com/en-us/projects/stubs/

A Beta Week (VS2010)

This week I’ve spent some time to update my new laptop (a LenovoT61p) and to install some fresh bits.

Right now I’m running:

  • Windows 7 Enterprise x64
  • Office 2010 Beta
  • Visual Studio 2010 Beta2

Also I have one VPC running

  • Windows Server 2008 x86
  • SQL Server 2008
  • WSS 3.0
  • TFS 2010 Beta 2

And the first experience is really, really good.

I have to admit, since this set of releases I was a little bit frustrated with the net .Net technologies, it looks like Ms says: “here are the frameworks, use it, but we will still using our old friend Win32”.

But now that Visual Studio is using WPF so .Net in it’s core, the intention is clear, .Net can be used to build a “Big Desktop Thing” as VS is.

There have been another changes to improve the modularity of the system that are really good, some examples:

  • TFS does not require SharePoint anymore
  • .. So there is a Basic TFS version to deploy on client machines (without Reporting and SharePoint)
  • The IDE is more modular than ever with the new VS Shell

 

I’m enjoying the new Editor, the new IDE performance, those sloooow windows as “Add Reference” are now asynchronous,  also the help system rocks.

I think this is a major step forward, not only because the product itself, but because this is showing the world how .Net can be used for almost anything

Great Job

Debugging VB6 code with Visual Studio 2008

I was reviewing an old DNA app (more on this in a different post) and I got really surprised when I saw that  we can debug VB6 code with VS2008 !!!

image

Is UX the new Agile?

In the last days I’ve seen how the UserXperience movement is getting attention in the community and everyone is doing some kind of “back to the basics” strategy.

They recommend early prototype based on sketchs (look at the new Blend+FlowSketch stuff), and it sounds like the old agile pratice…

that’s the internet buzz

Classic Event Viewer

While we migrate all our servers to Windows Server 2008,  quite often we need to manage remote event logs from Windows 6.+ machines.

However, the new Log Event Viewer introduced in Windows Vista can not read “old” event logs from XP and 2003 machines.

I thought the only way to solve this issue was installing the Client AdminTools for W2K3, however, today I’ve found a better solution:

Did you know that the “classic” event viewer is still available in the new OSs?

Just register els.dll (yes, with regsvr32) and load the Snap-In.

And that’s it !!

image

New Objectives for FY10

The vacation period has ended, my collaboration in the Terra project has finished and now I'm waiting for new consulting assignments.

Anyway I’m going to try to set my technical objectives for this brand new fiscal year.

1) Keep this blog updated (at least once a week with short posts and once a month with a major content)

2) Maintain organized set of online rido resources (codeplex, SPSites, social networks)

3) Still learning dev related technologies

- IIS7, SQL and MOSS

- Dev10 and Net4

- Silverlight and WebClient (jQuery and CSS)

- Media technologies

4) Start to deep in ITPro content

- Virtualization

- Operations

Let see if my intentions are sync with my future projects !!

The Terra Project

El principal motivo por el que este blog ha estado tan calladito en los últimos meses, es el proyecto en el que he estado inmerso desde Octubre de 2007.

Esta semana el proyecto ha visto la luz: http://noticias.terra.es , ha sido un largo camino, y todavía quedan muchas cosas por hacer, pero ya hemos dado el primer paso: “estar en el aire”.

Aunque a primera vista no parezca muy novedosa, ni siquiera muy complicada de hacer, (por lo que 20 meses es a todas luces un tiempo excesivo), el principal reto se podría titular como:

“Desarrollar un sitio web basado en Sharepoint 2007 que permita gestionar millones de páginas por un equipo de decenas de redactores, para dar servicio a millones de usuarios”.

Para conseguir este objetivo se han tomado muchas decisiones para adaptarse a los requisitos de MOSS, las más importantes han sido:

Taxonomía

En base a los estudios de capacidad de almacenamiento, se ha determinado que una base de datos de contenido por año no se superará el límite recomendado de 80G.

Dentro de cada base de datos de contenido, se ha creado una jerarquía de sub-sitios en base a las secciones, meses y días, de forma que no se almacenen en ningún caso más de 1500 páginas por sitio.

Con todo, las URL resultantes son del tipo:

/genteycultura/2009/0503/actualidad/lenny-kravitz-consigue-que-5500-personas-se-entreguen-a-sus-ritmos-roqueros.aspx

Almacenes de información alternativos

Además de la información gestionada por el equipo de redacción, es necesario considerar la información generada por los usuarios (UGC). En las primeras versiones de la arquitectura, esta información la almacenábamos en listas de MOSS, sin embargo esta aproximación no cubría las exigencias de rendimiento a gran escala.

Finalmente, el sistema cuenta con bases de datos de apoyo para almacenar la información generada por los usuarios.

Abstracción del código de acceso a datos

El sistema de publicación de MOSS permite la creación de plantillas (layouts), que son fácilmente personalizables usando las herramientas estándar que ofrece el producto como el “Content Editor Web Part”, sin embargo la forma de obtener el contenido en base a sentencias CAML sobre la taxonomia descrita, no permite satisfacer los requisitos de un periódico (no se pueden hacer consultas sobre varias bases de datos de contenido, y las consultas sobre jerarquias son muy lentas desde el punto de vista de rendimiento).

Por estos motivos, se decidió crear una capa de acceso a datos, que permitiese abstraer los detalles de la taxonomía y UGC de los controles visuales (webparts).

 

Una vez que se implementó el sistema sobre estos principios tuvimos que esperar algunos parches de producto para ajustar el rendimiento del buscador a los requisitos deseados, así como acometer algunos desarrollos personalizados para cubrir las expectativas de los redactores. Y finalmente lo tienen disponible en noticias.terra.es

VRTA: Como medir el rendimiento de un cliente Web

Siempre que hablamos de rendimiento de aplicaciones web, instintivamente pensamos en cuantas peticiones concurrentes seremos de aguantar en el servidor, sin embargo, la percepción final del usuario depende de muchos otros factores.

Cada vez que solicitamos una página web, el navegador se prepara para la descarga de todos los recursos enlazados desde el html, imágenes, hojas de estilos, o scripts. La forma en la que se descargan estos ficheros varia en función del navegador, pero el factor más importante  a tener en cuenta es la capacidad de descargar varios recursos simultáneamente.

Además, y debido al auge de las aplicaciones AJAX, cada vez es más común que un script sea capaz de realizar nuevas solicitudes que deberán ser gestionadas por el navegador.

Existen herramientas como el famoso FireBug que nos dan una idea de los recursos más lentos que carga FF, pero no nos permiten analizar el tráfico HTTP para entender la concurrencia que se puede obtener.

Últimamente, Microsoft ha liberado una versión de una herramienta interna que permite analizar los detalles de carga de una determinada página: Visual Round Trip Analyzer.

A continuación un ejemplo de carga de una página con muchas dependencias externas:

image

Mas info en  http://msdn.microsoft.com/en-us/magazine/dd188562.aspx

Y la descarga en  http://www.microsoft.com/downloads/details.aspx?FamilyID=119F3477-DCED-41E3-A0E7-D8B5CAE893A3&displaylang=en

Azure aka RedDog is here

Just one hour ago, Ray Ozzie has announced the new Cloud OS from Microsoft: Windows Azure, it's funny to see the word "windows" since it has no windows at all ;-).

A lot of people should be blogging about it right now, so I do not add more comments here.

PDC Starts

Not really the PDC, just the Pre-Conf sessions. I've chosen .Net Data Access from A to Z. By now, it's just a quick recap of Data Access technologies from the last years, how long from last time I hear someone talking about RDO or DAO...

The session is getting more interesting, now we have started to see the Entity Framework with Michael Pizzo, this guy knows  how to make a demo, he is adding more relationship as attendees ask for it !! cool...

 

Choosing a JavaScript library

Some months ago I started to dig in different JavaScript libraries like prototype, MooTools, Dojo or jQuery, (see http://delicious.com/rido/javascript for a complete list). As usual, each one has their pro's and con's.

 

Today, Scott Gu  has announced a new Microsoft Visual Studio partnership with jQuery, this are really good news...

How to show CodeRegions expanded by default

If you know me, and my code, you know I dont like regions, but I cant stop people to use them, anyway what I can do is to configure VS to ignore regions and show always the code "expanded" by default:

 image

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

More Posts Next page »
Page view tracker