Comportamiento Indefinido

Diciembre 23, 2007

Browser Wars

Guardado en: Comparativa — DavidGR @ 9:40 pm

Hace un par de años un navegador era solo una aplicación más, pero hoy en día la gente pasa mucho más tiempo en este que en cualquier otro programa. Ahora no solo se utilizan para leer noticias y leer correos, sino que se corren aplicaciones complejas que antes solo se encontraban como aplicaciones de escritorio (por ej: procesadores de texto).
Por eso hoy en día es elemental que un navegador pueda soportar una amplia gama de tecnologías mientras se mantiene seguro y brinda otros servicios.
Con el 2008 a la vuelta de la esquina ya podemos ir viendo como va a ser la próxima generación de navegadores, en esta comparativa vamos a ver 3 de los 4 navegadores más populares (Internet Explorer queda afuera porque en este momento no existe ninguna beta del IE8).
La verdad que cuando se habla del “mejor” navegador es algo bastante subjetivo, cada navegador tiene algo en lo que es superior al resto, así que la desición de cada uno está dada por cuál es la característica que les resulta más útil. Pero digamos que cualquiera de los 4 navegadores cumple con todas las funciones necesarias básicas para el uso de internet.


versión: Firefox 3.0 Beta 2
fecha de salida: Marzo - Abril 2008

En este momento estoy utilizando el Firefox 3.0 Beta 2 para escribir esto, básicamente toma todo lo que era bueno del Firefox 2 y lo mejora. En cuanto a performance es almenos dos veces más rápido que el último firefox.
Esta nueva versión tiene soporte para imagenes del tipo APNG (Animated PNG) que permiten imagenes animadas con diferentes niveles de transparencia y mayor detalle.

La mejora más notable, fue la transformación que sufrió el historial de sitios visitados, el cual muestra mucha más información sobre el sitio y permite buscarlos utilizando cualquier parte del nombre o la descripción.
Por el momento, y en mi humilde opinion, el Firefox 3.0 va a ser el mejor de los navegadores de próxima generación.


versión: Opera 9.5 Beta
fecha de salida: eh?

Si existiera la justicia en este mundo Opera sería uno de los navegadores más populares (sino el más popular) ya que fue pionero en muchas de las cosas que tomamos hoy en día por sentadas. E incluso hoy en día tiene muchas más utilidades que el resto de los navegadores.
La razón de su poco éxito se debe probablemente a la mala fama que gano cuando era pago, o cuando era gratuito mantenido por propagandas, y aunque hoy en día es completamente gratuito todabía mantiene ese estigma.
Esta nueva versión del Opera trae muchas mejoras, pero la más importante es el reemplazo del motor de javascript que usaba, que era bastante inferior al del IE o del Firefox, cosa que con los sitios modernos que usan fuertemente AJAX y Web2.0 (Lo que sea que signifique eso) era una gran desventaja.
La única razón por la que no utilizo Opera como navegador de uso diario es simplemente porque me acostumbré a un par de agregados del Firefox, de los cuales no pude conseguir equivalentes en Opera, pero aparte de eso no existe ninguna excusa para no darle una oportunidad para este excelente navegador.

Diciembre 20, 2007

Duke Nukem Forever!!!!!!!

Guardado en: FPS, Juegos — DavidGR @ 1:01 am

El vaporware favorito de todos ha regresado con un nuevo trailer, para darle esperanzas a todos los (ya viejos) fanaticos de la saga.
Este es el tercer trailer que vemos del Duke Nukem Forever, el primero fue en el 98, y el segundo en el 2001, y podemos decir con lo poco que se ve en el video, que no estamos para nada impresionados para un juego que lleva 11 años en desarrollo.
Ahora solo resta esperar a algún video que demuestre el gameplay, o más probablemente, un nuevo anuncio informando la cancelación de este nuevo proyecto (no queremos romper la costumbre, no?).

En este sitio se puede ver la muy interesante historia del desarrollo del juego (en inglés).

Diciembre 15, 2007

Buscadores de código

Guardado en: Uncategorized — DavidGR @ 3:48 pm

Últimamente se volvieron incrementalmente populares los motores de búsqueda especializados en encontrar código fuente. Aquí una comparación de los más populares:


Google Code Search:
Obviamente el lider indiscutido de las búsquedas de internet no podía quedarse afuera de la lista, aunque lamentablemente Code Search decepciona. No me tomen a mal, cumple su función, y lo hace bastante bien, pero le faltan varias características que lo sitúan por debajo de otras opciones.
La interfaz es similar al buscador normal de google, y una pequeña lista nos informa de los comandos que podemos utilizar para customizar la búsqueda. Utilizando estos comandos podemos especificar tanto el lenguaje y la licencia del código que queremos buscar, y lo más útil, permite utilizar expresiones regulares (RegEx).
Los mayores puntos en contra que tiene este buscador son:
Imposible especificar qué estamos buscando:
Code Search no nos permite discriminar entre buscar solo clases o métodos que contengan los términos dados, lo que nos obliga a recorrer una cantidad mayor de resultados.
No resalta la sintaxis:
La única parte del código que se identifica con un color diferente son los comentarios, el código en sí es uniforme, cosa que juega mucho en contra a la hora de leerlo.

Krugle:
Krugle es otra opción a la hora de buscar código, en la pantalla principal podemos elegir el lenguaje y en donde buscar, y si deseamos el nombre del proyecto. Es particularmente interesante la ventana de resultados, que nos permite abrir varios de estos en pestañas, sin perder la ventana original de resultados, y mientras se observa el código se puede explorar a la derecha el proyecto del que es parte.
Además, Krugle proporciona plugins de busqueda para IE, Firefox, y el IDE Eclipse.

NetBeans 6.0 Disponible

Guardado en: Uncategorized — DavidGR @ 12:06 am


Buenas noticias para todos los fanáticos de este IDE, el miércoles fue liberada su versión 6.0, que trae una gran cantidad de novedades y mejoras, entre las que se destacan:

  • Mejorados el “code completion”* y resaltado de código
  • Soporte para Ruby/Ruby on Rails
  • Instalación y actualización simplificadas
  • El diseñador de GUI ahora tiene soporte para SWING
  • Un Profiler viene integrado en el IDE

Y una gran cantidad más de cambios que se pueden ver aquí.

El soporte para SWING y el Profiler integrado hacen que este IDE sea una propuesta más que tentadora para el programador de Java.

Con todos estos cambios y agregados NetBeans se volvió una opción mucho más interesante y la verdad que vale la pena descargarlo y probarlo (además con sus 169 MB en su versión full es una descarga bastante pequeña).

En los próximos días voy a postear una review sobre el funcionamiento de esta nueva versión.

*Si alguien tiene idea como traducir “Code Completion” se lo voy a agradecer mucho

Diciembre 14, 2007

Java4k

Guardado en: Juegos, Links Interesantes, Programación, Uncategorized — Etiquetas:, , , — DavidGR @ 1:19 am

Java4K es una competencia de desarrollo de videojuegos con una premisa muy simple, hacer el mejor juego posible que entre en 4 kilobytes.
A pesar del limitado tamaño, la mayoría de los juegos son bastantes complejos y entretenidos. Y es especialmente interesante ver los consejos que dan para mantener el tamaño del .jar lo más pequeño posible.

Diciembre 13, 2007

NaturalSort

Guardado en: Articulos, Programación — Etiquetas:, — DavidGR @ 11:05 pm

idea original: www.codinghorror.com
Si le mostramos la siguiente secuencia de archivos a una persona normal (léase no-programador):

  • abc1.txt
  • abc10.txt
  • abc100.txt
  • abc15.txt
  • abc2.txt
  • abc3.txt
  • abc45.txt
  • abc6.txt


Nos va a decir que esa secuencia se encuentra desordenada, mientras que si se la mostramos a un programador, probablemente nos diga que se encuentra en perfecto orden. Esta diferencia de razonamiento se debe a que el programador está acostumbrado a la forma en que los lenguajes ordenan una serie de cadenas.
Pero esta forma de ordenar (ASCIIbeticamente?) es generalmente confusa para el usuario que espera una forma mucho más natural:

  • abc1.txt
  • abc2.txt
  • abc3.txt
  • abc6.txt
  • abc10.txt
  • abc15.txt
  • abc45.txt
  • abc100.txt


El problema se origina en que los programadores llaman al ordenamiento del lenguaje y no le dedican mayor pensamiento, y si el programador quiere utilizar el ordenamiento más natural, se ve obligado a crear su propia implementación, debido a que prácticamente ningún lenguaje trae por defecto un ordenamiento “Natural” (NaturalSort de ahora en adelante).
Obviamente, si se desea una solución fácil, se puede simplemente preceder los números con una serie de ceros, quedando:

  • abc001.txt
  • abc002.txt
  • abc003.txt
  • abc006.txt
  • abc010.txt
  • abc015.txt
  • abc045.txt
  • abc100.txt


Que si bien funciona tiene la desventaja de que se debe saber por anticipado el rango que van a tener los archivos.

Si se busca en internet se pueden encontrar varias implementaciones del NaturalSort, pero lo divertido es tratar de implementarlo uno mismo.
Teniendo en cuenta que es una tarea bastante trivial, cualquier programador que se precie debería poder hacerla en 40 lineas o menos, lo dejo como desafío.

Blog de WordPress.com.