domingo, 12 de septiembre de 2010

Nuevo Colaborador

Hola a todos, Me da gusto informarles que a partir de esta fecha este blog contará con un colaborador. Se trata de Antonio Cortés quien estará publicando artículos muy interesantes que se apegan al estilo que hasta ahora se ha manejado. Entre la temática que él estará tratando se encuentran principalmente las tecnologías de la información así como consejos muy útiles para el manejo del tiempo, la administración de actividades y en general tips de productividad y organización. Antonio Cortés es Ingeniero en Sistemas Computacionales y cuenta con una Maestría en Ciencias de la Computación. Tiene más de 7 años de experiencia laboral y se ha desempeñado en diferentes áreas tales como embedded systems y desarrollo web. Me es muy grato darle la bienvenida como colaborador en este blog. Estoy segura de que sus aportaciones serán de gran ayuda para todos nosotros como estudiantes y colaborarán en gran medida con el objetivo de este blog que es aportar información útil para las personas interesadas en el área de las Ciencias de la Computación y los Sistemas Computacionales.

domingo, 5 de septiembre de 2010

Cómo copiar imágenes fácilmente utilizando PDF-XChange Viewer

En ocasiones las imágenes incluidas en un documento con formato tipo PDF no son tan fáciles de copiar para poder ser utilizadas en otro documento. Ya sea que se trate de un documento realizado mediante un procesador de textos o en una presentación, en ocasiones es complicado tratar de copiar una imagen. Se puede realizar una impresión de pantalla y después cortar la parte de la imagen capturada mediante un editor de imágenes, sin embargo, esto requiere de cierto tiempo y de precisión y existen imágenes que por su tamaño no son capturadas en su totalidad al realizar la impresión de pantalla (o screenshot, en inglés).PDF-XChange Viewer es una alternativa gratuita a Adobe Acrobat Reader que poco a poco ha ido ganando seguidores debido a su extensa gama de herramientas. Una de ellas y que me pareció muy interesante es la herramienta de Snapshot, representada por un pequeño botón que contiene una cámara fotográfica como imagen ilustrativa y que se encuentra localizado en una de las barras superiores que se presentan al abrir PDF-XChange. En la siguiente imagen se muestra dicho botón:
Al dar click en la herramienta de Snapshot, el cursor del ratón se presenta como una pequeña cámara fotográfica y el puntero permite seleccionar un área rectangular dentro del documento abierto, esta área se obtiene al arrastrar diagonalmente el cursor de izquierda a derecha. Cuando se suelta el botón al terminar de seleccionar el área deseada, se escucha el sonido que realiza una cámara fotográfica una vez que se toma una fotografía. Este sonido es indicador de que la región está lista para ser pegada en otro documento. Al abrir por ejemplo, un procesador de texto y ejecutar Ctrl + V o bien la instrucción Pegar desde el menú o desde el botón adecuado en la barra de herramientas, aparece la selección que se realizó en PDF-XChange en forma de una imagen, la cual se puede configurar para utilizarla dentro del documento de la manera que se desee. En la siguiente imagen se muestra un ejemplo de un área seleccionada en un documento PDF usando la herramienta de Snapshot (observa las orillas y el tono azulado de la imagen que indica que está seleccionada):
Una página donde se puede descargar de forma segura PDF-XChange Viewer es desde el sitio de descargas de la página de CNET (CNET Download) en el siguiente enlace:
http://download.cnet.com/PDF-XChange-Viewer/3000-10743_4-10598377.html Si conoces otras herramientas útiles semejantes a Snapshot, compártelas en los comentarios.

viernes, 27 de agosto de 2010

El arte de dibujar con vectores

(Los ejercicios de Matemáticas se encuentran en este link)
Los gráficos vectoriales son imágenes creadas a partir de líneas, puntos, figuras geométricas y otras formas básicas que se guardan en un archivo expresadas en un conjunto de fórmulas matemáticas. Mediante estas fórmulas se puede obtener una imagen de cualquier tamaño sin que ésta pierda su resolución.Este tipo de arte también sirve para agregar detalle o hacer más nítida una fotografía. Las fórmulas matemáticas de las figuras geométricas que componen a los objetos presentes en la fotografía determinan el posicionamiento de puntos y líneas para mejorar la calidad de la imagen.A continuación se encuentran algunos ejemplos de este arte.
(Fuente: Vector Graphics. Wikipedia, the Free Encyclopedia)

lunes, 2 de agosto de 2010

Recomendaciones en la elaboración de horarios (Tec de Toluca)

Llegó la hora de comenzar a planear seriamente los horarios para las clases del semestre que se avecina. Muchos ya tienen planeadas varias opciones y me parece que es el tiempo justo para publicar una pequeña entrevista que realicé con la Coordinadora de Ingeniería en Sistemas Computacionales aquí en el Tecnológico de Toluca la maestra Elsa Arzate. En ella traté de cubrir algunas dudas y varios puntos que me parecen esenciales e importantes durante el proceso de elaboración de dichos horarios. Algunas recomendaciones son muy obvias pero no por ello dejan de ser importantes. Espero que esta información sea de utilidad y les agradecería si tienen algunas otras recomendaciones o sugerencias que pudieran enriquecer este post. A continuación les presento la entrevista seguida de algunas recomendaciones que estimo son también importantes y dignas de tomarse en cuenta. Tips para ISC: ¿Tiene algunas recomendaciones en general para nosotros los estudiantes a la hora de armar nuestros horarios? Maestra Elsa: - Checar bien la retícula de materias - Tachar las materias acreditadas - Llegar a tiempo el día de la inscripción - Elegir cuidadosamente las materias a cursar - No dejar materias atrasadas - Presentar los exámenes especiales lo más pronto posible - Hacer 3 o más horarios para evitar pérdidas de tiempo por cierre de grupos o cambios en los horarios de las clases. TpISC: ¿Cuántos créditos son recomendables para tomar cada semestre? M. E.: En promedio 52 aunque ésta ya es una carga pesada. Lo más idóneo es tomarlo por número de materias y yo recomendaría tomar 6 materias como máximo en cada semestre. TpISC: Dados los cambios en la currícula de la carrera de ISC, ¿Cuáles son sus recomendaciones para nosotros los estudiantes? ¿Nos afectan de alguna manera dichos cambios? M. E.: No hay muchos problemas. Tal vez pueden afectar a quienes están en octavo semestre pues algunas de las materias de ese semestre se pasaron a tercer semestre. TpISC: ¿A qué se deben estos cambios? M. E.: Existía un alto índice de reprobación. Con estos cambios en la currícula se pretende que la carga académica a lo largo de la carrera se distribuya más equitativamente. Nos dimos cuenta de que en quinto y sexto semestre la carga era muy pesada. TpISC: ¿Cuál es el aspecto más relevante que debemos tomar en cuenta al elaborar nuestro horario? Es decir, ¿nos guiamos por el número de créditos, los horarios, el estilo de los maestros, etc, o existe un mejor criterio? M. E.: Eso depende de cada quien. TpISC: ¿Porqué no se publican los horarios en la página de internet del Instituto? M. E.: No sé qué problemas existen con la página y se pretende hacer eso pero no hay nada seguro. TpISC: ¿Qué podemos hacer para evitar tener muchos espacios vacíos entre clase y clase? M. E.: Primero ser alumno regular. Segundo, tomar en cuenta que los horarios se diseñan por bloques de acuerdo a cada semestre. TpISC: Si no se puede evitar tener muchos espacios entre clases, ¿cómo podemos sacar ventaja de esas horas libres? M. E.: Aprovechen el tiempo en la biblioteca. También aprovechen esas horas para desayunar, porque luego no comen bien.
TpISC: ¿Existen materias que son demasiado demandantes como para tomarlas en un mismo semestre? M. E.: Con la nueva organización de la currícula no existe este problema. TpISC: ¿Cómo podemos ponernos en contacto con usted si tenemos alguna otra duda? M. E.: Lo pueden hacer directamente en mi oficina en la planta alta del edificio C2 o bien en la dirección de correo electrónico:
coor_sistect@yahoo.com.mx
Aprovecho para agradecer a la Maestra Elsa su tiempo y sus recomendaciones. A continuación les presento algunas recomendaciones mías en cuanto a este tema: - No olviden imprimir o sacar una copia de la retícula marcando las materias acreditadas, ésta retícula se revisa antes de que podamos inscribirnos en el centro de cómputo del Instituto. - Verificar y anotar la clave para cada materia, ya que en el proceso de inscripción, el sistema nos pide este número. - Realizar los horarios en algún procesador de texto u hoja de cálculo que permita acomodar correctamente las horas. De hecho, se puede marcar con un color significativo cada materia para evitar confusiones y asegurarse de que no existe conflicto de horario con alguna de ellas. - Es importante considerar cambios y cierres de grupos, es por ello que nuevamente insisto en elaborar más de un horario días antes de la inscripción. - Escuchar las recomendaciones de conocidos, amigos y familiares que hayan tenido experiencias gratas o no muy gratas con algún profesor o alguna materia. - Tomar como base a las materias correspondientes al área de Sistemas Computacionales. Todas las materias son importantes pero necesitamos concentrarnos más en éstas. Para consultar las nuevas currículas y las especialidades, pueden visitar la página del Tecnológico (la versión que está funcionando cuando escribí este post): http://www.ittoluca.edu.mx/version9/index.php
Espero que esta información sea útil. Si tienen alguna otra sugerencia no duden en señalarla.
Nos veremos pronto.

martes, 6 de julio de 2010

Estudiar mejor haciendo una cosa a la vez

El semestre pasado mientras colectaba la información para realizar una práctica de Química y trataba de resolver un problema de Cálculo decidí dejar abierto mi correo para estar preparada en caso de recibir información por parte del equipo de laboratorio. Al principio pensé que esto era una buena idea hasta que me topé con un artículo titulado "Is Allowing Your Child to Study While on Facebook Morally Irresponsible?" (¿Es moralmente irresponsable permitir que sus hijos estudien mientras están en una sesión en Facebook?). El autor de este artículo menciona que las investigaciones llevadas a cabo en el Laboratorio de comunicación entre humanos y medios interactivos (CHIMe, por sus siglas en inglés) de la Universidad de Stanford, han llegado al consenso de que los medios interactivos actuales (las redes sociales, el correo electrónico y los servicios de mensajería instantánea por internet, entre otras) han repercutido en la manera en que los jóvenes y los niños piensan y aprenden hasta tal punto que en un artículo del New York Times titulado "Hooked on Gadgets, and Paying a Mental Price" se menciona que la tecnología con la cual convivimos hoy en día podría incluso estar reordenando las neuronas del cerebro humano, afectando la forma en que pensamos y hacemos las tareas cotidianas. Este fenómeno sin embargo no es positivo en cuestión del rendimiento escolar, ya que los jóvenes estudiantes hoy en día sufren de una falta de concentración en las tareas escolares lo cual afecta su aprendizaje ya que no les permite llevar a cabo tareas complejas que requieren atención y concentración como en el caso de un problema de Cálculo y todo esto conlleva incluso a cierto grado de fracaso y frustración. Y esto es sólo el principio, ya que en estas investigaciones y estudios se ha encontrado que el cambio en el cerebro humano puede ser permanente. Es importante entonces, no permitir que dicho cambio se lleve a cabo si es que deseamos tener más éxito en cuanto a nuestros estudios. La sugerencia es permanecer desconectado mientras se realizan tareas que requieren de la completa atención, como en el caso de las tareas o trabajos escolares de las materias más demandantes. Lo que es más, se debe dejar de realizar tareas de manera simultánea, pues en las investigaciones citadas también se menciona que las personas que realizan más de una tarea al mismo tiempo son menos productivas que aquéllas que se concentran en hacer una cosa a la vez. El cerebro humano, contrario a la creencia popular, no está diseñado para realizar más de una tarea a la vez, lo que sucede es que la mente cambia constantemente su atención entre una y otra tarea, lo que hace difícil que se concentre exitosamente en una sola de ellas con la consiguiente disminución de productividad. Quizá como estudiantes se pueda estar orgullosos de realizar varias cosas simultáneamente y tener éxito (aunque aparente), sin embargo, lo que en realidad sucede es que está disminuyendo nuestra capacidad de concentración y con ella, podría incluso estar escapando nuestra oportunidad de conseguir pasar ese curso de Matemáticas que parece escaparse de nuestras manos en el último momento. La solución a nuestros problemas es simple: apaguemos el internet mientras estudiamos. Saludos!

martes, 15 de junio de 2010

Cómo compilar manualmente en java utilizando clases en distintos paquetes

No cabe duda de que las IDE nos ahorran mucho trabajo a la hora de compilar y correr un programa. En java quizá una de las IDEs más notables es NetBeans. Sin embargo, es muy interesante y divertido realizar el proceso de codificación, compilación y corrida de un programa a través de la consola o línea de comandos ya que proporciona una idea más clara de lo que ocurre con el código fuente y las clases generadas a partir de él. Este ejemplo ilustra el proceso de compilación y corrida de un proyecto para Windows únicamente.Para ilustrar estos procedimientos, utilizaré como ejemplo un grupo de clases muy sencillas cuya finalidad es imprimir un menú para la comida corrida de un restaurante (nota: se conoce como comida corrida a la comida completa desde la sopa hasta el postre que se sirve platillo tras platillo y para la cual se preparan entre dos y cuatro tipos de guisados, sopas secas y sopas caldosas así como uno o dos postres de manera que el comensal puede elegir la combinación que desee pagándola en una sola exhibición y a precio razonable).
Primero hay que crear los directorios donde se almacenará el código fuente y las clases generadas una vez compilado este pequeño proyecto. Se puede utilizar cualquier nombre, en el ejemplo utilizaré un folder llamado "src" para guardar el código fuente (archivos con extensión *.java) y otro llamado "bin" para las clases generadas tras la compilación (archivos con extensión *.class). Estos nombres son los que utiliza NetBeans cuando se genera un proyecto.
Después se crean cada una de las clases que conforman el código fuente. De preferencia utiliza el bloc de notas para que el proceso sea completamente a mano, esto también es útil para aprender la sintaxis de java, aunque estas clases son muy sencillas. A saber, en este ejemplo se crearon las clases: ComidaCorrida.java, SopaAguada.java, SopaSeca.java, PlatilloFuerte.java y Postre.java. La clase ComidaCorrida.java (mostrada a continuación) se crea dentro del paquete com.blogspot.tipsparaisc.menu. Mientras que las demás clases se crean dentro de un paquete distinto: com.blogspot.tipsparaisc.menu.comidas. Es por ello que dentro de la clase ComidaCorrida.java que contiene al método main, se debe importar este último paquete de manera que al instanciar las otras clases, éstas puedan ser reconocidas por el compilador.
Las clases SopaAguada.java, SopaSeca.java, PlatilloFuerte.java y Postre.java simplemente contienen un constructor sencillo el cual al ser instanciada la clase permite imprimir el tipo de platillo o postre que se indique seguido de un retorno de carro como se muestra en la sentencia de impresión.
Antes de comenzar la compilación, se debe crear el directorio completo donde se almacena el código fuente para cada clase. Esta ruta se obtiene a partir de la declaración de los paquetes. En el ejemplo, dentro de la carpeta "src" se crea la carpeta "com", dentro de ésta se crea la carpeta "blogspot", dentro de ésta se crea la carpeta "tipsparaisc", dentro de ella se crea la carpeta "menu" y finalmente dentro de ella se crea la carpeta "comidas". La clase ComidaCorrida.java se guarda dentro de la carpeta "menu" y las otras clases se guardan dentro de la carpeta ''comidas". Esto es, la ruta donde está almacenada la clase ComidaCorrida debe quedar de la siguiente manera:
C:\Ejemplo\src\com\blogspot\tipsparaisc\menu\ComidaCorrida.java
Y para el resto de las clases, la ruta debe ser la siguiente (utilizando como ejemplo una de ellas):
C:\Ejemplo\src\com\blogspot\tipsparaisc\menu\comidas\SopaAguada.java
Una vez que se tiene todo el código fuente en estas rutas se puede compilar el proyecto. Primero, debemos abrir la consola o símbolo del sistema y ubicarnos en el directorio o ruta donde se encuentra el proyecto, en este caso, la ruta del ejemplo es: C:\Ejemplo. (Importante: la variable de entorno de windows llamada Path localizada en las propiedades del sistema debe contener al inicio la ruta donde se encuentra instalado el compilador de java, es decir, el archivo javac.exe, de no ser así, debes pegar dicha ruta al inicio para poder compilar en la consola).
Para compilar, utiliza la siguiente secuencia de instrucciones delante de la ruta del proyecto respetando espacios y puntuación:
C:\Ejemplo>javac -d bin -cp src src\com\blogspot\tipsparaisc\menu\ComidaCorrida.java
Esto es lo que significa cada instrucción:
javac: es la instrucción para compilar un archivo. Independientemente de las demás opciones, esta instrucción se utiliza al inicio cuando se desea compilar cualquier archivo de java.
-d: indica el lugar donde se desean colocar los archivos con extensión *.class generados una vez realizada la compilación. En el ejemplo, se está indicando que dichos archivos deben ser colocados dentro de la carpeta llamada "bin" que es la carpeta que se creó al inicio junto con la carpeta "src".
-cp (también se puede utilizar -classpath): indica el directorio donde se deben buscar las clases que se van a compilar. Esta opción se utiliza cuando se desean compilar clases ubicadas en carpetas distintas. Delante de esta instrucción se coloca la carpeta o lugar desde el cual se debe comenzar la búsqueda del código fuente. En este ejemplo se está indicando que se debe comenzar a buscar desde la carpeta llamada "src". A continuación se escribe la ruta completa que lleva al compilador hacia la clase principal o la clase que contiene el método "main" que en el ejemplo es la clase ComidaCorrida.java. Es muy importante que durante la compilación se escriba la extensión *.java del archivo que contiene el método "main".
Una vez compilado el proyecto, podemos correrlo para observar los resultados. Para correr el proyecto se utiliza la siguiente secuencia de instrucciones después de la ruta que contiene el ejemplo (no olvides respetar espacios y puntuación):
C:\Ejemplo>java -cp bin com.blogspot.tipsparaisc.menu.ComidaCorrida
Esto es lo que significa cada instrucción: java: es la instrucción que se coloca al principio siempre que se va a correr un archivo ya compilado.
-cp (o -classpath): cuando se corre un programa, esta instrucción indica el lugar donde se debe buscar el archivo con extensión *.class que el intérprete de java utiliza para ejecutar el proyecto o archivo con el que se está trabajando. A continuación se indica la carpeta donde se debe buscar al o los archivos *.class que servirán para correr el ejemplo, la cual ahora es la carpeta "bin" (nótese que en la secuencia de compilado, la instrucción -cp está seguida de "src"), seguida de un espacio en blanco y a continuación la ruta para encontrar a dicho archivo, separando cada carpeta que conforma a dicha ruta ahora con un punto en vez de una diagonal como se hizo en el proceso de compilación. Esta ruta dentro de la carpeta "bin" se creó automáticamente en el proceso de compilación y es idéntica a la ruta que se encuentra en la carpeta "src" que nosotros creamos manualmente al inicio del ejemplo. Al final, se escribe el nombre del archivo principal, que en este ejemplo es ComidaCorrida SIN la extensión *.java.
El resultado y las secuencias de compilación y corrida se muestran a continuación:
Puede parecer complicado al principio, pero vale la pena probar este procedimiento. Para obtener más opciones de compilación y corrida se puede teclear en la consola la secuencia javac -help (para el compilador) o bien java -help (para el intérprete o el responsable de correr el programa). Espero que este tutorial haya sido claro y resulte de gran ayuda, si tienen dudas agradeceré que las escriban en los comentarios.
Saludos!

lunes, 7 de junio de 2010

Administrador de contraseñas: KeePass

KeePass, ilustración
Hoy en día es muy común que una sola persona posea diferentes contraseñas para distintas aplicaciones o sitios como el correo electrónico, las cuentas bancarias, algunos sitios de entretenimiento o hasta los servicios escolares. Lo más recomendable es tener contraseñas difíciles de adivinar pero lo suficientemente buenas para ser recordadas con facilidad, sin embargo, con la cantidad de contraseñas que un solo usuario puede llegar a tener, es prácticamente imposible recordar todas ellas siempre que es necesario. Es por esta razón que muchas personas optan por utilizar la misma contraseña o incluso, contraseñas que incluyen datos personales tales como fechas de nacimiento, nombres de conocidos o mascotas o algún otro dato que es muy fácil de adivinar a la hora de robar una contraseña. Para facilitar la tarea de administrar distintas contraseñas existen aplicaciones diseñadas específicamente para ello. Una de las más confiables es KeePass. KeePass es una aplicación gratuita que se puede utilizar para administrar las contraseñas de un usuario. KeePass funciona de la siguiente manera: una vez instalado se debe establecer una contraseña maestra definida por el usuario, esta contraseña abre la base de datos de KeePass donde se pueden almacenar las cuentas que éste posea junto con los nombres de usuario y sus correspondientes contraseñas. De esta manera, se logra mantener seguras todas las contraseñas importantes únicamente recordando y cuidando de una contraseña maestra. KeePass además ofrece varias opciones adicionales, una de las más interesantes es el autocompletado: se indica la página para autocompletar en ella el nombre de usuario y su correspondiente contraseña presionando una sola tecla. Esta interesante aplicación pueden bajarla del sitio: http://www.keepass.info/download.html. Vale la pena probarla.