Archivo de Mayo 2007

Lista de programas de soporte que me han resultado útiles en el uso de Windows.

 ccleaner.  es un popular freeware que remueve archivos temporales del sistema y limpia el registro de Windows, lo cual libera espacio en disco y permite que el equipo ejecute más rápido. Hay que tener cuidado porque puede invalidar los puntos de recuperación de XP

7-Zip es open source bajo licencia GNU LGPL. Tiene las tazas de compresión más altas, una interfase amigable, soporta el formato zip y es gratis.

Nvu es un editor de páginas Web multiplataforma basado en Mozilla Composer, pero de ejecución independiente, y añade características nuevas como soporte integrado de CSS y mejor gestión del protocolo FTP para actualización de archivos.

Crimson Editor es un clásico editor para programadores. Ligero y eficiente aunque ya va acumulado años sin actualizaciones.

Casper ya me salvo una vez. El sistema SMART del disco duro me indico que era inminente una falla. Después de intentar con Norton Ghost de generar una imagen en un disco nuevo las cosas no se veían bien. Casper, siendo el amable fantasma que es me salvo y logro lo que muchos habí­an fallado. La recuperación no fue perfecta porque ahora no puedo iniciar la maquina en modo seguro pero por lo menos no perdí­ mis datos ni mis licencias.

wiki.answers.com
forums.techguy.org
http://www.computerhope.com/

http://blogs.msdn.com/

http://www.webmasterworld.com/
http://groups.google.com/group/microsoft.public.windowsxp.general/topics

Win32 (MS Windows 95 / 98 / ME / NT / 2000 / XP / 2003 / Vista) ports de utilerias GNU o similares.

GnuWin32 esta compuesto por implementaciones nativas que no funcionan cuando se requiere un shell tipo unix.

Hay que tener cuidado con los paths pues hay conflicto con mingw o cygwin

Usar interfaces cuando se esperan cambios frecuentes en el código. Interfaces es un método más flexible que herencia para manejar opciones de comportamiento. Una clase abstracta funciona de manera similar pero además permite definir comportamientos comunes, forzando a las subclases a definir los comportamientos especializados.

 Una clase abstracta se parece a una interface en que ambos son una especie de contrato de como se debe compratar la clase en el mundo exterior.

Resumiendo; interfaces permite a una clase tener varios padres, pero una interface no implementa ningun metodo, solo especifica que metodos se deben implementar. Una clase abstracta no se puede instanciar pero puede implementar algunos metodos ( o todos). Interfaces hacen oficial la separación entre implementación y la firma de una clase, mientras que una clase abstracta permite definir comportamiento común, pero por lo mismo es más facil romper el código en cascada al hacer un cambio.

La siguiente tabla compara interfaces y clases abstractas en C#

Caracteristica Interface Abstract class
multiherencia Una clase puede heredar multiples interfaces Una clase solo puede heredar de una clase abstracta.
Implementación por defecto No. Si.
Constantes Solo Static final constants. Se puede estaticas y de instancia.
Orientación La interface define las caracterisiticas perifericas de una clase. Una clase abstracta define el comportamiento interno de una clase.
Homogeneidad Si las implementaciones solo se parecen en la firma, entonces es mejor usar interfaces. Si las varias implementaciones usan comportamientos comunes, es mejor usar una clase abstracta.
Velocidad Lento. Rapido
Agregar funcionalidad Es necesario revisar todas las implementaciones Se puede agregar el nuevo metodo a la clase abstracta y todas las implementaciones lo incorporan.

http://www.javaworld.com/javaworld/javaqa/2001-04/03-qa-0420-abstract.html?page=1

http://www.codeproject.com/csharp/abstractsvsinterfaces.asp

C# Interface Based Development

Una de las paradojas del desarrollo actual es que la disponibilidad de herramientas con grados de abstracción cada vez más altos ha hecho el convertirse en un programador de alto de nivel cada vez más difí­cil.

Si bien es cierto que se puede desarrollar en ASP .Net con el ratón, inevitablemente llega el momento del error extraño, o del requerimiento fuera del alcance de los asistentes y la ayuda en línea.

La única manera de salir de esos pozos es entendiendo el código base, debajo de la capa del IDE y de los asistentes. Point-and-click VB es un cómodo sillón, pero que flota en aguas turbulentas y más nos vale saber nadar.

Law of Leaky Abstractions:

All non-trivial abstractions, to some degree, are leaky.

Abstractions fail. Sometimes a little, sometimes a lot. There’s leakage. Things go wrong.

Joel Spolsky

Windows Mobile 6 Professional and Standard Software Development Kits Refresh

Por largo tiempo la mantra de Microsoft habia sido la compatibilidad entre versiones. De hecho una de las razones por la que Windows es el monstruo que es en terminos de los recursos que requiere es que cada nueva versión de Windows es un superset de la versión anterior. Pero ahora parece que con un mercado maduro la estrategia es forzar actualizaciones con incompatiblidades inducidas.

De cualquier forma, los cambios son demasido rapidos para que el mercado los absorba. La raza ni se dio cuenta de la existencia de Windows mobile 5.0 y ya hay Windows mobile 6. Aparentemente se trata de revolcar a la gata con un cambio de terminologí­a para empatar mejor con los sectores de mercado reales.

El antes y después:

antes despues
Windows Mobile for Smartphone Windows Mobile Standard (download the Windows Mobile 6 Standard SDK)
Windows Mobile for Pocket PC Windows Mobile Classic (download the Windows Mobile 6 Professional SDK)
Windows Mobile for Pocket PC Phone Edition Windows Mobile Professional (download the Windows Mobile 6 Professional SDK)

SDKs:

  • Windows Mobile 6 Standard SDK
    • Windows Mobile 6 Standard (176×220 pixels - 96 dpi)
    • Windows Mobile 6 Standard Landscape QVGA (240×320 pixels - 131 dpi)
    • Windows Mobile 6 Standard QVGA (320×240 pixels - 131 dpi)
  • Windows Mobile 6 Professional SDK
    • Windows Mobile 6 Classic (240×320 pixels - 96 dpi)
    • Windows Mobile 6 Professional (240×320 pixels - 96 dpi)
    • Windows Mobile 6 Professional Square (240×240 pixels - 96 dpi)
    • Windows Mobile 6 Professional Square QVGA (320×320 pixels - 128 dpi)
    • Windows Mobile 6 Professional Square VGA (480×480 pixels - 192 dpi)
    • Windows Mobile 6 Professional VGA (480×640 pixels - 192 dpi)

Referencia:

Microsoft Reveals New Windows Mobile 6 Smartphone Software, Improves World’s Fastest-Growing Mobile Operating System

.NET Compact Framework 2.0 Redistributable

SDKs, Redistributables & Service Packs

Shared Source Common Language Infrastructure 2.0 Release

Windows CE 5.0: Standard Software Development Kit (SDK)

Microsoft Windows CE 5.0 Device Emulator

Device Emulator: ARMV4I BSP for Windows CE 5.0

How Microsoft Lost the API War

C/C++ development with the Eclipse Platform

HOW TO: Use CDT and MinGW for Eclipse (i.e. develop C/C++ applications in windows)

(more…)