Manejando Fechas al Programar (PHP)

La manera más facil y efectiva de manejar las fechas cuando estas desarrollando una aplicación (en este caso usando PHP) es usar fechas en formato “UNIX timestamp“. Podemos definir a las fechas en formato UNIX timestamp como la cantidad de segundos que han pasado desde 1 Enero, 1970 a las 00:00:00 GMT, lo que nos permite facilmente ejecutar calculos para transformar valores de fecha y tiempo.

Pero este formato no es perfecto, tiene características que pueden afectar tanto su uso como el funcionamiento, una de ellas es que no es leible por humanos normales (a menos de que seas Sheldon Cooper), por ejemplo si me preguntaras ¿Qué día es hoy? y te respondo 1309666385 ¿Estarías en capacidad de interpretar el numero y obtener la fecha en que necesitas?, seriamente lo dudo.

El otro inconveniente es que este formato solo puede usarse en un rango limitado dependiendo del Sistema Operativo. En sistemas basados en GNU/Linux puedes retroceder hasta el año 1902 y avanzar hasta el año 2037. En Windows el limite menor es “Enero 1, 1970” debido al tamaño del numero en UNIX timestamp. Cualquier Sistema Operativo puede manejar enteros hasta un tamaño especifico (2 levado a la 32, o 4.249.967.296 para 32 bits) despues de esta cifra se necesita más trabajo para manejar numeros grandes. Por materia de eficiencia este “maximo” es impuesto para valores importantes como horas y fechas. Linux permite tener valores negativos para ambos y por ende puedes obtener fechas anteriores al limite menor. Algunos se preocupan por estos limites, inclusive acuñan al problema como un segundo Y2K, yo tengo la confianza de que para el 2038 ya todos los Sistemas Operativos de 32 bits habran sido reemplazados y no esto no será un problema.

Lo anterior deberia preocuparte si estas pensando desarrollar una aplicación que necesite planificar tanto para el futuro como para el pasado o que simplemente permita el registro de personas donde uno de sus campos sea la fecha de nacimiento, pero para todo existe una solución. Existe otra razón para estar pendientes y es debido a la presentación de las fechas en numeros enteros, por ejemplo si tenemos la fecha Enero 2, 1970 en formato UNIX sera mucho mas corta en digitos que Mayo 13, 2009. Si vas a almacenar fechas o horas en formato UNIX timestamp en una base de datos asegúrate de que el campo tenga una longitud de 10 digitos y eso bastara para almacenar fechas lo suficientemente largas para mantener tu sistema ejecutandose unos cuantos años.

MySQL tiene su propio formato de timestamps y es mas sencillo de usar, su formato es “YYYY-MM-DD HH:MM:SS” y normalmente es almacenado en su propio tipo de columna llamado “datetime”. Si necesitamos usar comparaciones y ordenamiento simple este formato funciona muy bien usando las funciones internas del RDBMS; adicionalmente tienen la ventaja de ser legible por humanos y su longitud es predecible lo que lo hace más fácil para validar, pero si necesitamos que nuestra aplicación sea flexible a la hora de cambiar de manejador de base de datos y no dependa tanto de funciones internas de MySQL es preferible usar UNIX timestamps.

A la hora de hacer operaciones complicadas relacionadas con fechas u horas terminaras convirtiendo todo a UNIX timestamps, haciendo tantas conversiones manejando grandes porciones de datos probablemente caigas en el uso excesivo de recursos de Hardware altamente valiosos que pueden aminorar la velocidad de tu aplicación. Yo era estricto al usar MySQL timestamps y casi todas mis aplicaciones “viejas” las usan pero luego de estudiar más el tema comprendí la ventaja de usar UNIX timestamps.

La epifania llega al momento de hacer operaciones con intervalos de tiempo, es mucho mas facil usar UNIX timestamps a la hora de hacer ordenamiento, adiciones, substraciones y comparaciones entre dos fechas, ayuda a mantener consultas mas simples y a no comprometer la compatibilidad de tu aplicación si Oracle decide cambiar alguna funcionalidad de MySQL. En PHP tal facilidad viene de mano de la función “mktime()” que nos permite construir Unix timestamps usando segundos, minutos, horas, meses, dias y años de la fecha/hora necesaria. Imaginandonos que tenemos un sistema con millones de usuarios (Facebook, twitter, etc.) y donde cada bit de información es importante yo seguiria usando UNIX timestamps dado a que los campos “date” y “datetime” ocupan más espacio que uno “INT(10)”, quizas les paresca descabellado pero cuando tenemos 500 millones de usuarios cada bit (termina acumulandose y formando petabytes) de información que se almacena o se transmite a traves de DataCenters localizados en distintas partes del mundo es muy importante que esa data sea la más depurada y liviana posible, tal principio parece innecesario para una pequeña aplicación, pero su uso ahora puede ser un salvavidas mañana.

Finalmente es tema de opinion, MySQL también ha incluido funciones internas que hacen el manejo de UNIX timestamps más sencillo y flexible, eres libre de estudiar el tema y opinar al respecto en la sección de comentarios. Saludos.

PANICO! en la comunidad de desarrollo de Microsoft

Microsoft Logo outiside Office Al finalizar la gran demostración de Windows 8 (Windows 7 con una interfaz mas avanzada de lo que existe para Windows phone) se hablo de la posibilidad de crear aplicaciones para este sistema operativo usando HTML5 y JavaScript. Como HTML5 tiene una gran lista de características que amenazan la continuidad de Flash y Silverlight las especulaciones crecieron de manera exponencial, el pánico se extendió a través de comentarios por muchos de los foros de la comunidad de terceros y todo lo que se puede “escuchar” es rumores acerca de la muerte de Silverlight y de la plataforma .NET en favor a HTML5/Javascript.

Lo más curiso es que toda esta novela se genero luego de un comentario tal vez inofensivo de mano Julie Larson-Green quien mientras demostraba la nueva interfaz cargando una aplicacion que mostraba indicaciones del tiempo y sus pronosticos esbozo las palabras en ingles “This is written with our new development platform, which is based on HTML5 and JavaScript” ahora en español “Esta aplicación esta escrita en nuestra nueva plataforma de desarrollo que esta basada en HTML5 y Javascript” lo que ella no menciono fue que esta plataforma sera el remplazo a futuro de .NET (que quizas lo sea dependiendo de como evolucione el Internet) lo que tampoco dijo es que sera la plataforma preferida para programar en Windows 8, solo que la aplicacion que estaba mostrando fue desarrollada usando la nueva plataforma en la que estan trabajando y que entre las nuevas caracteristicas del Sistema Operativo ahora puedes usar la tecnologia web para crear aplicaciones de escritorio.

Luego de esto se han desentrañado muchas opiniones tanto oficiales como de parte de empleados de Microsoft, entre tanto la gente detras del Proyecto Jupiter ha comentado que todavia estan vigientes y trabajando para salir a la luz una vez Windows 8 salga al mercado.

Para los que no están enterados, Jupiter es una nueva librería de interfaz para Windows 8 que permitirá a los desarrolladores crear aplicaciones “inmersivas” (ni idea a que se refieren con este termino) usando un enfoque basado en XAML proveniente de las nuevas herramientas de Microsoft. Jupiter permitirá elegir varios lenguajes de programación entre ellos: C Sharp, Visual Basic, C++ y por supuesto tendrá soporte para aplicaciones nativas desarrolladas con Silverlight.

Basado en lo que pude ver de la presentación de Windows 8, Microsoft quiere competir con Google en el Nicho de los sistemas operativos basados en Web sin perder el chivo o el mecate, entre otras palabras ofrecerá soporte con esta nueva UI basada en Mango, ofrecerá esta nueva plataforma de desarrollo que permitirá Unificar el escritorio con Aplicaciones de Tecnología Web (HTML 5 / Javascript) y a su vez ofrecerá soporte a aplicaciones que no estén diseñadas con tanta novedad (En el vídeo se puede observar como Windows 8 hace un fall-back para ser compatible con aplicaciones “viejas” hasta muestra la barra del menu de inicio una vez ejecutada la aplicación) o que simplemente no compitan en este nicho definiendolo mejor como aplicaciones cuya disposición o paradigma sea imposible tener una presentación web.

Es claro que hay muchas opiniones al respecto y de gente importante en el nicho de bloggers sobre Microsoft, tambien estan las de muchos otro grupos cuyas interrogantes son validas y lamentablemente ocasionadas por la falta de comunicación que proviene desde las mas altas esferas de Microsoft, en mi opinión y dado a lo que he estado observando desde que Bill Gates dejo su puesto de CEO para dedicarse a la filantropía es que la Compañía ya no esta en postura de ataque o con rodilla en tierra como dicen por aquí, las estrategias han cambiado a patrones desconocidos y quizás pueda aceverar que dichas estrategias se han basado ultimamente en confunsión en vez de atracción por nuevos desarrollos y características de sus nuevos productos. Es lamentable ver al que una vez fue el mas grande y feroz adversario perder terreno por otras opciones, a la vez me alegro que este perdiendo terreno gracias a al impulso del Sofware Libre, es hora de aprovechar que el gigante esta tambaleando para acestar golpes que lo debiliten aun mas.

Me preocupa que dicha debilidad nos produzca retraso y quizás dirán “WTF!!”, pero mucho del impulso que ha tenido el Software Libre no solo proviene de las malas políticas de Microsoft y sus compañeros privativos, si no también por ser un adversario excelente, si somos un adversario pequeño solo nos importa mejorar y salir adelante para vencer, ahora es un tanto difícil saber que pasara una vez que hallamos derrotado al adversario y faltan algunos años para que esto sea una realidad pero lo que me no me gustaría es que se perdiera el ritmo por exceso de confianza.

Viendo esto desde otro punto de vista, si Microsoft y su equipo logran salir adelante con esto (Porque son conocidos por anunciar una cosa y publicar otra) tendrán una unificación con mucha cohesión, mayor inclusive de la que Google ha logrado con sus productos, es una batalla admirable la que estos contendientes están luchando (Google, Apple y Microsoft), con algunos anuncios de adquisiciones y modificación de posturas, Microsoft esta dejando por sentado que no quiere cometer los mismos errores que en el pasado y quiere tener posición a todo nivel ofreciendo productos de calidad y compitiendo con bajos precios (como Apple con su nueva versión de MacOS 10.7) tomando el control de todos los procesos.

Para finalizar les dejo unos videos de la Integración de estas plataformas:

Otro artículo Interesante sobre la Integración de XBox Live y Windows 8

Para reflexionar sobre todo esto, ¿Qué alternativas existen que se adapten a las 4 Libertades Básicas de la GPL que nos permitan unificar nuestra plataforma GNU/Linux con algún sistema operativo Móvil y/o plataforma de juegos o para DVR’s?, son libres de comentar al respecto.

Esta publicación toma mucho del contenido del post del amigo y entusiasta por Haiku-os Thom Holwerda en osnews acompañáda de mi opinion y otras adiciones sobre el tema.

DOM, de manera sencilla y entendible

Antes de navegar en las profundidades del objeto XMLHttpRequest hay que explicar un poco el uso de otras herramientas que probablemente utilicemos para dar un mejor aspecto a la presentación de la aplicación que queremos realizar. DOM por sus siglas en ingles (Document Object Model) es nuestra interfaz de programación básica de aplicaciones que brinda un conjunto de objetos que nos permiten representar, dibujar o esgrimir código HTML y XML a su vez dándonos la posibilidad de acceder a ellos y manipularlos.

Si visitamos la Historia de finales de los 90 acerca del desarrollo web nos daremos cuenta de que se habla mucho de DHTML, si fue el boom de la época, pero ahora no es mas que un cumulo de técnicas que no deberían usarse y que solo se ajustan a la aplicación de efectos en Navegadores desactualizados. La utilización de DHTML en estos días esta sujeta a muchos sacrificios que no se previeron en su tiempo dorado, tales como dependencia de navegadores, falta de actualización de dichos scripts que fueron masificados y puestos en páginas a disposición de muchos desarrolladores que solo se preocuparon por la manera de Usarlos y no actualizarlos, lo cual vuelve un caos la aplicación si otros desarrolladores se unen a su mantenimiento sin contar que muchas de esas pequeñas grandes cosas estaban tan mal diseñadas y escritas que terminaban haciendo la pagina mas lenta, sucia y vulnerable con la actualización de los estándares.

¿Pero qué es DOM? Y ¿Qué puedo hacer con el?

DOM, es una manera de trabajar combinando XHTML y JavaScript o mejor digamos que es la capacidad otorgada por la interactividad de los dos lenguajes para que uno pueda acceder los objetos o elementos del otro. No hay mejor manera de explicarlo que con un ejemplo.

Digamos que tenemos cierta porción de Texto encerrada en un contenedor que queremos hacer invisible al ocurrir un evento.

El enlace llama a la funcion escrita en JavaScript “Esconder()” y este busca en el documento el elemento cuya id sea “porcionTexto” que es nuestra div y le coloque el estatus de visibilidad en “escondido” y de esta manera hemos accesado directamente el elemento y hemos modificado sus propiedades.

Cada tipo de Objeto DOM es único, inclusive si dos objetos se “ven” de manera idéntica en tu navegador, es importante que tres facetas definan el objeto per se, estas facetas son: ¿como se ve?, ¿Como luce? y ¿como se comporta?.
Estas facetas en el ámbito de la programación orientada a objetos se llaman, propiedades, métodos y manejadores de eventos.

Aqui les dejo una cheat sheet sobre la mayoria de los metodos de DOM o por lo menos los más usados. Por cierto tengo muchos cheat sheets y libros relacionados con el tema almacenados en casa a su disposición solo tienen que pedirlos de manera cortes. Saludos.

Aprendiendo JAVA viendo vídeos!

No hay mejor manera que aprender viendo como alguien programa, o mejor un recibiendo la ayuda de otros y todo desde un punto de vista experimental o con ejercicios. A mi siempre me ha gustado recibir el aprendizaje por parte de un facilitador a tener que aprender por propios medios, curiosamente el 90% de mis conocimientos sobre Desarrollo, Bases de datos, Administración de Sistemas, etc. proviene de leer manuales, libros y otras fuentes. Pero cuando se aprende así resulta más difícil pues no cuentas con una persona a la que preguntar y que te de una respuesta exacta sobre la incógnita.

Bueno, lo mas cercano a aprender con un profesor es que se explique paso a paso como hacer las cosas, revisando viejos links en delicious.com (por ciero ahora forma parte de Yahoo, no lo sabía) encontré listados de vídeos de distintos usuarios que de manera concisa explican paso a paso por muchos videos cortos como aprender a programar bajo Java. Los tutoriales van desde Instalar el SDK hasta trabajar con swine y applets. Aquí abajo les dejo las direcciones, lastimosamente los videos están en ingles pero con saber un poco de OOP y tener idea de como se construyen algoritmos lo demás viene por intuición.

  • Segun el autor thenewboston más de 80 videos continuos de diferentes topicos, practicamente desde lo incial relacionado con el lenguaje hasta desarrollo de guis y dibujos con applets. Muy completos.
  • Segun dkc1657: que tiene varios playlists, Helloworld desde eclipse, Conceptos acerca de la programación orientada a objetos llevados acabo con ejemplos de cuentas bancarias, Introducción al framework Swing para crear guis y para finalizar guia paso a paso para construir juegos usando applets (la ultima vez que los vi estaba incompleta pero era prometedora.
  • Eclipse and Java for Total Beginners: Esta serie de videos en ingles nos enseñan Java desde una perspectiva de “Test Classes” desde cero conjuntamente con Eclipse, es más estilo Programación en base a Pruebas (Test Driven Programming), simplemente Excelentes.
  • Por ultimo me gustaría que le echaran un ojo a estos que están en español, no los he visto pero me los recomendó un copañero hace algun tiempo y debido a casas de tiempo no pude revisarlos.

Tengo muchos libros de Java en formato digital para los que están comenzando, si los necesitan déjenme un comentario con su e-mail y se los facilito. Saludos.

Programas de TV (O pelis) dedicadas a Hackers/Geeks

Buscando alguna motivación que me permitiera salir de mi letargo vacacional (Bien merecido pues tenia 3 años seguidos sin tomar vacaciones) me decidi a buscar cualquier pieza en video que hablara de hackers, geeks, historia de la computacion, lo que me permitio ensamblar una lista con el contenido más relevante, aqui va:

    Hackers La pelicula (1995): para algunos encontrar este película liderizando la lista tal vez no les sea de agrado pues definen el hack como una especie de graficos animados que supuestamente vemos al entrar usando un backdor en algun servidor, imagino que esa fue la forma mas atractiva de colocarlo pues mostrar una consola con lineas de comandos no pareciera encajar en la historia simplemente apelaron a lo atractivo graficamente.
    Hackers 2: Takedown: Esta pelicula cuenta una historia ficticia basada en el libro The Takedown escrito por Tsutomu Shimomura, John Markoff (Tampoco muy real) sobre el hacker mas buscado sobre la faz de la tierra Kevin Mitnik.
    Pirates of Silicon Valley (1999): Otra película que simplemente adoro, cuenta la historia del nacimiento del PC personal desde un punto de vista Applesiano, claro todo con muy drama y bastante controversia, recomendada 100%
    Revolution OS: Documenta sobre linux y la belleza del Software Libre, como dicen en mi tierra “impelable” o impresindible de ver.
    WarGames (1983): película que simplemente hay que ver solo por decir que se ha visto, es la pionera en mostrar ataques a maquinas importantes del gobierno; tan importantes que casi causa una guerra nuclear, 100% recomendada, 100% impelable para aficionados a la computación, dev y hack.
    Triumph of the nerds: Documental sobre el triunfo de los nerds desde punto de vista comercial, excelente, muy recomendado.
    Freedom Downtime: Documental muy famoso sobre el caso de Kevin Mitnik, el torrent también incluye una entrevista a Kevin Mitnik luego de haber sido puesto en libertad, así como también en el vídeo original se incluyen entrevistas a otros hackers famosos que fueron detenidos.
    Hackers: Outlaws and Angels (Discovery Channel): Es un documental sobre hackers de el cual no puedo opinar porque no he visto pero e propongo a hacerlo en las siguientes horas, lo incluyo para saciar cualquier curiosidad.
    Hackers Wanted: Otro documental que no he tenido la oportunidad de ver pero parece interesante, lo incluyo por la misma razón descrita arriba.

Si se preguntan porque no inclui a “The Net” en esta lista, sencillamente es porque no me gusto mucho la pelicula, pues no muestra alguna tecnica de hackeo o simplemente no me inspira mucho. Algunas otras podrian haberse incluido aqui pero no pude conseguirlas (Bajarlas): “23”, Johnny Mnemonic (1995), The sneakers (1992), etc o deje su comentario sobre su película relacionada favorita, ahora si les dejo el zip con los torrents.

Actualizado: 17-Ago-2010 4:54:pm

Siguiendo los comentarios decidi Agregar a Antitrust (2001)… que raro como se me pudo olvidar agregarla, esta película desarrolla una trama dramática con respecto al software libre, asesinatos de programadores y la ambición del sector privativo. Torrent gracias a thepiratebay.org.

Algunos sugieren series como “the big bang theory” y “it crowd”, de la primera tengo que decir que es excelente y muy divertida pero los integrantes son más cientificos que hackers y de la segunda nunca he tenido chance de ver algún capitulo, pero me dispondré luego bajarlos. Gracias por sus comentarios.

¿Qué es AJAX y para que sirve? (Parte 1)

Desde que me dedico a Desarrollar Sistemas Webs mucha gente me ha preguntado como demonios funciona AJAX, ¿Qué es?, ¿Qué hace? y si ¿Es necesario utilizarlo?, preguntas que yo mismo me hice antes de conocer como funcionaba pues era acérrimo programador estilo “reloader” porque me parecía una eternidad el tiempo que tomaba actualizar un documento HTML de manera dinámica a tráves de una orden “callback”, quizás era que en aquel entonces el conjunto de técnicas que describen o forman lo que es AJAX no estaban tan avanzadas o no existían la gran cantidad de librerías que facilitaran toda esa parafernalia (jquery, prototipe, extjs, etc…) provocando que cada quién hiciese sus propias fuentes sin enfocare en la optimización y velocidad… solo en el que funcione.

Entonces, ¿Qué es AJAX? si definimos AJAX por sus letras quiere decir “Asynchronous JavaScript And XML” pero seguimos sin entender que es, bueno… definición “for dummies”, AJAX no es mas que la transferencia de información utilizando el lenguaje Javascript para controlar procedimiento de transferencia, esta información fluye en 2 canales independientemente de que va y que viene (Específicamente es una conversación a destiempo entre el servidor y el cliente) y finalmente el formato en el cual la información se transmite “usualmente” es en XML… que simplemente es una manera de organizar la información de manera inteligible o mas fácil de entender a simple vista.

Claro que el formato XML no es el único que se utiliza, también se puede usar texto simple para enviar la información o se codifica o formatea usando otros estándares como JSON (mi preferido).

¿Qué hace?, simplemente actualiza una porción de nuestra pagina web sin necesidad de cargar el código, atributos gráficos e imágenes de nuevo. ¿Es necesario?, en ciertos casos es necesario, digamos por ejemplo “maps.google.com” sin la habilidad AJAX no se podrían dibujar mapas o crear aplicaciones que parezcan como si estuviesen corriendo localmente (EXT JS), AJAX esta aquí para quedarse pero como programador pienso que debería existir algo que unificara todas esas tecnologías en una sola, siendo necesario la creación de una herramienta que se encargue de tomar todas estas grandes técnicas y enfocarlas en un solo lenguaje o un gran conjunto para dedicarnos a tocar los procesos mas complejos o de funcionamiento interno y no perder tanto tiempo pendiente de atributos necios o que efectos darle cuando se esconda una tablita en forma de grid.

¿Que opinan ustedes?

Celulares, Android y Blackberry

Mientras me disponía originalmente a escribir este articulo (usualmente lo hago directamente desde la interfaz de sorpresas) me encontré con un error que jamas había visto; Worpress estaba en problemas, al parecer solo la parte de escritura estaba fuera de linea y según su mensaje estarían trabajando para lograr poner todo en correcto funcionamiento. Casualmente estaba pensando en sacar mi blog de allí y hospedarlo donde tengo mi demás contenido en linea (www.ninjato.co.cc / http://www.sicutdeux.com.ve), bueno todo esto es harina de otro costal, en realidad el tema que quiero reflejar en este articulo es sobre teléfonos celulares y sus sistemas operativos.. entonces poniendo lo demás aparte aquí voy!.

El año pasado fue esplendido mucha revolución tecnológica y nuevos avances, comencé o mejor dicho cerré el año adquiriendo un Blackberry Curve 8320 el cual pude disfrutar mucho, al principio fue una decisión que me costo tomar debido al precio al que se consiguen en Venezuela y lo muchas horas trabajadas para ganarse su preciada bonificación de fin de año para gastarlo en algo tan vano como un celular… Ja!!! ahora que lo pienso en realidad me siento muy mal… porque me dan unas ganas increíbles de comprarme otro.

Estos pequeños dispositivos en realidad se han vuelto bastante enriquecedores de la vida familiar, por ejemplo una gran cantidad de miembros familiares (entre tíos y primos) han adquirido productos BlackBerry, lo que instantáneamente ha creado una red virtual de comunicación entre ellos (casualmente después de que vendí mi teléfono) y ahora disfrutan de las bondades de conectarse y estar “en onda” de los chismes familiares inclusive estando desde el otro lado del continente.

En realidad ando buscando una excusa para comprarme otro producto de RIM que me permita interconectarme con mis parientes siempre a costo de esa bonificación de fin de año!!! (Se ha mantenido el precio de mi modelo anterior, inclusive se consigue mas caro de lo que lo vendí! Auch!), pero al observar las características que me ofrece un Blackberry por el precio y tecnología que incorpora podríamos decir que los BB’s no tienen mas appealing que su propia mensajería interna. Lo explico mejor aquí:

Digamos que adquirimos un BlackBerry Curve (8520) Gemini

Características Generales:

* 2.0MP Digital Camera
* Video Camera Capabilities
* Supports BlackBerry App World™
* 256MB Flash Memory
* Wi-Fi® enabled
* Bluetooth® enabled
* Multimedia Player
* Wireless Email
* Organizer
* Browser
* Phone
* SMS/MMS

Wireless Networks

* Quad-Band: 850 / 900 / 1800 / 1900MHz GSM/GPRS networks
* Quad-Band: 850 / 900 / 1800 / 1900MHz EDGE networks

Todo esto por un modico precio de 1949 Bs.

No perdamos de vista un momento a que SOLO! utiliza para conexiones de datos las redes GPRS y EDGE ahora profundicemos en lo que son estas redes y lo que pueden hacer, ahora mira más abajo:

Según wikipedia la definición de GPRS es la siguiente:

General Packet Radio Service (GPRS) o servicio general de paquetes vía radio es una extensión del Sistema Global para Comunicaciones Móviles (Global System for Mobile Communications o GSM) para la transmisión de datos no conmutada (o por paquetes). Existe un servicio similar para los teléfonos móviles que del sistema IS-136. Permite velocidades de transferencia de 56 a 144 kbps.

Ahora nos tocaria revisar que es EDGE, segun wikipedia:

EDGE es el acrónimo para Enhanced Data rates for GSM of Evolution (Tasas de Datos Mejoradas para la evolución de GSM). También conocida como EGPRS (Enhanced GPRS).

Es una tecnología de la telefonía móvil celular, que actúa como puente entre las redes 2G y 3G. EDGE se considera una evolución del GPRS (General Packet Radio Service). Esta tecnología funciona con redes GSM. Aunque EDGE funciona con cualquier GSM que tenga implementado GPRS, el operador debe implementar las actualizaciones necesarias, además no todos los teléfonos móviles soportan esta tecnología.

La definición de EDGE, si es de 2 o 3G, depende de su implementación. Mientras la Clase 3 e inferiores, claramente no son 3G, la Clase 4 y superiores, presentan un ancho de banda superior a otras tecnologías consideradas 3G (Como 1xRTT). En Clase 10, con un ancho de banda superior a 230 Kbps, EDGE logra trascender las definiciones comunes de 2G y 3G.

Explicando un poco sobre de que se trata todo esto y resaltando que es un tema importante pues define como se conecta nuestro telefono a las redes de transmición de datos y que tecnologia utiliza para ello sabiendo que todo esto depende directamente de la capacidad de conexión que se tenga y lo mucho que afecta el desempeño de servicios basicos como enviar un simple mensaje de telefono a telefono se ven implicados muchos factores, desde la capacidad de transmicion por el equipo asi como la distacia de nuestra posición sobre el emisor/receptor de la celula, la interconexión entre ellas y la capacidad del canal por el cual transmitimos asi como la disponibilidad del servicio y el ancho de banda asignado y/o disponible, para no hacerlo mas complicado me refiero a que siendo un telefono tan caro que incluye lujos que quizas jamas veamos en un telefono de precio reducido de producción china, en realidad es lamentable que por ese precio no se nos incorpore en nichos de conexion más rapido como lo seria HSDPA permitiendo que nos comuniquemos mejor, eficientemente y más rapido.

Hasta ahora el unico modelo que conozco de RIM que tiene esta capacidad es el Bold 9000, cuyo precio supera los 4000 Bs. impagable para mi o por cualquier persona con 2 dedos de frente pues preferiria comprarme una portatil que un telefono… entonces hay modelos superiores al planteado, tenemos el Nokia 5800 XṔress Music con pantalla tactil pero tomando en cuenta a la fisionomia de mis manos creo que se me haria muy dificil acostumbrarme al teclado virtual de esas pantallas, creanme lo he intentado con el Iphone y fisicamente es imposible para mi escribir un SMS alli! y dada a la grata experiencia que he tenido con los BlackBerrys (dejando de lado que realmente son lentos y no traen tantos beneficios comparados con el precio) y tomando en cuenta que gran parte de mi familia tiene uno podria incurrir en la compra de algunos de sus productos nuevamente.

Quiero dejar claro que me gustaría probar otros modelos como el soñado HTC G1 o el Hermoso HTC Hero pero es imposible hasta el momento adquirir uno en Venezuela, sobre todo porque me llama mucho la atención poder tener un telefono con filosofia SL. A manera de dato curioso consegui este telefono que al parecer es producido por una empresa china que se dedica a copiar teléfonos populares (IPhone y ahora el Dream) y entre sus productos ofrecen un clon del HTC Dream G2 y los mas risueño es que lo llaman Dream G2. Lo que me llamo la atención es que supuestamente usa una versión de Android y la cantidad de opciones y accesorios que trae por un precio tan bajo. Como la mayoria de las historias bonitas existe un lado oscuro sobre ellas, leyendo algunos reviews me tope con opiniones divididas; algunos alegan de que no utiliza android si no un sistema operativo totalmente generico con un UI parecido o expuesto asi para que guarde relacion dicho sistema operativo pero no es directamente una version del mismo. No se si aceverar que esto es cierto pues la información que se consigue no es defintiva y me gustaria saber mas al respecto asi que ruego comenten al respecto y aun mejor si tienen experiencia con ese equipo haganlas saber… Bueno desde la entrada de sueñolandia se despide, Axzel.