Applet: Rompecabezas.

Que tal?

Despues de investigar sobre números aleatorios, links en applet al fin tengo el juego terminado xD

Es un juego comun y corriente del cual creo que todos hemos jugado.
Se trata de clasico rompecabezas en el que se mueven piezas hacia arriba, abajo, izquierda o derecha dependiendo la libertad de la pieza, el objetivo es ordenar de mayor a menor los numeros en el tablero.

Recuerdo que este juego lo jugué por primera vez cuando fui a una feria y me compraron uno de estos.

Bien, a continuación el Applet, deben de tener el JRE instalado en sus computadoras.
Espero les guste.

 

 

jajaj no sé cual es esa dichosa variable “System.nanoTime()” pero me ayudo a hacer el “aleatorio”, claro yo sé que no es aleatoria. xD

Un saludo.
- Estuardo.

Analizador léxico en Java / lexical analyzer in Java

Analizador lexico en java/lexical analyzer in java

Titulo: Laberinto.

Función: Analizador léxico.

Observación: No posee interfaz gráfica.

Objetivos:

  • Generación de lexemas.
  • Generación de tokens.
  • Manejo de errores lexicos: registra cada error sin que se detenga el analisis.
  • Pequeña traducción: usando tokens para traducir el codigo de entrada.

 

El programa lo hice con fines demostrativos es decir no hay gran complejidad en la traducción; traté de hacer un automata simple y bien explicado, espero mi objetivo sea alanzado.


Modo de uso:
Tabla de objetos


Si se ingresa la siguiente entrada tipo String: “ppcc.pppc.pppc.”, muestra una salida como la siguiente:




Para un ejemplo en el que hay errores muestra los datos recopilados de la siguiente forma:

Para evitar problemas de internacionalización del codigo no agregué tildes al codigo, pido disculpas de antemano. :3

Bien, aqui el automata del analizador lexico:

 

Desde la perpectiva que tengo del curso de lenguajes de programación 1… es un curso un tanto complejo, no por que la implementación de autómatas sea imposible, sino porque hay poca ayuda por parte de los auxiliares, y si la hay… pues ya es muy tarde cuando la proveen. Al menos esa fue mi experiencia.

A continuacion los links de descarga directa de los proyectos hechos en Netbeans6.9.1 y JCreator4.5:

 

>JCreator project – descarga / download<


>Netbeans project – descarga / download<

 

Espero que los programas les sean da ayuda.

Si tienes alguna duda, sugerencia o comentario puedes expresarlo en los comentarios del post.

Salu2!

- Estuardo.

Solucion a problema de hibernación en linux.

Hace algunas semanas me decidi a probar otra distribucion de linux, esta vez es Linux Mint 11(nombre clave: Katya) esta distro es muy comoda pero me he topado con el problema que al cerrar la tapa de mi laptop, linux entra en hibernación y no sale de esta. En otras palabras al abrir la tapa de la laptop solo mostraba una pantalla negra como la de un protector de pantalla vacío, y pues esto me obligo a reiniciar el computador manualmente(lo cual aborrezco).  Y pues buscando he hallado una solución no tan complicada.  La posteo a continuación:

Solucion a problema de hibernación en linux mint.

Dificultad: 2/10.

Descripción del entorno: Computadora laptop, con 2 sistemas operativos: uno linux y el otro windows.

Pasos generales:

  1. verificar el archivo /etc/fstab que contenga una linea similar a la siguiente: /dev/sdaX none swap sw 0 0 , si no la tiene pasamos al siguiente paso.
  2. Buscar la particion swap correspondiente a nuestra distribución de linux.
  3. Agregar la linea correcta al archivo fstab dentro de la carpeta /etc/. Si el editor no nos permite modificarlo, debemos modificar los atributos del archivo.
  4. Guardar y activar la hibernación para comprobar(cerrando la tapa de la laptop o de forma manual).

Pasos detallados:

Paso 1.

Debemos verificar el archivo /etc/fstab , para ello abrimos una terminal (Ctr + Alt + t) y escribimos lo siguiente:

sudo gedit /etc/fstab

Donde sudo nos da privilegios de administrador.
gedit es nuestro editor de textos y /etc/fstab es la dirección del archivo a abrir.
Abierto el archivo, debemos buscar la una linea similar a la siguiente dentro del archivo:

/dev/sdaX none swap sw 0 0

Si no hay una linea de codigo similar a la anterior, probablemente hemos hallado el problema, para lo cual procedemos a agrega la linea correcta, la linea anterior es solo un ejemplo.

En la linea de ejemplo, la X es el numero de nuestra partición swap, si no sabemos el numero de partición swap hacemos lo siguiente:

Paso 2.

Escribimos en una nueva terminal:

sudo fdisk -l

Lo cual nos mostrará información y una tabla similar a la siguiente:

Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          13      102400    7  HPFS/NTFS
Partition 1 does not end on cylinder boundary.
/dev/sda2              13        5305    42507420    7  HPFS/NTFS
/dev/sda3            5305        7296    15992833    5  Extended
/dev/sda5            5305        6971    13382656   83  Linux
/dev/sda6 6972        7296     2609152   82  Linux swap / Solaris

 

En mi caso la particion swap correspondiente es /dev/sda6 (la única swap, puesto que tengo una sola distribución linux instalada en mi disco duro).

Paso 3.

Sabiendo cual es nuestra partición linux tipo swap, procedemos a agregar al archivo fstab la linea correcta:

/dev/sda6 none swap sw 0 0

Ahora si el editor no nos permite agregar la linea, debemos cerrar el archivo y modificar los atributos del archivo escribiendo en una terminal nueva lo siguiente:

sudo chmod 666 /etc/fstab

Ahora abrimos el archivo como en el paso 1 y agregamos la linea antes dicha.

Paso 4.

Guardamos los cambios y procedemos a activar la hibernación para comprobar la posible solución, ya sea cerrando la tapa de nuestra laptop, a activandolo Menu > Salir > Hibernate.

 

 

Esta solucion me funciono a mi en particular en Linux mint 11(Katya), espero también sea vuestra solución también.

Información extra: La partición swap es donde se guardan ciertos datos a la hora de hibernar usando linux, por lo cual es recomendable que la particion swap sea del doble del tamaño de vuestra RAM.

~ Estuardo.

Fuente(En ingles) :  http://forums.linuxmint.com/viewtopic.php?f=141&t=57896

Instalacion de JDK en puppy linux

Hace aproximadamente 1 año me inicie con Puppy Linux gracias a la descarga que hicimos con mi amigo David un dìa en que sobraba tiempo y ancho de banda jajaja, a decir verdad me parecia un poco rustico y preferìa Ubuntu, pero no contaba con quedarme con 512 de RAM jajaja, a la larga me ha gustado Puppy Linux es muy rapido y eficiente. Usar Puppy Linux es como programar en JCreator o un editor de textos existiendo Netbeans, los programadores me entienden ;) .

Es una experiencia unica :D

A continuaciòn mi post:

Instalacion de JDK en Puppy Linux.

Objetivo:

Instalar JDK versiòn 1.7.0 en puppy linux en mi caso en la version 5.20, la instalaciòn de mi puppy linux fue “FULL” o sea no fue compartida la particiòn con otro sistema operativo, tomese en cuenta a la hora de los resultados.

Esta mismas instrucciones aplican para otras versiones de JDK, como el 1.6.

Dificultad:

2/10

Conceptos:

JDK: Es el “motor” por decirlo de alguna forma(la definiciòn es paquete de java para desarrolladores). Este paquete permite programar en java, notese que es distinto a el JRE(porcion de java que permite correr o ejecutar applets).

Geany: Geany es un IDE, para la compilaciòn y ejecucion de archivos de distintos lenguajes de programaciòn. Un IDE no es un compilador o interprete del lenguaje a programar.

Archivos necesarios:

jdk-7-linux-i586.tar.gz: Este es descargable desde la pagina oficial de java (podemos usar otra versiòn de jdk, mientras que el paquete sea para linux con la extensiòn .tar.gz), tiene como descripciòn lo siguiente: (más…)

El día.

Hoy fue otro día de estos en que programe hasta quedar asqueado. Estoy seguro que esa sensación la tendré pero exponencialmente aumentada, en compiladores 1 y 2, mientras tanto seguiré aumentando mi conocimiento en java.

Por lo regular no uso mi blog como un diario a excepción de mi otro blog que viene siendo algo como un diario personal cifrado, sin embargo creo que tengo una buena moraleja a todo esto.

Twilight
Inicie viendo la primera película hace ya como 2 meses, la verdad a mi me hizo estremecer, por la temática en general: Amor, fantasía, predestinación, mito, oscuridad, atmósfera e identificación. He leído los primeros 2 libros Crepusculo y Luna nueva me han gustado los dos. Respecto a la película creo con firmeza que tiene un grado muy alto de calidad, pues como dijo mi amigo Orfrant con una opinión imparcial: “fue un fenómeno a nivel mundial”.
Mientras tanto seguiré planeando mi vida junto a los siguientes 3 libros por leer de esta saga, no sé por que ahora divido el tiempo en semestres, sera por tanta presión de la universidad. En fin… el fin de semestre sera algo como las vacaciones de primaria que se daban a fin de año, talvez ahí erradique mi nueva forma de medir el tiempo…

Blog
He Pensado por horas(sí pudiera medir el tiempo utilizado), el rumbo que debe tomar el presente blog. No he dado en realidad con lo que quiero, me parece que el tema visual no esta acorde a mi personalidad. También la temática que es mas importante no la he definido bien, tiene que ser algo como: Programación, Opinión… y no sé mas, lo demás son ideas sin definir bien.

He leído muchos blogs últimamente me encantan los blogs personales, incluso algunos montados en el servidor por sus creadores como me parece en este blog: “La Cofradia GS V5″.  Ademas blogs muy artesanales por decirlo de alguna forma, con texturas muy definidas.

En fin… que daría por tener la capacidad de crear en poco tiempo una plataforma de los mas básica de un blog, segura y con todas las reglas de seguridad, programada en PHP, pues los servidores ofrecen un excelente soporte a este lenguaje.  Sin embargo no es factible imprimir una gran cantidad de esfuerzo y de valioso tiempo en un proyecto que al final sé que estará obsoleto, en fin… crearía mi propia plataforma por simple gusto o diversión, sabiendo que yo solo no podría alcanzar la complejidad y eficacia de WordPress o Joomla, (más…)

Twitter & Facebook


Plugin from the creators of Brindes Personalizados :: More at Plulz Wordpress Plugins