Welcome to MSDN Blogs Sign in | Join | Help

\\Brain\Backup

...Developer Evangelism stuff and sirocco wind effects...
public cloud? private clouds? & the art of marketing

post available in spanish

It's tricky, marketing departments place an organization on the edge despite of the technology used :D

All of you have heard about cloud and cloud computing. In a few words, cloud computing is about consuming services, services for the organization or services for applications... For instance...

A) A Drugs organization contracts an email/CRM/communications/... service on the cloud, so they save the effort and money spent on the servers, licenses, administration, management... ( it's not their business core ) and invest it on the core activity, improving their drugs. This is a Software as a service (saas) sample, we have a pretty good services platform at Microsoft, check it out ;)  BPOS  http://www.microsoft.com/online/business-productivity.mspx

B) An application has the data stored in SQL Services, or is running hosted in Windows Azure. This is a platform as a service (paas) sample  http://www.microsoft.com/azure

Benefits from adopting these kind of platforms are pretty clear... savings on hardware , maintenance, management, updates, count on technology that they couldn't pay as product, a pay-per-use model, rely on cloud's scalability and elasticity, etc....

There are different providers that offer these services on their datacenters, these providers own datacenters time ago (Microsoft, Amazon, Google...), therefore is clear their movement to cloud services business and their presence in the cloud. But, what's up with the players that do not have a huge datacenter to host services? are thy simply out of the game? of course not x)

They pull the trick, the "private clouds", from now on the cloud as we know it...becomes the "public cloud". so, what's a private cloud?

A private cloud is a way to improve resources management in our datacenters( virtual machine management, network, storage, computation). IMHO that's not cloud computing at all, if we think about it for 2 secs we will realize that we are missing all the benefits from the "cloud"... no saving on hardware expenses, licenses, management, manteinance licencias, pay-per-use,...

Even if they start talking about the cloud as a conceptual resource made to provide services...for me it's just a brilliant marketing action, but nothing to do with the cloud.

So these providers finally boarded on the cloud... but their action has a colateral effect, because their competitors, providers that already have an offer to improve resource management in a datacenters... suddenly they have to start offering "private clouds" or they're simply out!  In MS for instance, we have Virtual Machine Manager, System Center... Until now we talked about Dynamic Datacenters, do we have to start talking about the MS private cloud? time will tell...

Happy hacking!

~ds

PS -> It's curious how "the cloud" seems to be the Internet's professional use. Is The Internet name loosing strength? x)

iisfcgi.dll with version 7.0.6001.18000 is not up-to-date

post in spanish 

Yesterday I created my first non .NET application for Windows Azure, surprisingly it was pretty simple! :)  I followed a lab in the Azure Training Kit – April

Personally, I think that the lab it´s too complicated, it´s focused con command line actions, usage of SDK tools… but why don’t just use Visual Studio 08? It’s much more simple, every developer should use it :D 

( BTW  there is a php tool for Visual Studio, did you know it? ;) http://www.devsource.com/c/a/Add-Ons/VSPHP-Brings-PHP-Coding-Power-to-Visual-Studio/ )

Here you have the steps to build the app and how to solve the iisfcgi.dll error

1# Choose a FasCGI friendly platform, for instance PHP. Downloaded the last non-thread-safe version from php.net ( why? ) and copied it in c:\PHP

2# Configure IIS7 to manage .php applications Lots of info in the internet about how to achieve this, for instance http://learn.iis.net/page.aspx/246/using-fastcgi-to-host-php-applications-on-iis-70

3# Confirm that you can run php pages. You can try with the typical <?php phpinfo(); ?> If it doesn´t work locally… don´t think that the fabric will be able to do the magic :D

4# Create and blank Cloud Service solution. Add a CGIWebRole project to the solution and reference this project from the solution’s Roles folder. Obiusly you will neeed the Azure tools for vs installad ;)

image

5# Add a php page to the CGIWebRole project. You can add a text file, rename to php and code there the php app. A  phpinfo page is ok for the demo :P

6# Edit configuration files. We have to point to the right interpreter used by the application.

Open Web.roleconfig file, and ensure that you have a reference to the interpreter

image

Open web.config. Here, we have to configure the php page as default one ( if not you´ll receive security errors, because you can not browse the folder )

image

Also we need to add a new handler for the .php files, we add it in the system.webserver  / handlers section

image

Open serviceDefinition.csdef and set enablenativecontentexecution=”true”

image

7# Copy the interpreter into the CgiWebRole project As you can see in previous steps, we have a path to the interpreter at %RoleRoot%\php\php-cgi.exe  We must create it :) Open the project folder in windows explorer and copy there the previously created c:\php folder ( this is for a demo purpose, in a real application we should copy only the required files ), once copied, go back to Visual Vtudio and click Show All Files in the solution explorer

image

Right click on the php > Include In Project 

image

and time to Compile!

{{

Now is when you may find the error

CCT: Error: FastCGI module at C:\Windows\system32\inetsrv\iisfcgi.dll with version 7.0.6001.18000 is not up-to-date.
CCT: The system is missing a prerequisite to execute the service. Please see the release notes.

I tried with a couple of fixes but at the end, a colleague from Microsoft, pointed me to the right one. http://support.microsoft.com/kb/967131 After the fix, my iisfcgi.dll version is 7.0.6001.22365 ( I’m runninc wserver 08 x64 )

 

}}

Last step 8# Deploy application in Windows Azure

in the project properties, add your azure Application ID as in any other Azure project

image

save, and right click in the Solution > Publish!

Azure portal will be automatically opened, we have to upload configuration and description packages. This will take a little more time than in other azure apps… take into account that this time it has to upload all the PHP folder content ;)

image

Once uploaded, remember to click Run!! I’ve forgotten to click run several times, and after 5 minutes waiting and having a coffee, realized that I missed the simplest step :_)

image

easy, isn´t it?

Happy Hacking!

~ds

Cambios en este blog... sindicación e Idioma

finalmente he sacado un rato para ordenar algunas ideas, esto va a afectar a los blogs porque voy a volver a los inicios... pero con feedburner :)

De modo que si hay alguien que esta suscrito... y que quiere seguir O=)  ... que cambie la suscripción. Venga.. animaos!! que voy a empezar a escribir mucho más a menudo y de más temas...tras hablar un rato con el maligno esta mañana, he decidido dedicarle MUCHO más esfuerzo al blog/videos ;)

Blog en blogs.msdn.com/davidsalgado

  Cambia el idioma, volveré a postear en inglés ( humildemente O=) )  La URL de sindicación también cambia... http://feeds2.feedburner.com/msdn/davidsb

 

Blog en Geeks.ms/davidsb

   Sigue en castellano, la URL de sindicación cambiará a partir de este post a ... http://feeds2.feedburner.com/geeks/davidsb


y.. a cenar que ya son horas y empieza house en nada

Nos leemos!

~ds

PD -> ... al final del capítulo seguro que es Lupus o algo autoinmune :P

Cloud Computing 101

EL concepto es muy sencillo...  es OTRA forma de hacer lo que venimos haciendo, un NUEVO CANAL para alojar/distribuir/utilizar servicios y aplicaciones. Pero no dudéis que no toda empresa y no toda aplicación será necesariamente susceptible de subirse a la nube. Mucho software seguirá siendo on-premises por su naturaleza :)

¿Por qué es interesante colgar cosas en la nube?

Hay muchas razones, y a muchos niveles, tanto razones de negocio como puramente técnicas, voy a comentaros las que más me convencen personalmente

Costes Reduzco los costes derivados de la adquisición de la infraestructura para prestar el servicio, así como de su mantenimiento y administración. ( Parches? Actualización del SO? gaitas!! oygan! ) Además el Cloud tiene un modelo de Pay Per Use que normalmente es más rentable que la inversión pura y dura.

Escalabilidad Si hay una campaña viral de marketing, o un pico en la empresa, no hay problema... indicamos que queremos levantar más servidores y listo en unos clicks.

Disponibilidad Tanto de servicio como geográfica.

Nuevas oportunidades Si ya no me tengo que preocupar de no tener la infraestructura necesaria y mantenerla, no tener que pagar las licencias de algunos productos y de que me van a cobrar sólo por el uso... pues ya puedo centrarme en mi parte, el desarrollo e incluso me animaré con agluna aventura empresarial, quién sabe? :D

¿Qué podemos colgar/qué podemos usar en la nube? 

Podemos colgar Infraestructura, por ejemplo, usamos espacio de almacenamiento en la nube, con lo que nos ahorramos teras y teras y SANs  ... ancho de banda, computación ... ( Iaas  Infraestructure as a Service)

Podemos colgar un Servicio, por ejemplo el correo eletrónico en sí. Hacemos que la empresa use los servicios de correo de hotmail y nos ahorramos los servidores, las licencias, el mantenimiento y la administración. ( Saas  ... Software as a Service )

Podemos colgar Plataforma, para facilitar el despliegue de aplicaciones. mejorar su escalabilidad y disponibilidad... No es por menospreciar los datacenters de las empresas, pero Microsoft, Google, HP, Amazon... pues como que normalmente tienen más recursos para estas cosas :) ( Paas Platform as a Service )

Pero no pensemos sólo en aplicaciones WEB y redes sociales online!!!

De hecho, si la nube nos da la potencia de computación, la distribución de nuestros servicios, la disponibilidad... si no tenemos cuidado volveremos al antiguo mundo de aplicaciones conectadas al Mainframe :)  Pero en este caso al megasupermainframequeloflipas.

Pero aqui es dónde entra la filosofía S+S, donde nos podemos diferenciar de lo que hacíamos hace 30 años Aprovechemos la potencia que tenemos en las máquinas de escritorio, consolas, móviles, portátiles.... Desarrollemos aplicaciones cliente que consuman los servicios que tenemos en internet! A sí tenemos lo mejor de los dos mundos,  Que sí hombre!  Por ejemplo... Los que tenéis iPhone.... todos tenéis el safari, y podríais usarlo para ir a facebook... pero a que es INFINITAMENTE MEJOR la aplicación de facebook!  Y lo mismo para los twitteros, queda alguno que use la web de twitter en lugar de su propio cliente?? No verdad? ( y si queda es que está despistado :P )

Podemos hacer aplicaciones cliente que consuman servicios de almacenamiento de datos en la nube, o que hagan el trabajo pesado en la nube (encoding), que integren servicios que están online (CRMs, Sincronización de datos entre máquinas, Workflows)  OJO que no estoy desprestigiando a la aplicación WEB, pero no creo que debamos olvidarnos de las aplicaciones de escritorio ;)

¿Qué proveedores hay?

Ahora están todos complementando su oferta de servicios con un portfolio de cloud computing, SalesForce, Amazon, HP, IBM, Sun, Google y por supuesto, Microsoft :)

Ya entraremos más en detalle en productos en concreto en otro post.

 

Espero haber alarado un poco las bases del Cloud Computing

Happy Hacking!!

~ds

PD -> Alguna vez me han preguntado en alguna conferencia que si las aplicaciones de Escritorio tienen sentido existiendo la web... la respuesta es ABSOLUTAMENTE SI, la naturaleza de cada tipo de aplicación cliente es diferente y muchas veces se complementan dando diferentes experiencias al usuario.

Mucha gente lo pregunta porque esta dando sus primeros pasos en la web y tiene tan interiorizados los principios del desktop que los pasa por alto. Otras personas lo preguntan porque en sus plataformas..es TAN doloroso hacer una aplicación de escritorio que quieren quitarselo de encima cuanto antes :) ( bendito sea .NET )

PD 2 -> Alguno podrá preguntarse, qué pasa con el utility computing, grid computing, cluster computing?... bien, podríamos decir que éstos son la base sobre la que se sustenta el cloud computing.

Hoy es el TechDay! Quedan 4 sesiones online en Spanish :)

post rápido y con fundamento

Estan siendo los TechDays http://msdn.microsoft.com/es-es/techdays2009.aspx

Por ahora hemos hecho la charla de Iván Gonzalez ( MVP de IIS - Plainconcepts ) a ver cuando esta disponible grabada y os pasamos el enlace.

Nos quedan... ( hora española )

Silverlight en portales SharePoint  ( 11 - 12 ) - Jesús Serrano - Microsoft

https://www.livemeeting.com/cc/sbsca13/join?id=G4BQKD&role=attend&pw=c%22%28Z4Mw

De Windows Forms a WPF ( 12 - 13 ) - Luis Guerrero - Plain Concepts

https://www.livemeeting.com/cc/sbsva10/join?id=3RH8RC&role=attend&pw=9jc%60%24Sm

Moviliza tus aplicaciones ( 13 - 14 ) - Alejandro Mezcua - ByteaByte

https://www.livemeeting.com/cc/sbssg1/join?id=NRRG7M&role=attend&pw=h%2FhF%25%279

Incrementando la calidad con pruebas ( 14 - 15 ) - Hadi Hariri - Imeta

https://www.livemeeting.com/cc/sbsgb3/join?id=ZP9JMD&role=attend&pw=FRZ%2Bz4Z

Mejorando el acceso a tu base de datos ( 14 - 15 ) - Eladio Rincón - Solid Quality Mentors

https://www.livemeeting.com/cc/sbsva10/join?id=25SCTH&role=attend&pw=zSb%7E4rm

Nos vemos, Happy Hacking!!

ds

( Luego enlazo a sus blogs que tengo que salir pitando!!! )

Viene una semana cargada de sorpresas!!

( pero sorpresas a todos los niveles oyga!! )

A nivel de Microsoft Corporación

...Se nos viene encima el MIX09!!!  

Bienaventurados aquellos que estéis en las vegas!  El resto en la medida de lo posible intentaremos seguirlo desde casa.

Como usuario, espero sorpresas por la parte de Silverlight, de Blend, de MVC, de IE8... si avanzan algo más de Visual Studio sería genial...pero lo dudo por la naturaleza del evento. Pero vamos, todo un montón de jueguetes nuevos! Y como ahora estamos en crisis y hay que quedarse en casa sin gastar...pues a jugar con las betas :P

Normalmente se publica mucho contenido durante el propio evento, atentos a la web oficial http://www.visitmix.com , a channel 9 USA ( http://channel9.msdn.com ) y los twitteros atentos a #MIX09

Por parte de Microsoft España, espero que esta semana tengamos alguna sorpresa... alineada con lo que pase en Corporación ( supongo ) además de las que soltamos hace dos semanas, que igual alguien todavía no le ha llegado el eco de las noticias:

https://www.microsoft.com/youshapeit/es/es/msdn

PureCode, Competencia, Emprendedores, MSDN Respuestas... un montón de cositas que esperamos os faciliten un poco más el día a día. También inauguramos el buzón de sugerencias de MSDN España:

en MSDN Blogs  - http://blogs.msdn.com/davidsalgado/archive/2009/03/03/buz-n-de-sugerencias.aspx

en GEEKS.MS - geeks.ms/blogs/dsalgado

http://geeks.ms/blogs/dsalgado/archive/2009/03/03/buz-243-n-de-sugerencias.aspx

Iré respondiendo, recopilando... a medida que vaya pasando el tiempo. TODO lo que se os ocurra, luego ya veremos si tenemos recursos para hacerlo o no O=)

Y... a nivel personal

Aprovecho para pasar una semana de vacaciones con unos amigos. Tiembla Chicago!!! Vamos a pasar San Patricio ( cuidadito con las cervezas los que salgáis ), iremos a un partido de Bulls vs Lakers, pasaremos mucho frio, haremos compritas... y si hay tiempo, habrá que descansar un poco. Lo iré contando por twitter y subiré a flickr el documento gráfico a la vuelta =D

Hacemos una cosa, nos lo repartimos todo, vosotros dedicaos a los dos primeros puntos, yo me encargo del tercero y me ponéis al día a la vuelta :)

Nos vemos en unos días! A cuidarse tod@s!

 

Happy Hacking!

PD -> No creo que responda ni un solo mail en 7 días... creo que alguna vez soñé con esto.

PD2 -> Esta tarde hay que ver Underworld 3...que es el estreno y es del tipo de peli de fantasía que salgo emocionado... si veís a alguien disfrazado de hombre lobo corriendo por Kinépolis Madrid..hay muchas posibilidades de que sea yo

PD3 -> En Chicago, cuando he dicho frío... me refiero a frío, frío de verdad, del que no experimentamos los Bilbainos, que las mínimas de estos días han sido -20 grados!!!... es digno de una expedición del mismísimo Calleja!

Buzón de sugerencias

¿ Tienes feedback para MSDN España ?  A qué esperas???

Antes de que nos sugieras una nueva funcionalidad para Windows o para Entity Framework...déjame que te cuente lo que hacemos en MSDN y en qué podemos cambiar

Nos dedicamos a la página de www.microsoft.es/msdn y todos los rss y contenidos relacionados

Llevamos iniciativas localmente en España, como por ejemplo Channel9, programas para emprendedores, ayudas para empresas de desarrollo web, portales específicos dentro de MSDN ( purecode, opensource ... )

Intentamos ayudar en la medida de lo posible a los grupos de usuarios .NET y a los grupos de estudiantes .NET

Proporcionamos contenidos a docentes sobre tecnología Microsoft

DesarrollaConMSDN, MSDNRespuestas

Intentaremos también ayudar en cuanto a los foros de discusión de Microsoft

Organizamos eventos online y offline para difundir tecnología ( los tours MSDN, ReMIX, evolutionshow, techdays... )

Participamos en eventos de terceros para hablar sobre tecnología Microsoft ( Congreso de webmasters, eventoblog, congreso internacional de opensource, jornadas de imaginática... )

En resumen... podemos cambiar o modificar la forma en la que accedes o la forma en la que te llega el contenido relacionado con el mundo del desarrollo en España. Algunos tendréis oportunidad de darnos feedback por una encuesta que lanzamos a estas alturas del año... pero además, tienes este post para hacernos llegar tus inquietudes y opiniones ;)

Gracias && Happy Hacking!

Update: Recogidos los comentarios hasta el 24/3/09. Los borro del blog y los paso a un archivo de texto para ponernos a trabajar en ello. Gracias a todos y seguimos esperando comentarios!!

Evento online para desarrolladores e ITPros ... en Castellano

En breve será el Windows Day!   3 / 3 / 9

Es un evento organizado por nuestros compañeros de Microsoft en Latinoamérica, al que nos hemos podido sumar este año. No es nuevo, el año pasado tuvo un estreno con un gran éxito, con unos 25k asistentes :)  Montaron hasta una feria virtual con partners, en plan second life.

Es un evento tanto para ITPros como para desarrolladores. A mi me interesa más el track de desarrollo, os adelanto que se va a hablar de...

ASP.NET 4.0, windows 7, azure, Windows Forms, WPF, Silverlight, JQuery, IE8, entity framework..., un lujazo de contenido y todo en castellano!  Puedes ver la agenda en detalle y apuntarte en este enlace

180x150_WindowsDay

[INICIO de Opinión personal]

Como persona involucrada en eventos, el formato online creo que puede ser un éxito para este tipo de contenidos de caracter general y de amplia difusión, como ejemplo los colegas de SecondNUG con sus webcast...exitazo total. En mi opinión, el formato presencial, donde todos nos juntamos para charlar debería reducirse a 2 escenarios

A - Se trata de un aspecto concreto en un entorno concreto. Por ejemplo un evento de tecnología aplicada a un sector ( ... .NET para aplicaciones de Banca online... por ej )

B - Es más interactivo. Todavía no he dado con el formato, no se si serán mesas redondas, escoger tema previamente al evento, improvisar el evento con las preguntas que salgan... no lo sé... pero la participación de los asistentes es crucial.

En madriddotNet, los últimos eventos han sido más de que todos discutiésemos sobre lo que se hablaba y como lo hacía cada uno... MUY enriquecedor

Obviamente, aqui, los asistentes a los eventos tenéis la última palabra, pero es taaaan vuestra... :)  Nosotros nos rebanamos los sesos para saber qué temas os interesan, en qué formatos, a través de qué canales os sería más fácil de acceder... todo para poder daros acceso a ese contenido y conectaros con expertos.

Creedme que no es tan fácil como parece ( por eso somos tan pesados con el feedback desde Microsoft )  espero que el Windows Day sea una buena opción para la mayoría de vosotros!

[FIN de Opinión personal]

Que haya más eventos de este tipo depende de vuestra respuesta y por supuesto...de vuestro feedback ;)

Happy hacking!

PD -> Es el primer lunes en mucho tiempo que tengo buena cara y energías renovadas... se traduce en que hoy haré la dieta a rajatabla!!

PD2 -> Y eso que se avecina una jornada de outlook + herramientas de intranet... usease, diasSinTocarVisualStudio++

Windows 7 @ netbook Samsung NC10

Este año los Reyes Magos se han portado genial ( aun haciendo yo apología del Olentzero por todas partes :P ) y me trajeron un Samsung NC10, uno de estos netbooks que se empiezan a ver por todas partes. 1G de RAM, 160G disco, Atom, Wifi …  he de decir que lo adoro :)  El único detalle que no me convencía, es que venía con Windows XP SP3… OJO! esta muy bien, es muy rápido y el PC volaba…pero teniendo la oportunidad de ponerle Windows 7 beta… pues como que no me he resistido :P

IMG_0021

Esta es la historia de la batalla!!

Hacerse con una copia de Windows 7

Comentábamos en un post anterior cuales eran las vías “oficiales” para hacerse con una imagen de la beta de Windows 7. Una vez nos hemos hecho con la ISO, lo suyo sería quemar un DVD y listo!  Pero en los netbooks no hay unidad de CD/DVD, de modo que hay que hacer algo un poco diferente. Otra opción sería instalarlo por WDS, pero no está disponible hasta dentro de unos días y yo lo necesitaba YA! :D … de modo que me decidí por hacerlo desde una llave USB.

Generar el USB de arranque

Insertamos el USB ( con uno de más de 3G vale ) y arrancamos diskpart desde la consola de windows. Es una utilidad que nos va a ayudar a preparar el USB como USB de arranque. Su uso es muy sencillo, hasta un developer ha podido hacerlo :D  ( eso sí… suspervisado por un ITPRO aka Paulo Dias y un ingeniero de OEM aka Rui Freitas, para que no haya víctimas )

Miramos los discos del equipo: list disk

Nos situamos en el disco en concreto: select disk 1  ( en mi caso el USB era el 1)

Borramos el contenido: clean

Creamos una partición: create partition primary

Nos situamos sobre ella para trabajar:  select partition 1

La marcamos como activa y determinamos el sector de arranque: active

La formateamos: format fs=fat32 label=”w7x86” quick

Asignamos unidad: assign

y salimos: exit

Con el usb preparado para arrancar, queda volcar el contenido de la imagen ISO ( con winrar por ejemplo )

Y Listo!!! Bueno, para que lea desde el USB al encender, entramos en la bios (F2) y nos aseguramos que USB KEY es el primer dispositivo de arranque

DSC00706

Instalación

Como un Windows cualquiera, desde el USB 2.0 no me tardó más de 20min… palabrita del niño jezú. Acordaos de quitar el USB cuando reinicia Windows para instalarse, que si no, os vuelve a mostrar el mensaje de comenzar la instalación. Vale con quitarlo al reiniciar e insertarlo luego si es necesario.

Contratiempo de último segundo

Imaginaos mi cara… recién instalado y había reconocido y configurado la cámara web, el lector de SD, la gráfica, los USB, el sonido…waaaaa!!! y sin hacer nada! x)  Creo que no me había pasado ni con XP ni con Vista.

Peeero.. curiosamente no me había reconocido la tarjeta ethernet x)  nada, un contratiempillo de nada, me lo tomo como anécdota pq no conozco a nadie más que le haya pasado :) Voy a la página de Samsung, descargo el driver ethernet para XP y no funciona :_)

Menos mal que estaban los protectores del developer, Paulo Dias y Rui Freitas alrededor y me contaron un truquillo que no conocía O;) 

Vamos al device manager, al driver ethernet (que estará con un warning)  y escogemos las propiedades del controlador.

Desde las propiedades, escogemos la pestaña Details, y en el desplegable buscamos el Hardware ID

image

el ven_11ab  es el fabricante

el dev_4354 es el modelo

y con esta información, vamos a internet y tenemos el fabricante y el modelo!!! Voy a la web y busco los drivers, como Windows 7 es compatible con Vista en el modelo de drivers, instalo el driver de Vista e voilá, ethernet funcionando :)

Instalación de software

Ahora llegó el típico paso tedioso de meter Office, el equipo en dominio, Live Writer :P, silverlight, flash, winrar, etc… ¿por qué te lo cuento? Para que en el siguiente punto tengas en cuenta que el equipo ya no esta instalado sin mas, tiene todo lo “habitual” en un PC ( Visual Studio aun no )

Situación actual

“va como un tiro” es muy relativo :) aquí tenéis una foto de la situación. Esta corriendo como aplicación el Live Writer, y como servicios, todos los que vienen por defecto (incluido aero) y los que se hay tras una instalación típica

image

image

En mi opinión esta mejor que bien, además tened en cuenta que es la primera beta. Personalmente estoy muy contento con el rendimiento, y a nivel de uso, las mejoras de usabilidad de W7 se notan, es fácil acostumbrarse a los thumbnails, jumplists… lo veréis en cuanto empecéis a usarlo ;)

Próximos pasos…

Mañana salgo a primera hora a Alternate para comprarle un módulo de 2Gigas. El Samsung viene con una ranura para expandir la RAM en la parte de atrás O=)

El lunes… instalo la beta de W7 x64 en mi portatil del trabajo :P

Lo mejorable

Como he comentado en algún otro post, esperaba una versión un poco más reciente de Internet Explorer 8. Por lo que he hablado con el grupo de producto, la beta 2 de Agosto ha sido mejorada sustancialmente. Hubiera sido un punto genial el tener esas mejoras en la beta de Windows 7.

Happy Seven!!

Descarga Windows 7!!

Si eres subscriptor de MSDN o TechNet que sepas que YA puedes descargarte la beta de Windows 7

Si no tienes la subscripción, no te preocupes, hay más formas de conseguir la beta ( digo oficialmente, ya sé que muchos estáis pensando en 'otras' formas de conseguirlo )

Una opción es probar por Microsoft Connect, gran parte del software en beta se puede conseguir por ahi, por otro lado el día 9/1/09 se hará pública la forma de obtener la beta para 2.5 millones de personas. No tenemos detalles específicos, me temo que es un privilegio que se guarda la gente del grupo de producto. Lo único que sé, es que mañana hay que estar atentos a la siguientes URLs

http://www.microsoft.com/windows/windows-7/default.aspx 

http://technet.microsoft.com/en-us/windows/default.aspx

La versión que podremos descargar será válida hasta Agosto del 2009

Yo voy a instalarla en un Samsung NC10, y un Dell D620, en cuanto lo tenga os cuento las primeras impresiones. A partir de la semana que viene intentaremos sacar información específica para desarrolladores...nuevas APIs, ejemplos... :)

Happy Windows Seven!!

PD -> En mi opinión, personal e intransferible, hubiese puesto una feed en bittorrent con el hash de la versión oficial por parte de Microsoft, así puede tenerla para probar todo el que quiera y seguro que nos sale más barato que 2.5Millones de usuarios x 2 Gigas de descarga cada uno ;)

PD2 -> Esta mañana he tenido un airis kira con el W7 recién instalado, usaba 440Mb del Giga del que dispone la máquina...usease...iba de narices!! :)

PD3 -> En el Kira estaba aero funcionando perfectamente, y para los más curiosos, ocupaba sobre 20 megas :)

PD4 -> Me ha dado un poco de pena ver que trae la beta 2 de Internet Explorer 8. Sabiendo que hay ya alguna compilación que mejora esa versión, esperaba una sorpresa de último segundo :)

Felices Fiestas!

Estando en las fechas en la que estamos, antes o después había que llegar a este punto de las felicitaciones :)  Desde el equipo de MSDN España, hemos querido hacerlo un poco diferente, y un poco a lo ganso... fijaos en el detalle de los subtítulos del vídeo :P. Aquí podéis poner cara a algunos de los miembros del equipo de DPE en Microsoft Ibérica.

( Es un enlace a una página en channel 9 Spain )

image

Por orden de aparición:

David Salgado - Comunidad de desarrolladores

Fernando Guillot - Comunidad de ITPros

Luis Panzano - Dynamics para ISVs

Alfonso Rodriguez - Comunidad de estudiantes y de desarrolladores

David Carmona - Responsable de comunidades técnicas ( ITPro + Dev )

David Salgado... again

Paulo Dias - Comunidad de ITPros

Carmen Escobar y Rocío Gamboa - Comunidad de desarrolladores

Enrique Fernández Laguilhoat - El Dire de la división

Milagros Moreno - Comunidad de desarrolladores

Daniel Garzón - Comunidad de desarrolladores

Elisa García - Comunidad de estudiantes

Antonio Gómez - Program Manager de Tools ( VS, Expression ... )

Ethel García e Isabel Gómez - Desarrollo para ISVs

Hay que decir que son todos los que están, pero no están todos los que son... algunos compañeros se nos escaparon en el vídeo.... faltan Aurelio, Cesar, Salvador, José Murillo, Beatriz, Julio, Catherine ... esperamos haber sido unos representantes dignos!! :D

Recordad que cuando se pire el de rojo el día 24... llegara el que importa... el Olentzero!! ( Si es que... la tierra tira!! )

Happy holidays!!

Plataforma de gesti&#243;n de contenido ( CMS ) en ASP.NET MVC

Échale un vistazo a www.visitmix.com no hace falta que mires los contenidos, en este caso lo importante es el contenedor. VisitMix esta alojado en oxite un nuevo proyecto open source comenzado por el equipo que lleva la página de visitmix, channel9,...

Check out Oxite

Oxite, como lo definen sus creadores, es un gestor de contenidos Open Source, alineado con estándares y capaz de correr desde blogs a sitios web complejos.

De modo que si estabas buscando realizar una solución similar, puede que te sirva de inspiración, o de hecho puede que te sirva tal cual y te la puedas instalar, configurar y tirar para adelante con ella :)

Desde el punto de vista de desarrollo, está construida sobre ASP.NET MVC. No sé hasta que punto estáis familiarizados con esta tecnología, aún en Beta. Aclarar que ASP.NET MVC no es el futuro de ASP.NET, es otra forma de hacer web dentro de .NET, estará en manos de cada equipo de proyecto decidir si les interesa o no utilizar ASP.NET MVC para su desarrollo.

¿ Por qué puede que interese ASP.NET MVC ?

La pregunta ben podría ser... ¿ te interesa trabajar acorde a MVC ? Hay información sobre pros y contras por todo internet, me limito a repetir lo más destacado. 

MVC favorece el testing y TDD, en su estructura de proyecto resulta muy sencillo probar cada uno de los componentes por separado. También favorece la reutilización de componentes y la creación de diferentes representaciones para los mismos datos.

En contra, podemos decir que al principio puede resultar algo duro ceñirse a la forma de trabajar. Por ejemplo, como desarrolladores ASP.NET, lo primero que hay que hacer es olvidarse de los controles de servidor, en un formato en el que prima un componente 'controlador'.. no podemos dejar que la voz cantante de la aplicación la lleve un control visual con sus eventos.

Allá cada cual con su proyecto :)

Entonces OXITE...

OXITE es un proyecto muy interesante, en el estado en el que se encuentra ahora mismo, es más para desarrolladores interesados en ASP.NET MVC que para otros perfiles. En un futuro no muy lejano, confío en que se vuelva un producto open source como otros tantos del mercado, con extensiones, addins... pero por ahora es para trastear y tener un entorno de pruebas y referencia con ASP.NET MVC

Recursos

El sitio principal de OXITE esta alojado en codeplex, concretamente en http://www.codeplex.com/oxite

Enlace a un post donde se dan los primeros pasos con OXITE http://neimke.spaces.live.com/blog/cns!F964EB605E70A5CA!513.entry

Felices fiestas!!

Zorionak eta urte berri on!!

PD0-> En el MSDN Flash, queremos dar visibilidad a algunas de las cosas que ocurren en la comunidad de desarrollo, por ese motivo, veréis posts con tag MSDN Flash que serán posteriormente referenciados en la newsletter :)

PD1 -> Si alguno tiene XBOX y NO tiene XBOX LIVE... que sepas que realmente NO tienes XBOX aún :)  Me he dado de alta hace poco y es la bomba xD Se que parece marketing total, pero sinceramente os animo a probarlo.

PD2 -> En cuanto sea un máquina empezamos a organizar partidas online. Por ahora me muevo por el Call of Duty 5 y el Gears of War 2

PD3 -> Si tienes hijos/as ... http://www.navidadessorprendentes.com/ ok.. no esta en Silverlight, pero la idea es increible. Graba un video personalizado con su nombre y sus cosillas, ya verás que cara :D

Addins gratuitos para Visual Studio

Personalizas tu despacho, personalizas tu PC, personalizas el Fondo de escritorio, Windows, tu blog, la página de facebook y la css de twitter!!!... y tienes el VIsual Studio instalado por defecto?? por favor!! :)

Lo que pasa, es que hay mucha gente que no sabe que puede personalizar el Visual Studio. OJO! y no hablo a nivel de layout, fuentes, estilos, etcétera...  que también se puede

image

Enlace a un post de Scott Hanselman donde se habla de temas disponibles para Visual Studio

http://www.hanselman.com/blog/VisualStudioProgrammerThemesGallery.aspx

Y otro con más temas

http://idehotornot.ning.com/

Estoy hablando a nivel de añadirle addins creados por miembros de la comunidad, o incluso desarrollarte tu propio gadget para Visual Studio, por qué no?

Por ejemplo... Algunas tareas que posiblemente realices y que puedas automatizar con un Addin ( o que al menos te facilite la tarea )

Guardar Notas asociadas a archivos en una solución (stickynotes)

Sistema de navegación Jerárquico (outliner powertoy)

Contraer todos los proyectos de una solución con un click (Power Command)

Resharper ( muy famoso entre desarrolladores de .NET )

Los Addins que te ayudan con las tareas anteriores, y más, los puedes encontrar en la Visual Studio Gallery. Para facilitar la búsqueda los tienes agrupados por categorías:  Build, Coding, Reporting, Security, Web, Data...  además de por rating, visitas, etcétera. Muchos de ellos son gratuitos :)

De todos modos.... si no encuentras en esta galería el addin que te ayude con lo que buscas, prueba a mirar también en los portales Open Source Codeplex y Sourceforge... ¡¡ a ver si hay más suerte y no necesitas picar tu todas las líneas !! :)

Qué lo que te atrae es la idea de crearte tu propio addin??... por ejemplo..integrar twitter/facebook en el Visual Studio? . De acuerdo, no impactará directamente en tú código, pero el hecho de no andar cambiando de pantalla para mantener tu vida online actualizada seguro que reduce el tiempo de proyecto. En ese caso tu punto de entrada es el Visual Studio Extensibility Dev Center.

Pero, si además de hacer el addin, crees que puede haber negocio, entonces debes pasar por Visual Studio Industry Partner Program. Ofrecen soporte al desarrollo y comarketing para productos integrados con Visual Studio

Hala!! ya sabes, entre compilación y copmpilación a escoger un tema de colores cool y unos addins potentes, que ya es hora de tunnear tu Visual Studio ;)

Happy Hacking!!

Tenemos Ganador al Juego de Fibonacci!!

Lo primero.. Gracias a esos 28 pedazo de participantes :) Me lo he pasado genial, de hecho no me creía que se animase tanta gente a participar. Ha sido una pena el problema con algunos antivirus que se han comido las soluciones. Ya lo sabemos, a partir de ahora texto plano con el algoritmo :D

Por cierto, tomo nota, ha habído un comentario general pidiendo retos más complicados. Este era sencillo y no pedía mucha potencia de calculo, ni tiempo de desarrollo, es para que pudiéséis seguir con vuestras vidas durante el reto :P  Si es difícil normalmente no hay tanta participación :)

Pero lo dicho... tomo nota :D

Soluciones propuestas

Ha sido muy variopinto, todos los participantes sabían que la solución recursiva tradicional no es más que un algoritmo "de laboratorio" y han planteado diversas soluciones. En C#, vb.net  y hasta en IL :)  Aquí os destaco los algoritmos más utilizados...

Algoritmo Recursivo con cache

El de toda la vida, pero guardando cada calculo en un Dictionary, por ejemplo, de modo que cada nueva llamada resultará en una suma de valores  precalculados en el Dictionary.

Sumas basadas en arrays

Se sustituye la llamada recursiva por una iteración donde se van sumando valores en un array.

Sumas con 3 variables

Igual que la anterior, pero se elimina el array, porque realmente solo hacen falta 3 valores. Actual, Anterior1 y Anterior2.

Calculos con el número phi

Estos me pillaron por sorpresa :) Pero cuesta más tiempo hacer el calculo y paralelizarlo que sumar los valores. Habría que verlo para calcular valores más grandes.

Por lo que he visto muchos tienen ya las lambdas de .net como ciudadanos de primer nivel... cada vez más el código .net me recuerda menos a código .net :)

Al grano, cómo han acelerado el algoritmo?

La mayoría del trabajo de los participantes ha pasado por encontrar el algoritmo más rápido para fibonacci. 

Hay personas que han utilizado la librería de parallels para intentar acelerar un poco el cálculo. ( desafortunadamente, fibonacci tradicional no es la mejor oportunidad para que parallels se luzca. El cálculo esta basado en valores anteriores, de modo que tiene tinte secuencial por naturaleza.

Pero, no solo del algoritmo vive la aplicación...se puede paralelizar:

a)  Ir mostrando el resultado mientras se realiza el cálculo

b)  El cálculo en sí, siempre y cuando no se utilice el método secuencial. Por ejemplo los que utilizan el cálculo con phi, si hacen un Parallel.For para calcular los valores por separado.

Posiblemente para valores más grandes Parallels hubiese marcado la diferencia. )

Pero el tiempo total no era sólo el tiempo del algoritmo, de hecho era lo mínimo en la mayoría de los casos...al ser un número tan bajo, la mayoría del tiempo se invierte en presentar los valores al usuario. De modo que ahí es donde se ha marcado la diferencia.

Las soluciones pasaban por presentar strings por consola en cada iteración, concatenar con stringbuilder antes de presentar por pantalla, sacar los valores a un archivo de texto... y la inesperada aproximación del ganador.

Utilizando el mismo algoritmo que muchos participantes, la diferencia ha sido abismal, mirad algunos de los tiempos ( al final del post podéis ver como he hecho las pruebas):

4  - 187141

3  - 179870

2 -   16186   ( diferencia de usar un archivo en lugar de la consola )

1 -     959

Venga... cuál es la diferencia ?

La diferencia, ha sido que nuestro Ganador del juego, Jorge Serrano ha utilizado una aplicación Windows Forms para presentar el resultado. Como muestran los timers, el tiempo en mostrar la información por consola requiere mucho mas trabajo que mostrarla en un control de WinForms.

Felicidades Jorge!! te tengo que mandar el detalle, esperamos foto en el blog eh :D

Las pruebas

He sufrido, lo reconozco. La próxima vez tengo que trabajar más en la descripción del reto O=)

Primero he estandarizado la forma en la que se tomaba el tiempo..de modo que he plantado Stopwatch por vuestro código.. Start justo al empezar el algoritmo y stop justo al acabar la visualización. He medido el valor de ElapsedTicks. A los que no tenían visualización les he añadido un for concatenando con stringbuilder.

A los que me habéis enviado varias opciones.. las he probado todas y solo he tenido en cuenta la más rápida.

Para tomar un valor por participante, he tomado la media de  5 ejecuciones en frío de cada algoritmo.

Para la próxima, posiblemente de yo el esqueleto de código e indique dónde hay que rellenar con el algoritmo :D

Gracias y happy monday meetings!!

Momento Coder .... Acelera Fibonacci a tope!!!

Hace mucho que no ponemos ningún reto ... a sí que a la carga!!!

Hoy no vamos a hablar ni de empresa, ni de servicios, ni de web ni nada, hoy toca picarse a ver quién es el más rápido!

Recuerdas tus primeros pinitos en la algoritmia? hacer piramides, ordenar números... si? y recuerdas Fibonacci? ;)

No voy a explicarlo de nuevo, la red esta llena de explicaciones y algoritmos de retos de este tipo de cosas. Te propongo un reto, para coders con algo de tiempo ( en casa o en el trabajo )  ...

¿Cómo de rápido eres haciendo Fibonacci del 1 al 44? Me explico... tiempo acumulado utilizado en calcular Fibonacci para los números enteros comprendidos entre el 1 y el 44, ambos incluidos :)

Ojo, el algoritmo es bien conocido, implementado de una forma más o menos bonita, pero se te ocurre alguna forma más rápida de obtener el resultado? (por si alguien lo duda, por supuesto que se puede modificar el algoritmo)

Como condición... tiene que compilar con Visual Studio 2008 y ser código .NET ( ahora bien, puedes usar herramientas/librerías instaladas sobre Visual Studio 2008 )

Te parece bien hasta este domingo 22/11/08 a las 6pm en tiempo GMT+1?

Para hacer esto un poco más interesante... habrá un detalle para el más rápido.... a no ser que gane yo ;)

Como el detalle te lo mandaré a casa, me temo que lo tenemos que restringir a los participantes de España ( lo siento por el resto, pero si no, os iba a salir el detalle caro de narices en la aduana :_) )

Los que os animéis... cuando estéis listos podéis enviarme vuestros proyectos / soluciones a david.salgado en microsoft.com

Publicaré el ganador el lunes 13/11/08 23/11/08 (tnx phobeo)

Happy Coding!!!

More Posts Next page »
Page view tracker