Aprendiendo a programar en Java

¡Hola! llevo tiempo tratando de aprender a programar sobre el lenguaje de programación Java y pues sinceramente hasta ahora no lo he conseguido como lo deseo. He tratado de desarrollar un proyecto sobre este lenguaje, que creo ya mencione (sino después lo daré a conocer), pero por ahora no quiero decir porqué no lo he conseguido. Lo que ahora quiero decirles es que pretendo ir posteando algunos ejemplos sobre los temas que vaya estudiando y/o aprendiendo y con la ayuda de alguna personita ¿porque no? enriquecerlo de los que sepan más del tema que deseen aportar.

Conocí a Java, en la universidad, tocamos algo de Java, una pequeña introducción, después he hido aprendiendo otros temas por mi cuenta. Hasta ahora sólo sé temas básicos como: Operadores, Control de Flujo, Matrices y ultimamente he estado estudiando sobre el tema de la Inicialización de Objetos y de tipos primitivos. Conocer un poco de POO (Programación Orientada a Objetos) y algo de Java me ayudo a cursar la materia de POO en la maestria en la que ahora estoy, sin tantos problemas.

He decidio crear una serie de post que serán parte de éste, que los iré añadiendolos conforme los vaya aprendiendo. El orden de los temas  de los que tratare, es de acuerdo a la organización de los capitulos y subtemas del libro que tengo (Piensa en Java, de Bruce Eckel, 4ta edición), empezaré en el capitulo 3 ya que ahi se inicia la enseñanza de la sintaxís del lenguaje (los primeros capitulos es una introducción a la POO). Espero lograr mi objetivo y tener esta información, como una referencia de todo lo que me encuentre en el camino de mi aprendizaje de este lenguaje, ¡haya vamos!.

  • 3 Operadores
  • 4 Control de ejecución
  • 5 Inicialización y limpieza
  • 6 Control de acceso
  • 7 Polimorfismo
  • 9 Interfaces
  • 10 Clases Internas
  • 11 Almacenamiento de objetos
  • 12 Tratamiento de errores mediante excepciones
  • 13 Cadenas de caracteres
  • 14 Información de tipos
  • 15 Genéricos
  • 16 Matrices
  • 17 Análisis detallado de los contenedores
  • 18 Entrada/Salida
  • 19 Tipos enumerados
  • 20 Anotaciones
  • 21 Concurrencia
  • 22 Interfaces gráficas de usuario

Observando la lista puedo decir que es una manera de ver mis avences. Espero que  alguien más le sirva :)

¡Saludos! nos leemos pronto…

Actualización (25/Enero/10):

Olvide colocar este capítulo, que es de suma importancia, que nos introduce temas básicos para construir nuestras aplicaciones.

Métodos Matemáticos

La maestría inicio con la materia Métodos Matemáticos que por nombre lleva esta entrada, el profesor responsable de la misma es Ildeberto de los Santos Ruiz. Mi primera clase fue el domingo pasado. Desgraciadamente llegue tarde, fuimos con mi amigo Carlos los últimos en entrar (y también después del receso), pero no nos perdimos de mucho, los temas que vimos ese dia del curso fueron los siguientes:

  1. Regla del producto
  2. Regla de la suma
  3. Permutaciones
  4. Factorial de un entero no negativo
  5. Permutaciones con objetos iguales
  6. Permutaciones parciales
  7. Variaciones con repetición
  8. Combinaciones
  9. Coeficientes binomiales
  10. Triangulo de Pascal
  11. Subconjuntos de un conjunto
  12. Combinaciones con repetición

Este es el documento de donde se pueden ver una descripción de cada tema Combinatoria, ahora estoy revisando unas copias que tengo desde la universidad que no recuerdo de que autor es, pero creo que se titulo Matemáticas Discretas. Tengo la intención de postear en que consiste cada tema, algunos ejemplos y ejercicios. Todo esto con el objetivo de autoobligarme a estudiar, aprender y tener unos apuntes para donde estudiar. Eso es lo que muchos hacen y dicen que es bueno.

Por cierto la pagina oficial de la materia es: http://posgradomm.googlepages.com

Por ahora no me ha parecido difícil comprender estos temas, basta con unas lecturas de que trata cada tema, checar los ejemplos y resolver los ejercicios. Pasado será mi segunda clase, espero me vaya bien. bueno es todo por ahora. Nos vemos luego.

¡Saludos!

PD: Desgraciadamente no pude insertar una imagen para hacer más ilustrativo este post, pero bueno ya será después.

Experiencia personal con Ubuntu Jaunty

A principios de julio de este año, más o menos instale la distro Ubuntu Jaunty en su version de 64 bits, como sistema operativo único, aprovechando de que mi equipo lo soporta. Luego de muchos intentos  de  aprender a usarlo, pero sin ganas de usarlo, ya que no soy constante o no me he puesto como meta aprenderlo, después de varios años que conocí el SO. GNU/Linux. (de lo que me estoy perdiendo).

Sin embargo, ahora estoy más decidido ha aprender a usarlo, he ido aprendiendo poco a poco, en estas últimas semanas. Ya me canse de tanto virus y tener que estar  formateando Windows. Revisado la web, rápidamente uno se puede dar cuenta que muchos hablan de las bondades del mismo. Pero también no se puede negar que cada usuario se topa con problemas diferentes y es aquí donde la migración se vuelve frustrante, como consecuencia viene el arrepentimiento en algunos (a mi me paso), pero ahora no me importa, estoy mejor que antes. Para no darle más vuelta al asunto, enseguida les comento los problemas que he tenido:

Problemas con Aplicaciones

  • Mi impresora HP no funciona. Instale el driver de Hplip siguiendo la misma guia de HP.

impresoras

  • Mi reproductor de sonido Creative Zen por Genomad 2 me manda el siguiente mensaje

error-gnomad2

  • Sound Juicer no extrae los cd de audio, al dar clic en el botón extraer, enseguida se cierra la ventana , sólo lo hace si encuentra el album en la base de datos (no recuerdo cuál es) y eso casi nunca sucede.

sound juicer

Es bien sabido que no todo es perfecto, pero a mi me pasan estos problemitas y otros que no recuerdo, me queda claro que en estas cosas hay que buscarle, cómo solucionarlos, así que, lo único que he hecho es googlear, no me he ido en foros, sólo lo he intentado en ubuntu-es pero nomas no entra o tarda una eternidad en abrirse. Hace unas semanas me uní a la comunidad de Ubuntu México, y les puedo decir que me ha hido mejor, espero ir solucionado y apoyando a otros en este camino.

No todo es malo en Ubuntu. Creo que muchos hubieran escrito las cosas buenas al principio y no al final, pero ya no podía resistirme a decirlas.

Beneficios

  • Tengo el sistema siempre actualizado.
  • Libre de virus
  • No tengo que pagar ni un solo centavo.
  • Es más veloz, que antes mi equipo
  • Dispongo de cientos sino miles de programas
  • No tengo que estar instalando drivers
  • Puedo personalizar mi sistema a mi gusto
  • Dispongo de un montón de documentación para aprender a utilizarlo
  • etc., etc..

Bueno finalmente, espero ir paso a paso aprendiendo de este maravillo SO. e ir invitando a otras personas a usarlo. No me queda más que agradecer haber leído estás palabras, espero cualquier comentario que ayude a comprender mejor estos temas y por cualquier tonteria que este diciendo me corrijan, por favor.

¡Saludos!

Instalación de Java y Geany para programar en Ubuntu

Mi intención en la siguiente entrada es poder compartirles lo que para mi fue una búsqueda por varios espacios para poder defínitivamente programar en Java, con la ayuda de Geany. Esto fue gracias a personas que comparten sus conocimientos, espero que también a ustedes les funcione.

Instalación de Java en Ubuntu

Primeramente, buscando por la red, cómo instalar Java en Ubuntu, para programar me encontré con varios tutos, pero este me pareció más simple y entendible, en seguida los pasos que son copy & paste del mismo:

1. Antes que nada, debemos descargar el binario para Linux de JDK. Lo puedes descargar desde aquí, seleccionando la plataforma Linux y en la página posterior haciendo click en el segundo enlace de descarga (el primero es de arquitectura RPM). Una vez descargado, guardamos el archivo .bin en nuestra carpeta personal (/home/nombredeusuario).

2. Abrimos una terminal y nos logueamos como root (usando el comando su). Procedemos a crear el directorio de la instalación:

mkdir /usr/java

3. Le asignamos permisos de propietario a tu usuario (que es el que va a ejecutar JDK posteriormente), con el comando (ojo, cambiar tu_usuario por el de tu sesion en Debian o Ubuntu):

chown -R tu_usuario /usr/java

4. Copiamos el binario que descargamos anteriormente (JDK 6 update 11) al directorio que creamos (/usr/java) y le damos persmisos de ejecución:

cp /home/tu_usuario/jdk-6u11-linux-i586.bin  /usr/java

chmod a+x /usr/java/jdk-6u11-linux-i586.bin

5. Lanzamos la instalación del binario de JDK:

./jdk-6u11-linux-i586.bin

6. Aceptamos la licencia y procedemos con la instalación. Una vez concluída, debemos asignar permisos de propietario para nuestro usuario en la carpeta que se creó durante la instalación:

chown  -R tu_usuario  /usr/java/jdk1.6.0_11

7. Para ejecutar los comandos “java” y javac” desde cualquier ubicación hace falta editar el archivo .bashrc del superusuario (root) y de tu propio usuario. Para ello, debemos editar el archivo correspondiente para cada usuario con las siguientes lineas, mismas que se agregarán al final:

export JAVA_HOME=/usr/java/jdk1.6.0_05
export PATH=$JAVA_HOME/bin:$PATH

Para acceder a editar el archivo del usuario root:

nano /root/.bashrc

Para tu usuario:

nano /home/tu_usuario/.bashrc

8. Al terminar de añadir las líneas a ambos archivos, guardamos los cambio y cerramos la consola. JDK está instalado, con los permisos suficientes y listo para programar en Java.

En los pasos anteriores lo que hice diferente o pasos adicionales fue:

  • Loguearse como root en ubuntu no fué posible ya que hasta donde recuerdo, viene desactivada, así que tuve que activarlo con las siguintes instrucciones que no recuerdo donde tome:
  1. sudo passwd
  2. introducimos la contraseña del actual usuario.
  3. metemos la nueva contrasea del usuario root.
  4. de nuevo metemos la contraseña del usuario root y listo ya podemos loguearnos como root.
  • En el paso 7 en lugar de utilizar nano yo utilize gedit, ya que se me hace más fácil.

Tal como lo menciona Alan,  ya podemos programar. Esto si decidimos utilizar un editor sencillo, como gedit que viene prehinstalado en Ubuntu, para después compilar y ejecutar manualmente desde la consola. Sin embargo como queremos hacerlo con la ayuda de Geany como editor, procedemos a su instalación.

Instalación de Geany

Vamos a instalarlo enseguida desde Aplicaciones->Añadir y quitar… (seleccionando todas las aplicaciones libres o disponibles, aparece) buscamos Geany y los instalamos, una imagen a continuación del editor:

Pantallazo-HelloDate.java - -home-jacym-Programacion-code-piensa-en-java-object - Geany

Ahora el nuevo programa nos aparecerá en una nueva categoría en Aplicaciones->Programación, luego, ya podemos teclear el siguiente código* en el archivo nuevo que aparece por default o desde una plantilla Java en Archivo-> :

//: object/HelloDate.java
 import java.util.*;

/** The first Thinking in Java example program.
 * Displays a string and today's date.
 * @author Bruce Eckel
 * @author www.MindView.net
 * @version 4.0
 */
 public class HelloDate {
 /** Entry point to class & application.
 * @param args array of string arguments
 * @throws exceptions No exceptions thrown
 */
 public static void main(String[] args) {
 System.out.println("Hello, it's: ");
 System.out.println(new Date());
 }
 } /* Output: (55% match)
 Hello, it's:
 Wed Oct 05 14:39:36 MDT 2005
 *///:~

A continuación tenemos que hacer lo siguiente para poder compilar y ejecutar desde el editor.

Intrucciones para hacer funcionar correctamente Geany

Si intentamos compilar y ejecutar desde el editor, nos mandará un mensaje indicando que no encuentra javac o java. Buscando de nuevo por la red me tope con la guía de ubuntu, donde pude darme cuenta que las instrucciones que resuelven este problema son las siguientes:

(He decidido editarlo, para adaptarlo a la instalación que se sigue, para evitar equivocaciones)

1. Setear javac de JDK como una "alternativa" (todo en la misma linea), ya que el sistema no lo reconoce:

sudo update-alternatives --install "/usr/bin/javac" "javac" "/usr/lib/jvm/jdk1.6.0_XX/bin/javac" 1 (XX la vesion del JDK que se descargo)

$  sudo update-alternatives --install "/usr/bin/javac" "javac" "/usr/java/jdk1.6.0_XX/bin/javac" 1 (XX la vesion del JDK que se descargo)

Seteamos el nuevo Java como una de las "alternativas de java":

$ sudo update-alternatives --install "/usr/bin/java" "java" "/usr/lib/jvm/jre1.6.0/bin/java" 1

$ sudo update-alternatives --install "/usr/bin/java" "java" "/usr/java/jdk1.6.0_XX/bin/java" 1

aquí las ejecute en orden inverso a como aparece en la guía, por qué primero necesitamos compilar y luego ejecutar, de esta forma se puede comprobar que efectivamente ejecutando ambas ordenes nos permiten ya compilar y ejecutar.

Configuración de la variable de entorno ClASSPATH

Ahora, para programar en ocasiones necesitamos importar paquetes, clases o archivos jar, creadas anteriormente para eso es necesario configurar la variable CLASSPATH, de acuerdo a la información que revise aquí, existen dos formas: la primera que sólo es funcional mientras este prendida la pc y que se hace desde la consola y la segunda que se queda lista de forma permanente, en seguida lo que hice:

En Ubuntu lo solucionamos modificando el archivo /etc/profile, recuerda hacerlo como root.

# vim /etc/profile

(e igual aqui utilize gedit, puede ser cualquier editor). A continuación se agrega la siguiente linea, donde indicamos el directorio donde podra encontrar los arhichos para su uso en nuestros programas.

CLASSPATH=/directorio/

Para establecer mas de un directorio los separamos con dos puntos ":".

CLASSPATH=/directorio1/:/diretorio2/

Hasta aquí todo hiba bien, pero luego tenia problemas al ejecutar; fue luego que mrcomputer en un comentario daba la solución e indica el por qué:

Lo qu haces es añadir el directorio actual para que a la hora de ejecutar una aplicacion busque los .class también en el directorio actual.

, quedando de la siguiente forma, con un directorio:

CLASSPATH =/directorio/:./

pero si quiero un directorio más, ¿cómo?, no encontraba cómo, pero, siendo un poquito observador fue fácil:

CLASSPATH =/directorio1/:./:/directorio2/:./

bueno solo guardamos los cambios y listo ya podemos programar, con la ayuda del editor e importar otras clases indicadas en los directorios en nuestros programas.

Finalmente, espero que ha alguien más le sirva esto que probe para programar en Ubuntu, es una forma de no perderme para después. Por cualquier duda, critica constructiva, o algún error mio, comenten por favor.

Saludos!

JM.

*Código extraido del libro Piensa en Java de Bruce Eckel, 4ta edición.

Los objetos son manejados por referencias

En esta ocasión  comentaré algo sobre las referencias en Java. En este lenguaje de programación, cualquier cosa, es considerado como un objeto, que dispone de una sintaxis adecuada a este concepto. A  cada objeto se le designa un identificador, que es el que manejamos dentro de nuestro programa, pero éste no es mas que una referencia al objeto, no el objeto directamente.

Para darse una idea, es como tener un cochecito (sería el objeto) que dispone de un control remoto (la referencia), donde siempre que contemos con la referencia mantendremos comunicación con el cochecito, si alguna persona nos pide, haz avanzar el coche, frenar, acelerar, todo esto lo haremos desde la referencia e inmediatamente, éste lo hará sobre el objeto. Teniendo el control (referencia) en mano, podemos movernos de un lugar a otro, sin necesidad de llevar con nosotros el cochecito y seguiremos manejándolo.

Otra cosa interesante, es que no necesitamos del cochecito para que exista el control remoto, éste puede existir de forma autónoma.  Es decir que podemos crear una referencia sin necesariamente asociarla a un objeto. Por poner un ejemplo si necesitamos guardar alguna palabra u oración lo que hacemos es crear una nueva  referencia de  tipo String.

String miPalabra;
String miOracion;

En este momento, unicamente tenemos la referencia al objeto, si se nos ocurrierá mandar algún mensaje a alguna de las referencias anteriores, nos devolvería error, ya que aún no existe un objeto (no tenemos cochecito) asociado a éstos.  Una recomendación que nos hacen es que al momentos de crear referencias tenemos que inicializarlas, para evitar problemas posteriores.


String miPalabra = "abcde";

String miOracion = "Aprendiendo a programar en Java";

Aqui hay que resaltar que se esta inicializando las cadenas de una forma no genérica de Objetos,  sino con textos entre comillas “”,  mismo que el lenguaje permite, pero es indispensable usar un tipo genérico en adelante.

Bueno, ya para concluir, espero haber comprendido y poder explicarme en este tema fundamental del Lenguaje Java, nos vemos la próxima, cualquier duda o comentario que ayude a entender mejor estos conceptos, son bienvenidos.

Chapatuit una historia de búsqueda

Hola, espero poder expresar lo que para mi fué algo increible e inolvidable suceso. Chapatuit es el nombre que adopto la reunion presecial de twiteros chiapanecos, aunque hubierón de otros estados, y es que el nombre no los excluye, que bien. Antes de seguir les voy a comentar como fuí a dar con ellos, y que no me arrepiento.

Navegando por la red, como casi siempre, andaba  buscando personas de mi estado (Chiapas) que estuvierán sumergidos en el mundo de GNU/Linux y Sofware Libre, cosa que ya tenía tiempo haciendolo (supe de calex788), hasta que ahora di con el blog de Bucio, neta que persona :) . Luego me entero en su página del evento Consol (y es que siempre quize asistir en uno!!!) y que me apunto!!!, y fué cuando me presento a abel23, que también al igual que yo, es Coleto, y nos pusimos de acuerdo para asistir al evento citado, pero al mismo tiempo me estaba enterando de la reunion Chapatuit, donde también quede invitado (neta gracias por darme esa oportunidad @bucio y @abel23).

Navegado por la red supe de twiter pero sinceramente no le tome importancia, pero sabiendo de este evento no dude en tener mi cuenta, y es asi como pude conocer a más personas que son de verdad twiteros(as), @rkgarcia, @abel23, @Bucio, @anagines, @eriolsama, @romanalbores, @vicruiz, @storios, @winiberto, @iluminatiux, @xrandy, @jorge166 y disculpen si no mencione alguno, que ahora no recuerdo :( . Todo esto fué una experiencia incomparable e inolvidable, nos presentamos, y discutimos que queriamos hacer de Chapatuit, todo esto se llevo a cabo en Casa babylon Hostal.

En conclusión la reunión Chapatuit se definio como un punto de apoyo para proponer ideas o proyectos, de algún miembro o de todos. Quedó abierta la invitación de nuevos miembros tanto locales como de fuera, esta es una iniciativa que apendas inicia, y le queda mucho camino por recorrer, pero con la aportación de cada uno poco a poco se irá haciendo de esto una comunidad sólida con propuestas y acciones para bien de la misma y de la sociedad.

Espero pronto participar y aportar algo a la comunidad Chapatuit, nos vemos luego!!!

Herencia

Reutilizar código existente es una de las cualidades de Java. Existen dos principales técnicas, la primera es la composición y la segunda es la herencia. Ambas técnicas usan las clases concebidas anteriormente sin realizar algun cambio en el código.

La primera forma de crear nuevas clases basicamente crea objetos de otras clases ya creadas que integrarían la nueva clase. Mientras que la segunda crea una nueva clase más especializada que de la que desciende.

De acuerdo a lo que estuve estudiando, el concepto de herencia es uno de los elementos escenciales para poder hablar de Programación Orientada a Objetos, he aquí una definición propuesta por Bruce Eckel en su libro Piensa en java sobre la composición y enseguida el de  herencia :

Nos limitamos a crear objetos de una clase existente dentro  de una nueva clase.

Se basa en crear una nueva clase como un tipo de una clase existente. Literalmente lo que hacemos es tomar la forma de la case existente y añadirla código sin modificarla.

La primera técnica hace uso de las funcionalidades inherentes del objeto creado, no su forma, en cambio la segunda técnica lo hace.

La sintaxis de la herencia en Java es la siguiente:


class ClasePadre{
 //sentencias
}

class ClaseHija extends ClasePadre{

//sentencias

}

Como podrán darse cuenta me falta mucho por aprender, pero con su ayuda iria un poco mejor, espero cualquier sugerencia, o cualquier comentario constructivo para ir mejorando. Nos vemos la próxima, seguiré estudiando. Y finalmente darte gracias por pasarte por qui.

¡Saludos!

¿Como aprendo programación o volverme programador?

Man composited with binary code

Que tal , a penas inicio, en esto de los blogs, asi que espero comprendan, y me dejen sus comentarios, para mejorar. Pasando al tema del post, les comento que esta pregunta (tema del post) me la he estado haciendo desde hacer varios meses o años, por que no sé realemente que me ha pasado o esta pasando.

Tuve una formación academica (universitaria), aunque no destaque como buen estudiante, siempre mostre la aptitud de resolver problemas de programación que nos dejaban los profesores, y además comprendia o me empeñaba en enteder el problema y encontrar la solución, aunque no fuera la mejor.

En fin, mostraba una mayor interes por aprender o resolver problemas en comparación de mis otros compañeros. Ahora, cerca ya de 8 años, a partir de ingresar al nivel universitario, no puedo decir que sé programación o llamarme programador.

¿Cual fué la causa de que yo no sepa programación o sea un programador?, la respuesta es muy siemple, no he querido. No sé si tenga todas las cualidades que requiera, esta area del conocimeinto, pero si sé que soy una persona que lucha por lo que quiere. Y aunque no llegue a ser el mejor en esto, quiero intentarlo y descublirlo, por ello, me he planteado como objetivo:

Ser cada dia un mejor aprendiz y estudiante en este mundo maravilloso que es la programación, añadiendo pequeños logros o fracasos.

Para lograr este objetivo, me he propuesto ir reafirmando conocimientos básicos de programación, e ir avanzando pasito a pasito, con los conocimentos que involucren esta area de la Ciencia. Como sabemos, este camino es difícil, y habra momentos en que caiga y no encontre como lenvantarme (cosa que siempre me ha pasado), pero ahora es diferente. Pues ya me ahora tengo un objetivo que cumplir.

Mis experiencias las hiré plasmando en este espacio, donde pretendo compartir momentos de éxito o fracaso. Como todos saben, el material para aprender esta ahi, accesible. Y mi disco duro me delata, pues tengo varios Gbs, de documentación. Voy a deselpolvar ese material, para ir aprendiendo y que todo ese espacio no sea en vano.

Estas son algunas entradas de muchas que nos enseñan a como se aprende Programación o se cómo se vuelve uno Programador, con mayor o menor detalle, muy personales o generales, nos dan una pauta para avanzar por este mundo de la Programación, que nos sirven de mucho cuando no sabemos por donde empezar o como seguir avanzando:

  1. ¿Cómo ser un programador Autodidacta?
  2. tips para programar mejor
  3. ¿Cómo aprendo a programar en Java?
  4. 20 Tips para ser un mejor programador
  5. Cómo Convertirse en un Programador
  6. Cómo Ser Un Programador: Un Resumen Corto, Comprensivo y Personal

A mi paso por la red he encontrado muchos, los ire agregando poco a poco, para conocer como aprenden los demas e ir aprendiendo de sus experiencias. Les adelanto que estoy leyendo sobre la teoría de la POO(Programación Orientada al Obejeto), talvez no sea lo correcto pues aún no conozco buena parte de la Programación Estructurada, pero ahora por mi Proyecto (pero esta es otra historia) necesito aprenderlo, ya les platicaré que he aprendido sobre este tema.

Finalmente, darles gracias por su tiempo para dar lectura a este post. Esperando puedan dar su opinión , o critica, para hacer mejorar las cosas.

Martin.

Actualización:

7.- El programador serio

Aqui, un paisano, hablando de cómo se llega realmente a serlo.

Actualización: 03/12/2008

8.- Guia de preparación como programador Java

Una experiencia de Julio Laguna, de como aprender Java desde cero, y adentrarse al mundo de la programación con este lenguaje. Me parece muy interesante el contenido, una de ellas, tal como dice, es que muchas veces hace falta saber como iniciarse (una guia), por que tanta información en la red nos ahoga y no sabemos que hacer, y aqui nos da algunos consejos que nos permiten avanzar en el aprendizaje de este lenguaje.

¡Hola Mundo!, pero ¿para qué otro blog?

La verdad no se como iniciar, pero ahora que lo pienso bien, ¿y por qué no echarlo a perder?. Sí, sé estoy de acuerdo en que lo que estoy haciendo no es la gran ciencia, y es como dicen muchos por ahi, que ya para qué, si ya hay muchos. En fin, mejor les comento por que me he decido a crearme mi propio blog: lo he creado después de saber que muchos tienen uno propio, me refiero a personas que leo actualmente. Ya llevo más de un año como lector de blogs (algunos de los primeros: Picando Código, El blog de Casidiablo, Carlos Leopoldo, entre otros), ellos me han motivado a llevar a cabo este proyecto. Sé que hay mucha gente que tiene cosas super interesantes que comparte y que uno puede aprender, sepan que yo intento imitarlos.  Es por ello que también soy consciente que, lo que haga o diga no van estar excentos de errores o que esten fuera de la realidad, pero como les comento yo pretendo comportarme como un aprendiz y estudiante compartiendo con ustedes los momentos de éxito o intento fallido, con el propósito de mejorar tanto en el ámbito personal como profesional.  Espero cualquier critica constructiva, o cualquier cosa que cumpla el objetivo de mejorar este espacio. Me despido sino antes darte las gracias por terminar de leer lo que pienso y hago, pidiendote  además que me regales un tiempo más para que me dejes algún comentario diciendo que piensas al respecto. Hasta pronto y saludos!!!.