Development


En el Blog de Google se anuncia un nuevo proyecto llamado Chrome, el cual es el nuevo “Internet Browser” opensource basado en WebKit (motor de renderizado para Safari), además de incorporar un nuevo motor para Javascript llamado por el momento V8, el cual promete ser bastante rápido y poderoso en comparación con otros.
Al parecer Google espera con este proyecto expandir su oferta de servicios y con este nuevo “browser” dar un mejor soporte a sus aplicaciones Web (GMail, GDocs, GCalendar).

A continuación un extracto de la noticia:

” “launch early and iterate.” While this approach is usually limited to our engineers, it apparently applies to our mailroom as well! As you may have read in the blogosphere, we hit “send” a bit early on a comic book introducing our new open source browser, Google Chrome. As we believe in access to information for everyone, we’ve now made the comic publicly available — you can find it here. We will be launching the beta version of Google Chrome tomorrow in more than 100 countries.”

Por el momento no existen imagenes que permitan conocer a detalle la aplicación lo único que se ofrece es una explicación en forma de “comic” en donde se explican los motivos de la creación de Chrome

Popularity: 1% [?]

Hoy me acabo de llegar un correo de notificación en donde Lutz Roeder autor  de .NET Reflector, de una de las utilerías que todo desarrollador .NET debe de tener, en donde avisa que en adelante se dedicará a nuevos horizontes y ahora dejará la responsabilidad de .Net Reflector a la empresa Red Gate Software.

 A continuación una extracción del correo:

“After more than eight years of working on .NET Reflector, I have decided it is time to move on and explore some new opportunities.

I have reached an agreement to have Red Gate Software continue the development of .NET Reflector. Red Gate has a lot of experience creating development tools for both .NET and SQL Server. They have the resources necessary to work on new features, and Reflector fits nicely with other .NET tools the company offers.”

En la página de Red Gate Software ya se anuncia la adquisición del proyecto.

Con esto lo lógico es que ahora existirá una versión comunitaría y otra que será con licenciamiento,  ojala la gente de Red Gate Software considere a la comunidad y no se pierda en el enfoque de hacer solo negocio, ya que esta es una herramienta muy utilizada que cuenta con bastantes Add-ins.

Habrá que estar atentos con el futuro de .Net Reflector

Popularity: 1% [?]

Me acabo de enterar de la existencia de una herramienta muy interesante llamada LinqPad, la cual permite realizar consultas de datos mediante el uso de LINQ con .Net Framework 3.5.

Permite realizar consultas del tipo:

a) LINQ to SQL
b) LINQ to Objects
c) LINQ to XML

Después de realizar algunas pruebas puedo decir que es una excelente herramienta, muy completa y permite experimentar la flexibilidad de LINQ y así poder conocer más de este interesante framework, el cual se apunta a ser la gran apuesta de .NET para el acceso a datos.

Popularity: 1% [?]

Hoy me aparecio el siguiente mensaje de error al tratar de configurar un DSN con el ODBC del cliente Informix en MS Windows:

[Informix ODBC Driver]Unable to load translation shared library (DLL)

Aparentemente el problema es con un conflicto con idioma con el Sistema Operativo y el cliente de Informix, despues de buscar un rato en Internet y pasar bastante tiempo sin encontrar una solución coherente, decidi probar directamente con los parámetros de configuración del ODBC….

Realizando pruebas encontre por fin una solución y consiste en realizar los siguientes pasos:

  1. En la pestaña “Environment” del Driver del ODBC de Informix, en el campo “Translation Library” colocar la ruta completa en donde se ubica la DLL igo4nXXX.dll. Por lo general deberá ser: %INFORMIXDIR%\bin\igo4nXXX.dll

  2. En el campo “Translation Option” colocar en valor “0″.

  3. Probar nuevamente la conexión y listo!!!

Espero esta solución sirva a alguien más.

Popularity: 2% [?]

Recientemente  Adobe Labs publico información sobre un proyecto bastante interesante nombrado Adobe Buzzword, se trata de un editor de texto en línea, basado en Adobe Flex. Un ejemplo más de lo que se esta generando con el Web 2.0

AFDF1154-626E-4B38-9DF8-B37B437B2D10.jpg

Adobe buzzword permite la edición de documentos proporcionado un repositorio personal, ademas de llevar el historial de cambios, control de versions, colaboración con otros usuarios (co-autores) y control de acceso mediante roles . Otra característica a considerar es que permite exportar los documentos a diversos formatos: PDF, MS Office 2003/2007, HTML, Texto.

Para acceder a la aplicación solo bastanta con registrarse y obtener un Adobe Id y tener Flash Player instalado en el equipo.

908192B7-6152-4DB2-9232-9594AF5001A8.jpg

DB661F56-8578-4EB3-A52A-8C2CFFB78802.jpg

Excelente herramienta, aunque he notado que no llega a reconocer al 100% características de documentos con MS Office 2007, pero aun es una Beta y va por buen camino.

Popularity: 2% [?]

Recientemente me encontraba buscando algunas alternativas de clientes de Subversion para MAC OS, actualmente yo uso svnX, después de un tiempo de usarlo resulta algo limitado y no muy ágil su uso, también es cierto que últimamente Git se ha vuelto más popular, pero eso ya será tema de otro post en donde se discutan pros y contras de cada uno.

Continuando con la búsqueda me encontré con la existencia de Versions, herramienta creada por la gente de Sofa. Versions en un cliente de Subversion con una interface bastante amigable, aun en fase Beta, pero disponible para su descarga y evaluación.

315BE0C3-EE32-4EA7-9C08-19DB1CBBC019.jpg

Proporciona las tareas comunes de los clientes de Subversion, pero ofrecen además en “hosteo” gratuito en servicio de “Free Online Repository” llamado “Beanstalk” con lo cual se pretende ofrecer repositorio remotos en Internet.

9611A525-E038-43E2-8866-E140D00D21B7.jpg

En general es bastante ágil su uso a pesar de tratarse de un pre-release si le veo bastante futuro, solo se deberán pulir detalles de comandos, pero considero que es una herramienta a tener en cuenta.

Popularity: 2% [?]

Hace poco tuve que lidiar con el proceso de generación de instaladores para distribuir una aplicación Windows, en mi caso no es una de las tareas más divertidas, pero siempre es interesante conocer de estos temas no están de más. Regresando al punto inicial, el instalador dentro de sus requerimientos debía de invocar a otros instaladores para instalar (valga en pleonasmo) en el equipo drivers, software adicional. Pero sorpresa en MS Windows no es posible ejecutar dos programas de instalación (archivos MSI o Setup.exe) al mismo tiempo por medidas de control propias de SO, primer reto a superar…..

Buscando el red me tope con el proyecto NSIS, que significa Nullsoft Scriptable Install System, en primer instancia…Nullsoft?…. en efecto los mismo que hace tiempo había creado el famoso reproductor Winamp..interesante!.

NSIS permite, mediante un lenguaje de script, poder generar instaladores personalizados, permitiendo configurar el estilo de la pantallas, opciones de instalación, configuración, soporte de multilenguaje, shortcuts, etc. Y lo que en mi caso era primordial, poder ejecutar otros instaladores sin ninguna restricción..excelente!!, además incluye plug-ins que permiten entre algunas cosas:

  • Log de eventos

  • Personalizar pantallas

  • Interacción con MSSQL

  • Interacción con Python

Aunque en principio el lenguaje de script es algo confuso conforme se trabaja con él resulta rápido entenderlo, una sintaxis muy parecida a Perl o Php.

Para apoyar la generación de los script, existe un editor de Scripts de NSIS llamado HM NIS, el ayuda a realizar las tareas de compilar, verificación de sintaxis, aplicar debug, etc. Si se prefiere se puede hacer uso del asistente que permite generar una plantilla base de forma rápida.

EN general NSIS ofrece una alternativa muy eficiente para crear programas de instalación mediante el uso de herramientas open source, alternativa bastante recomendable.

Popularity: 2% [?]

Actualmente ya existe una versión Open Source (GPL) del popular servicio de mensajería Meebo, conocido como Soashable Instant Messenger desarrollado en Java, usando comunicación con XMPP y XMPP4Js (libreria de Javascript).

Un proyecto por demás interesante y que puede tener aplicaciones muy útiles en empresas.

Popularity: 2% [?]

development DotNet

Recientemente acabo de encontrar una interesante solución a un problema común al momento de desarrollar aplicaciones en .Net que requieren enviar un mensaje de correo electrónico por SMTP, y el gran problema es que generalmente no siempre contamos con un servidor de correo instalado en nuestro equipo, un gran fastidio.

La solución para probar el envió del mensaje, ya sea haciendo debug de nuestro código o mediante la implementación de pruebas unitarias, es agregar unas entradas al archivo de configuración de la aplicación (app.config) para que en lugar de enviarlo por SMTP, lo escriba en un directorio especifico del equipo en formato EML.

Un ejemplo del archivo de configuración:

<system.net>
<mailSettings>
<smtp deliveryMethod=”SpecifiedPickupDirectory”>
<specifiedPickupDirectory pickupDirectoryLocation=”c:\MensajesDePrueba\” />
<network host=”127.0.0.1″ port=”25″ defaultcredentials=”true” />
</smtp>
</mailSettings>
</system.net>

Al configurar la aplicación de este modo, al momento de invocar la clase SmtpClient para realizar el envió, este generará un mensaje de correo que será colocado en el directorio”C:\MensajesDePrueba” con formato EML.

Popularity: 2% [?]

Ahora que me encuentro realizando mis primeros pasos con Cocoa y Objective-C para entrar de lleno al desarrollo para Mac OS X, el buen Norber me recomendo utilizar F-Script, para experimentar a fondo y sin tantos problemas todos el potencial de framework de Cocoa sobre Objective-C.
El titulo de este post tiene relación en un artículo en Fun Script (Blog dedicado a F-Script), en donde queda de forma clara y manifiesta la simplicidad de la programación y cuando otros “se impresionan” con ciertas nuevas tecnologías, muchas veces se deja de lado el hecho de que lo simple muchas veces es la mejor solución.
Para dejar de ejemplificado la anterior me permito extraer los ejemplos del articulo:

JAVA

TreeSet pilots = new TreeSet(new Comparator()
{
    public int compare(Object o1, Object o2)
    {
        if (((Pilot)o1).salary() < ((Pilot)o2).salary())
            return -1;
        else if (((Pilot)o1).salary() == ((Pilot)o2).salary())
            return 0;
        else
            return 1;
    }
});

for (flight : flights)
{
    if (flight.arrivalLocation().equals("PARIS") && 
        flight.airplane().model.equals("B747"))
    {
        pilots.add(flight.pilot());
    }
}

ArrayList result = new ArrayList();
for (pilot : pilots)
{
    result.add(pilot.name());
}


C# (LINQ)

var pilots = (from flight in flights
              where flight.arrivalLocation == "Paris" &&
                    flight.airplane.model == "B747"
              select flight.pilot).Distinct();

var result = from pilot in pilots
             orderby pilot.salary
             select pilot.name;


F-SCRIPT

pilots := (flights at:flights arrivalLocation = 'PARIS' & 
          (flights airplane model = 'B747')) pilot distinct.
result := pilots name at:pilots salary sort.


Así de simple!.

Popularity: 3% [?]

Next Page »