Excelente libro: Framework para sistemas web empresariales (RECOMENDADO)

Tabla de contenidos:

  • 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?

humm.... y también hay otras preguntas tan importantes del mundo de la tecnología como:

¿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 C++ acerca de Java?

¿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


¿No puedes esperar a tener tu nuevo celular Android? ( http://www.android.com/ ) Son la nueva competencia del iPhone.


¿Pues qué tal probar un Android sin comprarlo?


Desde aquí:



Puedes bajar un emulador del Android. Lo instalé en un virtualbox y aquí tengo la imagen de entrada:







Y mira lo que pasa si apretas ALT+F1 (accedes a la consola del sistema operativo Linux del Android!):



Y si! entra a internet automáticamente!:




Y si! también puedes instalarle aplicaciones adicionales!

Diviértanse!

Mi esposa la modelo

Algunos pueden soñarlo pero yo puedo decir que mi esposa es una modelo.... bueno... en un mundo de realidad virtual :)

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

Esto es para ponerse a pensar:

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.
Creo que he estado demasiado ocupado en Java ultimamente y me he perdido este "movimiento pitónico" llamado Python que ha estado surgiendo....


Ahora la única razón para no aprender Python es: flojera.

Te invito a descubrir un mundo nuevo llamado Python: www.python.org