Comunitat d'usuaris .NET del pais dels pirineus

Logo01_small

A AndorraDotNet estem preparant un event molt especial. El SnowIT

És un event organitzat conjuntament amb Microsoft. No és el primer cop que AndorraDotNet ha organitzat esdeveniments conjuntament amb Microsoft o amb altres grups d’usuaris a Espanya, però en aquest cas es pretén organitzar-ho per primer cop aquí a Andorra.

Aquest cop, aprofitant els recursos de que disposa el país es busca crear un mix entre activitats de neu i sessions tècniques d’alt nivell, entre les que destacarien virtualització (HyperV, AppV), serveis en el núvol (Office365, Live) i sobretot, aprofitant que tindrem accés a la beta de febrer… Windows 8 server i client.

Es realitzarà el proper mes de Març el cap de setmana del 23-25 a les instal·lacions de l’hotel Piolets Park & Spa de Soldeu, de forma que els assistents no tinguin que sortir de l’hotel, i disposin tant de la infraestructura de sales necessària com d’accés a pistes de del hotel.

El registre s’obrirà el divendres 23 a les 12h00 fins a les 16h00 per tal que arribi la gent que puja d’España (unes 40 persones). Tota la gent del país, tant professionals com estudiants podran assistir de forma gratuïta, tot i que està prevista la creació d’un registre per tal de no tenir overbooking (la sala té capacitat per a unes 150 persones).

L’agenda prevista es dividirà entre matins realitzant activitats de neu i tardes de sessions. Gairebé tenim tancades totes les sessions tècniques, que seran impartides per ponents de la pròpia Microsoft, així com professionals de renom i membres destacats de la comunitat.

Un punt molt interessant seria poder gravar les sessions, per posteriorment poder publicar-les en diverses webs i que estiguin disponibles per la seva visualització i descarrega. Actualment també s’està negociant amb els diferents partners per tal de poder subvencionar part del cost de l’event i així poder oferir un preu més atractiu a tota la gent de fora d’Andorra, en forma d’un pack per dues nits a mitja pensió més forfaits i complements (un sopar, càterings, accés al SPA de l’hotel i potser un còctel de benvinguda i una festa de comiat al mateix hotel).

Caldrà també promocionar-ho per diversos mitjans, blogs, facebook, twitter, radio, premsa i evidentment a través d’empreses del sector al país. També seria convenient poder comptar amb l’ajut del comú i de govern (àrea de cultura i turisme). Tanmateix ja hem contactat amb la universitat per tal que estiguin al corrent de tot.

Aquest divendres marxo una setmana a Seattle, però us mantindré al corrent de com evoluciona tot això.

Merci x tot ;)

El próximo 29 de Noviembre montaremos un webcast con los chicos de SecondNug sobre programación paralela.

banner_parallel

La idea es empezar mostrando el porqué de la programación paralela: Que es? Cómo hemos llegado a esta singularidad? Y en que casos puede sernos útil -que son muchos más de los que os podéis imaginar-. Además, como vais a ver en el webcast esto cada vez va a ir a más. Y no sólo a largo plazo… pero no os quiero avanzar mucho más, mejor ya lo veréis :-D

image image

A partir de las 19h30 empezaremos nuestro viaje por las principales características de la nueva Task Parallel Library (TPL). Comenzaremos por una breve introducción para asentar algunos conceptos (y para picaros el gusanillo), y posteriormente pasaremos a hacer demos por un tubo. Que al fin y al cabo somos developers y es lo que nos gusta!

foro_parallel

Puedes registrarte aquí:
https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032498453&Culture=es-AR 

Nos vemos pronto,

L

PD – Mi idea era llamarlo ‘Paralelízate o muere’ pero tal vez era un poco demasiado bestia… o no? Júzgalo tu mismo :-)

El proper divendres 25 de Novembre tenim un nou event a AndorraDotNet.

Aquest cop tindrem la oportunitat de comptar amb en David Martos, Microsoft MVP de SharePoint i expert en arquitectura i ALM. També es membre fundador del grup d’usuaris de SharePoint a Catalunya (SUG.CAT)

sugcat 

En David ens mostrará com gestionar el cicle de vida de les aplicacions (ALM) en projectes on intervingui SharePoint 2010. Per tal d’augmentar la qualitat i -sobre tot- per facilitar el seu manteniment al llarg del temps. A més ens ensenyarà uns quants productes molt interessants: Moles, Mercurial, Jenkins, Cucumber, Capybara, etc.

En resum, una xerrada molt interessant per a tothom: desenvolupadors, analistes, arquitectes o managers, i que no et pots perdre de cap de les maneres.

L’event és obert a tothom i gratuït, i es farà el proper divendres 25 de Novembre, a les 18h00 al segon pis de l’edifici del centre cultural de la Llacuna. Al costat de la plaça de les arcades a Andorra la Vella.

La Llacuna Centre Cultural
Carrer Mossèn Cinto Verdaguer 4 (*)

(*) Al costat de la “plaça de les arcades”

Ubicació ‘La Llacuna Centre Cultural’ a Google Maps

Y com és habitual… després cerveses y sopar :-)

Ens veiem allà!


damaDavid Martos es Ingeniero en Informática por la Universitat Politècnica de Catalunya. Desde el año 2004 trabajo como Software Architect en Spenta Consulting, Gold Certified Partner de Microsoft con sede en Barcelona, Madrid y Bilbao.

Blog: http://david-martos.blogspot.com/

Spenta: http://www.spenta.es/

Upcoming-Event

Hola a tots,

Aquesta setmana està sent força interessant, pel que fa als propers events:

Dilluns

Vaig començar el dilluns pensant si fer un nou event de desenvolupament en C# o bé un de SQL Server. La primera em venia molt de gust perquè darrerament he estat utilitzant alguns conceptes molt ‘chulis’ (Generics ‘a fondo’, LINQ amb lambdas, i fluent interfaces). I la segona perquè després de uns anys sense tocar-ho gaire, he estat programant força en TSQL i he pogut posar en pràctica algunes coses noves de la darrera versió de SQL Server 2008 (Filestream, Table-Valued-Parameters o funcions de tipus taula).

Dimarts

Quan em pensava que finalment ja m’havia decidit em va arribar un mail d’en David Martos. En David és un col·lega que treballa a Spenta i que també és MVP, però en el seu cas de SharePoint. Aprofitant que anava a fer una xerrada a SUG.CAT (grup d’usuaris de Sharepoint de Catalunya del qual n’és membre fundador) em proposava de pujar a Andorra i fer-la també aquí. És una xerrada molt interessant, ja que tracta de cóm gestionar el cicle de vida de les aplicacions (ALM) en SharePoint. La xerrada inclou SharePoint, però també eines per Unit testing com Moles, i també Mercurial, Jenkins, Cucumber, Capybara, etc.

Un parell de mails i varis tweets després, ja hem quedat per divendres 25 de Novembre a les 18h00, com és habitual. Si t’interessa conversar amb un dels millors experts de SharePoint d’Espanya no t’ho pots perdre. I a més a més tractarem temes molt importants (arquitectura, testing, etc.). Ja us aniré informant més en detall a mida que arribi la data.

Dimecres

Només estem a dimecres? Caram! Fa només uns minuts he rebut un missatge d’un altre col·lega. En aquest cas és en Paulo Dias, un dels evangelistes de IT de Microsoft que possiblement hauràs vist en algun dels darrers events de virtualització. En els darrers mesos hem estat en contacte per organitzar un event a Andorra, on vinguin el mateix Paulo, en Fernando Guillot, i en Dani Alonso.

El tema? Encara està obert però sent tres ponents ‘deluxe’ podríem aprofitar per demanar-los que ens parlin de App-V, VMM 2012, o qualsevol cosa que creieu que pugui estar interessant. Ells m’han dit que accepten suggerències així que si en teniu alguna, deixeu un comentari aquí o al Facebook d’AndorraDotNet o de l’AVIA.

I la data? Un divendres de cara a Desembre o Gener, ja que tots ells son esquiadors i aprofitaran que fem els events en divendres per quedar-se en cap de setmana a gaudir de la neu. I ja posats -com que els conec- segur que per la nit organitzem algun sarau :-P

En resum

La veritat es que no se si publicar el post o m’espero a demà a veure si hi ha alguna novetat més…

També us agrairia feedback sobre temes, dates o qualsevol cosa, així com la màxima difusió possible.

Hola de nou,

Si ets desenvolupador i el tercer divendres d’agost estas a Andorra, no et pots perdre el proper event d’AndorraDotNet:

Microsoft_Silverlight

Aprofitant que Jose Luis Latorre (també conegut com ‘the Silverlight guy’) visitarà Andorra aquest estiu, hem aprofitat per ‘tirar-li la canya’ i demanar-li que ens faci una xerrada sobre programació en Silverlight, i ja de pas orientar-la cap a la programació d’aplicacions Windows Phone 7 mitjançant aquesta tecnologia.

En Jose Luis farà una introducció a la tecnologia Silverlight actual, i també ens mostrarà les novetats que s’esperen en la propera versió (Silverlight 5). També ens parlarà de les possibilitats d’aquesta tecnologia multi-dispositiu (PC, XBOX, Windows Phone), així que si teniu alguna pregunta per ell… no deixeu passar la oportunitat! :-D

Per cert, és molt possible que també puguem comptar amb la presència d’en Marc Salvador, ponent habitual a AndorraDotNet i que després de l’estiu també pujarà a fer una xerrada sobre active directoy i migració de dominis. Si els vols conèixer i fer una cervesa amb ells, t’hi esperem!

L’event és obert a tothom i gratuït, i es farà el proper divendres 19 d’Agost, a les 18h00 al segon pis de l’edifici del centre cultural de la Llacuna. Al costat de la plaça de les arcades a Andorra la Vella.

La Llacuna Centre Cultural
Carrer Mossèn Cinto Verdaguer 4 (*)

(*) Al costat de la “plaça de les arcades”

Ubicació ‘La Llacuna Centre Cultural’ a Google Maps

Y com és habitual… després cerveses y sopar :-)

Ens veiem allà!

Jose Luis Latorre es MVP de Microsoft en tecnologia Silverlight, membre fundador del grup d’usuaris de Barcelona i ponent habitual en events a nivell internacional.

http://silverlightguy.com/

Hola de nuevo,

En el proyecto que me ocupa actualmente he tenido que pelearme con algo curioso: Resulta que hay que realizar un proceso que lea una serie de ficheros de texto (si, si, de texto) que contienen una serie de información que debo analizar y posteriormente volcar a la base de datos. Hasta aquí ningún problema, salvo el de tener que lidiar con unos ficheros de texto cuyos formatos parecen haber sido diseñados por un loco (parece mentira que hoy en día hayan tantas organizaciones / empresas / bancos que sigan utilizando este método para intercambiar información).

SubmitChanges

El problema

Una vez desarrolladas las clases necesarias para leer y desglosar toda la información, me he encontrado con que se generan en el menor de los casos del orden de medio millón de filas a insertar en la BD.

Como os podéis imaginar el tiempo para realizar el volcado es considerable, del orden de entre 5 y 15 minutos. Así que he pensado en al menos optimizar la experiéncia del usuario, y me he marcado estos objetivos:

  1. Que el usuario pueda seguir trabajando mientras se insertan los registros
  2. Poder mostrar el progreso de la operación

Partimos de que tenemos un contexto de LINQ to SQL (por favor, no me preguntéis porque estamos usando esto en lugar de EF o NHibernate). En dicho contexto tenemos unas 495.000 filas pendientes de insertarse en cuanto hagamos la llamada a SubmitChanges(), y lo malo es que este método es síncrono y además no genera ningún evento ni permite usar callbacks ni ningún mecanismo de notificación del progreso.

Solución al primer problema (asincronía)

Es el más sencillo de los dos con diferencia. En versiones anteriores debíamos crear un thread manualmente, pero desde la aparición de la clase Task en .NET 4.0 esto se ha simplificado enormemente. Basta con crear un objeto Task que apunte al método que deseamos lanzar de forma asíncrona (mediante paralelismo).


importEngineInsertTask = new Task(() => insertPendingRows(), cancellationTokenSource.Token);
importEngineInsertTask.Start();

Una de las ventajas respecto a los diferentes métodos de versiones anteriores es la posibilidad de pasar un token de cancelación, para por ejemplo poder cancelar la tarea si el usuario así lo decide. Tal vez sea interesante un post sobre esto más adelante, aunque es bastante sencillo.

Solución al segundo problema (mostrar progreso)

Este ha sido un poco más peliagudo, ya que en principio no hay modo de interactuar con el DataContext de LINQ to SQL para reportar el progreso de las inserciones. Para poder mostrar el progreso necesitamos saber por un lado el número total de filas a insertar y por otro el elemento actual. Para conocer el número total de filas a insertar basta con preguntarle al DataContext:

numInsertLines = context.GetChangeSet().Inserts.Count;

Pero para saber el número de insert actual no disponemos de nada. Sin embargo, el Contexto dispone de una propiedad Log de tipo TextWriter, que permite la monitorización de cada operación. Bien, a partir de esto, podemos generar una clase propia que herede de TextWriter:

class ActionTextWriter : TextWriter
{
    private readonly Action<string> action;

    public ActionTextWriter(Action<string> action)
    {
        this.action = action;
    }

    public override void Write(char[] buffer, int index, int count)
    {
        Write(new string(buffer, index, count));
    }

    public override void Write(string value)
    {
        action.Invoke(value);
    }

    public override Encoding Encoding
    {
        get { return System.Text.Encoding.Default; }
    }
}

Y posteriormente usarla para llamar a un método que se encargue de lanzar un evento que será monitorizado para mostrar el progreso:


private void configureSubmitInsertProgress()
{
    context.Log = new ActionTextWriter(s =>
    {
        if (s.StartsWith("INSERT INTO"))
            ReportInsertProgress(s);
    });
}

Conclusión

El resultado es que el usuario puede realizar un proceso relativamente pesado sin tener que dejar de trabajar, ya que el proceso se ejecuta en segundo plano, y además puede ver un proceso del progrso de la operación. Ya sabemos lo impacientes que pueden ser los usuarios, verdad? :-)

ReportProgress

Saludos,

arturo_y_caballeros_thumb

Hola a tots,

Després de l’èxit de les dues primers, el proper divendres 20/05/2011 organitzarem la tercera taula rodona a AndorraDotNet. En que consisteix una taula rodona? Doncs bàsicament no hi ha un temari gaire definit, i l’objectiu consisteix en departir informalment sobre temes genèrics d’actualitat, o de la situació de la professió al país, o simplement explicar les penes que comporta ‘per se’ la nostra professió :-)

L’event és gratuït i es farà el proper divendres 20 de Maig, a les 18h00 al segón pis de l’edifici del centre cultural de la Llacuna. Al costat de la plaça de les arcades a Andorra la Vella.

La Llacuna Centre Cultural
Carrer Mossèn Cinto Verdaguer 4 (*)

(*) Al costat de la “plaça de les arcades”

Ubicació ‘La Llacuna Centre Cultural’ a Google Maps

Y com és habitual… després cerveses y sopar :-D

Ens veiem allà!

PD – Si voleu proposar algun tema a tractar, deixeu un comentari…

SQLAzure

El problema

En ocasiones nos olvidamos de que SQL Azure no es lo mismo que SQL Server.

Hoy mismo me he encontrado con una situación de aquellas que te hacen exclamar D’OH!!!, y que afortunadamente he podido solucionar, porque si no ahora mismo no estaría escribiendo este post :-)

Nota: Antes de seguir, aviso que no voy a entrar en opiniones acerca del sistema de membresía de ASP.NET, todos sabemos que los requerimientos mandan, y si te toca utilizar una herramienta -aunque esté tan mal diseñada como ésta- la usas y punto.

Volviendo al tema, en el proyecto que me ocupa actualmente necesitábamos utilizar ASP.NET membership en una base de datos de SQL Azure. En principio, a nadie se le había ocurrido que no puede hacerse. Al menos no directamente, vaya… Así que cuando he querido utilizar nuestro querido y odiado aspnet_regsql, me he quedado con cara de bobo al fallar el proceso estrepitosamente y mostrarse este error:

An error occurred during the execution of the SQL file ‘InstallCommon.sql’. The SQL error number is 208 and the SqlException message is: Invalid object name ‘master.dbo.sysdatabases’.

Si lo pensamos detenidamente tampoco no es nada extraño. Es normal que no podamos acceder a sysdatabases, de hecho, si lanzamos una consulta como esta en SQL Azure:

SELECT * FROM master.dbo.sysdatabases

Recibiremos un mensaje muy clarito al respecto:

Reference to database and/or server name in ‘master.dbo.sysdatabases’ is not supported in this version of SQL Server.

La solución

Está bien documentada en MSDN archive, y contiene un juego nuevo de scripts para la creación de la base de datos de membresía, adaptado a las particularidades de SQL Azure. Lo podéis encontrar y descargar en esta url:

http://archive.msdn.microsoft.com/KB2006191

Existen dos ficheros a descargar, aunque nos basta con InstallAspSchema.zip, el cual contiene los scripts separados por temas (membresía, roles, etc.) lo cual me parece genial, ya que así vamos a instalar sólo las partes que nos interesan.

aspnet_scripts

Es importante instalarlos en el orden correcto, así que el primero debe ser InstallCommon.sql, y luego ya podemos instalar el resto (en mi caso con InstallMemberShip y InstallRoles tengo más que suficiente).

Nota: En mi caso he tenido que pasar 2 veces el script de membresía ya que la primera vez se había dejado por crear algunas tablas, entre ellas la de aspnet_MemberShip (que guarda entre otros datos el password cifrado). Si alguno de vosotros lo prueba por favor, darme feedback para ver si es un problema común o ha sido algo particular.

Saludos y nos vemos!

More info.

General Guidelines and Limitations (SQL Azure Database)

http://msdn.microsoft.com/en-us/library/ee336245.aspx

Hace tiempo que no posteo regularmente, y sinceramente (aunque suene a broma) creo que el porqué no lo hago se merece un post aparte. Sin embargo en esta ocasión quiero dejar un post cortito, sólo un apunte para mi mismo y para todos aquellos que estéis ‘trasteando’ con los helpers de WebMatrix desde MVC3.

Esta librería de helpers incorpora características muy atractivas para interactual con redes sociales (Twitter, Facebook), analizar estadísticas con Google o Yahoo, realizar búsquedas con Bing y unas cuantas cosas más. Tenéis un artículo estupendo del colega Javier Torrecilla, que profundiza más y al cual os recomiendo dar un buen vistazo.

Mi post se va a centrar en un pequeño error que se produce (al menos a fecha de hoy = 20/04/2011) al descargar e instalar el paquete NuGet. Creo que el problema es que o bien no resuelve bien las dependéncias o bien es incapaz de instalarlas, y eso provoca que una vez instalado, al ejecutar nuestra aplicación se produzca este feo error:

The type or namespace name ‘SimpleMembershipProvider’ could not be found

 

mvcfbhelpererror

El error se produce dentro del fichero AppCode/Facebook.cshtml y es muy claro: No encuentra el tipo SimpleMembershipProvider, porque forma parte de la librería WebMatrix.WebData y ésta no está referenciada en nuestro proyecto.

Para solucionarlo basta con agregar no una, sino 2 referencias. Concretamente a las librerías WebMatrix.Data.dll and WebMatrix.WebData.dll, las cuales por el motivo que sea no se han agregado correctamente a nuestro proyecto. Tip: Tal y como se dice en el artículo original, lo más recomendable es establecer el atributo ‘Copy Local’ a True para no tener problemas con la distribución.

Thx al colega jtorrecilla por la ayuda ;-)

Estamos de enhorabuena! :-)

El próximo viernes 15 de Abril a las 18h00, Javier Torrecilla mostrará sus dotes culinarias ‘cocinando’ una sesión de programación sobre WinForms. Veremos aplicaciones Winforms controles personalizados, metodos extensores y plantillas entre otras cosas.

La sesión durará un par de horas y como es habitual, al terminar iremos a tomar una cerveza y hablar de nuestras cosas, así de paso arreglaremos alguno de los problemas del mundo ;-)

Importante: Si hay suerte y llegan los paquetes a tiempo sortearemos agunas cosas, entre ellas una suscripción MSDN ¡valorada en más de 15.000 euros! :-)

El evento es gratuito (como todos los que hacemos) y se realizará en la sala del segundo piso del edificio de ‘La Llacuna’. Al lado de la ‘Plaça de les arcades’.

La Llacuna Centre Cultural
Carrer Mossèn Cinto Verdaguer 4 (*)

(*) Al costat de la “plaça de les arcades”

Ubicación ‘La Llacuna Centre Cultural’ en Google Maps

MAP Logo

Acerca de Javier Torrecilla:

Javier es analista funcional at Avalon Tecnologias de la Informacion, y destacado miembro de la comunidad online de Microsoft. Es moderador en los foros MSDN y recientemente ha sido nombrado Microsoft Active Professional.

Visita su blog:

http://geeks.ms/blogs/jtorrecilla/default.aspx

Perfil LinkedIn:

http://www.linkedin.com/in/jtorrecilla

Saludos y nos vemos en el evento!

Follow

Get every new post delivered to your Inbox.

Join 94 other followers