domingo, diciembre 03, 2006

Desarrollador o diseñador gráfico?




Muy dentro de sí todos los desarrolladores llevan un diseñador grafico tratando de salir. Y si eso pasa habra problemas, bueno para los usuarios de sus sistemas.

Un desarrollador necesita un pequeño formulario, con uno o dos textos nada mas, luego se van agregando mas textos y mas etiquetas para configurar ciertos aspectos útiles durante el desarrollo, pero serviran para el usuario final? dificilmente.

Yo soy otro que aprendió a golpes que en el desarrollo de sistemas existen especializaciones en cada uno de los procesos del mismo y que algo tan simple de mencionar como la usabilidad (mas adelante pondré un post acerca de ésto), se está convirtiendo en uno de los aspectos mas importantes en los nuevos sistemas.
O acaso nunca hemos visto un sistema antiguo desarrollado y diseñado visualmente por nosotros mismos y decimos, "ups....que horrible" o "y ésto como funciona?"

Basado en el post aquí

miércoles, noviembre 22, 2006

¿Por qué es tan difícil desarrollar software de calidad en plazo?


Porque solo construimos software que nunca ha sido construido antes. Al menos eso es lo que se afirma en Coding Horror , un excelente blog tenico.
Tras las ya tradicionales criticas al modelo de desarrollo en cascada y las recientes criticas al desarrollo agil, el debate no se detiene. Si la informatica no es ciencia ni ingenieria, y pensamos que programar no se parece a las matematicas, entonces a que se parece el desarrollo de software? Como podemos mejorar el proceso? Surgira una nueva metodologa en el futuro?


Tema Original http://barrapunto.com/article.pl?sid=06/11/21/1013230

lunes, noviembre 13, 2006

Programación orientada a objetos...demostración técnica




Qué es la programacion orientada a objetos?

La programación Orientada a objetos (POO) es una forma especial de programar, más cercana a como expresaríamos las cosas en la vida real que otros tipos de programación.

Con la POO tenemos que aprender a pensar las cosas de una manera distinta, para escribir nuestros programas en términos de objetos, propiedades, métodos y otras cosas.

Pero muchos documentos teóricos podemos encontrar en internet, pero nada como una explicación técnica con ejemplos de código que demuestran como se hace una misma cosa en forma orientada a objetos y en forma procedural.

El texto y la explicación aqui

sábado, octubre 14, 2006

Complejidad de Algoritmos




Para cualquier programador con una buena formación es un tema más que conocido. Sin embargo, muchos desconocen el concepto de complejidad, pudiendo razonar a duras penas sobre la eficiencia de sus programas.

Cuando se analiza la complejidad de un algoritmo lo que se hace básicamente es contabilizar la operación “más gastadora” (ya sea en tiempo, memoria o ancho de banda) o el cojunto de “operaciones gastadoras” que se realizan cuando el programa recibe una entrada de tamaño “n” .

Articulo original aqui

martes, octubre 10, 2006

Hoja Electrónica en Linea




Para los que tienen cuenta de Gmail, Google recien libero Google Spreadsheets
con muchisimas funcionalidades entre las que se encuentran formulas matemáticas, financieras, estadísticas, lógicas, de texto y de información de las celdas. Funciones de copiar, pegar, pegado especial, formato de texto.

Además de las funcionalidades comunes de una hoja electronica pemite “compartirla” con otros usuarios de gmail, exportala en formato de Excel (xls), en formato separado por comas (csv) o en html.

Google almacena las hojas electrónicas, y permite el manejo de ellas, se pueden tener varias hojas y hacer referencia a informacion en las otras hojas, en resumen, la funcionalidad es muy buena, yo lo estuve utilizando, es muy facil de manejar.

Si quieren informacion adicional pueden ver este tour por el producto Google Spreadsheets Sneak Peek

Noticia original aqui

lunes, octubre 09, 2006

Leyes de Murphy




Algunas leyes de Murphy

# Nada es tan fácil como parece.
# Todo lleva más tiempo del que usted piensa.
# Si existe la posibilidad de que varias cosas vayan mal, la que cause más perjuicios será la única que vaya mal.
# Si usted intuye que hay cuatro posibilidades de que una gestión vaya mal y las evita, al momento aparecerá espontáneamente una quinta posibilidad.
# Cuando las cosas se dejan a su aire, suelen ir de mal en peor.
# En cuanto se ponga a hacer algo, se dará cuenta de que hay otra cosa que debería haber hecho antes.
# Cualquier solución entraña nuevos problemas.
# Es inútil hacer cualquier cosa a prueba de tontos, porque los tontos son muy ingeniosos.
# La naturaleza siempre está de parte de la imperfección oculta.

mas información aquí

y algunas otras leyes, aunque yo les llamaria corolarios aquí

viernes, octubre 06, 2006

Una guía de como ser Freelance

Ésta es una pequeña guía de sugerencias sobre como dedicarse al mundo freelance o de consultorías o de servicios, o como quieran llamarle. Una guia orientada no necesariamente al area de IT. La guía aquí

sábado, septiembre 30, 2006

Mensaje



Ésta imagen habla por si sola.

martes, septiembre 26, 2006

Enviar mensajes SMS utilizando VB

Un pequeño ejemplo de como enviar mensajes SMS a telefonos celulares. En realidad es algo mas sencillo que eso, ya que las compañias telefonicas tienen un buzón de correo estandar SMTP generalmente formado por el numero de celular y la direccion de buzon al cual se pueden enviar correos sin formato y son redirijidos hacia el protocolo SMS.

El codigo fuente y la explicación aqui.

lunes, septiembre 25, 2006

Un verdadero escritorio 3D con XGL y una Touch Screen

Hasta ahora, las increíbles posibilidades del escritorio 3D
expuestas por la combinación de XGL + Compiz sólo parecían
pasar sólo por lo visualmente estético. Sin embargo, los
siguientes videos (enviados por Patricio Maciel) sugieren una
aplicación increíblemente práctica de la tridimensionalidad
de XGL usando una pantalla sensible al tacto touch sreen".
¿Un vistazo del futuro de las interfaces gráficas?










viernes, septiembre 22, 2006

Gadgets


P990_PIU_lying_down.jpg

Sony Ericsson P990i Las especificaciones son realmente impresionantes, es una terminal GSM 900/1800/1900, con conectividad UMTS, Bluetooth, USB, RS232, puerto infrarojo y WIFI (WLAN 802.11b), la cámara de fotos es de 2megapixels y soporte para Memory Stick Pro y DUO...

El diseño es realmente lindo, mejoraron bastante con respecto a la P910 y, sobre todo le han agregado muchas funciones, por ejemplo lector de RSS incorporado , captura de video, una versión Lite de Flash, SVG tiny, autofoco, y ya preparado para videollamadas.

P990_open_front_2.jpg

Incluye el modo "flight" en donde se corta toda transmisión, para poder ser usado en aviones pero permite que el sintonizador de FM incluído siga funcionando.

P990_Camera_2.jpg

El display es de 240x320 pixels, touchscreen y de 262,000 colores; la memoria interna es de 80Mb, y las tarjetas MemoryStick que aceptan son las de hasta 2Gb, a nivel email acepta todos los protocolos (hasta el de las BlackBerry!), el talktime es en UMTS de hasta 3 horas y en GSM hasta 9horas.

miércoles, septiembre 20, 2006

Escritorios 3D: Windows Vista Aero Glass vrs Apple Spaces vrs Linux XGL/Compiz

Una comparación visual de la última generación de escritorios y sus gestores de ventanas. Gestores de ventanas son en las palabras mas sencillas las herramientas que se encargan de dibujar lo que el Sistema Operativo solicita. Mas información sobre Gestores de ventanas aqui

Aero Glass de Windows Vista: la proxima versión del sistema operativo de Microsoft que saldrá a luz aproximadamente a principios del 2007, utilizará como gestor de ventas el Aero Glass



Apple Spaces para Mac OS: Apple prepara un gestor de ventanas llamado Apple Spaces que será el encargado de embellecer aún mas éste sistema operativo.



XGL/Compiz para Linux: De los tres en contienda éste es el único que ya esta en uso desde hace algunos meses mientras que como deciamos, Windows y Mac aún trabajan en ello.


martes, septiembre 05, 2006

Enemy Territory en mi Kubuntu




A pesar de lo limitada que es mi tarjeta de video (64 Mb Compartidos) trate de instalar Enemy Territory en mi desktop, Enemy Territory es un juego gratis para jugar en línea, de hecho es de los juegos que más me gustan a pesar de ya tener varios años de haber salido, pero al ser gratis e instalarse facilmente en Linux es una ventaja, lo pueden descargar desde aquí.

Siempre lo había jugado en Mandrake/Mandriva asi que decidi hacer la prueba en kubuntu, pense que me marcaria errores por la tarjeta de video, pero para mi grata sorpresa no fue asi, el juego corre muy bien con los parametros visuales en el rango medio, lo cual es para mi más que suficiente para tener una buena experiencia de juego.

El único problema que se tiene es con el sonido ya que el juego usa OSS por default, así que para kubuntu no tendremos sonido al instalar el juego, para resolver este problema y de paso ver las instrucciones detalladas de instalación pueden leer el wiki, yo segui las instrucciones que aparecen ahí para lograr que se escuchara el sonido, con la salvedad que cada ves que reiniciaba el juego me volvia a quedar sin sonido asi que despues de buscar un poco encontre la solución definitiva aquí con estas pequeñas modificaciones se soluciona el problema del sonido.

lunes, septiembre 04, 2006

Cómo construir un simple motor eléctrico





Construir un motor eléctrico es a veces más fácil de lo que parece y se piensa, pues bastará con crear un campo magnético alrededor de un eje, para hacerlo girar. En este caso, utilizaremos una pila (da igual el tamaño) así como un tornillo, que servirá de eje, un cable de cobre y un imán en forma de disco de neodimio (supongo que vale cualquier imán, aunque se ha utilizado uno extraído de un juguete magnético).

el post completo aquí

Muere el Cazador de Cocodrilos




Era un amante de la naturaleza. Esta pasión le había convertido en una estrella en la televisión australiana. Hoy, ha encontrado la muerte haciendo lo que más le gustaba. Mientras grababa un documental, fue atacado por una raya con un aguijón venenoso.

la noticia aquí

miércoles, agosto 30, 2006

Half Life en 45 minutos

Uno de mis juegos favoritos es el Half Life original, ésta captura muestra como toparlo en tan solo 45 minutos. Por supuesto sin cheats.









martes, agosto 29, 2006

Aprender Inglés gratis

Creo que a todos nos gustaría tener un buen inglés, en internet hay una gran variedad de herramientas muy utiles y algunas pocas son además gratis. Aquí tengo algunas recomendaciones

Curso de ingles en linea con pronunciación:
Está dividido en lecciones y tiene ejercicios y pronunciación. Su mayor ventaja es que funciona en linea
http://www.aulafacil.com/CursoIngles/CursoIngles.htm

Curso con MS Agent:
Muy bonito y entretenido, talvez su única desventaja es que solo funciona bajo IE y windows.
http://www.e-aprender-ingles.com/

viernes, agosto 11, 2006

Curiosa protesta en linea




Reunir a 10.000 personas en el mundo real para hacer una protesta no es una tarea fácil. Dentro de un juego, parece que si. En China existe el juego “The Fantasy of the Journey West” de la compañia Netease. Es un MMORPG (Massive Multiplayer Online Role Playing Game), o en otras palabras, un juego de rol masivo online. Dentro del juego, existe la “Oficina del Gobierno de Jianye City”, donde un jugador notó una decoración bastante extraña en su salón principal. Al final de la sala hay un dibujo que tiene un gran sol rojo proyectando rayos hacia las extremidades, muy parecido al “Sol Naciente” de la bandera japonesa, y más especificamente a la bandera imperial naval que usaba la armada japonesa en 1930 cuando intentaba invadir China. Obviamente, los jugadores chinos se sintieron insultados y 3 días después del descubrimiento, 10.000 jugadores estaban reunidos protestando afuera del Palacio de Verano que albergaba la obra. Hasta el momento la compañia creadora y operadora del juego solo ha declarado el clásico “Sin Comentarios”.

Lo interesante de esto, es que un juego online puede reunir gente de todas partes del país facilitando que se puedan organizar grandes movilizaciones. Se evitan las bombas lacrimogenas, la brutalidad policiaca intentando controlar la turba enardecida, y se pueden lograr movilizaciones mucho mayores. El único problema es que para poder participar de una protesta online, necesitas al menos un computador con conexión a Internet. Algo que probablemente no sea tan poco común en el futuro cercano, al menos no tan poco común como una protesta online.

fuente: http://www.zonaeuropa.com/20060709_1.htm
 
Nota personal: Me gusta mucho jugar en linea especialmente el Counter Strike y siempre pensé que cuando habiamos 30 jugadores conectados al mismo escenario era un caos, pero 10000?

jueves, agosto 10, 2006

Sobrevolar New York, Londres o Disneyland Gratis

Creo que todos hemos visto Google Earth y sus muy detallados mapas 
de cualquier lugar del planeta, pues hay un juego en linea que permite
sobrevolar una avioneta por varias ciudades importantes del mundo
utilizando los mapas de Google.

http://www.isoma.net/games/goggles.html



viernes, agosto 04, 2006

Entre los 500 superordenadores más potentes del mundo ninguno corre Windows

Acaba de hacerse pública la clasificación bianual de los 500 supercomputadores más potentes del mundo y una conclusión parece clara: Linux arrasa.

(Kriptopolis) De estos 500 monstruos, nada menos que 372 (74.4%) corren Linux, mientras que 100 (20%) funcionan sobre otros UNIX y otros 4 lo hacen sobre BSD. Un papel anecdótico corresponden a los Mac OS (un 1%, con 5 supercomputadores).

Y tan destacables como las presencias, son las ausencias: ni un solo supercomputador, entre los 500 más potentes del mundo, funciona con Windows...

 fuente: http://www.kriptopolis.org/node/1449

viernes, julio 28, 2006

Experimentando con Visual Studio 2005


Ya hace tiempo que la comunidad de desarrolladores de .NET esperaba expectante Visual Studio 2005. La razón es que se trata de la primera gran revisión de .NET en general: Framework y producto desde que salió (Visual Studio .NET 2003 sólo fue una revisión menor)

Visual Studio 2005 se presenta lleno de novedades en el propio entorno de desarrollo, en el propio .NET Framework y en el propio lenguaje de programación.

Novedades principales que aporta

Novedades principales del entorno de desarrollo

Soporte para refactoring: Refactorizar es el proceso de modificar el código fuente pero sin modificar su temática. El objetivo es adherirse al best practices de desarrollo, hacer el código fuente más intangible, menos propensa a errores… El soporte para refactorización de Visual Studio 2005 permite, entre otros, convertir variables públicas a propiedades, promover variables locales a parámetros,…

Herramientas de testing integradas; Permite realizar tests unitarios, tests de estrés de aplicaciones ASP.NET i tests de coverage.

Nueva herramienta de control de código fuente. Substituye a Sourcesafe y proporciona una experiencia más orientada a la colaboración, con herramientas de merge manual y automático para soportar mejor operaciones de multiple check-outs i brnaching.

Just my code debugging. El depurador se puede configurar para que ignore código fuente de 3rd parties y depure sólo nuestro código fuente.

Smart tags: La funcionalidad más importante de controles (wincontrols i webcontrols) se agrupa en smart tags, Haciendo clic sobre el smart tag de un control se nos da acceso a un menú que se nos permite de forma fácil realizar las acciones más comunes sobre aquel control.

Edit-and-continue: Podemos depurar, cambiar código mientras estamos depurando (en un breakpoint) y en la mayoría de casos, seguir la depuración.

Auto using: El entorno es capaz “de auto incluir” aquellas sentencias “using” que no hayamos puesto en el código fuente i que sean necesarias para las clases que estemos utilizando.

Soporte para SQL Server 2005: posibilidad de desarrollar componente para SQL Server 2005, directamente desde Visual Studio 2005, incluyendo el deploy.

Novedades principales en los lenguajes

Soporte para genéricos. Los genéricos permiten definir clases parametrizables con parámetros que son de otras clases (al estilo de los templates de C++). Ésta característica está soportada a nivel del CLR, i por lo tanto está soportada por todos los lenguajes.

Partial types. Permiten una misma clase en más de un fichero de código fuente. P.ej. Visual Studio 2005 utiliza esta característica y en el caso de winforms separa en un fichero de código fuente el código auto generado por el “component designer” y en otro fichero diferente el código del usuario (Visual Studio .NET 2003 lo mantenía todo en el mismo fichero de código fuente).

Enumeradores: Facilitan enormemente la creación de clases que soporten for… each

Nullable Types: Implementados gracias a los genéricos, permite que los tipos por valor (como p. ej. Int32 o Int64) puedan tener el valor null.

Mejoras especialmente pensadas para p/invoke como la posibilidad de declarar arrays de tamaño fijo.

Novedades principales de ASP.NET

Master pages: En ASP.NET 1.x si se quiere mantener un layout consistente en un conjunto de páginas de un site, se había de encapsular este layout en uno o varios web user controls (.ascx) e incrustar los controles en cada página. En ASP .NET 2.0 se proponer seguir el enfoque contrario: el layout común es diseñar una sola vez y se coloca en un único sitio: la master page. A cada master page se define uno o más “placeholders” que en tiempo de ejecución contendrán las diferentes páginas. Visual Studio 205 ofrece un soporte visual completo para master pages.

Expression syntax: Permite definir expresiones que se evaluarán antes de procesar la página. Se utiliza en el nuevo sistema de localización implementado en ASP.NET y se puede usar también para establecer determinados valores de control de forma dinámica, antes de que la página ASP.NET sea procesada por el Framework (p. ej. Cadenas de conexión)

Nuevos controles de alto nivel: Controles de login/logout, sitemaps, wizards…

Herramienta de configuración: Una nueva herramienta de configuración (web) permite configurar el fichero web config sin necesidad de editar el XML.

Localización basada en ficheros de recursos: Similar a los winforms de Visual Studio .NET 2003: Un fichero de recursos para cada locale y en tiempo de ejecución el motor de ASP.NET substituirá automáticamente los valores de las propiedades de los controles indicador para los valores contenidos en el fichero de recursos utilizados.

API para personalización y para webparts.

Nuevo servidor web integrado. No es necesario tener un IIS instalado en la máquina para crear y depurar aplicaciones ASP.NET. Adicionalmente las aplicaciones ASP.NET pueden crearse en cualquier directorio de disco (sin necesidad de definir ningún directorio virtual).

Nuevo API de configuración más flexible.

Novedades principales de ADO,NET

No es propiamente una novedad de ADO.NET sino de ASP.NET i de winforms. Permiten abstraer el resto de las aplicaciones del data provider utilizado.

Objeto DataTableReader permite iterar para los valores de un DataTable de forma rápida i eficiente.

Posibilidad de cambiar manualmente el RowState de una o varias filas de un DataTable.

Novedades principales de Compact Framework

SQL Server 2005 Mobile que substituye SQL Server CE i ofrece un rendimiento superior y la posibilidad de tener más de una conexión simultánea contra una misma BBDD. Además las BBDD de SQL Server 2005 Mobile pueden gestionarse a través de Visual Studio 2005 (o del SQL Management Studio).

Soporte para clases del .NET Framework que no estaban soportadas en la versión anterior ( a destacar entre otros; soporte para el registro, MSMQ, Threads y puertos serie).

Visual Studio Team System

Visual Studio Team System es un conjunto de herramientas que ofrece soporte a todo el ciclo de vida de un proyecto. Se compone de dos partes principales: un servidor (Visual Studio Team Foundation Server) y un cliente (Visual Studio Team Edition), que partiendo de Visual Studio 2005 Professional añade herramientas adcionale para: testing, profiling, modelage en UML, análisi estático y dinámico de código entre otros.

fuente http://www.raona.com/Actius/VisualStudio2005/tabid/140/Default.aspx

Nota personal: luego de utilizar Visual Studio 2005 en conjunto con
SQL Server 2005, puedo dar fé de una gran cantidad de mejoras
en el Entorno de Desarrollo (IDE Interface Development Enviroment)
principalmente en la integración, además de la implementación de
nuevas herramientas de distribución como Click Once (muy recomendable).
Como punto en contra una barbaridad de requerimientos
de memoria (trabajé con 2Gb. de RAM y se quedaban cortos)
y grandes problemas para la
migración de proyectos de Visual Studio 2003, principalmente
con el Crystal Reports.

jueves, febrero 02, 2006

primer comentario

Hoy inicio mi blog, siempre que pueda pondré comentarios en él o posteos interesantes.