Tag Archives: .Net

Errores de software en portales de Internet

Hay veces en la vida en que algún programador mete la pata. Y hay veces en que esas metidas de pata se prolongan en el tiempo. Muchas veces esos períodos de tiempo son tan largos que las metidas de pata del programador se convierten en clásicos.

Un clásico es el portal de noticias Observa, del que soy fiel lector. Pero creo que en realidad lo que me hace fiel es poder esperar estos momentos de regocijo en que el programador de Observa mete la pata y salta un error en la página principal que se ve así:

error-observa-01

Hay varias cosas que nosotros programadores debemos tener en cuenta a la hora de poner un sistema en producción y que Observa es un caso claro no tiene.

1) Hay que crear páginas de error personalizadas. Para eso recomiendo leer este artículo: http://www.smashingmagazine.com/2009/06/12/effective-maintenance-pages-examples-and-best-practices/

2) Hay que deshabilitar en producción las páginas de error que tira el .net Framework. Así que alguien de desarrollo de Observa tendrá que leer este artículo: http://msdn.microsoft.com/es-es/library/h0hfz6fc(VS.80).aspx

3) Hay que ser muy celoso de la seguridad. ¡Paranoico! Porque una de las primeras cosas que aprendí respecto a seguridad es que el posible atacante no debe ni siquiera saber en que tecnología funciona nuestro sitio web.

Si vemos la imagen anterior, encontramos que hay dos links que presionando el primero nos muestra un montón de rutas y versiones de archivos y presionando el segundo nos muestra el código fuente de la aplicación.

error-observa-02

4) Descubro analizando el código que el sitio de Observa está hecho todo a mano y no con un CMS (ya lo sabía de antes pero sirve para ejemplo), por lo cual eso aumenta la posibilidad de errores porque hay que tocar código. Un CMS, aunque sea propietario, permite hacer cambios a través de configuraciones y no a través de código.

5) Proceso de Testing: el testing hoy en día es muy importante porque nada puede fallar. Es por eso que deben existir los casos de uso y las matrices de trazabilidad. Cada vez que se cambia una funcionalidad hay que volver a probar todos y cada uno de los casos de uso.

Pero no solo eso. Hoy en día se hacen diferentes tipos de testing e incluso se contrata a empresas especializadas, como es el Centro de Ensayos de Software.

6) Control de errores: .Net Framework nos entrego a los programadores de plataforma Microsoft la belleza americana del control de errores estructurado: Try Catch. Úsenlo al máximo con todo su potencial:

Try Catch When Finally End Try

Deben existir casos para todas esas partes y conocer de antemano que excepciones se pueden dar. Incluso los componentes internos tienen que implementar Excepciones y devolver Excepciones cuando sea posible. Eso lo aprendí del código de  Intellikon y funcionaba muy bien!

7) Podemos hablar durante horas de esto y seguir apareciendo errores, por eso, ningun software está libre de errores. El error de programación es imposible de evitar siempre, porque por su naturaleza, no se pueden preveer todos los caso. Los clientes también deben entender eso. Por eso es bueno recordar las 4 variables del software: Cronograma, Alcance, Presupuesto y Calidad. Cuando se contruye software, una tiene que ser variable y todas las demás fijas.

Para finalizar, unos chistes sobre bugs de software:

http://cliquee.net/2007/05/bug-o-mania-story-of-software-bugs/

Creadores de Lenguajes de Programación

Hay algunas personas que quedan en la historia por ser creadores de los diferentes lenguajes de programación que cada día utilizamos para crear nuestras obras de ingeniería.

Así que conozcámoslos en la siguente página: http://www.angelfire.com/tx4/cus/people/

Microsoft apoya a los startups justo cuando falta el dinero

Microsoft desde hace un tiempo está lanzando herramientas para emprendedores no solo de software, sino que notó que el emprendedurismo está pegando fuerte en todo el mundo. Como decía uno de los exponentes del área de negocios de la Expo Management 2008, este es el siglo de los Emprendimientos.

Así que con toda la movida de la nube y compitiendo con Google, Microsoft redobla la apuesta y ofrece el sitio Microsoft Startup Zone que tiene como estrella principal el BizSpark.

En este caso, Microsoft apunta a los nuevos ISVs apoyándolos con herramientas de desarrollo. Pero además, con BizSpark ofrece acceder a servicios hosteados a emprendimientos que cumplan con ciertos requerimientos. Básicamente, que estén funcionando desde hace más de 3 años, que sean empresas de desarrollo de software y que estén desarrollando aplicaciones entregadas como servicios: S+S (o SaaS, como otros le llaman).

El único problema que hay para Uruguay es que aún no hay un “network partner” de BizSpark en nuestro país. Si los hay para varios otros países del mundo.

Microsoft Web Application Intaller (AI)

Microsoft de vez en cuando da alguna sorpresa. Esta realmente no me la esperaba. Sabía que en IIS7, se había hecho un gran esfuerzo para correr aplicaciones PHP con la misma facilidad que una aplicación .Net, pero no sabía que Microsoft iba a lanzar un producto llamado “Web Application Installer“.

Este producto, aun en Beta, es un paquete de preinstalación de aplicaciones Open Source que son muy populares y que siempre se las ve atadas a LAMP (Linux, Apache, MySQL y PHP). De forma que esto vendría a ser un WISP, por Windows, IIS7, SQL Server Express y PHP. Solo espero que no sea algo que con el tiempo se haga humo y se empiece a diluir despacito hacia las nubes.

Con el Web AI se puede instalar:

osCommerce: comercio electrónico

Drupal: CMS

WordPress: Blogging

phpBB: Foros

DotNetNuke: CMS (es .net, no php)

y algunas otras aplicaciones.

Con el tiempo dicen que irán agregando otras. Supongo que aparecerá Joomla, que está muy de moda aunque hacer un Tema para Joomla es más dificil que arrastrar a patadas una ballena muerta, por la playa.

Para instalarlo, solo se necesita un Windows Vista o un Windows Server 2008. Se puede instalar el Windows Plataform Intaller y luego el Windows Application Installer, donde se selecciona las aplicaciones que se desean. El Plataform Intaller trae: IIS7, Visual Web Developer 2008 Express Edition, SQL Server 2008 Express Edition y el .NET Framework. En el Plataform Installer deberían haber puesto MySQL, pero al menos lo pusieron en el Application Installer.

Creo que esto es una excelente jugada de Microsoft no solo para pelear contra Linux, sino que también para entregar a los usuarios de su sistema operativo algo que estábamos esperando: interoperabilidad con las tecnologías actuales. Quienes hayan tratado de instalar PHP en Windows 2003, saben de lo que hablo (¿te acordás Claudita del Mantis?)

Nota: seguramente solo Ernanton va a entender el chiste.

Trabajo Freelance Ofrecido ¡Tu oportunidad!

Estimados lectores,

estoy teniendo varios proyectos freelance de programación y diseño, a la vez que estoy trabajando en generar nuevas oportunidades de negocios.

Por lo cual, ofrezco trabajo en las siguientes ramas:

- Programación en lenguajes .Net para componentes y aplicaciones de escritorio.

- Programación PHP con MySQL para Web.

- Configuración de Joomla, WordPress y otros CMS.

- Diseño gráfico para Internet.

- Venta de hosting y sitios web prefabricados.

Quienes estén interesados pueden escribirme a freelance@ideamericas.net adjuntando un Currículum Vitae, la cantidad de horas libres semanales y las tecnologías que conocen o les gustaría trabajar. No importa el nivel de experiencia, aunque si se requiere un compromiso firme y mucho espíritu para aprender cosas nuevas.