martes, 17 de noviembre de 2015

Creación de JDK Portable

Cómo programador Java, es posible que en algún momento, necesitemos utilizar varias versiones de Java Development Kit (JDK) distintas.  A priori no debería existir problemas con los instaladores proporcionados por oracle, ya que estos crean un directorio independiente para cada versión que necesitemos instalar, teniendo por ejemplo de base la version 1.6 de 64 bits, las versiones 1.6, 1.7 y 1.8 todas ellas de 32 y 64 bits.

Hasta aquí no hay problemas, podemos cambiar la variable JAVA_HOME al path que queramos y todo funcionará como debe. Pero... ¿que ocurre si por defecto tenemos instalada la versión 1.8? Para mí esto fue muy frustrante... ya que rompía por completo los esquemas mentales de ¡¡¡Esto tiene que funcionar!!! ¡¡¡Si es básico!!! Pues resulta, o al menos así me ocurrió, que estando la versión 1.8 instalada en el sistema, la variable JAVA_HOME es ignorada, por lo que da igual lo que uno ponga ahí, por lo que si este es vuestro caso, desinstalarla, y construiros la versión portable con los siguientes pasos.

  1. Descargamos la versión que queramos de aquí. En mi caso Java SE Development Kit 8u60.
  2. Descomprimir el ejecutable con el WinRar, 7zip, el que useis por defecto. 

  1.  Una vez descomprimido, entrar a la carpeta jdk-8u60-windows-x64
  2.  Descomprimir el fichero tools.zip

  1. Abrir una consola en esa misma carpeta (MAYUS + CLICK IZQUIERDO)
  2.  
  1. Ejecutar el siguiente comandos
  2.  for /r %x in (*.pack) do bin\unpack200 -r "%x" "%~dpnx.jar"  
    
  3. FIN. Ya teneis un JDK portable.
En mi caso tengo 6 versiones distintas, y las utilizo según necesidades modificando el JAVA_HOME.

Visor de código fuente: http://codeformatter.blogspot.com.es/

martes, 24 de junio de 2014

Resetear la contraseña de root en MySQL en un Mac

Estos pasos son lo que necesitas para cambiar la contraseña del usuario root en MySQL Server.
Abre un terminal en Mac OS X y ejecuta los siguientes comandos:

$ mysql -u root
mysql> use mysql;
mysql> update user set password=PASSWORD("NEWPASSWORD") where User='root';
mysql> flush privileges;
mysql> quit

jueves, 5 de junio de 2014

Fichero Host en Windows

Seguro que más de uno os preguntéis ¿Qué es eso?
"El archivo hosts de un ordenador es usado por el sistema operativo para guardar la correspondencia entre dominios de Internet y direcciones IP. Este es uno de los diferentes métodos que usa el sistema operativo para resolver nombres de dominios."
 Supongo que algunos ya habréis tratado con este fichero, si os habéis parcheado de una forma manual algún programa, otros sin embargo, acabáis de conocer sus existencia.

En mi trabajo, dependiendo en que proyecto me haya encontrado, he tenido que realizar mínimo un par de cambios al día en este fichero (los días buenos), por motivos de interconexión de bases de datos, o comunicación de aplicaciones clientes/servidores en las que trabajamos.

¿Qué conlleva modificar este fichero?

  1. Conocer la máquina a la que queremos "conectarnos" o "evitar conectarnos (parches de programas)".
  2. Conocer la dirección ip de dicha máquina.
    1. Lo más rápido es realizar un ping desde la consola o terminal del ordenador.
      1. No se ni cuando ni porqué, pero a veces este comando me ha devuelto la ip del pc, en formato ipv6. Esto lo he resuelto realizando la consulta mediante el comando nslookup.
  3. Una vez conocida la dirección ip, la copias y pegas, o la escribes en el fichero hosts
Como veis, son sólo 3 pasos, pero ¿que ocurre si tienes que hacer eso varias veces al día y/o no sólo con una dirección ip sino con 4 o 5? pues que obviamente esto hace que se pierda mucho tiempo.

Para no perder tiempo y aprovechando ratos libres en horario de trabajo (mientras se genera una versión de la aplicación, mientras arrancan los ordenadores que hacen de servidor y cambian su ip cada día), desarrollé una aplicación que poco a poco la fui usando más y más.

Esta aplicación nos elimina el inconveniente de tener que hacer ping a todos los ordenadores y conocer su nueva ip, además es mucho más rápido desde mi punto de vista, utilizar unos simples checks para activar o desactivar aquellas direcciones ip que queramos o no usar en cada momento.

Además como última mejora le incluí la posibilidad de tener distintas configuraciones para diferentes proyectos, porque aunque no es lo normal, a veces uno se encuentra ayudando en más de un proyecto simultáneamente y se podría dar el caso de dejar desactivadas opciones importantes para algún proyecto y que nos lleve un tiempo darnos cuenta del motivo.

Aplicación con datos cargados
Ventana para añadir/modificar una entrada

Cuando tenemos problemas en el fichero host

Para aquellos que quieran probar su uso, les invito a descargarse el jar y ejecutarlo en su ordenador, no sin antes hacer una copia de seguridad de su fichero hosts, porque esta aplicación lo machará.


miércoles, 28 de mayo de 2014

Volver a empezar

Uffff que abandonado tengo esto... El parón de navidad se me fue de las manos.... jajajaj

Este post va a ser únicamente para poneros en situación.


¿Qué ha pasado desde esta entrada? 13-10-2011

  1. Realicé la entrevista para acceder al master "MÁSTER UNIVERSITARIO EN INFORMÁTICA APLICADA A LAS TELECOMUNICACIONES MÓVILES".
  2. Me aceptaron.
  3. Terminé el proyecto final de carrera y soy Ingeniero Técnico en Informática de sistemas.
  4. Terminé el año de docencia del máster y entré como becario en Indra SW Labs.
    1. Empecé a formarme en proyectos DaVinci para ADIF.
      1. ¿Qué es DaVinci? En resumen.. Leedlo aquí mejor: (enlace)
    2. Participé en varios proyectos:
      1. Sistema de Gestión Documental (SGD)
      2. Gráfico de Ocupación de Vias (GOV)
      3. Planificación (PLN)
      4. Tiempo Real (TR)
  5. Terminado el año de beca, me contrataron por un período de 6 meses, en los cuales seguí de proyecto en proyecto, pero siempre en el ámbito DaVinci.
    1. Planificación
    2. Tiempo Real
    3. ONCF
  6. Al finalizar estos 6 meses, me renovaron otros 6 (Gracias!!! que se que la cosa está mal para encontrar trabajo.), y seguí con los proyectos de siempre hasta que entró el Metro de Málaga (Sistema de Gestión de Asignaciones).

    Este proyecto supuso algo nuevo referente a todos los demás, ya que aunque se basaba en la arquitectura DaVinci, dejaba de ser una aplicación de escritorio realizada en java, y llegamos al mundo web con struts2.


    Aunque era un proyecto para 2 o 3 semanas por unas labores de mínimas mejoras, se ha extendido hasta los 8 meses, incluyendo mejoras y desarrollo nuevo, así como instalación y pruebas. Parece ser que no trabajamos tan mal como he odio por ciertos círculos, ya que evolucionamos de un "porque hacéis esto" a "os doy total libertad".

    La confianza hay que ganársela y de esto hablaré otro día.
  7. Ahora, estoy finalizando el período de mantenimiento de la aplicación de Metro Málaga, ohhh :(, pero bueno, llegan proyectos nuevos que son interesantes.
  8. Por cierto, me renovaron 1 año al finalizar los 2 períodos de 6 meses, así que espero poder contaros que todo sigue bien.
Gracias por leerme y perdón por el parón navideño :P

jueves, 10 de noviembre de 2011

Reinicia o formatea


“REINICIA o FORMATEA”

Si eres informático/a estoy segurísimo que le habrás dicho esto a más de uno o dos a lo largo de tu vida y será por eso que a los informáticos nos tratan como si solo supiéramos hacer eso, reiniciar o formatear un ordenador.

En este post voy a tratar de defender las causas por las que hacemos o decimos esto (se aceptan comentarios).

  • Formatea
    1. Tu ordenador no soporta el Sistema Operativo que tienes instalado y que te instaló tu querido vecino que se cree “pro” por tener un cd pirata de “Mocosoft”.
    2. Tienes un sistema operativo muy antiguo para poder usar ese programa tan preciado para tí. (Puede entrar en conflictos con a).
  • Reinicia
    1. Tu dispositivo aún no funciona porque lo acabas de instalar y necesitas volver a arrancar el sistema.
    2. Por razones inexplicables no se ha cargado bien tu sistema operativo.

    Estos son solo unas pequeñas causas por las que decimos esto.

    Ahora me podría poner a contar cosas que hacemos/conocemos los ingenieros informáticos, pero la verdad es que no le suele importar a la gente que no está dentro del sector.  Por lo que acabo así este post.

    Ingenieros informáticos, no os hagáis menospreciar.

jueves, 13 de octubre de 2011

13/10/2011

Estado actual:
  • Realizando el Proyecto Fin de Carrera titulado hasta el momento "Interacción visual con el robot móvil SANCHO mediante el sensor Kinect". 
  • Entrevista para acceder al master "MÁSTER UNIVERSITARIO EN INFORMÁTICA APLICADA A LAS TELECOMUNICACIONES MÓVILES". 
  • Entrevista para realizar una practicas de empresa en Torremolinos.
En siguientes post hablaré sobre estos 3 temas, según vayan evolucionando con el paso del tiempo. Quizas te estés preguntando qué es SANCHO, pues SANCHO es un robot del departamento de Sistemas y Automáticas usando en congresos y conferencias.


viernes, 12 de agosto de 2011

\LaTeX{}

Los que habéis entrado pensando que hablaría sobre el material en sí, podéis dejar de leer, ya que voy a hablar sobre el sistema de composición de textos orientado a libros, documentos científicos y técnicos que incluyan o no fórmulas matemáticas.

Ahora mismo no te voy a dar una charla sobre los pros y contras del uso de este programa y esta forma de editar textos, pero si aportaré un par de cosas que creo que a los que como yo se encuentren estudiando en la Universidad de Málaga y más específicamente a los estudiantes de alguna titulación en Informática les será de utilidad si hacen la memoria de su PFC así.


De momento esto lo tengo así aunque está sujeto a variaciones con el transcurso del tiempo.
Así hasta el momento ya tenemos una plantilla de la portada y de las hojas obligatorias, ahora vienen unos detalles que yo creo que son necesarios, pero que quizás no deban estar en el diseño final:
  • Colocar bien los márgenes en estilo book, para que en las páginas impares(derechas), el margen izquierdo sea mayor que el derecho para una encuadernación correcta.
    • \usepackage{geometry}
      \geometry{bindingoffset=2cm}
      \geometry{textwidth=390pt}
  • Separación de capítulos por ficheros igual que portada y demás apartados para tener una mejor organización y un mejor acceso a la parte que queramos modificar. Haciendo en el documento principal:
    • \input{Portada.tex}
      \newpage
      \mbox{}
      \thispagestyle{empty}
      \input{ContraPortada.tex}
Espero que esto te sirva ya que como decimos si algo está hecho... ¿Por que hay que hacerlo de nuevo?
PD: Una vez que mis directores le den el visto bueno a la plantilla, intentaré que estén disponibles en la página de la facultad para un mejor acceso a todos.

    miércoles, 11 de mayo de 2011

    Ensayo - Error

    Esta semana he pensado en varios avances acerca de mi blog:

    Una de ellas fue crear un nuevo blog donde cuente como hacer ciertas cosas, por ejemplo edición de textos científicos con Latex, o programas útiles para nosotros en Windows, Ubuntu, etc... y la otra la tengo instalada ya aquí ahora mismo.

    Muchos estamos cansados de tener que arreglar el mismo problema varias veces, o de ver como alguien tiene algo en su página que me gusta y no se ponerlo yo creo que tener una página que crezca poco a poco con las técnicas más usadas por nosotros, con los gadgets que creemos interesantes, con las experiencias con cierto programa / SO, es bastante interesante.

    ¿Que os parece la idea?

    El otro avance es Google analytics, una herramienta con la que tener una mayor gestión del blog.

    Esta entrada tiene ese nombre ya que pruebo cosas como lo anterior y espero una respuesta favorable, sino obtengo una respuesta adecuada, pues vuelta a probar nuevas cosas.

    sábado, 7 de mayo de 2011

    Conocimiento de todo = Conocimiento de nada

    Hoy como casi siempre he pensado en toda la gente como yo que como dice el título sabemos de todo, pero no sabemos de nada.

    Hoy he "aprendido" a colocar en el blog el botón de compartir con tuenti. Es algo que simplemente buscando en Internet puedes encontrar varios blogs/páginas donde te explican como hacerlo. Eso no tiene mucho mérito la verdad y solo sirve de introducción de lo que realmente va este blog.

    He cogido la información necesaria de una página; código fácil, bien explicado y solo tenía que cambiar la dirección web donde se encontraba la imagen que quería del botón. Fácil ¿verdad?

    Ahora llega el momento decisivo.
    ¿Donde lo coloco? No puedo soltar el código en medio de la página, ya que estéticamente no quedaría bien. Toca ponerse a mirar el código de la página, buscar entre los "artilugios" de blogger para poder localizar donde se encuentran el resto de botones para compartir que son propios del sistema. Buscas buscas buscas... ¿Entiendes lo que dice el código? La verdad es que entiendo lo suficiente para saber lo que hago y no romper nada. Pero soy informático y me duele no saber programar bien en web, ni en C, ni en Java ni conocer a ciencia cierta porque ocurren ciertas cosas en el sistema.

    Pienso que es una tontería abarcar tanto para luego solo tener unas pinceladas de algo que puede ser bonito. 
    Espero en un futuro aprender algo en profundidad y una vez que se domine el tema, pasar a otra cosa y espero que vosotros hagáis lo mismo.

    sábado, 23 de abril de 2011

    Tu que sabes de ordenadores

    A quien no le ha pasado alguna vez que alguien nos diga: Tu que sabes de ordenadores... ¿Puedes mirarme el TDT? digo tdt por no decir televisión / tostadora / batidora y un largo etc.

    Me gusta ayudar a las personas ofreciendo mis conocimientos o bien el conocer ciertas partes de la tecnología a arreglar, pero no me gusta que empiecen con la frase "tu que sabes de ordenadores", soy estudiante de Ingeniería Técnica en Informática y ¡sí!, sé de ordenadores, ya que soy capaz de programarte en varios lenguajes, algunos solo parecerán una lista de palabras inconexas que salen de nuestra mente desequilibrada, otro será una lista de requisitos tan abreviada y con una nomenclatura tan rara que hasta a nosotros nos resulta difícil de leer, pero no por ello he de saber como arreglar la tostadora o programar un TDT.

    Pido a la gente que comprenda que los Ingenieros (Técnicos) Informáticos no somos seres capaces de manipular cualquier electrodoméstico, capaces de entender el funcionamiento de un aparato cuyos orígenes están aún por descubrirse, que somos personas con conocimientos capaces de:

    1. Analizar la situación del aparato
    2. Estudio del aparato
    3. Estudio del menú de usuario (en caso de que lo tenga) o del manual del usuario
    4. En caso de ausencia de manual del usuario o menú en idioma incomprensible (de momento)
      1. Búsqueda masiva en Internet acerca del aparato en cuestión o
      2. Entramos en un bucle de 0 a hasta que me canse o lo saque por pantalones
        1. Ensayo / Error
      3. Fin bucle
    5. Comentamos lo que hemos hecho 
    6. Nos vamos con una sonrisa en la cara si tuvimos éxito o con cara de esto lo soluciono como que me llamo....
    Analicemos los puntos anteriores con calma:

    • Cuando digo analizar la situación del aparato me refiero en la ubicación donde está, no creo que nos guste tener que contorsionarnos para acceder al cable de alimentación o para su extracción.
    • En el estudio del aparato vemos si ha sido por mal uso (rotura excesiva) o descuido (no está enchufado)
    • En cuanto a la búsqueda masiva en Internet, creo que todos lo habremos hecho alguna vez, somos capaces de visitar  decenas de paginas por minuto leyendo comentarios de la gente, blogs especializados, mientras leemos nuestro correo de última hora. No os fiéis nunca de lo que leáis, contrastad la información.
    • A la hora de comentar, mirad a la cara a la persona que lo estáis contando, pues veréis como se torna en una sensación de no me estoy enterando / no me importa. Por experiencia os digo que es mejor dejar las cosas tal y como están y solo explicarlo en el caso que nos pregunten.
    P.D.: Nunca os rindáis ante un problema. Buscad otro punto de vista, otras palabras de búsqueda, otros manuales. No perderás tiempo informándote sobre algo que en principio no te compete, sino que ganaras en cultura, conocimientos específicos y puede ser que un día hablando con alguien puedas decir ¡yo leí sobre eso y....!

    lunes, 7 de marzo de 2011

    Estudios de informática

        Hoy estudio Ingeniería Técnica en Informática de Sistemas, me han enseñado muchos lenguajes de programación, tantos que posiblemente muchas veces confunda cosas de unos con otros, pero lo que me sorprende es que hoy he sacado 3 libros de la biblioteca, si 3, solo 3, pero con ellos voy a aprender algo que desde mi punto de vista nos tendrían que enseñar casi desde el primer día de clase y hablo de C++, vale que ya es obsoleto, que quizás se puede hacer con cualquier otro lenguaje de programación como es Java (lo damos en lenguaje de tecnología de objetos), pero a lo que voy es que de primeras perdemos mucho tiempo dando elementos de programación y metodología de programación, muchas horas desperdiciadas porque se supone que nos enseñan a programar, si pero en papel, ¿Eso de que nos sirve? ¿vamos a llegar a algún lado diciendo pero es que a mí me enseñaron así...? yo creo que no. A la vez teníamos Laboratorio de Programación, donde quien nos "enseñaba" nos decía que lo íbamos a dar era C+-, (yo conozco C, C++, C#...), si, has leído bien C+-, nos decía que íbamos a dar C básico pero con las instrucciones de C++, (o me das en C, o me das C++, no me vengas con tonterías), se suponen que vamos a salir siendo ingenieros, con cierto nivel de programación en ciertos lenguajes, pero a la hora de la verdad te das cuenta que tienes que lo tienes que aprender tú sólo, aprender a utilizar programas que realmente te van a ser útiles en la vida.


        Digo todo esto, porque he empezado a hacer el proyecto fin de carrera, me han pedido que lo haga en C++, de hecho usaré también cosas de OpenGL, y todo eso me lo tengo que sacar de la manga, porque en la carrera solo nos enseñan a pensar como el profesor, a utilizar lenguajes de programación que no se usan, o que son tan tediosos que no da tiempo a verlos bien. Espero que ya que han cambiado el plan de estudios hayan tenido en cuenta esto por que seguramente muchas personas piensen lo mismo, ya que sino seguiremos siendo informáticos, pero con unos conocimientos muy limitados.

       Espero que todo esto sirva para que la gente no se quede obsoleta en cuanto a sus conocimientos, que siga leyendo, aprendiendo, investigando y practicando, porque si algo hay que hacer es no quedarse atrás, soy Técnico Superior en Administración de Sistemas Informáticos, y sigo pensando que no basta con eso, por eso hago la Ingeniería Técnica, y dentro de poco espero que la Superior.

        Aprovecha tu tiempo. 

    miércoles, 2 de febrero de 2011

    Hola a todos!

    Hoy me propuse hacerme un blog, y aqui está. Espero que os guste lo que escriba por aqui. Hoy es 2 de febrero del 2011, despues de dos examenes bastantes duros, uno necesita descansar un poco ¿no creeis?, bueno ahora toca volver a concentrarse en los examenes que todavía quedan otros dos dificiles. Ahora uno que está cerca de acabar la carrera se pregunta, ¿de que me servirá esto en el futuro?, os contestaré más adelante.