Software
miércoles, febrero 29, 2012
|
![]() Noten que esto es solo para usuarios técnicos que sepan lo que hacen, pues esto requiere bajar un ISO de 3GB e instalarlo en una PC, asumiendo tú los riesgos que esto pudiera ocasionar a tu equipo. Sin embargo, aunque aun no lo he probado, los que lo han hecho han reportado que están bastante satisfechos con el progreso de Windows 8... Una nota interesante es que mientras dure el período de pruebas todas las aplicaciones de la Tienda de Aplicaciones de Windows 8 serán gratis :) enlace a la página de descarga (página de descarga en inglés) enlace a la página de descarga (página de descarga en español - noten que el Windows 8 aun no está en español, esta es solo la página de descarga en español) autor: josé elías |
![]() |
![]() |
viernes, febrero 24, 2012
|
![]() Se trata de Udacity, una universidad online en donde no solo aprendes cursos de ingeniería bastante interesantes (desde principiantes hasta avanzados), sino que lo haces en 7 semanas. Es decir, si quieres aprender a crear tu propio motor de búsqueda similar al de Google (el mismo Sergei Brin, fundador de Google aparece en el curso), lo podrás hacer en 7 semanas. Y si quieres aprender a crear tu propio automóvil robótico, también lo puedes hacer en 7 semanas (es uno de los dos primeros cursos en donde te puedes enlistas ahora mismo). No dejen de pasar esta oportunidad, y consulten la página para una corta lista de otros cursos que vienen más adelante este mismo año. ¡Gracias al lector Abelardo Jesus Marquez por el enlace! página oficial de Udacity autor: josé elías |
![]() |
![]() |
martes, febrero 21, 2012
|
![]() ![]() ![]() Pues es ahí en donde entra esta página a donde los envío hoy, llamada FILExt, que tiene una base de datos de más de 50,000 distintos tipos de extensiones, y les explica qué significa, con cuáles programas abre, y otros datos interesantes. De gran interés para desarrolladores de software... enlace a FILExt.com autor: josé elías |
![]() |
![]() |
lunes, febrero 20, 2012
|
![]() ![]() Es decir, los átomos que componen tu cuerpo hoy, no son los mismos que componían tu cuerpo hace unos meses o años atrás. Y esto, tiene implicaciones profundas... La primera observación que podemos hacer es que esto significa que lo que definimos como "Yo" no es una constante. El "Yo" no es el conjunto de átomos que me compone, ya que los átomos que componen mi cuerpo hoy son diferentes a los que poseía hace un tiempo atrás, y todos recordamos bastante bien que hace un tiempo atrás nos sentíamos como el mismo "Yo". Sin embargo, aquí entran en juego unas cuantas cosas interesantes. Lo primero es que esto nos ilustra una forma de Evolución. Los seres humanos no solo somos seres que hemos evolucionado desde otras criaturas en el planeta, sino que incluso evolucionamos físicamente (y por ende, psicológicamente) en el corto espacio de nuestras vidas individuales. El creer que somos exactamente la misma persona hoy que hace 10 años atrás es una ilusión. Una ilusión que se siente real por la sencilla y simple razón de que el cambio es por lo general bastante paulatino. No nos despertamos un día sintiéndonos totalmente diferente al anterior, pero si nos ponemos a pensar, los valores que tenemos hoy día, las decisiones y riesgos que tomamos, cambian con el pasar de los años. Quizás no lo notemos en un espacio de días, semanas, meses, o incluso pocos años, pero ciertamente lo notamos al pasar al menos una década. Y la razón de ese cambio es el hecho de que acumulamos experiencia en nuestras vidas que nos aportan una perspectiva diferente sobre como vivirla. Sin embargo, es importante notar que incluso con estos cambios paulatinos de personalidad, existen muchos rasgos del "Yo" que parecen perdurar con el tiempo. La más obvia de estas es la memoria. Nuestros recuerdos ciertamente se ponen más opacos con el pasar del tiempo, pero son en esencia los mismos recuerdos. Lo mismo podemos decir de experiencias (como aprender a montar bicicleta, o a leer y escribir). Pero, ¿si nuestros átomos cambian cada cierta cantidad de meses, cómo es posible que exista esa constante que percibimos como "Yo"? Pues la respuesta resulta ser bastante sencilla, y es algo que en el mismo blog he comentado por años en otros artículos (como este): Lo que nos define como "Yo" no son nuestros átomos, ni ningún "espíritu" o "alma", sino que los patrones que conforman estos átomos, en particular los patrones a nivel cerebral. Les explico a lo que me refiero a continuación... Asumo que todos conocen los juguetes de bloques de construcción LEGOs (cuya imagen acompaña este artículo). Imaginen que decidimos construir una casa de juguete con esos bloques, y después de un par de horas construímos una hermosa casita. Esta tiene puertas que se abren, el color de sus paredes está compuesta de bloques amarillos, y su techo de color marrón. Pues bien, imaginemos ahora que pasan 2 años, y que cuando regresas a ver tu casita notas que esta se ve un poco vieja y sucia, por lo que decides reemplazar algunos bloques por otros, pero tomas especial precaución en reemplazar los bloques por otros idénticos (del mismo color, tamaño, textura, fortaleza, marca, flexibilidad, etc). Al final de una hora de trabajo, tienes tu casita restaurada, y aunque esta posee algunos bloques nuevos, lo cierto es que es la misma casita de antes. Las paredes miden exactamente lo mismo, las puertas se abren de la misma manera, y los colores son idénticos. En otras palabras, para el mundo externo que interactúa con la casita, la casita se ve, siente y comporta exactamente igual. Pero más sorprendente aun, es que si la casita tuviera una consciencia de sí misma, ella también opinaría lo mismo. Quizás se sienta un poco más renovada y limpia, pero diría que se siente igual de fuerte y bella que el primer día que la construyeron. Pues lo mismo ocurre con humanos. Cada cierto tiempo todos y cada uno de nuestros átomos son reemplazados, no todos simultáneamente, sino que paulatinamente, y en todo momento seguimos pensando que somos la misma persona debido al hecho de que lo que nos hace sentir nosotros mismos (es decir, lo que nos hace sentir el "Yo") no es el hecho de que tengamos unos átomos "eternos" que nunca cambian, sino el hecho de que preservamos la relación entre distintos átomos. Es decir, las interconexiones entre ellos, el lugar que cada uno ocupa en relación a otros átomos, y a mayor nivel, la relación entre moléculas, células, etc. Es decir, así como tomamos especial precaución en reemplazar los bloques de LEGO viejos por nuevos, de modo que reemplazábamos un bloque nuevo por otro exacto en su mismo lugar, así mismo debemos prestar atención en reemplazar átomos por otros nuevos en su mismo lugar, y eso es precisamente lo que hace nuestra maquinaria de ADN en nuestros cuerpos. Pero pausemos ahora un momento y ponderemos un minuto en lo que esto implica: Si tomamos una "foto atómica" de nosotros de hace apenas 1 año atrás, y tomamos otra foto hoy día, notaremos que somos dos personas totalmente diferentes a nivel atómico (en el sentido de que nuestros átomos son otros, así como pudieron haber sido los átomos de otra persona), pero que sin embargo nos seguimos sintiendo nosotros mismos. Y esa realidad (pues es una realidad comprobada, no es una teoría), nos lleva a una conclusión que por años he mencionado en el blog (e incluso describí hace más de una década en Máquinas en el Paraíso): Si hoy día, debido a este mecanismo, ya poseemos un ejemplo de una misma persona, siendo en esencia un clon de sí mismo separada años aparte, ¿qué nos impide entonces en un futuro poder clonar un humano a nivel atómico de modo que la persona resultante sea tu misma (como describí en detalle en esta Reflexión)? Y la respuesta es que nada no los impide más allá del obvio trabajo de ingeniería necesario para llevarlo a cabo. Pero esto no se queda ahí, como dicen, el agujero del conejo llega más profundo todavía... El hecho de que lo que nos define como "Yo" sea el patrón que nos conforma, significa de paso que si cambiamos los componentes que conforman ese patrón (por ejemplo, de neuronas a circuitos electrónicos) mientras conservación el patrón en sí, que entonces seguiríamos siendo nosotros mismos, solo que en un ambiente sintético. En otras palabras, y regresando al ejemplo de la casa de LEGOs, imaginen que si en vez de reemplazar algunos bloques por otros idénticos, que recurrimos a reemplazar algunos bloques por otros bloques electrónicos, pero dejándolos exactamente en el mismo lugar que los anteriores. Terminamos entonces con una casa idéntica a la anterior, pero ahora con bloques "inteligentes" que dotarán a la casa de cosas que antes no podía hacer (como quizás, regular su temperatura, cambiar de color, resistir sismos, ser impermeable al agua, etc). Pues si aplicamos todo eso a humanos, todo esto nos indica que será posible en un futuro poder traspasar nuestro "Yo" desde un ambiente biológico a uno sintético, en donde nos seguiremos sintiendo exactamente la misma persona, pero en donde posiblemente ganemos nuevas habilidades "super-humanas" (una de ellas siendo la inmortalidad por medios tecnológicos). Pero, ¿por qué detenernos ahí? Llevemos el agujero del conejo aun más profundo... Es importante ahora notar que si lo importante (es decir, lo que genera el "Yo") es la relación o patrón entre un componente y otro, que entonces en primer lugar no importa en realidad la naturaleza de esos componentes atómicos, estos pueden ser bloques de LEGO, átomos, neuronas, o circuitos eléctricos, y aun así seguiremos sintiendo el "Yo". Pero si eso es cierto, entonces incluso tampoco importa si esos componentes son físicos o virtuales. En otras palabras, todo esto significa que si podemos replicar exactamente nuestros mismos patrones neuronales biológicos en un software dentro de una computadora suficientemente potente, que entonces sería posible recrear nuestro "Yo" en mundos 100% virtuales, sin ningún componente físico (salvo el hardware de la computadora que ejecuta la simulación). Y eso nos lleva a agujeros más profundos aun, incluyendo escenarios como este, así como a hacer factible eventos como los vistos en películas como Matrix, o incluso a la posibilidad de poder hacer "respaldos" de nuestras mentes (como expresado en esta otra Reflexión). Todo esto apunta a que la ciencia superará la ciencia ficción, y con creces... autor: josé elías |
![]() |
![]() |
viernes, febrero 17, 2012
|
![]() ![]() Pero vayamos por parte, y expliquemos muy brevemente el concepto de un Horizonte de Eventos en relación a un Agujero Negro (pues ese tema en sí mismo, es ya bastante curioso de por sí)... Un Agujero Negro, en realidad no es más que una estrella que ha colapsado sobre sí misma debido a su propio peso (o más técnicamente hablando, debido a su masa). Sucede que así como una persona muy obesa que pese centenares de kilos o libras puede colapsar sus huesos debido a su peso, que así mismo llega un momento cuando una estrella llega a un límite de masa, y esta "cae" sobre su centro. Este es uno de los fenómenos más violentos del universo, y en realidad lo que está pasando es que la fuerza de la gravedad es tan potente, que la estrella en esencia se derrumba sobre sí misma. Pero ese límite de peso no tiene nada que ver con lo del Horizonte al que me refiero. Lo interesante es lo que sucede después de ese colapso: En el momento que se genera un Agujero Negro, la fuerza gravitacional es tan potente en su alrededor, que atrae a prácticamente cualquier cosa que se le acerque (planetas, cometas, asteroides, o incluso otras estrellas, y rara vez, otro Agujero Negro). Sin embargo, lo curioso tampoco es eso. Lo curioso es que si pasamos cerca de una nave espacial, y este empieza a atraernos, que en realidad no estamos condenamos a morir, pues si tenemos suficiente potencia en nuestros motores impulsores, podemos salir de las garras del Agujero Negro. Pero existe una gran excepción (y es ahí a donde quiero dirigirlos)... Existe una burbuja invisible alrededor del Agujero Negro, que para todos los fines prácticos es una frontera, a la que la ciencia llama "El Horizonte de Eventos". Si te pasas aunque sea una millonésima de un metro más allá de ese horizonte (es decir, más cerca de la superficie del Agujero Negro) entonces es imposible (lo dicen las matemáticas y las observaciones) liberarse uno de las garras del agujero. La potencia de agarre es tan pero tan grande, que incluso la misma luz no escapa de este. En otras palabras, si proyectas un rayo láser para que pase por el lado del Agujero Negro, pero sucede que el láser pasa por el Horizonte de Eventos, que notarás que el rayo láser literalmente se curveará hacia el interior del Agujero Negro, y no solo eso, sino que en el momento que este pasa por el Horizonte de Eventos no lo podrás ver entrar al mismo agujero, debido a que nada escapa al Horizonte de Eventos, por lo que los fotones de luz que emitiría el láser para tu poder verlo tampoco escaparían el agujero para que lo vieras. Es por eso que esto es llamado un Agujero Negro, ya que son 100% opacos ya que nada emerge de ellos (hay una semi-excepción que he explicado antes en eliax, con el tema de las partículas virtuales, pero eso no va al caso con el tema de hoy). Pues habiendo hecho esa introducción didáctica, he notado que algo similar nos está ocurriendo como humanidad con relación a Información (e incluso, a nivel personal de cada uno de nosotros esto ocurrió hace mucho): Se trata de que se ha generado un Horizonte de Información a la cual no podemos alcanzar, por más que queramos. Me explico a continuación... Notemos por ejemplo el tema de que en la actualidad, en YouTube se suben 3,600 veces más videos de que el cualquier persona podría ver aun si se sentara 24 horas a ver videos. Así mismo esa cifra no es nada comparado con la cantidad de información subida a Internet en forma de páginas, artículos, comentarios, fotos, sonidos, opiniones, chateos, etc etc etc. Estamos llegando a un punto en donde aunque todavía (al menos en teoría) podemos contener toda esta información en dispositivos relativamente compactos y manejables, la información será tan amplia y profunda, que sencillamente no podremos "alcanzar" el horizonte de toda la información siendo generada, ya que para cuando llegamos (por ejemplo) a incluir todo el contenido de un portal, tras nuestras espaldas se habrá creado nuevo contenido en miles de otros portales, y para cuando nos acercamos a esos portales para tratar de almacenar toda la nueva información, lo mismo ocurrirá nuevamente tras nuestras espaldas con millones de páginas más. Es un eterno juego del gato y el ratón, en donde matemáticamente ya no será posible saber en todo momento la cantidad de información que generamos en el mundo. Y si nos sentamos a ponderar el caso, tiene mucho sentido que sea así: Si algo aprendimos de Einstein es que todo es relativo, no existen absolutos (hasta la velocidad de la luz podría ser diferente en otros universos), y con el ejemplo de tratar de buscar toda la información (mientras a nuestras espaldas se genera más información), eso queda bien ilustrado. Solo podemos captar información en relación a nuestra búsqueda de esta, pero nunca en términos absolutos. Incluso la velocidad de la misma luz nos impone un límite, pues por más rápido que tratemos de buscar información, nunca podremos llegar más rápido que la velocidad de la luz a los recursos en donde la información se genera. En resumen, estamos creando el equivalente a universos de información, cada uno con su propio Horizonte observable. Pero, ¿y qué con todo esto? ¿tiene esta observación sobre Horizontes de Información alguna aplicación práctica? Pues da la casualidad que sí, pues al menos aprendemos que todo no se puede saber (similar a lo que nos dice el Teorema de Incompletitud de Gödel), incluso en un lugar tan pequeño como nuestro planeta, lo que de paso nos dice que no todo se podrá predecir (muy similar, curiosamente, al Principio de Incertidumbre de la Mecánica Cuántica), lo que nos indica que en un futuro Post-Singularidad, no todo será homogéneo y aburrido como muchos piensan, sino que siempre habrá espacio para nuevo conocimiento, nuevas experiencias, y nuevas emociones. O en otras palabras, debido a las limitaciones que nos impondrá el Horizonte de Información, será literalmente imposible tener una conciencia única colectiva, y el Individualismo continuará siendo una fuente de creatividad y nuevas ideas por explorar y disfrutar por el resto de la sociedad, hasta el final de los tiempos... autor: josé elías |
![]() |
![]() |
jueves, febrero 16, 2012
|
![]() Para los lectores veteranos de eliax, esto fue algo que dije sucedería hace un par de años (leer "Editorial eliax: Como Apple transicionará desde OS X hasta iOS, con... iOS X"), y refleja una tendencia que noté por primera vez en el 2007: Al largo plazo veremos a iOS fusionarse con OS X, en lo que esa vez acuñé en eliax como "iOS X". Para que tengan una idea de lo fuertemente influenciado que estará esta nueva versión (que sale en el verano de EEUU este año) del iPad, solo fíjense en la lista de cosas nuevas: 1. Integración completa con iCloud. 2. Centro de Noficaciones 3. Notas 4. Centro de Juegos (Game Center) 5. Integración con Twitter 6. Recordatorios (Reminders) 7. iMessage 8. AirPlay Mirroring En otras palabras, trajeron a la Mac todas las funcionalidades de iOS 5 que vimos hace poco en iPhone, iPod Touch y iPad (y de paso refinaron el tema de manipular aplicaciones como en el App Store, y de ejecutar aplicaciones en pantalla completa como el iPad). Incluso ahora la funcionalidad de "Compartir" ("Share") que de forma universal permite que aplicaciones en iOS compartan información por EMail, Twitter, etc, ahora también llega a OS X, pudiendo uno por ejemplo compartir cualquier página web que uno esté viendo en Safari de forma sencilla y rápida por cualquier medio disponible localmente. Con iMessage será ahora posible intercambiar mensajes con celulares desde una Mac (siempre y cuando obviamente esté conectada a una red de Internet cableada o por WiFi), similar a como se puede hacer hoy día con un iPad. iMessage de paso reemplaza ahora iChat, pero mantiene compatibilidad con AIM, Google Talk, Yahoo y Jabber. En cuanto a AirPlay Mirroring, es la misma funcionalidad que vimos en el iPhone 4S y iPad 2, que permite que envíes cualquier cosa que estés viendo en la pantalla (audio, video, aplicaciones, etc) a un Apple TV conectado a tu televisor de Alta Definición (en esencia conectando tu Mac a tu TV o proyector, sin cables). OS X ahora también viene con APIs (interfaces de programación) multi-táctil como los de iOS, así como viene con APIs de GLKit, lo que permitirá crear aplicaciones que tomen ventaja de OpenCL (para acelerar cómputos con ayuda del GPU de gráficos, y de una forma estandarizada). Otro cosa notable es que ahora las actualizaciones de OS X no vendrán por el método tradicional (el notificador de actualizaciones), sino que vendrán como actualizaciones desde el Mac App Store (la Tienda de Aplicaciones Mac), similar a como ocurre en iOS. Finalmente, y para alivio de desarrolladores, Apple no requerirá (aunque al largo plazo ya veremos) que desarrolladores utilicen el Mac App Store para distribuir sus aplicaciones, y ha creado de paso una solución para el tema de los usuarios poder confiar en aplicaciones que no sean bajadas por esa vía: Ahora si desarrollas aplicaciones para Macs puedes obtener una firma digital por parte de Apple que garantiza que tu programa es genuino, y no uno descargado o duplicado por alguien sin confianza en Internet. En resumen, OS X Mountain Lion será recordada como la versión "crossover", o de transición, desde OS X a lo que llamo iOS X. Pendiente queda saber si Apple seguirá adoptando una estrategia de utilizar procesadores x86 para Macs con OS X y procesadores ARM para iOS (y en cuanto a eso, quizás esto nos sirva de pista). página oficial de OS X Mountain Lion Video a continuación (enlace YouTube)... Actualización: Noten también el cambio de nombre desde "Mac OS X Lion" a simplemente "OS X Mountain Lion" (sin "Mac" en el nombre), lo que nos dice que Apple considera a "OS X" algo más universal que un sistema operativo solo para Macs. autor: josé elías |
![]() |
![]() |
miércoles, febrero 15, 2012
|
He aquí una de esas cosas que se ven tan sencillas al uno verlas en funcionamiento, pero que sin embargo por alguna razón no se le ocurrió a nadie hacerlo anteriormente.
En este caso, lo que verán ya sí se podía hacer antes, pero nunca en un celular inteligente, como en este caso... Se trata de Scalado Remove, una aplicación que tiene la capacidad de remover automágicamente de una fotografía aquellos elementos indeseables (personas que obstruyen un edificio, automóviles en frente de alguien, etc). Cuando vean el video, es algo que casi no se puede creer como esto funciona. Y hablando de cómo funciona, aunque la empresa no ofrece detalles, es casi seguro que lo que hacen (deducido del video) es grabar primero unos segundos antes de uno tomar la foto, de modo que cuando una finalmente tome la foto el software posea información de los objetos y su relación entre ellos (cuando vean el video entenderán mejor). Por otro lado, no dejen de ver el segundo video que también pongo, en donde demuestran su software Scalado Rewind ("Scalado en Reversa"), que como verán en el video, hace otra cosa también bastante sorprendente: La capacidad de poder alterar algunos elementos de una foto, en el tiempo, basado en un corto video (o serie de fotos). Crucemos los dedos y esperemos ver esto próximamente no solo en celulares inteligentes, sino que en todo tipo de cámaras. enlace a Scalado Video 1 de Scalado Remove a continuación (enlace YouTube)... Video 2 de Scalado Rewind a continuación (enlace YouTube)... Actualización: Poco tiempo después de reportar esta noticia, se anunció que Nokia adquiriría la empresa para incluirla en futuros celulares de la empresa. autor: josé elías |
![]() |
![]() |
martes, febrero 14, 2012
|
![]() El 2007 fue el año en que Apple lanzó su iPhone, que poco después adoptó la ya conocida "App Store", o Tienda de Aplicaciones, y que posteriormente se convirtió en el modelo adoptado por toda la industria. Hoy día Google, Amazon, RIM/Blackberry, Microsoft, Nokia, Facebook y otros ya han adoptado el modelo establecido por Apple, y tan solo entre las plataformas de Apple y Google se han creado alrededor de 1 millón de aplicaciones. Estas aplicaciones obviamente no solo han generado empleos para los programadores de tales aplicaciones, sino que además empleos colaterales (artistas, músicos, mercadólogos, portales de aplicaciones, etc). enlace al estudio (archivo PDF) autor: josé elías |
![]() |
![]() |
sábado, febrero 11, 2012
|
![]() Recientemente, en el grupo oficial de eliax en Facebook, el lector Santiago Rougoski me hizo la misma pregunta, y puso como ejemplo a la comunidad de los Amish, una comunidad que básicamente ignora casi todo tipo de tecnología y todavía viven como hace centenares de años atrás. Le prometí que respondería por este medio, y acá va mi respuesta... Antes de iniciar, noten que ya para el 2009 había hablado del tema acá mismo en eliax, pero en el formato de Reflexiones, en el artículo titulado "Reflexiones 2: Algunos no querrán ser Humanos 2.0", por lo que no dejen de leer ese artículo (y sus numerosos comentarios) en conjunto con este si les interesa el tema. Mi respuesta cuando me hacen esa pregunta es bastante estándar: Todo se trata de adaptación, Evolución. Quien no se adapte sencillamente muere. Comunidades como los Amish ciertamente pueden convivir perfectamente con el mundo externo, con tal de que puedan controlar su natalidad y los recursos naturales que posean, pero eso es algo temporario... Sabemos con certeza que en la Tierra ocurren todo tipo de eventos catastróficos cada cierta cantidad de millones de años, y sabemos además gracias a estadísticas que volverán a ocurrir. Desde posibles estragos causados por meteoritos (como los que terminaron con los dinosaurios), hasta posibles explosiones de Supernovas por alguna estrella cercana, y cuando eso suceda serán los Humanos 2.0 los que sobrevivirán (aunque obviamente es casi seguro que estos ayudarán a comunidades como los Amish a sobrevivir, de ser posible). Incluso, si nos vamos mucho más hacia el futuro, sabemos que dentro de unos 7,500 millones de años nuestro Sol se transformará en una estrella Gigante Roja, tan grande que su tamaño abarcará la órbita terrestre, y por tanto nuestro planeta será literalmente carbonizado y desintegrado, y cuando llegue ese momento comunidades como los Amish tendrán que decidir (si es que están vivos en ese entonces, cosa que lo dudo) si querrán permanecer en la Tierra y perecer, o salvar sus vidas y adoptar tecnologías que les permita migrar hacia otros rincones del Universo (cosa que creo haremos en este mismo siglo). Pero no tenemos que irnos tan lejos hacia el futuro para ver por qué el escenario de la Singularidad Tecnológica hará casi necesario el evolucionar hacia estos seres 2.0... Imaginemos por ejemplo el escenario de una empresa en donde llega un nuevo empleado, y este tiene todo tipo de mejoras en su cuerpo, desde una mejor memoria, hasta un mejor sistema nervioso, desde estar alerta por más horas, hasta poseer co-procesadores neuronales que le permitan hacer cosas que empleados "1.0" sencillamente no podrán hacer. En ese escenario, es obvio que empleados como este surgirán eventualmente como líderes antes empleados no mejorados, y por tanto captarán los mejores salarios y mejor calidad de vida. Eventualmente se podrán reproducir más, y eventualmente serán los que dominen la vida en el planeta. Pero, muchos se quejarán. Tratarán de pasar leyes en contra de estos empleados mejorados, y quizás después de sobornar a uno que otro legislador se pasarán leyes prohibiendo que empleados "mejorados" reemplacen a empleados "tradicionales". ¿Qué sucederá entonces? Sencillo: Estos humanos 2.0 descartados fundarán sus propias empresas, que competirán con empresas que solo aceptan empleados 1.0, y al final de cuentas lo que sucederá es que las empresas de empleados 2.0 terminarán dominando las de empleados 1.0, y llegaremos de todas formas al mismo lugar: Humanos 2.0 dominando pacíficamente sobre los 1.0... Moraleja: O se adaptan los 1.0 para convertirse en 2.0, o sencillamente se arriesgan a convertirse en seres obsoletos, de la misma manera que los mamíferos reemplazaron a dinosaurios menos adaptados y más lentos que ellos hace millones de años. Así que en conclusión, no cabe duda que muchos rehusarán adoptar tecnologías que mejoren sus cuerpos, pero al no hacerlo lo único que estarán haciendo es quedarse un escalón detrás en la escalera evolutiva universal, en donde el intelecto por lo general es premiado entre varios seres inteligentes. Eventualmente los seres 2.0 serán los que dominen, y no me refiero a dominar por medios bélicos, sino que por medios intelectuales, por la ley natural de la vida en donde los que hacen las cosas mejores sencillamente son los más premiados y los que terminan con los mejores recursos. Como dice la vieja pero muy acertada frase: Evoluciona, o muere. autor: josé elías |
![]() |
![]() |
viernes, febrero 10, 2012
|
Después de lo que ha sido una semana extremadamente ocupada para mi, en donde apenas he podido escribir o visitar el blog, hoy los dejo con esta breve dosis de Breves en eliax...
1. BlueStacks trae Android a Windows 8 ![]() 2. Yahoo sigue en picada Como si Yahoo ya no tuviera suficientes problemas, ahora nos dan la noticia de que el Presidente del Consejo (el "Chairman"), más tres miembros de dicho consejo, han renunciado a sus cargos. ¡Auch!... fuente 3. D-Link WiFi AC ![]() Pues ahora la empresa D-Link recientemente anunció que sacará al mercado toda una linea de productos utilizando el nuevo estándar, lo que significa que como esperado antes de finalizar el 2012 podremos comprar tales equipos. ¿Y de qué hablamos cuando decimos 1Gbps? Pues ¿qué tal el transferir un CD completo en 6 segundos entre dos máquinas en tu hogar? fuente 4. Monos escapan de zoológico al estilo Planeta de los Simios ![]() Pues parece que unos monos en Brazil también vieron la película, pues 8 de ellos escaparon, y lo hicieron después de fabricar una herramienta para violar los condados que los mantenían prisioneros. Al momento de reportarse la noticia solo 4 de ellos fueron capturados, el resto me imagino que estará planeando la revancha contra los encargados del zoológico... fuente (¡gracias Alejandro Vargas por el enlace!) 5. Navegador Google Chrome disponible para Android Esto es un sueño hecho realidad (pues honestamente, el navegador de los celulares Android nunca me ha gustado): Si entran al Android Market, y si tienen la más reciente versión 4.0 de Android (Ice Cream Sandwich), podrán descargar y probar una versión beta (en prueba) de Chrome. Algo interesante es que si utilizan Chrome en una Mac o PC, pueden sincronizar sus sesiones con la versión móvil, lo que significa no solo tener los mismos marcadores (bookmarks), sino que incluso las mismas páginas abiertas. Me quito el sombrero ante los ingenieros de Google (y por otro lado les halo las orejas por tardarse tanto). Video a continuación (enlace YouTube)... autor: josé elías |
![]() |
![]() |
jueves, febrero 9, 2012
|
La empresa Daz 3D actualmente tiene una promoción en donde está permitiendo una descarga gratis y totalmente legal de 3 de sus productos más populares, tanto para Mac como para Windows, en versiones de 32 y 64-bit.
![]() El programa permite hacer que estos personajes "posen", tanto con su cuerpo como con sus caras, para que los coloques en cualquier posición y expresión imaginable. Así mismo los puedes vestir con todo tipo de ropas y accesorios, e incluso animarlos. Para ver lo posible con este programa, visitar este enlace oficial. ![]() El programa permite un alto grado de control, desde la cantidad y tamaño de árboles, nieves, y rios, hasta el tipo de terreno (llano, montañoso, océanos, etc), así como controles ambientales y del cielo. La página oficial del producto es esta. ![]() En total, hablamos de unos US$800 dólares en productos, gratis y legales. Para descargar los productos, sigan estos pasos: 1. Hacer clic en este enlace, en donde verás un botón verde que dice "add to cart", lo que te permitirá añadir Daz Studio 4 Pro gratis a tu carrito de compras. 2. Hacer clic en este enlace, en donde verás un botón verde que dice "add to cart", lo que te permitirá añadir Bryce 7 gratis a tu carrito de compras. 3. Hacer clic en este enlace, en donde verás un botón verde que dice "add to cart", lo que te permitirá añadir Hexagon 2.5 gratis a tu carrito de compras. 4. Después de eso, hagan clic en el botón de "checkout" (o sino, hagan clic en el botón del carrito de compras que aparece al tope de la pantalla, y ahí verán el botón verde de checkout). 5. En este punto el sistema le pedirá una de dos cosas: O que entres tu usuario y clave de Daz 3D, o que crees una cuenta. Haz clic en el lado derecho bajo la sección que dice "Don't have an account?", sobre el botón azul que dice "Register". 6. LLenen sus datos en el formulario de registro. Noten que deben proveer todos los datos del formulario, y es importante que el email sea tu email verdadero. También pon una clave nueva y que no se te olvide (recomiendo que no utilices la misma clave de tu email), y en el campo que dice "Community Username" debes poner un nombre único (podría ser el mismo de tu email, menos el arroba "@"). Cuando llenes el formulario haz clic sobre el botón verde que dice "sign up" y eso terminará tu proceso de registro (al menos que no hayas llenado todo el formulario, o contenga errores, como el haber olvidado poner tu fecha de nacimiento). 7. Ahora ve a tu cuenta de email, en donde en unos pocos segundos recibirás un email con un enlace de activación (básicamente, para verificar que tu cuenta de email es real). Haz clic sobre ese enlace, que te llevará de regreso a la página de Daz 3D confirmando tu email. 8. Ahora regresa a la página de Daz 3D, haz clic en el icono del carrito de compras arriba, y vuelve a hacer el proceso de checkout. Ahora, cuando llegues a la pantalla del paso 5 arriba, en vez de hacer clic en el botón de register, ahora podrás poner tu email y la clave que creaste en las cajitas del lado izquierdo y después hacer clic en el botón verde de "sign in". 9. Cuando entres, notarás ahora un mensaje que dice que tus descargas están en tu cuenta personal (your account, o my account), haz clic sobre ese enlace y ahí verás unos cuantos enlaces. Los enlaces importantes son los dos primeros, uno que es de descargas (downloads) y el otro de números seriales. 10. Recomiendo entrar primero al de los seriales, y copiar y pegar esos números en un editor de texto en tu PC o Mac, y guardarlos en una carpeta en donde piensas descargar los programas. 11. Después de copiar los seriales, regresa ahora a la página anterior y entra a la de descargas. Ahí recomiendo que mires al tope de la página que tiene todas las descargas y filtres las descargas por la plataforma que desea. Por defecto te presentará descargas para "Mac+PC". cambia eso a solo "Mac" o solo "PC" dependiendo de si tienes una Mac o un PC. 12. Para descargar, simplemente haz clic en la última columna de la derecha, la que tiene la flecha apuntando hacia abajo, y listo. De ahí en adelante estás por tu cuenta para instalar el programa en tu máquina. 13. Nota 1: Las descargas vienen algunas en formatos de 32 y 64 bits. Si tienes Windows de 64 bits, o una versión reciente de Mac, descarga la de 64 bits. Sino, descarga ambas versiones y prueba instalando la de 64 bits primero, sino te funciona, prueba entonces con la de 32 bits. 14. Nota 2: Por alguna razón, el email de activación nunca me llegó a una cuenta de email que tengo en Yahoo, y tuve que recurrir a repetir el proceso con una cuenta de GMail, y me funcionó perfectamente. A alguien que conozco también le funcionó con Hotmail. Lo menciono por si tienen ese mismo problema sepa qué hacer. Eso es todo, espero que disfruten de estos excelentísimos programas, y recomiendo que descarguen lo antes posible, pues no se si es una oferta de tiempo limitado o no. Y si se preguntan ¿qué gana esta empresa ofreciendo estos programas gratis? Creo (debo confirmar) que planean hacer dinero vendiendo "extras", como ropas y accesorios para los personajes virtuales, nuevos tipos de árboles y depresiones naturales para los paisajes de Bryce, y objetos pre-fabricados para Hexagon. Así mismo me imagino que esperan que usuarios se fijen y paguen por sus otros productos, como Genesis y Carrara. Nota aclaratoria: No tengo ninguna relación comercial directa ni indirectamente con esta empresa o sus afiliadas. Esta es una promoción que sencillamente la noté, tomé ventaja de ella, y comparto con ustedes. Actualización: Según algunos lectores, la promoción durará hasta el 29 de este mes de Febrero 2012. autor: josé elías |
![]() |
![]() |
lunes, enero 30, 2012
|
![]() ![]() 1. Procesador MOS Technology 6510 a 1MHz (noten MegaHertz, no GigaHertz). 2. 64KB de memoria, de los cuales unos 38KB estaban disponibles para programación por el usuario. 3. Almacenaba 170KB es un disco floppy de 5.25 pulgadas (5¼"). 4. Poseía una resolución de 320 x 200 pixeles. 5. Podía desplegar hasta 16 colores (con todo tipo de restricciones sobre en dónde se podían desplegar esos colores). 6. Poseía 3 canales de sonido 8-bit en mono (no estéreo). 7. La Commodore 64 se consideraba en ese entonces una PC físicamente "pequeña", pues era del ancho de un teclado, aunque de un par de pulgadas de espesor. 8. Su precio de venta original era de US$595 dólares (unos US$1,325 dólares si tomamos la inflación del dólar en consideración). ![]() 1. Un procesador Apple A5 de doble núcleos y a 800MHz cada uno, y es bueno notar que si corriéramos el iPhone 4S a solo 1 MegaHertz, que el procesador de este sería de todas formas quizás 100 a 10,000 veces más potente que el procesador de la Commodore 64, debido a procesos de eficiencia, paralelismo y miniaturización. 2. Los 64KB de la Commodore 64 no serían suficientes hoy día ni para almacenar 5 segundos de una canción en formato mp3. El iPhone 4S sin embargo posee 512MB de memoria, o 8,192 veces más que la Commodore 64. 3. El iPhone 4S que poseo tiene 32GB de espacio interno, lo que equivale a alrededor de 196,608 veces la capacidad de un disco de 170KB. 4. La resolución de la pantalla Retina del iPhone 4S 960 x 640 pixeles, o una densidad de pixeles unas 10 veces mayor. 5. El iPhone 4S puede utilizar más de 16 millones de colores, versus los 16 de la Commodore 64. 6. El sonido del iPhone 4S es estereo, y para todos los fines prácticos no tiene límite en la cantidad de canales de sonidos que se puedan mezclar. 7. El iPhone 4S cabe en la palma de mi mano, y lo almaceno normalmente en un bolsillo de mi pantalón. 8. Cuesta US$599 sin contrato, o US$199 con un contrato de 2 años con tu operadora de telefonía celular. Sin embargo, aparte de esas diferencias, el iPhone 4S supera a la Commodore 64 en innumerables otras formas: 8. Posee una cámara digital que captura fotos de 8 MegaPixeles, y video de alta definición en el formato 1080p (como el de los discos de película Blu-ray). 10. Posee un chip GPS que permite que aplicaciones como mapas nos muestren en donde estamos en todo momento. 11. Está siempre conectado a Internet, por WiFi o 3G. 12. Tiene un acelerómetro y brújula digital, más sensores de acercamiento y luminosidad. 13. Viene con un Asistente Virtual (Siri) al cual le puedes hablar, emitir comandos, preguntar cosas, y hasta recibir respuestas habladas con un sintetizador de voz. 14. Te sirve (entre innumerables otros usos) como navegador de Internet móvil, agenda electrónica, album de fotos, reproductor de media, y consola de video-juegos. Habiendo notado ese gran cambio en apenas 2 décadas, ¿se imaginan ustedes lo que tendremos en nuestras manos dentro de 2 décadas más? Lo más asombroso sin embargo es que para obtener un incremento similar en poder, no tendremos que esperar 2 décadas más, sino que posiblemente 3 a 6 años. ¿Por qué? Porque la tecnología avanza exponencialmente, lo que significa que las cosas nos llegan cada vez más rápidamente y con más frecuencia. Es por cosas como estas que leen en blogs como este predicciones que dicen que en pocos años tendremos computadoras más pequeñas que un encendedor de cigarrillos, pero más potente que la más potente super-computadora en existencia hoy día. Así como tendremos en ese mismo espacio suficiente almacenamiento como para almacenar el equivalente a todo el contenido de Internet hoy día. Y lo mejor de todo es que aun tengamos todos los problemas actuales en el mundo, que todo indica que el mundo mejora, no solo tecnológicamente, sino que además en todos los otros sentidos. Cuando surgieron los primeros celulares, estos costaban sobre los US$9,000 dólares. Hoy día cuestan menos de US$100 y ya casi existen tantos celulares como personas en todo el mundo. Obviamente existen guerras, personas que mueren de hambre, y gobiernos opresivos, pero todo indica también que aunque en algunos casos algunas cifras aumenten, que lo que está ocurriendo realmente es que proporcionalmente todas esas cosas están disminuyendo porcentualmente. O en otras palabras, y contrario a lo que dicen muchos pesimistas (o simplemente personas ignorantes de muchas de estas cifras), el mundo literalmente se está tornando cada vez mejor para todos (he acá un poco de evidencia)... autor: josé elías |
![]() |
![]() |
martes, enero 24, 2012
|
![]() Pero lamentablemente, salvo pocas excepciones, hoy día en prácticamente el 100% de todas las escuelas, colegios, institutos y universidades del mundo el método de enseñanza continúa dependiendo en casi su totalidad en los tradicionales libros impresos. Pues Apple quiere cambiar todo eso, y la forma en que planea hacerlo de no ser exitosa para la empresa (y creo que lo será), ciertamente cuando menos marcará el rumbo para que otras empresas (como Amazon) continúen hacia el futuro. La propuesta de Apple construye sobre su plataforma de libros electrónicos iBooks (y su asociada tienda de libros iBookStore), y viene en una combinación de tres elementos claves: 1. iBooks 2 2. iBook Author 3. iTunes U ![]() Esta nueva generación de libros, más allá de texto y simples imágenes, ahora permiten videos, sonidos, gráficos 3D interactivos, y presentaciones completas interactivas. En esencia, iBooks 2combina libros electrónicos tradicionales con aplicaciones y presentaciones interactivas multimedia, lo que hace para todo un nuevo tipo de experiencia para libros escolares. Y hablando de libros escolares, es importante notar que Apple tiene un As bastante importante bajo la manga: Ha impuesto un límite de precio en donde tales libros no pueden pasar de los US$15 dólares en precios (y obviamente, las editoras y autores pueden poner cualquier precio por debajo de ese, incluso ofrecer libros gratis). En algunos países ese precio aparentará bastante alto, pero recordemos que a nivel universitario (en particular en países más desarrollados) es común encontrar libros que cuestan entre los US$50 e incluso más de US$100 dólares, por lo que con esta medida Apple está haciendo un gran aporte en bajar el costo de la educación en tales entornos. Para que tengan una idea de lo que ahora es posible con iBooks 2: Un libro de Álgebra ahora podrá explicar los conceptos con profesores hablando videos y con sonidos de quizás otros estudiantes, y además con imágenes visuales interactivas (algunas de ellas en 3D y manipulables con los dedos) que muestran los conceptos de fracciones, o incluso ofrecer exámenes que revelan las respuestas correctas. Incluso será posible ofrecer una superficie en blanco sobre la cual los estudiantes puedan dibujar imágenes geográficas con los dedos. Otra cosa interesante de iBooks 2 es la capacidad de generar "tarjetas de studio", incluso automáticamente. Me refiero a esas tarjetas muy populares entre estudiantes en donde uno escribe algún concepto de un lado, y una explicación del otro, con fines de memorización. Ahora ese concepto entra al mundo digital con los textbooks de iBooks. ![]() Vuelvan a leer ese párrafo anterior. Les aseguro que esto es un hito en educación. iBooks Author requiere de una Mac con el sistema operativo OS X Lion de Apple (lo descargas desde el Mac App Store que viene con Lion, con un simple clic), pero más allá de ese requerimiento la aplicación es gratis, y ofrece un lienzo sobre el cual uno pueda desarrollar sus libros. Para crear estos libros, uno combina de forma visual texto de distintas fuentes (desde documentos en Microsoft Office, hasta documentos en las aplicaciones de Apple como Pages), así como ojas de cálculo (Excel o Number), imágenes (descargadas por Internet o creadas en programas como Photoshop), videos, audio, y presentaciones interactivas (creadas con el programa de presentaciones Keynote de Apple), entre otros elementos. Pero más interesante aun es que los usuarios más técnicos podrán insertar elementos de HTML y Javascript, para en esencia uno poder insertar el equivalente a páginas web dentro de los libros. Así que por ejemplo es posible ir más allá de los simples exámenes de preguntas que por defecto se pueden crear con la herramienta, y uno poder crear su propio sistema de exámenes que se comunica a bases de datos remotas controladas por profesores (lo que es ideal para exámenes finales en donde no queremos revelar las preguntas o las respuestas hasta el momento del exámen). Y obviamente esto también se presta a innumerables otros usos (como tiendas de comercio electrónico, juegos, integración con redes sociales, etc). Después de crear el libro, es simple cuestión de subirlo al iBookStore, en donde fijarás el precio que desees (de lo cual Apple se queda con el 30% como comisión, y tu con el restante 70%) y listo (noten que por el momento se necesita tener una cuenta bancaria en los EEUU para este proceso, pero me imagino que así como lanzaron iTunes en el resto del mundo también lanzarán esta herramienta para el resto del mundo). Con este mecanismo será tan fácil publicar tu próxima novela, como lo será publicar tu propio libro de recetas de cocina, libro interactivo para niños, o libro universitario. Con esta herramienta Apple verdaderamente abre el mercado de los libros electrónicos a cualquier persona, sin necesidad de poseer conocimientos técnicos de programación u otros requerimientos que poco tienen que ver con el proceso creativo de un libro. ![]() Con iTunes U, ahora cualquier estudiante del mundo tiene acceso directo a cientos de cursos completos de las más prestigiosas universidades del planeta, y en la palma de la mano y a cualquier hora, por lo que ahora hay pocas excusas para uno no poder al menos tomar cursos de universidades como Harvard, MIT, Stanford, Yale, etc. Y note que cuando hablamos de "cursos completos" hablamos en todo el sentido de la palabra: Desde videos de las clases, hasta las asignaciones/tareas, agenda de clases, exámenes, documentos PDF, archivos de proyectos (por ejemplo, código de programación en clases de software), recursos web, etc. Es básicamente como asistir a una universidad gratis, pero sin obtener un diploma o estar físicamente en una salón de clases con el profesor y otros estudiantes. En resumen, Apple creo ha metido cuatro grandes goles con esta iniciativa: 1. Logró crear una plataforma práctica para libros interactivos. 2. Logró bajar el costo de libros especializados. 3. Logró crear una herramienta para que cualquiera publique libros. 4. Logró traer toda una universidad a la palma de tu mano. Ahora, lamentablemente no todo es color de rosa... Una gran restricción en mi opinión es que Apple requiere que todo libro creado y subido con el iBooks Author deba ser exclusivo del iBookStore de Apple, lo que creo cierra las puertas a miles de potenciales usuarios (yo incluído) que quisiéramos publicar nuestro trabajo no solo en el iBookStore, sino que además en al menos la tienda Kindle de Amazon. (Actualización de 5 de Febrero 2012: Buenas noticias; Apple aclara que el contenido no es exclusivo, solo el ejecutable en formato .ibook, detalles aquí) Otra cosa que además me gustaría es formas de compartir mejor los libros y los trabajos realizados dentro de ellos con otros (como por ejemplo, las notas subrayadas). Sin embargo, aun con esa restricción no dudo que esta iniciativa sea ampliamente adoptada (según All Things D, en los primeros tres días desde su salida el viernes pasado, ya se han registrado más de 350,000 descargas de estos nuevos libros, y 90,000 descargas del iBooks Author, si eso sirve de alguna indicación), y aun si esto no es tan exitoso como Apple espera lo sea (aunque creo que lo será), esto al menos ya ha demostrado cómo deben ser la nueva generación de libros, en particular libros educacionales, y así como Apple le mostró a la industria cómo hacer un celular inteligente con el iPhone, veremos ahora a empresas como Amazon emular el conjunto de herramientas que Apple acaba de demostrar para esta nueva generación de libros... página oficial de Educación en Apple sobre iBook TextBooks sobre iBooks Author sobre iTunes U Actualización de 5 de Febrero 2012: Buenas noticias; Apple aclara que el contenido de los libros creados con iBooks Author no es exclusivo, solo el ejecutable en formato .ibook, detalles aquí. autor: josé elías |
![]() |
![]() |
domingo, enero 22, 2012
|
![]() 1. El gran responsable del crecimiento de Microsoft fue su división de video-juegos Xbox (y a menor medida su negocios en servidores). 2. Los ingresos de Windows bajaron un alarmante 6% en relación al año anterior. Microsoft culpa esta baja a un descenso en las ventas de Netbooks, que están siendo fuertemente afectadas por las ventas de tabletas, en donde el iPad comanda por el momento un tajada casi monopólica. En nota relacionada, Apple la próxima semana presentará sus cifras para el año anterior, y según analistas esperan que Apple anuncie un incremento en ventas de un fenomenal 45% por sobre el año pasado. Este es un buen momento para leer este editorial acá mismo en eliax de hace 5 años atrás... fuente autor: josé elías |
![]() |
![]() |
martes, enero 17, 2012
|
![]() El tema es qué es un Connection Pool en relación a bases de datos. Antes de iniciar debo decir que la técnica de Connection Pools es algo que antes de la Era Web por lo general era conocido solo por unos cuantos expertos en bases de datos que desarrollaban aplicaciones que debían escalar con miles de transacciones por segundo (como por ejemplo, sistemas para manejar Bolsas de Valores, Reservaciones Aéreas, etc). Recordemos que antes de la web la mayoría de los sistemas eran del tipo Cliente-Servidor (y algunos cuantos multi-tier), y por lo general para una cantidad limitada de usuarios en una LAN en donde se tenía un buen control sobre el acceso a dichas aplicaciones, y el tema de demasiadas conexiones a bases de datos no era muy problemático. Sin embargo, con la llegada de la web, cualquier página en Internet está expuesta potencialmente a decenas o cientos de miles de pedidos de usuarios simultáneos, por lo que el tema de Connection Pools toma mucha relevancia. Pero, ¿qué es Connection Pooling y cuál es el problema que resuelve, y cómo lo resuelve? Pues veamos primero el problema... Imaginen que tienen una base de datos a la cual han conectado una página web de ventas de productos, y que de repente la página se vuelve popular y los usuarios empiezan a hacer pedidos en masa. Al inicio todo estará color de rosa, pero eventualmente, conforme aumenta la demanda en la base de datos, llegaremos a un punto bastante conocido por aquellos que programan sistemas web sin conocer este tema: El famoso error de "demasiadas conexiones a la base de datos". El problema es que las bases de datos tiene un gran Talón de Aquiles del cual asombrosamente una gran cantidad de desarrolladores parece desconocer: Crear una conexión es un proceso extremadamente caro (en términos de recursos de hardware) en comparación a hacer simples queries. Ese problema no se hace evidente en la etapa de desarrollo de un sistema ya que por lo general el sistema lo desarrollan un puñado de personas, por lo que el impacto en la base de datos es mínimo. Sin embargo, en el momento que le pedimos a una base de datos (cualquier base de datos) que abra y cierre 1000 conexiones por segundo (o incluso por minuto), nos metemos en graves problemas... Pero existe una solución bastante conocida entre expertos, y es bastante simple y sumamente efectiva, y como podrán adivinar es el tema de Connection Pools, que no es ni una tecnología ni un producto, sino que más bien una técnica, que se implementa en casi cualquier entorno de programación. La idea es la siguiente: En vez de crear y destruir una conexión cada vez que un usuario la solicite, hagamos algo diferente. Vamos a mantener un grupo (o "pool") de conexiones (de ahí el nombre "Connection Pool"), con un número fijo de conexiones siempre abiertas y conectadas a la base de datos. Esas conexiones jamás se cerrarán. Eso de inicio resuelve el problema de uno tener que abrir y cerrar conexiones constantemente y aumenta el rendimiento de la base de datos tremendamente. Pero, ¿y qué pasa si se conectan más personas a la base de datos que el número de conexiones que poseemos? Pues acá entra la segunda parte de la solución que ofrece esta técnica... A simple vista aparentaría que la solución es crear más conexiones, pero eso no resuelve el problema, y al contrario, nos regresa eventualmente al mismo problema de antes, e incluso al largo plazo lo empeoraría ya que utilizaríamos tantos recursos fijos que el CPU, la memoria y el bus del servidor estarían constantemente bajo tensión hasta que la máquina se arrodille y pida piedad. Entonces, lo que se hace en realidad es que ese grupo de conexiones (que por lo general es bajo, pero depende del hardware y software de la aplicación, pero asumamos que son 20 conexiones) se recicla constantemente. Y ese reciclaje es el gran truco de esta técnica, y funciona de esta manera: Cada vez que un usuario entra en sesión con la aplicación, y desea hacer una operación que requiera de un query a la base de datos, lo que ocurre es que un Database Connection Manager (en esencia, un intermediario entre tu código y la base de datos) te presta una conexión. Cuando obtienes tu conexión prestada (en esencia, obtienes una referencia a la conexión), puedes hacer todos los queries que deseas para ese pedido en particular del cliente, pero (y esta es una parte muy importante) en el momento que termines de hacer los queries tu devuelves la conexión al Manager. El Manager en ese momento etiqueta la conexión que le devolviste como "disponible para ser prestada a alguien más", y repite el proceso. En esencia, el Manager vive en un loop infinito prestando conexiones y recibiendo conexiones devueltas, pero (y no olviden esta parte) el Manager nunca cierra esas conexiones o abre nuevas (salvo la excepción de que por diseño del Manager se creen nuevas conexiones dinámicamente para ponerlas en el pool, pero ese ya es otro tema concerniente al diseño de este tipo de objetos). Pero, ¿y por qué funciona esto de tener solo 20 conexiones recicladas mejor que el tener por ejemplo 200 conexiones constantemente abriendo y cerrando? Pues por la sencilla razón de que como les mencioné anteriormente, el abrir y cerrar conexiones es un proceso muy costoso, por lo que en la práctica es mejor reciclar 20 conexiones que abrir y cerrar 200. Sin embargo, esa no es la única razón por la cual este tipo de soluciones se utiliza mucho para escalar. Otra gran ventaja de esta técnica es que no hace que la aplicación se caiga (o que se haga mucho más difícil que caiga). Me explico a continuación... En el modelo tradicional de abrir y cerrar conexiones, en el momento que no existen más conexiones lo que sucede es que si se llega a un límite, la aplicación se tranca ya que no puede seguir más, y vemos los famosos errores de límites de conexiones, pero en el modelo de Connection Pooling, los pedidos se ponen en una cola (en esencia, un Queue tipo FIFO - el primero que entra, sale), lo que significa que si las 20 conexiones están prestadas actualmente que un nuevo pedido de un usuario por la web no causará un error, sino que simplemente una pequeña espera de unos cuantos milisegundos (o quizás algunos segundos) mientras el Manager espera que alguien más le devuelva una conexión para prestártela a ti. Esa espera se puede medir en promedio, y es a propósito una manera para en sistemas en producción uno poder afinar el valor de la cantidad de conexiones en el pool. Algo que es importante también que sepan es que hoy día la mayoría de los entornos modernos de programación (como Java Enterprise Edition, Adobe ColdFusion, el Microsoft .Net, etc) ya hacen esto tras bastidores por ti (hasta cierto punto, siendo ColdFusion quizás el mejor ejemplo en donde uno literalmente no hace nada y todo ocurre transparentemente para el programador), y es esta transparencia la razón por la cual quizás muchos desconozcan el tema, pero es bueno saber siempre lo que ocurre "tras bastidores" pues armados con este conocimiento de hoy ustedes podrán posiblemente diagnosticar en un futuro que el problema de escalabilidad sea tan sencillo como implementar un Connection Pool, o si existe uno el de disminuir o incrementar la cantidad de conexiones fijas. En nota relacionada, este artículo lo escribí debido a mi decepción de que aun con todos estos años, PHP no soporta todavía esta técnica, razón por la cual no es factible utilizarlo "de caja" para aplicaciones que necesiten escalar masivamente. Pero antes de que comenten y digan lo contrario sobre PHP, noten que la modalidad de conexión por pconnection en realidad no es lo mismo que esto, ya que no soporta transacciones ACID debido a una limitación de PHP mismo, por lo que en la práctica solo es útil para hacer lecturas a bases de datos y no escrituras. Así mismo Oracle tiene una manera de implementar Connection Pools con su base de datos, pero es propietaria y requiere modificar el código estándar de PHP para que funcione. Y si preguntan de empresas como Facebook, Google, Yahoo y Amazon que utilizan PHP de alguna forma u otra, estas empresas también debieron romper con la estandarización de PHP para crear sus propias soluciones de Connection Pools y poder hacer escalar a PHP. En cuanto a soluciones NoSQL, lamentablemente aun no existe estandarización, por lo que por ese lado también estamos en el aire con PHP. Mientras tanto sin embargo, prácticamente toda otra plataforma moderna de programación web soporta esta metodología, por lo que no olviden leer al respecto en sus plataformas de programación favoritas y de cómo tomar ventaja de ellas... Actualización: Quiero agregar que esta técnica de reutilizar una conexión en realidad es un patrón de programación más generalizado que el ejemplo de Connection Pools. En términos generales, un Connection Pool sería un sub-conjunto de un "Object Pool". En un Object Pool, uno pre-instancia un grupo de objetos y después con un Object Manager (por lo general, siguiendo el patrón del Singleton) uno toma prestado y devuelve objetos al pool. Esto es tan útil en cualquier dominio como lo es con bases de datos, ya que el instanciar objetos en cualquier lenguaje de programación es también un proceso costoso en términos de recursos de la máquina, mientras que tomar prestado un objeto no es más que pasar un objeto por referencia, que ocurre prácticamente de forma instantánea. Esto es de especial utilidad para desarrolladores de video-juegos, que por lo general tiene código muy compacto y optimizado, y requieren del mayor rendimiento posible. autor: josé elías |
![]() |
![]() |
viernes, enero 13, 2012
|
![]() Android Design es un intento de Google de crear algo análogo a los User Interface Guidelines de Apple, pero para la plataforma Android. El portal, el cual creo es una visita totalmente obligatoria para todo desarrollador de Android, expresa reglas y patrones visuales sobre cómo se deben crear aplicaciones visuales en esa plataforma, con el fin de que se vean no solo estéticamente placenteras sino que sobre todo uniformes entre distintas aplicaciones, con la finalidad de hacer más amigable el interfaz Android en relación al iOS de Apple. enlace a Android Design autor: josé elías |
![]() |
![]() |
"Votar por ti es lo menos que pude hacer por una persona que ha cambiado mi vida de una manera tan extraordinaria y es que desde que empece a leer tu blog veo no sólo la vida, sino más bien el universo mismo con otros ojos..."
en camino a la singularidad...
©2005-2025 josé c. elías
todos los derechos reservados
como compartir los artículos de eliax
Seguir a @eliax