Datapayasadas

junio 23, 2014

Programación orientada a mails

Filed under: Software, Uncategorized — pabloide86 @ 8:51 pm

Uffff hacía mucho que no escribía por acá. Esta vez no voy a hablar de código ni de tecnología, sino mas bien de un tema que me inquieta mucho. Hasta podría decir que estoy haciendo una especie de catarsis…

Resulta que este último año y medio estuve asignado a una cuenta de una importante empresa rosarina, un monstruo de organización por donde se lo mire. Su principal actividad no es el software pero tienen un equipo de desarrollo muy grande y mantienen un conjunto de aplicaciones que dan soporte a su proceso de negocios y estas aplicaciones son vitales para la operación diaria de la empresa.

En uno de los proyectos que estuve asignado involucraba a 1 analista funcional, 1 tester y 2 desarrolladores por un período de 2 meses. Lo que me impulsó a escribir esto es que durante esos 2 meses, llegaron a mi inbox mas de 400 mails!!! Lo peor de todo es que si juntara todas las lineas de código que se agregaron incluyendo los comentarios, creo que no llegan a 400..

Cuando el mail se convierte en un chat asincrónico y persistente, lista de tareas, versionado de documentos, workflow de aprobación y foro de discusión, evidentemente hay algo que está mal. Hay herramientas como Sharepoint que fueron diseñadas para esto!!! ¿Para qué mandar manualmente un mail diciendo que subí una nueva versión de un documento cuando esto se puede hacer de forma automática?

El mayor problema es cuando el proceso de desarrollo depende de esta comunicación. Basta con que nos olvidemos de copiar en un mail a una persona para que se desate el caos!!! Y al final nos pasamos mas tiempo en Outlook que en Visual Studio!!

En fin, basta de mails!!! Usemos las herramientas para lo que fueron creadas!!

Saludos y hasta pronto!

Anuncios

julio 17, 2010

Un poquito de Generics

Filed under: .Net, C#, Desarrollo, Generics, Software — Etiquetas: , — pabloide86 @ 1:12 pm

Hola mis queridos List<Amigos>

Hoy vamos a hablar un poco sobre el mundo de los Generics. Vamos derecho al código…

Supongamos que necesitamos un método que devuelve un objeto Persona:

public Persona GetPersonaByID(int idPersona)
{
     var persona = new Persona();
     // Aquí va el codigo para armar el objeto
     return persona;
}

Para llamar a este método lo hacemos de la forma:

Persona objeto = GetPersonaByID(5);

Hasta aquí ninguna novedad. Ahora bien, supongamos que queremos hacer que el mismo método trabaje con cualquier tipo de objetos:

//T: parámetro de tipo
public T GetEntityByID<T>(int idEntity)
{
    // Aquí va el código para armar el objeto. Veremos mas adelante qué necesitamos
    // para instanciar un objeto T
    // ahora se complica un poco mas porque no sabemos bien que tipo de objetos es T
    return entity;
}

Y ahora cuando llamamos a este método le vamos a indicar con qué tipo de objetos tiene que operar:

Persona p = GetEntityByID<Persona>(5);
Ticket t = GetEntityByID<Ticket>(8);
Auto a = GetEntityByID<Auto>(19);

(more…)

mayo 28, 2009

Visual Studio 2010 Beta 1 ya está disponible!

Filed under: .Net, Software — pabloide86 @ 10:32 am

Buenas gentes! luego de mucho tiempo sin escribir, aprovecho para contarles que ya está disponible para descargar desde Microsoft la Beta 1 de Visual Studio 2010 (tanto Professional como Team Suite) y tambien de Team Foundation Server 2010.

Ya lo estoy instalando para testearlo y ver las novedades en cuanto al IDE.

Mientras tanto les dejo el link  donde están todas las opciones de descarga:

http://blogs.msdn.com/onoj/archive/2009/05/19/visual-studio-2010-beta-1-download-options.aspx

Saludos!

agosto 1, 2008

Profiling: Analizando el rendimiento de nuestros programas

Filed under: .Net, Desarrollo, Herramientas, Software — Etiquetas: — Matías @ 8:32 pm

Buenas,

Hoy les voy a contar sobre un programa que encontré y me resultó muy útil a pesar de lo poco que lo usé, pero antes de describirlo voy a hacerles una pequeña introducción.

¿Alguna vez sintieron la necesidad de ver que parte de nuestro programa es la que más recursos consume? ¿de ver cuanto tarda en promedio en ejecutarse nuestro super método HacerTodo()?. Si se sintieron identificados con alguna de estas situaciones, entonces, esta nota posiblemente te resulte útil.

¿Qué es el profiling?. Recurramos a la Wikipedia. Cito:

En ingeniería de software, análisis de performance, comúnmente llamado profiling, es la investigación del comportamiento de un programa de computadora usando información reunida del análisis dinámico del programa (cuando este esta corriendo) en oposición al análisis estático (análisis de código). La meta del análisis de performance es determinar que partes del programa se pueden optimizar para ganar velocidad u optimizar el uso de memoria.

Usualmente el análisis de performance tiene una gran importancia aunque (como muchas otras practicas importantes) no se realiza con la seriedad necesaria. Se suele decir que el profilin tiene que ocupar un 90% del tiempo del desarrollo de una aplicación.

Suena interesante, ¿no?.

Uno de los programas que probé (de hecho, fue el único) y quedé encantado con él es dotTrace, en su versión 3.1. Lamentablemente este software no es ni OpenSource ni gratuito, aunque por suerte, provee una demo totalmente funcional por 10 días… lo cual me parece un punto para destacar.

Lo que hace este software es analizar nuestro programa en tiempo de ejecución (no es necesario tener el código fuente a mano, pasandole el ejecutable basta). Nos muestra método por método donde se demora más, ilustrando así los cuellos de botella o simplemente algún bucle mal armado que se nos pasó; cuantas llamadas recibió cada método; cuanta memoria utiliza cada proceso … entre otras cosas.

Seguramente a esta altura estarán deseando ver como se ve todo, bien … acá está:

Otra herramientas para realizar esto son:

Gratuita y con código fuente:

  • NPerf: http://www.codeproject.com/KB/architecture/nperf.aspx
  • Comerciales:

  • C# Profiler Tool: http://www.semanticdesigns.com/Products/Profilers/CSharpProfiler.html
  • .NET Memory Profiler: http://memprofiler.com/
  • ANTS Profiler: http://www.red-gate.com/products/ants_profiler/index.htm
  • Intel VTune Performance Analyzer: http://www.intel.com/cd/software/products/asmo-na/eng/239144.htm
  • Pueden encontrar más sobre éste tema en el artículo Find Application Bottlenecks with Visual Studio Profiler o sino realizando una búsqueda en google.

    Es todo, espero que les resulte tan útil como a mi y si encuentran algun otro software recomendable, no duden en comentarlo.

    ¡Hasta la próxima!

    julio 11, 2008

    Hablemos de Licencias

    Filed under: Software — Etiquetas: , , — pabloide86 @ 4:43 pm

    Buenas que tal?

    Hoy vamos a hablar de un tema tabú en nuestro pais que es el tema de la legalidad del software.

    Digo tabú porque casi nadie habla del tema y hay mucha incertidumbre al respecto. También vivimos en una época donde el software esta a unos clicks de distancia y donde los mecanismos que protegen a los autores del software son cada dia mas inefectivos. Solo basta con buscar en San Google o Yahoo San para encontrar el numero de serie de prácticamente cualquier cosa.

    Y en mi opinión personal creo que también es un problema cultural de nuestro país.

    Cuando pensamos en el costo de una PC nueva solo pensamos en el costo del Hardware. Por eso a la hora de comparar una Dell o HP contra un cloncito armado por nuestro amigo siempre terminamos mostrando nuestro costado de roedor y terminamos prefiriendo el clon porque sale lo mismo pero tiene mejores componentes. Pero lo que ignoramos es que la diferencia está en que la Dell viene con licencia y la que nos arma nuestro buen amigo no.

    Hace poco me toco formar parte de un acontecimiento único en mi vida: tener que instalar una licencia original de Windows XP! (adjunto fotos para que me crean!). Resulta que en el año 2000 aproximadamente se termino la tregua y los inspectores salieron a revisar que las empresas estuvieran en regla con las licencias. Resultó ser que las condiciones que ya todos sabemos hicieron que con la devaluación fuese imposible comprar una licencia en dolares! Hoy en dia no es tan asi y salieron de vuelta con la cacería. Las multas son elevadisimas (aproximadamente 2 veces y media de lo que cuesta una licencia) y para una empresa con muchas PCs puede resultar muy caro de afrontar.

    De todo este proceso aprendi algunas cosas interesantes con respecto a las licencias de Windows.

    Voy a hablar en general de las licencias para PyMES. Podemos dividir a las formas de adquirir licencias en dos grandes ramas:

    • OEM: son las que podemos adquirir cuando compramos una PC nueva.
    • Genuine Kit (Kit de Legalización para los amigos): son las que podemos adquirir sueltas.

    Desafortunadamente la licencia es instransferible o sea que muere con el equipo por lo que tendremos que tener en consideración si el hardware de la PC que queremos legalizar tiene una esperanza de vida suficiente para amortizar la licencia. En el caso que me toco había un par de K6-II de 500Mhz que directamente fueron descartados! Realmente no valia la pena el riesgo de poner una licencia y que el equipo dejara de funcionar al poco tiempo y la licencia quede inutilizable.

    El otro aspecto importante es que las licencias OEM o GK son innominadas esto quiere decir que no estan registradas con un nombre. Son “al portador”.

    Por ultimo debo decir que para el caso de los kits de legalización es un requisito conservar la factura de compra! (sin esto la licencia no tiene validez).

    Con respecto a Microsoft Office tambien vienen 2 tipos de licencia, una innominada y otra nominada. En caso de que Office no sea estrictamente necesario siempre podemos contar con el no tan querido OpenOffice que si bien no es 100% compatible en algunas cositas siempre safa y viene bien.

    Para terminar agrego los últimos comentarios.

    Existen esquemas de microsoft por contrato para empresas mas grandes donde se obtienen mejores descuentos y formas de pago.

    Y acá dejo el link de Microsoft acerca del licenciamiento:

    http://www.microsoft.com/conosur/technet/licenciamiento/

    Y tambien cabe destacar que para las alternativas libres deberemos fijarnos en cada caso si la licencia es para uso personal o comercial.

    Y a vos pebete que laburas en una empresa y si estan en forma irregular con el software siempre es mejor prevenir. Los agentes estan merodeando empresas grandes y chicas, tengas 1 o 100 PCs. Mi recomendación es pedir asesoramiento profesional antes de encarar una cruzada de estas características!

    Y para vos que tenes 2 compus en tu casa compartiendo el ADSL de 640k con el alfajor Huahuey, desde lo que yo se no hay mucho de que preocuparse (por ahora) ya que las inspecciones son para empresas nomas.

    Saludos y mucha suerte!

    Crea un blog o un sitio web gratuitos con WordPress.com.