Flash Molehill
Sin embargo, en el mundo de las aplicaciones 3D mas grandes (como juegos comerciales) flash no es bien visto porque no tiene un "3D real" sino uno "emulado por software" y no puede alcanzar una alta calidad gráfica en 3D. Y por eso algunos dicen que flash es "solamente para jueguitos pequeños web" o para pequeñas animaciones.
Eso va a cambiar.
Bienvenidos a flash versión 2011 (también llamado molehill):
http://labs.adobe.com/technologies/flash/molehill
Busquen esto en google para ver videos demostrativos: "away3d flash molehill"
Esta nueva versión le otorgará "verdadero poder 3D" (a través de hardware) a flash y ahora si estará a la altura de otras herramientas especializadas en 3D como Unity ( unity3d.com ).
De hecho Unity está evaluando agregar la opción "exportar a flash" en su siguiente versión. ( http://blogs.unity3d.com/2011/02/27/unity-flash-3d-on-the-web )
Esto les dará los diseñadores la posibilidad de crear aplicaciones 3D de alta calidad con una herramienta que ya conocen: Flash.
Y le da a la gente de software la posibilidad de crear aplicaciones 3D fácilmente.
Si consideran además que Flash permite también crear aplicaciones para Tablets Android (y próximamente Tablets Windows) tienen entonces un prometedor futuro pues las Tablets (impulsados por el iPad) se utilizarán cada vez más (También los smartphones obviamente).
...pero... (siempre hay un pequeño "pero")… para aprovechar el poder de la nueva funcionalidad 3D van a tener que aprender un poco más de programación (ActionScript) pues al inicio esa funcionalidad solamente estará disponible "programando" y sólo Adobe sabe si la va a incluir dentro de Flash CS6 o de que manera.
Entonces eso me lleva nuevamente al punto que alguna vez les comenté: es cada vez más importante unir a diseñadores gráficos con gente de software para crear las mejores aplicaciones 3D/interactivas posibles.
Saludos,
Tak
Preparándose para el futuro
Bueno, yo no tengo una bola de cristal así que lo mejor que puedo hacer es dar mis opiniones personales y ya depende de cada uno decidir si lo que digo tiene coherencia o simplemente tacharme de loco :)
Entonces, a insistencia de mi amigo, aquí van mis recomendaciones:
Dejen de estudiar temas de tecnología. Dejen que los nerds, geeks y frikis del mundo (como yo) se encarguen de eso. En serio, incluso si tu carrera está relacionada a la tecnología el mejor tip que te puedo dar es que estudies otros rubros como: arte, música, liderazgo, management, economía, finanzas, teatro.
¿Sabes que hacían algunos samurai cuando no estaban en alguna batalla?
No, su hobby no era cortar cabezas de animales ni patear árboles hasta que se caigan. No. Algunos practicaban poesía y otros pintura. Exactamente lo opuesto a su profesión principal: la guerra.
¡Y por supuesto que eran malísimos dibujando! pues esa no era su especialidad. Pero el punto es: ¿por qué lo hacían? Pues porque las personas no somos simplemente "doctores" ni "mecánicos" ni "programadores" sino seres humanos muy complejos con mucho potencial y una de las formas de desarrollarnos es hacer que ambos extremos (hemisferios) de nuestro cerebro funcionen. Usualmente sólo usamos uno; pero hacer actividades que impulsen el desarrollo del otro extremo trae grandes beneficios: mejora tu percepción de lo que ocurre a tu alrededor y agiliza tu mente. Lo cual es importante no sólo para una carrera sino para la vida.
Les voy a poner otro ejemplo: en lugar de poner a mi hija en un colegio muy caro prefiero ponerla en un colegio normal y que también pagarle clases de circo en donde aprenderá a subirse a un trapecio sin miedo o hacer reír a los demás con malabares. Espero que eso la prepare para después cuando tenga que defenderse en su vida profesional en diferentes situaciones en donde importa no sólo lo que sabes sino también tu actitud mental.
( por si acaso, una excelente escuela de circo en Perú: www.latarumba.com )
Ahora, si también eres nerd o geek o friki (advertencia: leer este blog te está convirtiendo en uno!) e insistes en que quieres que opine sobre tecnología, aquí van mis tips:
- No se detengan mucho a estudiar tecnologías muy específicas sino aquellas que sirvan al proceso de desarrollo, sin importar que tecnología usen. Ejemplo: está bien aprender cuál es la nueva librería de tu lenguaje favorito que hace gráficas 3D; pero sería mejor que aprendan metodologías de como mejorar la calidad del software en cualquier proyecto o lenguaje.
- Concéntrese en los tablets y smartphones. Lo cual es algo obvio a estas alturas para cualquiera.
- Lean webs de novedades tecnológicas pero también aquellas que analizan la tecnología y su impacto en la cultura, los negocios y en las personas involucradas. Aquí tienen un ejemplo: www.cio.com
- Y lo más importante: no se dejen llevar por blogs como este. Es mejor que lean analicen y saquen sus propias conclusiones. En el peor de los casos si no llegan a ninguna conclusión entonces vale arriesgarse por una tecnología y usarla y aprender lo que se pueda de la experiencia.
Como empezar una empresa o proyecto (al estilo Kawasaki)
No, no es un libro de cómo llenar formularios legales ni una explicación de como crear asociaciones. Es un libro acerca de que necesitas en tu mente, en tu corazón y en tu espíritu, para crear una empresa, no sólo crearla, sino hacerlo de la forma correcta.
Incluso si no piensas crear o empezar una empresa, lee esto, pues te puede servir para iniciar tu siguiente proyecto, producto, servicio, o simplemente esa idea que tienes que cambiará el mundo.
El libro se llama "The art of start" y su autor es Guy Kawasaki, uno de los impulsores de productos exitosos como los de Apple Computer, y director de www.garage.com, una empresa que se especializa en buscar las mejores ideas y productos y financiarlas o asesorarlas para que logren el éxito (pueden ver su portafolio aquí: www.garage.com/portfolio ).
Es autor de libros como:
- Rules for Revolutionaries
- How to Drive Your Competition Crazy
- Selling the Dream
- The Macintosh Way
Pueden leer su biografía aquí: http://www.guykawasaki.com/about
Pero les voy a comentar mi propia perspectiva de Guy Kawasaki, porque no es suficiente con leer lo que dice su website.
Imagino que muchos de ustedes han leído o escuchado hablar de personas como: Miguel Angel Cornejo y Robert Kiyosaki (autor de "Padre rico ,padre pobre"). Y han comprado sus libros, videos, incluso podría apostar que han comprado sus juegos de mesa que enseñan a ser líderes o hacer negocios.
Yo personalmente he visto sus videos y leído sus libros. Pero, no siento que haya aprendido algo y tampoco siento que me hayan motivado a hacer algo. Y veo también, como las personas siguen comprando cada nuevo libro o video nuevo que ellos publican, como si a mayor cantidad de ellos aumentaran sus probabilidades de ser ricos o tener éxito.
Esos libros provocan que las personas hagan este tipo de preguntas: ¿Cómo ser millonario? ¿Cómo ganar dinero? ¿Cómo lograr el éxito de mi empresa?
Preguntas válidas; pero a mi parecer, no son las preguntas correctas, al menos no para conseguir verdadero éxito en la vida (ese que no se consigue con dinero).
Les voy a dar una pista, del tipo de pregunta que considero realmente deberían hacerse:
¿Cómo Miguel Angel Cornejo y Robert Kiyosaki lograron ser como son? ¿Cómo lograron desarrollar una personalidad exitosa?
¿Cómo lograron avanzar en la vida y llegar al punto en el que pueden ganar dinero simplemente hablando? (porque la gente paga, y paga bien, para escucharlos)
¿Quieren saber cuáles son las otras preguntas que deberían hacerse en esta vida? Entonces lean el libro "The art of start". Si no tienen tiempo para leer el libro, compren el video. Si no lo encuentran en español contraten a un traductor, valdrá la pena.
Pueden descargar gratis el capítulo 1 de ese libro aquí.
http://www.guykawasaki.com/books/art-of-the-start.shtml
Hablando de videos, aquí les dejo otro muy recomendable, escuchar hablar a John Maxwell hablar de liderazgo es lo mejor que he escuchado en mi vida sobre ese tema. Búsquenlo en internet ( usen google para algo más que sólo buscar música! ), está disponible en español inclusive.
Saludos y buena suerte en sus siguientes proyectos
Taksan
juego 3D multiplayer
http://code.google.com/p/lucu
Tecnologías usadas: java, 2D, 3D, apache mina.
Trata de crear tu propio juego! :)
Taksan
How to build a 3D multiplayer game
http://code.google.com/p/lucu
Technologies used: java, 2D, 3D, apache mina.
If you ever wanted to program your own game, read it!
Happy gaming!
Excelente libro: Framework para sistemas web empresariales (RECOMENDADO)
- Patrones
- Performance de aplicaciones web
- Caché
- Transmisión asíncrona
- Jobs
- Seguridad
- Monitoreo
- Escalabilidad de la base de datos
- Configuración de tu ambiente de desarrollo usando Eclipse
Lenguaje a usar: PHP
........ perdón!?!?? diijste PHP!!!!!!!!!!!!!!!!!!!!!!!!?????!?!?!?!?!?!!?
Si, así es, PHP.
¿o pensabas que PHP sólo sirve para aplicaciones "pequeñas"?
Si eres programador Java prepárate para una gran sorpresa al leer este libro y (de paso empieza a aprender PHP) porque este lenguaje se viene con todo en sus nuevas versiones.
Es cierto que no puede hacer todo lo que hace java... pero lo que hace definitivamente lo hace con menos consumo de recursos (¿o porque crees que casi no existen hostings con java pero existen miles con PHP? .... el negocio del hosting es.. en resumen... alquiler de recursos computacionales)
No importa que lenguaje utilizas, este libro es de lectura obligatoria para todo aquel que quiera hacer aplicaciones web empresariales.... quizás no aprendas PHP; pero lo menos aprenderás conceptos interesantes acerca de arquitectura de aplicaciones web
Se nota que el autor escribió este libro "desde el campo de batalla".... ME ENCANTAN LOS LIBROS ASI!!!... todo lenguaje de programación debe tener un libro como éste.
libro aquí: http://hotfile.com/dl/13999263/ea3dfde/zzzz.rar.html
¿Dios tiene área de informática?
¿Por qué tu jefe sabe menos de tecnología que tu?
¿Por qué tu jefe es un IDIOTA TECNOLOGICO que a duras penas sabe configurar su PC pero aún es......... TU jefe?
¿Cómo "patear" una tarea tecnológica "innovadora y retadora" que se le ocurrió a alguien (pero que no tienes tiempo para hacer) a otra persona en tu área?
¿Cómo parecer ocupado en la oficina? (Especialmente cuando necesitas tiempo para hacer otras cosas)
¿Realmente se puede ganar dinero trabajando en software? (¿sin morir de stress en el intento?)
Esas preguntas y otras mas en el libro "confessions of an IT manager"
A continuación un pequeño extracto del libro........... que narra la historia de la creación del mundo... si Dios hubiera delegado esa tarea a su equipo de tecnología, si quieren saber en que acaba la historia, lean el libro .... :)
//----------------------------------------------------------------------------------------------------------------------
//----------------------------------------------------------------------------------------------------------------------
//----------comentario separador (OBVIO, SE DIERON CUENTA POR LAS DOS "//" NO? :) :)
//----------------------------------------------------------------------------------------------------------------------
//----------------------------------------------------------------------------------------------------------------------
Antes de empezar LA CREACION, Dios miró a su equipo de TI (tecnología de información). Un grupo de ángeles con look algo nerd. Y habló (Y sus palabras resonaron como truenos):
Dios: "¿Están seguros de que pueden completar este proyecto en 6 días?"
Uno de los ángeles, con finas vestimentas (era el jefe de proyecto) dió un paso al frente y respondió:
Project Manager: "Estamos comprometidos a entregar una solución con la calidad adecuada"
Dios: (levantando una ceja...) "¿Y eso significa.....????"
Project Manager: "Entregaremos el producto en la fecha acordada"
Dios: "humm.... el proyecto es complicado, uno de los requerimientos es que EXISTA LUZ al final.... y además el contrato está escrito EN PIEDRA así que no deseo activar ningún CONTROL DE CAMBIO...."
Project Manager: (mostrando dotes de convencimiento angelicales) "No se preocupe, lo lograremos"
Una luz de paz cayó sobre el equipo de TI, mostrándolos como héroes a punto de entrar en batalla, como si nada pudiera detenerlos. (música angelical de fondo por favor)
....mientras tanto.... en algún lugar del cielo.... en un salón cerrado...
Un ángel con gruesos lentes y con alas tan maltratadas que parece que nunca hubieran sido usadas para volar (osea nunca salía de aquella habitación este ángel).... estaba tratando de armar el sistema MUNDO con pedazos de diferente componentes de barro.....
Programador: "Ay Dios mio!.... quién fue el gracioso que insistió en utilizar COMPONENTES DE BARRO para ensamblar la PLATAFORMA MUNDO?!?!?!?.... esto se está cayendo a pedazos!"
Dios todopoderoso (que todo lo oye) escuchó a lo lejos el murmuro de su nombre y se hizo presente en el lugar.
Dios (con voz inquisidora): "tu!.... eres uno de los desarrolladores que está haciendo mi sistema?"
Project Manager: (que también tiene poderes especiales, hizo su aparición rápidamente) "No! él es simplemente un sub-contratado. Además la plataforma MUNDO cumple con todas las especificaciones requeridas y será debidamente documentada luego del pase a producción del proyecto GENESIS!"
libro aquí: http://hotfile.com/dl/13998142/08f7a83/asdfasfasdf.rar.html
c++ versus java versus python versus todos!
¿Qué opina el creador de Java acerca de C++?
¿Qué opina el creador Python acerca de Java y C++?
Interesantes preguntas (e interesantes respuestas) que pueden encontrar en este libro en donde hablan diferentes creadores de varios lenguajes de programación acerca de los otros lenguajes :)
Aquí está el libro: (masterminds of programming)
http://hotfile.com/dl/13985575/84acd20/mmmpr.zip.html
Un androide en mi PC
Y mira lo que pasa si apretas ALT+F1 (accedes a la consola del sistema operativo Linux del Android!):
Y si! también puedes instalarle aplicaciones adicionales!
Diviértanse!
Mi esposa la modelo
Mi esposa trabaja como modelo en el mundo virtual SecondLife (http://www.secondlife.com/) y cuando digo "trabaja" me refiero a que obtiene dinero real.
SecondLife es un mundo virtual en el que puedes conocer amigos, trabajar, bailar (si, en discotecas), visitar lugares fantásticos, incluso construir tu propia casa.
Aquí una foto de mi esposa en SecondLife:

Así que si te gusta chatear, conocer amigos y navegar por horas en internet.... por qué no hacer algo divertido y además productivo con eso?
Si tu lado es más bien el artístico, también puedes crear objetos (en 3D) y venderlos dentro de SecondLife.... es todo un mundo digital por descubrir. Y no es el único mundo virtual que existe, si entras a http://www.virtualworldsreview.com/info/categories.shtml encontrarás muchos más, para diferentes estilos, gustos y colores.
Libro recomendado: Smart and gets things done
En el ejército a los soldados se les da dos órdenes:
- Si pisas una mina: detente
- Si el enemigo te dispara: corre hacia él disparando. Eso provocará que te deje de disparar y tu estarás cada vez más cerca para apuntar mejor y acertar en los tiros.
Claro, no falta el soldado inteligente que pregunta: "¿Y si piso una mina mientras me están disparando?"
Si quieren saber el resto de la historia y qué tiene que ver eso con el desarrollo de software, les recomiendo este libro:
"smart and gets things done". Autor Joel Spolsky
De hecho, este libro debería ser leído por cualquiera involucrado en el desarrollo de software. Contiene historias y consejos del mundo del software, escritos en lenguaje ameno y sobre todo: MUY MUY REAL. No vas a encontrar teorías largas y aburridas de metodologías en este libro.... mas bien... vas a encontrar casos prácticos de como contratar personal, como ser mejor programador, como buscar mejores programadores, como trabajar en un equipo que desarrolla software... y algo MUY IMPORTANTE: el test JOEL de 12 puntos para la evaluación de proyectos de software... los reto a contestar ese cuestionario y medir como van sus proyectos.
¡Vamos!
¡lean!
¡el libro sólo tiene 194 páginas y encima páginas chiquitas con letras grandes! incluye dibujitos!
Pocas veces vas a encontrar tanta información importante y divertida en sólo un libro!
No he parado de reir mientras leia este libro de principio a fin.
Parece que es momento de aprender otro lenguaje de programación
SUN (la empresa casi "mamá" de Java... porque IBM parece el papá) ha lanzado una nueva página web de tenología, con noticias y artículos acerca de un lenguaje de programación que.... no es java.
Es Python: http://developers.sun.com/scripting/python/index.jsp
Ah! y está actualizando NetBeans para que soporte el lenguaje Python próximamente. http://wiki.netbeans.org/Python
Se pone interesante no?... pero sigamos:
Google ha lanzado hosting para aplicaciones Python: http://www.niallkennedy.com/blog/2008/04/google-app-engine.html
No sólo hosting, Google ofrece toda una SDK para desarrollo con Python. http://code.google.com/appengine/docs/whatisgoogleappengine.html
Python ha ganado el premio "Lenguaje de programación del año 2007": http://www.cmswire.com/cms/enterprise-20/2007s-programming-language-of-the-year-is-002221.php
Humm.....
Google contrata al creador de Python: http://www.oreillynet.com/onlamp/blog/2005/12/python_creator_guido_van_rossu.html
La empresa SUN parece que está perdiendo dinero ( http://www.bloggingstocks.com/2008/08/01/sun-microsystems-java-drops-on-forecast-of-losses/ ) Después de todo... SUN no "vende" java pues es gratis. Pero lo peor de todo es que SUN no parece estar aprovechando la "fama" de java a su favor. Parece que mientras más se usa Java los que se benefician son otros (IBM, Oracle, .etc) y no la propia SUN.
Bruce Eckel (el que escribió el libro "thinking in Java") ahora trabaja para Adobe y utiliza herramientas Flex: http://www.jamesward.com/wordpress/2007/01/10/bruce-eckel-is-thinking-in-flex/ ......su próximo libro será "Thinking in Flex"?.
Bruce Eckel (si, el mismo) también hizo el intento de escribir "Thinking in Python" ( http://www.mindview.net/Books/TIPython )
Guido Van Rossum (creador de Python), quien pronto sacará la siguiente versión (Python 3000) http://dotnet.sys-con.com/node/467841 mencionó algo muy interesante en una entrevista: "... Python es un lenguaje de incluso más alto nivel [incluso mas alto que java] y eso antiguamente era mal visto por la pérdida de performance que eso genera; pero sin embargo el poder computacional del hardware avanza tan rápido que ese argumento es cada vez menos válido..."
Revisemos un poco de historia:
Assembler es un lenguaje de gran poder; pero luego apareció otro lenguaje ("C") un poco más lento pero de "alto nivel" que te permite ser productivo y se empezó a usar más que el propio assembler, estoy hablando de lenguaje C.
Luego apareció C++ y se repitió lo mismo.
Luego apareció Visual Basic, cuyo "alto nivel y facilidad de uso" lo ha convertido en quizás el lenguaje más utilizado.
Alguno recuerda Visual FOX?... lenguaje de alto nivel pero con alta productividad.
Luego apareció Java y es muy utilizado y definitivamente uno puedo hacer mucho con Java y ser muy productivo. Claro, el resultado final puede no ser tan rápido como algo hecho en C++ ... pero..... realmente importa? Realmente es necesario ser milisegundos más rápido en un mundo en el que procesadores más rápidos aparecen constantemente?
¿Y qué tal si te dijera que con Python puedes ser incluso más productivo que con Java; pero tu programa va a correr un poquito más lento?... ¿Usarías Python? ...
Claro, el "mercado" determina mucho que lenguaje de programación utilizamos, y el respaldo de "los grandes" (SUN, IBM, Microsoft) es la razón por la cual muchos de nosotros trabajamos con lenguajes como Java y .NET. Pero ahora que otro "grande" como Google está empujando Python quizás eso empiece a cambiar.
He revisado Python ultimamente y yo (que trabajo con Java todos los días) puedo decir que cada vez me gusta más Python.... aquí algunas de las observaciones que he encontrado:
- Java es libre. Python también.
- Si, mi Eclipse soporta Python. Pero hay otras IDEs también.
- Tooodos esos términos de marketing que se usan para vender Java también aplican para Python: programación orientada a objetos, multiplataforma, seguridad, escalabilidad, gran cantidad de librerías y frameworks, .etc.
- Interesante comparación de java versus Python: http://pythonology.org/success&story=nexedi
- Cuando quiero mayor performance en java, "bajo" a lenguaje C... y eso no es simple porque tengo que usar DLLs, JNI y esas cosas... sin embargo Python conversa con librerías de lenguaje C de una manera más natural.
- Y Python también puede utilizar librerías Java, incluso puede extender una clase java de ser necesario. ( www.jython.org ) De hecho puedo hacer un "applet java" en Python. (Si! y ponerlo en una web como si fuera un "applet java")
Siempre he querido hacer un juego, cada vez que lo intento con java llego sólo a un límite porque las librerías gráficas de java (no me refiero a Swing ni a AWT) no tienen el poder suficiente para hacer un juego 3D "de verdad" o usar una librería de juegos como OGRE: http://www.ogre3d.org/ .... sin embargo... Python tiene varias librerías para acceder al "poder gráfico de 3D"... ejemplos: http://www.pygame.org/ y el propio Blender: http://www.blender.org/ que te permite crear juegos en 3D y luego aplicarles lógica de programación..... con el lenguaje Python por supuesto. - Los hosting para aplicaciones Java están "caros" (20 dólares mensuales) y por eso PHP tiene gran popularidad porque sus hostings son "baratos" (3 dólares mensuales, algunos incluso menos o gratis). Los precios de hosting Python son similares a los de PHP.
Ahora la única razón para no aprender Python es: flojera.
Te invito a descubrir un mundo nuevo llamado Python: www.python.org
Cómo arrancar (boot) y usar Windows y Linux desde un llavero USB
Holas! ya tengo la última versión de Ubuntu Linux (8.1) corriendo desde mi llavero USB. Esto es mejor que una versión "live CD" porque lo puedo llevar a donde sea y lo que haga se va grabando en el mismo llavero USB. Además el acceso de lectura es más rápido en un USB que en un CD.
Aquí los links de como hacerlo:
Ubuntu en USB:
http://www.pendrivelinux.com/2008/10/15/ubuntu-810-persistent-flash-drive-install-from-live-cd/
Si prefieres KDE puedes poner slax linux en USB: http://www.slax.org/ o intentar poner Kubuntu en un USB....
Windows en USB:
http://www.tomshardware.com/reviews/windows-pocket,1113-8.html
Notas:
Windows en USB (también llamado BART-PE) no es muy útil porque para empezar no es un Windows real (le faltan algunas librerías) y no se le puede instalar cualquier software que uno desee, está limitado a sólo software compatible con Windows versión BART.
En cambio cuando linux funciona desde USB tienes un LINUX COMPLETO, sin "algo menos", sin "restricciones", y si algo le falta, simplemente se lo instalas :) el límite lo pone el tamaño de tu llavero USB.
He probado SLAX y Ubuntu versión USB (tengo dos llaveros USB de 2GB cada uno... aunque uno es de mi esposa que me lo ha prestado por el bien de la ciencia) y puedo decir que ambos funcionan muy bien; sin embargo SLAX cada vez funciona más lento hasta que llega al punto que se cuelga. Sospecho que es por mi culpa y no sé usarlo bien porque veo en su web que SLAX es muy querido por quienes lo usan. En fin. Me quedo con Ubuntu desde mi USB que está funcionando OK y me permite total libertad:
- Libertad para usarlo (software libre)
- En cualquier lugar o PC (lo llevo a todos lados en mi USB)
Cómo navegar por internet con seguridad máxima
¿Pero puede haber algo más seguro?
Claro, usar un antivirus. (Norton, McAffee, Avast, .etc.)
¿Pero puede haber algo más seguro?
Claro, usar un antivirus+firewall+antispyware (AVG, Panda Total Control, Norton 360, .etc)
¿Pero puede haber algo MUCHO más seguro todavía?
(si sigues preguntando es porque o eres muy espeso o porque eres de la gente como yo que pelea contra las malignas criaturas de la oscuridad que amenzan por internet)
Pues si!... no navegues por internet. (tan sólo bromeaba). Aquí te doy unos tips si buscas mayor seguridad cuando navegas por internet:
- No uses tu máquina real para navegar, mejor utiliza una máquina virtual y navega desde allí, de manera tal que si algo malo ocurre sólo se daña la máquina virtual. Yo utilizo un WindowsXP que "vive" dentro de una imagen VirtualBox ( http://www.virtualbox.org ) para navegar por internet... enciendo la imagen... navego... y cuando termino de hacerlo simplemente apago la máquina virtual y listo. Y si algún virus infecta a la imagen, simplemente la borro y creo otra. Mi verdadero Windows XP no se ve afectado. Si el concepto de máquina virtual no les quedó claro, miren estas imágenes: http://www.virtualbox.org/wiki/Screenshots
- Navega desde Linux. Yo uso Ubuntu ( http://www.ubuntu.com ) pero puedes usar cualquier "sabor" de Linux que prefieras. Casi todos son gratis. Y no es necesario que borres, particiones o elimines tu Windows pues Ubuntu puede vivir dentro de una imagen virtual VirtualBox si deseas. Incluso, puedes ejecutar tu Linux desde un llavero USB, sin tocar tu disco duro para nada.
- Activa un campo de fuerza que te proteja! (no es broma). Si utilizas el producto FORCE FIELD de Zone Alarm tu Internet Explorer adquiere un campo de fuerza que brilla a su alrededor y lo protege de ataques de internet... y si alguno llega a dañarlo o infectarlo pues no importa porque todo queda contenido dentro del "campo de fuerza" y nada llega a tu computadora. ¿Quieres saber más sobre eso? mira aquí: http://www.zonealarm.com/forcefield/
Aprendiendo a complacerlas
Etapa infantil. En la cocina
Henry: yum! mami cocina rico! voy a darle un gran regalo por el día de la madre y hoy voy a limpiar sus ollas y sartenes! empezaré por esta sartén que se ven muy negra.
(Varios minutos después aparece mamá y me ve con una sartén brillando!)
Mamá: ¿Qué haces hijo!?
Henry: mira mamá! he limpiado tu sartén con una lija hasta que se le salió todo lo negro! ahora está blanquita color de su metal original!
(Mamá se preocupa y se pone algo triste)
Mamá: Hijito! las sartenes de teflón son negras por naturaleza! al lijarla le has quitado el teflón! ahora esta sartén ya no sirve.
Henry: uy! ... yo sólo quería ayudar....
En el Instituto
Amiga: Ya pues Henry, tu eres inteligente, qué tal si en el examen final tu pones mi nombre y lo resuelves y yo pongo tu nombre? ok?... tu ya aprobaste el curso sin importar que nota saques... anda por favor si?
Henry: esteee.... bueno.... supongo que no hay problema....
Amiga: yeeee!
(Durante el examen, pongo el nombre de mi amiga y lo resuelvo... pero no podía hacerlo muy bien porque una nota alta iba a resultar sospechoso, así que cometí algunos errores a propósito en las respuestas...)
(Algunos días después)
Amiga: oye! qué pasó? viste las notas?
Henry: no; pero ya aprobaste el curso no?
Amiga: grrrrrr.... NO!!!!
Henry: ¿Por qué?
Amiga: Porque TU!!! OSEA-YO!!!! has sacado mas nota que YO!!! OSEA-TU!!!! te he hecho aprobar el curso y tu no sé que has hecho en el examen que has sacado menos nota que yo!!!! OSEA-TU!!!!
Henry: es que no podía sacar alta nota y tuve que poner algunos errores... y... uy... chispas... creo que puse demasiados????
Amiga: SIII!!!!!!! mejor hubiera puesto mi nombre nomás!!! ay!!!!!
Henry: humm.... cuando lo hago bien me sale súper y cuando me equivoco también me equivoco bien no???
Amiga: ayshshshssh!!!!
En la discoteca, con la enamorada
Enamorada: Ok, por fin logré traerte a una discoteca. Acá están mis amigas así que pórtate como un caballero y conversa con ellas para que te conozcan
Henry: "tengo" qué?
Enamorada: Si! tu vida no es sólo computadoras! Y "yo" por supuesto. Je Je.
Henry: ok. Aquí voy.
(Me divierto conociendo a sus amigas y conversando con una de ellas y la invito a bailar. Luego de algunos momentos de conocerla y reír y pasar un buen rato sociabilizando, regreso a la mesa donde estaba mi enamorada observando lo que pasaba)
Henry: Tu amiga me cae muy bien
Enamorada: (En silencio y molestísima con cara de pared de ladrillos king-kong que durán mas que los demás)
Henry: esteee.... por qué estás molesta? hice lo que me dijiste, hasta baile con tu amiga!
Enamorada: grrrrrr..... ELLA NO ES MI AMIGA!!! NO LA CONOZCO!!!!
Henry: aaaahh..... yo... eh.. ahh.... uh... es que... pensé... es que... estaba aquí y .... ay! .... hay mucha gente en las discotecas no?....
Enamorada: humm........
En el concierto de música, con la enamorada
Enamorada: Yeee! vamos a ver el concierto sentados aquí.
Henry: ok.
Enamorada: Uy! me duele la barriga... me compras una pastilla en la farmacia?
Henry: pero acabamos de hacer una cola de 2 horas para entrar y cuando cerraron la puerta el guardia (mas bien gorila) nos dijo que el que sale ya no vuelve a entrar... Y eso sin contar que estamos a 1000 personas de distancia de la puerta, quizás no podría volver a encontrarte de nuevo en medio del auditorio.... vaya!.... si te duele mucho simplemente vámonos...
Enamorada: no!... quiero ver el concierto! ..... ay mi barriga...
Henry: pero pero....
Enamorada: haz algo pues!
Entonces yo analizo la situación y me doy cuenta de que incluso si lograra traspasar al gorila y nadar a través del mar de personas quizás no encuentre una farmacia cerca -y más importante aún: ABIERTA a esa hora. En momentos como esos todo hombre sabe que debe acceder a fuerzas superiores a él y pedir la iluminación de seres superiores.... y entonces recordé las palabras sabias de Miyagui san el capítulo 1 de Karate Kid cuando David san estaba a punto de perder el campeonato: "aplicar calor sobre el dolor"
Así que cerré los ojos, me concentré, y junté mis manos he hice la técnica de generar calor en mis manos del master Miyagui... y luego puse mis manos sobre la barriga de mi enamorada y eso el calmó el dolor y así pudimos quedarnos a ver el concierto.
Aplicar calor (y las manos) sobre una parte que te duele es una técnica muy útil. Incluso está en nuestros genes... han notado como cuándo algo les duele inmediatamente lo quieren tocar o cubrir con sus manos?... quizás deberían preguntarse "por qué" tienen ese instinto.
Acerca de RIA (Rich Internet Applications)
Y no sólo a nivel web, sino en todos los niveles, sea cual sea la plataforma de presentación (web, desktop, mobile, .etc).
Tecnologías como Flex, Flash, JavaFX, Silverlight empezarán a cobrar cada vez mas importancia.
Los que estudian administración de negocios o de empresas ya lo saben desde hace mucho tiempo: en un mundo cada vez mas globalizado en el que todos ofrecen casi la misma tecnología la DIFERENCIACION de tu producto puede ser la clave de éxito. Ya no es suficiente con decir que un sistema te permite manejar información, también debe permitirle al usuario ser "dueño" de su información. Los usuarios de hoy que han crecido con Nintendos y Playstations ya no quieren sólo ver la información en su pantalla, también quieren interactuar con ella. (Y los usuarios de mañana habrán crecido usando Nintendo Wii....)
La línea que divide aplicaciones "desktop" con aplicaciones "web" está cada vez más borrosa. Con Adobe AIR (y con la última versión de java que te permite ejecutar un applet FUERA de internet explorer) una aplicación puede vivir y ejecutarse indistintamente como "web" o como "desktop".
Les recomiendo esta lectura acerca de RIA:
http://www.flomedia.de/diploma/
(busquen un PDF en esa web que dice algo como "Thesis Florian Moritz)
Es el mejor resumen que he podido encontrar de RIA. El texto "parece" enfocado exclusivamente en JavaFX; pero no es así. Léanlo.
Elizabeth
Uno de los ejercicios que se puede hacer en cualquier momento y a manera de distracción es tratar de comer con la otra mano. Mi mano "dominante" es la derecha. Durante varios almuerzos usé el tenedor con la mano izquierda; pero los resultados han sido decepcionantes: comida en la mesa, en el piso, en mi ropa. (y en la ropa de otras personas... que roche) mientras mi mano derecha trataba de explicarle a mi mano izquierda como usar el tenedor.
En uno de esos "intentos por desarrollar mi otra mitad" me detuve un momento, cerré los ojos mientras la comida se caía por todos lados y empecé a recordar mi pasado.... mi pasado... mi pasadoooooo.... (alucinen al pequeño saltamontes recordando lecciones de vida de su pasado.....)
[[[[...........entrando a modo flashback.......]]]
....y entonces recordé a Elizabeth.
Cuando la conocí (en secundaria) quedé impresionado con su habilidad para escribir con la mano izquierda. Era la primera persona zurda que conocía en mi vida.
"Elizabeth... ¿Qué se siente escribir con la mano izquierda?"
Ella me miró. No dijo nada; pero pasó varios minuto estudiándome, su mirada era la de alguien que tenía un microscopio.... y me estaba disecando... y me estaba examinando.... y entonces... me preguntó:
"Henry....¿Qué se siente escribir con la mano derecha?"
Y en ese momento... comprendí.
No era necesario decir nada más... simplemente nos reímos de la pregunta.
[[[[...........saliendo del modo flashback.......]]]
Por eso ahora, cuando quiero comer con la mano izquierda, simplemente la dejo ser, cuando utiliza su propio estilo de manejar el tenedor los resultados son mucho mejores... hummm... quizás mi mano derecha pueda aprender algo nuevo...
ubícate punto com
Las mujeres por lo general no tienen un buen sentido de la orientación, quizás por eso preguntan a cualquiera que ven en la calle una dirección cuando están perdidas, y cuando digo "cualquiera" me refiero realmente a "cualquiera". Mi esposa ha llegado al extremo de preguntarle a un vendedor verdulero (de esos que pasan con su triciclo) una dirección. (Y cuando mi hija quiera ir a algún lugar la voy a llevar.. pero mostrándole puntos de referencia en el camino claro)
Entre las causas probables de este fenómeno, se me ocurren:
Los hombres por lo general nos ufanamos de ser grandes exploradores y tener una casi-brújula-incorporada-en-la-cabeza (mismo pájaro que vuela a al sur sin perderse y sin escalas). Y obviamente, nunca preguntamos por direcciones.
Y aun así, cuando subimos al auto mi esposa usualmente insiste en manejar (.... es Tauro... así que la dejo ser). Y yo, sentado como niño que lo llevan a su colegio (sentadito, calladito y con su lonchera en las piernas) me tengo que limitar a dar indicaciones cada vez que puedo... y no son pocas las ocasiones.... aquí van unos ejemplos:
Buscando comida
Ali: Entremos aquí, quiero una hamburguesa.
Tak: ok
Ali: Señorita, por favor déme una hamburguesa alemana
Señorita: pues.... no tenemos esa...
Ali (visiblemente molesta): Pero como es posible!? tienen que tener!? tienen que asegurar un stock adecuado!
Señorita (interrumpiendo con una sonrisa a mi esposa): verá señorita (a mi esposa siempre se la compran cuando le dicen *señorita* en lugar de *señora*)... aquí en *BURGER KING* no vendemos hamburguesas de *BEMBOs*...
Ali: aahhh
Llevando a mi hija Dharma a la peluquería
Ali (acercándose a la peluquería): buenas tardes he traído a mi hija.
Señorita: aaaahhh que preciosura su hijita! ¿cuántos años tiene?
Ali: año y medio, nunca le he cortado el pelo pero... creo que ya le toca no?
Señorita: que linda! ... pues si parece que ya tiene el pelito muy largo
Ali: pensé en hacerle su primer corte de pelo, ¿cuál crees que le quede bien? ¿Y cuánto cuesta?
Señorita: pues... no sé cuánto cuesta... quizás debas preguntar en la peluquería ...
Ali: ah! qué???? esta no es la peluquería?
Señorita: pues no, la peluquería está aquí al costado, yo vendo zapatos
Ali: aaah... oh... ok (y empieza a llevarse a Dharma a la peluquería... que está al costado de la zapatería...)
Felizmente existe la web ubicate.net ( http://www.ubicate.net/ubicate/ubicate.php ). Ella ahora entra solita, imprime su mapa y va a donde quiere.
Y cuando el taxista le pregunta como llegar a ese punto rojito en su lindo mapita a colores impreso de la web, ella responde: "no sé, para eso eres taxista ¿no?" (recuerden ... es Tauro...)
La naturaleza es sabia, por eso nos da diferentes habilidades a cada uno, ella quizás no sepa como llegar pero definitivamente llega rápido (a donde sea, pero rápido). Yo en cambio tengo un mejor mapa interno pero... bueno... me demoro un poco más en llegar.... aquí unos ejemplos:
Tomando combi a lugar desconocido
Ali: ¿Por qué no llegaste a tiempo?
Tak: Es que dejé pasar 2 combis antes de tomar la definitiva
Ali: ¿Por qué?
Tak: Es que ninguna me inspiraba confianza. Además las estaba estudiando para ver como eran. Además, recién me enteré que iban por la avenida que quería cuando vi que lo tenían pintado en un costado.
Ali: aaaayyyy! simplemente para una combi y le preguntas!
Tak: Pues yo no soy de esas personas que paran una combi y se ponen a conversar con el cobrador y luego no toman la combi!
Ali: ay! ¿Por qué los hombres nunca quieren preguntar direcciones?
Encontrar un lugar nuevo
Ali: vamos!
Tak: pero todavía no lo encuentro en guía-de-calles.com!
Ali: no importa, por allá preguntamos...
Tak: pero ni siquiera sabemos como llegar a "por allá"!
Ali: siempre hay alguien que sabe!
Tak: ok, ya sé como llegar
Ali: entonces vamos!
Tak: espera! todavía no he trazado mi ruta alternativa en caso de fallar la ruta primaria... y apuntar un número al que llamar si nos perdemos... y...
Ali: aaaayyyyy!
Tak: uy...esteee.... ¿ese grito significa que no me vas a dar tiempo tampoco de trazar mis posibles rutas de escape del lugar?
Ali: (aplicando mirada de me-voy-contigo-o-sin-ti)
Tak: ok ok ya vamos... (buuu... mejor tampoco le digo de la misión inicial de reconocimiento del lugar que tenía pensado hacer...)
Esa es mi linda esposita. Y por supuesto, sin importar a donde me lleve, la amo.
Facts and Fallacies of Software Engineering
El libro es "Facts and Fallacies of Software Engineering". (ISBN 0-321-11742-5)
Aquí va un extracto del libro (en color azul):
//----------------------extracto--------------------------------------
...Se supone que.... las personas son mas importantes que la tecnología.... ..
...pero en la realidad ocurre que.... las empresas desarrolladoras de software se esmeran en usar y adoptar metodologías tipo CMMI (Capability Maturiy Model) para que la empresa tenga cada vez mejores "procesos y funciones" al punto en que "las personas pueden intercambiarse" pero la metodología se mantiene como un modelo a seguir. Felizmente algunas empresas ya se han dado cuenta de que un buena metodología no va a lograr que una persona con poca habilidad haga bien su trabajo y por eso se preocupan en aplicar más bien el "PEOPLE CMM" (People Capability Maturity Model) http://www.sei.cmu.edu/cmm-p/version2/ que está enfocado al desarrollo de las personas, administración del conocimiento, trabajo en equipo, .etc. y todos esos términos que las empresas curiosamente "utilizan para promover la calidad de equipo humano que poseen" cuando presentan sus propuestas de ventas :)
...Se supone que.... la estimación de algo se hace cuando sabes que es ese "algo"
...pero en la realidad ocurre que... la estimación de los proyectos de software se hace lo más temprano posible en el proyecto... cuando se sabe lo menos posible sobre el proyecto a realizar....
...Se supone que.... la estimación (de proys. de software) se debería hacer por gente que sabe de software (quien mejor para saber del software que los programadores?)
...pero en la realidad ocurre que... la estimación se realiza por un conjunto de personas, algunas de las cuales ni siquiera son del área de ingeniería de software: marketing, usuarios, .etc.
...Se supone que.... a medida que avanza un proyecto y nos damos cuenta que la estimación no es realista, actualizamos los valores de la estimación para reflejar los nuevos tiempos...
...pero en la realidad ocurre que... una vez que ya se sabe que las estimaciones estuvieron mal y además se sabe quienes hicieron la hicieron mal.... le echan la culpa a los programadores porque no cumplieron a tiempo su trabajo...
...Se supone que....una vez que ya nos dimos cuenta de que las estimaciones son incorrectas, que no se actualizan a la realidad y que no podemos confiar en ellas... deberían ser tratadas como un dato sin importancia para el proyecto...
...pero en la realidad ocurre que... las estimaciones son lo MAS importante del proyecto!... TODO se mide con ellas....en las reuniones para revisar el avance del proyecto a la gerencia sólo le interesa saber si se cumplió con el hito X en tiempo fijado Y o si se avanzó o se retrasó en Z tiempo.
Hablando de las estimaciones.... hice este experimento: le di a un programador una tarea, le dije que la programara y a propósito le di tiempo insuficiente para completarla. Resultado del experimento: La persona lo hizo! pero el programa no tenía suficiente calidad ni tenía todas las opciones que le pedí. Lo interesante es que, la persona no se preocupó por el tiempo que le di sino que en todo momento hizo su mejor esfuerzo y "automáticamente" quitó calidad al programa con tal de cumplir con la fecha. Conclusión: en el problema de la estimación todos son cómplices.
...Se supone que...si un proyecto se retrasa, todos se ponen tristes y se preocupan...
...pero en la realidad ocurre que...al personal técnico (desarrolladores) poco le importa el retraso; pues generalmente ocurre que el proyecto se retrasó porque en la estimación no consideraron el tiempo que tomaron los desarrolladores en resolver complejos algoritmos y crear interfaces nuevas con tecnología nueva (y todos los retos tecnológicos que el proyecto requería pero no fue tomado al momento de estimar -adivinen por qué. Conclusión: los desarrolladores están felices porque el proyecto es un "reto tecnológico".
...Se supone que...COBOL es un lenguaje horrible y obsoleto y no se debería usar más...
...pero en la realidad ocurre que...su uso sigue creciendo día a día...
Un programador enamorado
- Para la gente windozera: "Estoy abriendo otras ventanas, no te preocupes"
- Para la gente java: "Estoy en otro thread"
- Para la gente coder: "Estaba compilando"
- Para la gente de Thundera: "Estoy tratando de ver mas allá de lo evidente"
Y tengo otras mas. Aunque no las pude usar cuando un amigo mío agregó un cargo más a la acusación, diciendo: "Seguramente eres tan distraído que ni te das cuenta cuando te enamoras".
Frente a eso simplemente respondí "Por supuesto".
Y empezó la discordia.
Mi amigo recobró seriedad inmediatamente replicando que eso no era posible, que uno puede elegir enamorarse. Yo insistí que no, que uno no sabe cuando se enamora, uno no puede predecirlo y mucho menos elegir de quien se enamora. Al ver que no nos poníamos de acuerdo, convocamos a otros hombres para mar una rueda de discusión.
(Advertencia para las feministas que lean esto: Favor de abstenerse en estos momentos de hacer chistes del tipo: "Cuántos hombres se necesitan para hacer 1 cerebro"? )
Esto es cosa seria! Incluso, colocamos nuestro cartel amarillo de "MEN AT WORK", con hombrecito y pala incluida.
Entonces discutimos y me sorprendió ver que habían otros que también creían que uno puede elegir cuando enamorarse. Vaya! y después dicen que “YO” planifico demasiado en la vida!
Después de intercambiar disertaciones y lanzarnos diferentes opiniones, llegamos a la misma conclusión primordial a la que todo grupo de hombres llega cuando discute temas elevados: Teníamos hambre.
Pero una de las conclusiones que pude anotar antes de que nos retiráramos a buscar comida fue: No era necesario elegir de quien enamorarse, porque en realidad son las mujeres las que elijen por nosotros y en la mayoría de casos "nos enamoran".
Es que vamos, los hombres a veces nos complicamos demasiado… ¿Y es que se imaginan lo que pasaría si un programador quiere hacer poesía? Le quedaría algo así:
Mi cabezal se ha descarrilado leyendo tus cilindros, me has sacado de mi track!
Aquella foto que me certificaste con tu firma digital es mi attachment más preciado
Las demás fueron sólo demos, tu eres la firmware
Otras llegaron sólo al sóftware pero tu tocaste mi hardware
No me importan cuántos registros hayan en la tabla de mujeres, sólo me importa tu llave única
(y seguro le quiere poner indentado encima!!!, fácil y lo escribe en una IDE!!!)
Por eso un amigo mío (que también es programador) me dijo un día: “chochera! La re-utilización de componentes es la voz!” y me dio un libro de poesías de Pablo Neruda.


