Motivación y Propósito

medios_de_comunicacion

Motivación: La razón para realizar una acción o serie de acciones.Propósito: El objetivo que perseguimos.Lo que motiva a los trabajadores intelectuales es realizar “buen trabajo.”Extracto de la entrevista realizada a Alan Cooper, sobre las similitudes de los diseñadores de interacción y los desarrolladores “Ágiles”.

El todo es mas que la suma de sus partes.1 + 1 = 2, estúpidamente obvio pero hay que aclararlo, 2 es un numero mas grande por que se encuentra “sumando fuerzas”, es decir, no son las fuerzas por separado si no en conjunto, 2 es mas grande que uno porque es un “conjunto”.Corolario: Unidos somos mas fuertes!O como dice mi amigo H. Beal: Solo no puedes, con amigos si!

El verdadero Rock Developer, ha entendido que no basta con desarrollar una solución que produzca los resultados correctos, dado que esto deriva en ambigüedad!

Nuestro propósito es desarrollar una solución útil, por ello se apoya en personas como el Diseñador de Interacción, y el Gerente de proyecto, quienes son los encargados de traducir los modelos mentales del cliente a modelos de implementación, los que nos enseñan que el cliente y el usuario son personas diferentes, y que el software finalmente esta diseñado para ser usado por personas la mayoría del tiempo, por tal razón buscan incansablemente que el software se comporte como una persona considerada y propositiva.

A través de seguir los principios del Desarrollo de Interacción y entender que Agile, no es un paradigma de programación orientado a producción sino a calidad, es que el desarrollador de software, puede alcanzar un nivel de Interdependencia mas amplio.Esto obviamente acarrea beneficios tales como

  • No sentirte miserable en tu trabajo: Dado a que tu motivación se mantiene constante, desarrollar “buen software”
  • Sensación de desarrollo y plenitud: Esto es por el hecho de saber que tu trabajo es bueno, y que esta siendo usado por alguien, a quien le es “útil.”

La Interdependencia entre Diseñadores, Desarrolladores, Gerentes, Clientes y Usuarios permite crear un resultado de mayor beneficio, ya que la suma de esfuerzos, motivaciones y voluntades, permite descubrir los propósitos comunes, y que eventualmente conducen al éxito de un producto.

Iaax Page

Ser bloguero o vivir un rato ?

Al inicio del 2008 cree este espacio con la vision de convertirlo en un almacen de conocimiento, un lugar donde varias personas puedan publicar articulos interesantes y utiles para la labor del desarrollador.

Desgraciadamente, hoy me encuentro a casi un año y con la pena de aceptar que mi vision no fué realizada, pues el trabajo me absorbió y me estresó como nunca, dejandome con ganas de utilizar mi tiempo libre para descansar y divertirme, dejando en segundo plano esta tarea que alguna vez me emocionó lo suficiente como para decidirme a comprar mi propio hosting, siendo yo un tipo algo tacaño , =).

Pues heme aqui preguntandome si esto es culpa de mia o de las circunstancias del año, del cual no me puedo quejar, porque gracias a Dios tuve trabajo y mucho, algo muy vital en estos tiempos de amplia competencia.

Retomando el tema, si fue mi culpa, habra sido por la mala organizacion ? habra sido por darle preferencia a la diversion y al descanso antes que a un proyecto que tiene mucho futuro y es importante para mi ?.

Tengo que confesar que diseñar y desarrollar soluciones me emociona mucho; es algo que me absorbe y me llena, pero tambien tengo que admitir que este es un proyecto personal, y como tal, tiene cabida unicamente dentro de mi tiempo libre, pues para ganarme la vida necesito dedicar 8 horas de mi experiencia y habilidades (no digo que sean mucha, ja) al servicio de una compañia.

Entonces no me puedo clasificar como un bloguero ni pretendo que rockdeveloper sea un blog, pues no puedo escribir posts de 20 lineas y de manera frecuente.

Intento que rockdeveloper sea la documentacion de las ideas de un desarrollador, de los proyectos que lleva a cabo, de las dudas que le han surgido y de las soluciones que se ha encontrado en el camino. Intento que rockdeveloper sea extenso y detallado. Es por eso que un post no puede ser tan pequeño como el de los blogs normales, y por ende, necesita mas tiempo de mi del que inicialmente pensé.

Mientras pienso esto, veo el tiempo que pasa haciendonos mas viejos a todos, dandonos la oportunidad de vivir un rato y recolectar experiencias, y me veo a mi mismo sentado 8 horas frente a la computadora… siendo este tiempo inutil e insuficiente para rockdeveloper.

Por eso, llego finalmente a la pregunta: construir rockdeveloper o vivir un rato ?

¿ Es Linux un dolor de cabeza ?

La verdad es que si…

No me mal interpreten. No quiero entrar en la trillada discusion Linux vs Windows, no soy fanatico de ningun sistema operativo , yo aplaudo las virtudes y me quejo de las debilidades de ambos (de macosx no hablo porque no lo he usado…).

En mi experiencia personal, linux es mas estable y mas noble con el uso de recursos que windows, y (ojo developers) , para tecnologias de desarrollo libre es mucho mas habil. Si hoy me pidieran hacer una aplicacion web usando Php, MySql, y porque no ? montado en un webserver Apache, eligiria Linux sin dudarlo. Para la administracion de un servidor web, para la configuracion del entorno de desarrollo prefiero mil veces Linux, en primera porque es lo que se usar, y en segunda porque (esto unos meses atras no lo hubiera creido de mi propios labios) soy mas productivo escribiendo comandos en la consola que dando clicks (como en Windows).

Por otro lado, porque Linux es un dolor de cabeza para mi ? porque no es tan intuitivo como debiera, porque, a pesar de tener una comunidad muy grande, el encontrar la solucion a un problema especifico cuesta y mucho. Para explicarme mejor, pongamos el ejemplo clasico, como instalar un driver especifico ? por ejemplo, el de la tarjeta wireless ? hay miles y miles de posts en la red que enseñan como hacerlo, pero, un alto porcentaje de estos posts son copy-paste de alguien que realmente sabia lo que escribia, los demas te indican “haz esto, da tres brincos y dos vueltas y shazaam!” sin saber que indican esos comandos. Que sucede entonces cuando al seguir los pasos no funciona en tu caso particular ? empieza la aventura en busca de una solucion que posiblemente te lleve dias, sobre todo porque tienes que aprender que estas haciendo mal para corregirlo; y cuando eres nuevo en esto, tu eres un naufrago, e internet es como el mar abierto, solo teniendo conviccion, una actitud positiva y paciencia saldras airoso de este problema.

Ahora, hay varios tipos de linuxeros (si, vamos a analizarlos) , ellos juegan un papel importante en el uso de linux, pues es gracias a la mayoria que este sistema se ha hecho famoso.

Los gurus han sufrido el obtener el conocimiento que hoy tienen, estoy seguro que han tenido infinidad de errores configurando drivers, instalando aplicaciones, etc. Y por eso admiro a los que ayudan a los novatos, los que no tenemos ni puta idea de como funciona toda esta maquinaria que es producto de la colaboracion de millones de programadores, Y me decepcionan aquellos que se jactan de ser listos y asumen que tenemos que sufrir lo que ellos para ser tan “buenos”. En realidad necesito saber como esta estructurado linux para utilizarlo ? necesito saber que librerias usa una aplicacion para instalarla ? no lo creo, ese es deber del programador que la creo, el paradigma OOP menciona una virtud muy notable : encapsulamiento : Un Objeto debe requerir parametros , ejecutar procesos y producir un resultado sin revelar su procedimiento interno. Se que linux es gratis… pero… aun asi tiene que costar tanto el usarlo ?

Realmente una gran parte del tiempo que me han consumido las instalaciones a traves de los años lo han ocupado la investigacion sobre resolucion de problemas. Es por eso que uso ubuntu, el gestor instalador de paquetes es el mejor que he manejado (gracias debian). Espero que ubuntu siga  humanizando linux y demostrando que un sistema operativo debe ayudar, y no entretener al usuario.

¿ Que es LAMP ?

Si llegaste a este post por medio de google es porque esta palabrita ha estado rondando tu cabeza y deseas encontrar el significado de ella.

Bien, LAMP es un acronimo ampliamente utilizado en web que esta conformado por las 4 tecnologias que hacen posible muchas de las aplicaciones (paginas) web que hoy en dia conoces.

Linux
Apache
MySql
Php

Bien, Linux es el sistema operativo donde estas tecnologias viven, Apache es el servidor web que permite alacenar tu aplicacion web y proporcionar una salida HTML que cualquier navegador pueda entender. MySql es un gestor de Base de Datos que te permite hacer maravillas con la informacion de tu aplicacion y Php, que puedo decir de php: es quien orquesta toda tu aplicacion, quien da inteligencia a tu pagina web y gracias al cual puedes procesar datos, almacenarlos, y consultarlos en el momento que quieras.

Se oyo muy formal ? tanto que no entendiste nada? bien, pues tu solo querias saber que es LAMP. si quieres saber mas a fondo sobre cada tecnologia, te recomiendo que sigas estos links.

Linux
Apache
MySql
Php

Saludos.

Hacha en Linux

Alguna vez han oido hablar del hacha ? es un programa viejo que se usaba para partir archivos grandes en muchos archivos mas pequeños. En mis tiempos, esto era muy util para transportar canciones en varios diskettes (1.44mb). Si !! aun no existian las maravillosas memorias USB !.

Bien, pues para partir un archivo, yo personalmente recomiendo el lxsplit, o el winrar, pues el hacha es viejo. Pero sucede que el otro dia descargue uns episodios de House Md. divididos por hacha, y yo estaba en ubuntu !! que flojera iniciar en windows para unirlos !.

Investigando encontre gracias a estas paginas que linux nativamente tiene 2 programas: uno para dividir (split) y otro para unir (cat) archivos, pero no funcionan con la ultima version de hacha, por lo que la solucion es hoz.

Si no usan ubuntu, les recomiendo que vayan a la pagina de hoz para ver que alternativa tienen.

Si usan ubuntu (el linux alcahuete, jaja, me encanta) solo necesitan teclear:

sudo apt-get install hoz

para instalar la version de consola, o

sudo apt-get install hoz-gui

para instalar la version grafica.

personalmente, me siento mas comodo con la version de consola.

para utilizar el programa, los linuxeros teclearan

$ hoz --help

y encontraran su propio camino.

para los newbies, he aqui las opciones con las que hoz cuenta:

-c (cut) – cut (file->pieces)
-p (paste) – paste (pieces->file)
-v (verbose) – verbose output
-f (force ) – force overwrite of file when pasting
-o (outpath) – specify an output directory
-h (help) – print this help, then exit
–version – print hoz program version number, then exit

disfruten los episodios de house !

cambiando el tema

Bien, a pesar de que mi intencion es postear en lo posible contenido que sea nutriivo en el conocimiento de un desarrollador, tambien en ocasiones puedo darme el lujo de comentar anecdotas, opiniones o proyectos que tengo en mente.

Bueno, el tema actual me gusta mucho , pero no es mio… lo obtuve de esta pagina y tengo que darle el credito.

Mi intencion es usarlo temporalmente mientras construyo mi propio tema; si, asi es, si soy desarrollador no ha de ser muy dificil hacer un tema para wordpress, no ?

Asi, que me he puesto a investigar (creanme, hace unos meses tuve mi primer contacto con wordpress, no sabia nada de el antes) y he desubierto la seccion de documentacion para developers , muy interesante por cierto; de donde obtuve lo necesario para entender como wordpress maneja sus themes, y como puedo construir el mio.

He aqui la pagina de documentacion para construir un tema: http://codex.wordpress.org/Theme_Development.

Mientras tanto,  guardare un screencap de mi actual (y en un futuro viejo) tema.

Current theme

printf(“Hola Mundo”);

Hola a todos, Mi nombre es Alejandro Gomez (me suena extraño referirme en 3ra persona).

Soy un desarrollador deseoso de conocimiento, y he tomado la decision de compartir la ruta de mi aprendizaje a partir de este momento. Tal vez no pueda ser tan constante como quisiera en un futuro, pero mi intencion es dedicar una pequeña parte de mi tiempo para transmitir el conocimiento que recibo de todas las personas que oportunamente me han ayudado y me seguiran ayudado.

Hoy empieza mi participacion en la retroalimentacion de los desarrolladores.

Entonces… rockdeveloper es esto: contribuir con una perspectiva que intenta hacer codigo facil, pero estilizado, reusable, limpio.

Un saludo a todos ustedes.