Adf.ly

domingo, 27 de noviembre de 2011

Hilos en JAVA (Thread)

A veces necesitamos que nuestro programa Java realice varias cosas simultáneamente. Otras veces tiene que realizar una tarea muy pesada, por ejemplo, consultar realizar una consulta de todos los nombres de que tengan la letra n, o colocar un cronometro, etc, que tarda mucho y no deseamos que todo se quede parado mientras se realiza dicha tarea. Para conseguir que Java haga varias cosas a la vez o que el programa no se quede parado mientras realiza una tarea compleja, tenemos los hilos(Threads).


Crear un hilo en java es una tarea muy sencilla. Basta heredar de la clase Thread y definir el método run(). Luego se instancia esta clase y se llama al método start() para que arranque el hilo. También podemos llamar al método suspend() para hacer una pausa y resume() para continuar el hilo pausado. Les dejo un ejemplo de un reloj que quedaría mas o menos así espero les ayude.


Descargar Código Fuente

Crear una pagina html con java.

Aqui les dejo un ejemplo de como generar una pagina html utilizando el lenguaje java, esto lo podemos hacer con la clase PrintWriter y FileWriter como ya lo he explicado en mi post anterior Lectura y Escritura de Ficheros en Java del cual nos basaremos. Creo que esta de mas la explicación de como es la estructura del html. La idea aquí es en el archivo ir escribiendo linea a linea la estructura de como quisiéramos que quede nuestra pagina web, si lo deseamos podemos agregar un css a la par de la pagina generada para darle un mejor diseño entonces quedaría de la siguiente manera.

 String cad = "VISITA MI BLOG";
       
 FileWriter filewriter = null;
 PrintWriter printw = null;
       
 try{
     filewriter = new FileWriter("ejemplo.html");//declarar el archivo
     printw = new PrintWriter(filewriter);//declarar un impresor
           
     printw.println("<html>");
     printw.println("<head><title>by Eduardo</title></head>");
    
     //si queremos escribir una comilla " en el
     //archivo uzamos la diagonal invertida \"

     printw.println("<body bgcolor=\"#99CC99\">");
    

     //si quisieramos escribir una cadena que vide de una lista o
     //de una variable lo concatenamos

     printw.println("<center><h1><font color=\"navy\">"+cad+"</font></h1></center>");
     printw.println("<center><h4><font color=\"purple\">www.losiej.blogspot.com</font></h4></center>");
    
    
//podemos añadir imagenes con codigo html
     printw.println("<center><img src=\"img/www.losiej.blogspot.com.png\" width=\"200\" height=\"150\"></center>");
    
     printw.println("</body>");
     printw.println("</html>");
           
     //no devemos olvidar cerrar el archivo para que su lectura sea correcta
     printw.close();//cerramos el archivo
           
     System.out.println("Generado exitosamente");//si todo sale bien mostramos un mensaje de guardado exitoso


Descargar Código Fuente

sábado, 26 de noviembre de 2011

Cola hecha en java con demostracion modo grafico

Hice este código para explicar el funcionamiento de las pilas en java , esta bastante sencillo el ejemplo es para tener una idea de las pilas incluí push para insertar datos y pop para remover los mismos tomando en cuenta su estructura FIFO (first-in, first-out). Les dejo unas capturas.






Descargar Código fuente

viernes, 25 de noviembre de 2011

Pila hecha en java con demostracion modo grafico

Hice este código para explicar el funcionamiento de las pilas en java , esta bastante sencillo el ejemplo es para tener una idea de las pilas incluí push para insertar datos y pop para remover los mismos tomando en cuenta su estructura LIFO (last-in, first-out). Les dejo unas capturas.





Descargar codigo fuente

jueves, 24 de noviembre de 2011

Lectura y Escritura de Ficheros en Java

Buen dia hoy les traigo un ejemplo de como crear y leer ficheros utilizando el lenguaje java para su escritura utilizaremos la clase PrintWriter y la clase FileWriter de la siguiente forma.

            filewriter = new FileWriter("archivo.txt");//declarar el archivo
            printw = new PrintWriter(filewriter);//declarar un impresor
           
            //podemos imprimir sin salto de linea
            printw.print("Esta es ");
            printw.print("la primera linea del ");
            printw.print("archivo.\n");
           
            //tambien podemos escribir lineas con su salto de linea
            printw.println("Esta es la segunda linea");
            printw.println("Esta es la tercera linea");
           
            //tambien podemos escribir con variables previamente declaradas
            printw.println(cadena);
            printw.println(numero);
           
            //no devemos olvidar cerrar el archivo para que su lectura sea correcta
            printw.close();//cerramos el archivo

Asi quedaria el archivo despues de generado.


Para la lectura del mismo utilizamos la clase FileReader. Esta clase tiene métodos que nos permiten leer caracteres. Sin embargo, suele ser habitual querer las líneas completas pero dicha clase no contiene los métodos que nos permitan leer lineas completas, pero sí BufferedReader a partir del FileReader de la siguiente forma.

            // Apertura del fichero y creacion de BufferedReader para poder
            // hacer una lectura comoda (disponer del metodo readLine()).
            file = new File ("archivo.txt");
            fileR = new FileReader (file);
            bufferedR = new BufferedReader(fileR);
           
            // Lectura del fichero
            String linea;
            while((linea=bufferedR.readLine())!=null){
                System.out.println(linea);
            }

si unicamente dese
as ver el archivo LecturaEscrituraArchivos.java esta en
/LecturaEscrituraArchivos/src/lecturaescrituraarchivos/LecturaEscrituraArchivos.java

Descargar Codigo Fuente

¿Quién puede suplir a Steve Jobs?

¿Quién puede suplir a Steve Jobs?
El vacío que deja la muerte de Steve Jobs entre sus seguidores pareciera anunciar que pocos pueden ocupar su puesto en el Silicon Valley, la meca mundial de la tecnología.

Según apuntan muchos fans, Jobs no sólo fue la personificación humana de Apple sino también la de toda una región de firmas tecnológicas. Y al parecer, pocas firmas tienen con qué para hacerle sombra. Por citar un ejemplo, tres de las compañías punteras de este valle, Apple, HP y Google, facturaron en conjunto 70,090 millones de dólares en el tercer cuarto del 2011.

Y es que en Silicon Valley, ejecutivos y empresas de nuevas tecnologías pueden contarse por decenas, pero escasean cuando se trata de elegir a alguno con el arriesgue y el sentido de innovación, con el carisma y espontaneidad de quien ya es considerado, incluso por el fundador de Microsoft, Bill Gates, como uno de los grandes “pioneros” de la industria tecnológica global.

¿Dónde encontrar a un CEO como Steve Jobs que pueda meter en el imaginario humano y en los hogares de casi todo el mundo, a una marca cuyos seguidores le profesan una verdadera religión, como sostiene el documental “la tecnología es una nueva religón” de la BBC?
Terna de sucesores

La cuestión es si ha dejado Steve Jobs huérfano a Silicon Valley. Si existe alguien en este valle que pueda replicar su popularidad personal y el éxito comercial de Apple, y decirle al mundo que aún existe en esta región un genio creativo para cambiar al mundo.

Las respuestas pudieran encontrarse en Facebook, Google, Microsoft, Twitter, Amazon, inclusive en la misma Apple, con su nuevo director, Tim Cook.
Sin embargo, encontrar al reemplazo de Steve Jobs no es un trabajo sencillo.

* Yahoo! no tiene líder visible luego de la estrepitosa salida de su directora Carol Bartz, tras no haber cumplido con los objetivos de la compañía, misma que hoy se perfila a ser adquirida por Microsoft.

* Con Hewlett-Packard (HP) y su presidenta Meg Whitman y expresidente Léo Apotheker, ocurre algo similar.

* A Sam Palmisano, CEO de IBM, pocos le conocen y se sabe que además, está por retirarse. Lo mismo con Paul Otelline, CEO de Intel.

* ¿Bill Gates, el fundador de Microsoft? Además de que ya abandonó los terrenos de la innovación para dedicarse a la filantropía, las opiniones respecto a su persona parecen dividirse: muchos lo consideran la antítesis de Jobs y otros, como Mark

Zuckerberg, fundador de Facebook, aseguran admirarlo y tomarlo aún como icono emprendedor.

Otros nombres que podrían relevar a Steve Jobs como el empresario más popular en el sector de la innovación y la tecnología: el presidente de Oracle, Larry Ellison; también el del actual director ejecutivo de Microsoft, Steve Ballmer; y el creador de Twitter, Jack Dorsey. Sin embargo, los tres rara vez se dejan ver en los medios de comunicación, por ello sus nombres poco han permeado en el imaginario colectivo.
Otro posible candidato posible puede ser Jeff Bezos, el fundador de Amazon.com, una de las plataformas de comercio electrónico más extendidas del mundo. Como puntos a favor, Bezos comenzó, al igual que Jobs, desde muy abajo para formar su empresa, también tiene fama, como Steve Jobs, de identificar los momentos apropiados para lanzar un nuevo producto

En contra, Bezos no radica tan a menudo en Silicon Valley, se menciona además por la prensa especializada, -TechCrunch-, que carece de cierta capacidad en el manejo de relaciones públicas y además, tiene un producto que ya compite contra el iPad, el Kindle Fire, algo que no perdonarían los seguidores de Jobs.
Page o Zuckerberg

El siguiente en la lista es Larry Page, fundador de Google. Aunque muchos consideren que su nombre no es muy popular y se deje ver poco (no concede entrevistas), se encuentra a la cabeza de la empresa más poderosa de Internet (calificativo otorgado por consultora Business Consulting).
Muchos consideran a su favor, que “enfrió”, -si alguna vez la tuvo- su relación con Bill Gates, luego que Microsoft rechazara en 1998 el adquirir a Google junto con el algoritmo que harían de esa empresa el motor de búsquedas más popular del mundo (según StatCounter y ComScore, 80% de los internautas usan a Google como buscador).
La terna la cierra el creador de Facebook, Mark Zuckerberg.

Zuckerberg tiene a su favor que es mundialmente conocido, tiene facilidad para la programación y sabe de nuevas tecnologías, también le es fácil mantener comunicación, habla de Jobs como su “mentor” y es uno de los millonario más jóvenes del Silicon Valley.

Sin embargo, pareciera que ahora está más preocupado por lo que hacen sus competidores –en especial Google+–, que por lo que pueden significar las redes sociales en el futuro y cómo aprovecharlas entonces desde hoy.
¿Entonces quién? Quizás sólo el tiempo lo responda.

miércoles, 23 de noviembre de 2011

Intel lanza un superchip de 50 núcleos

El primero de la serie de microprocesadores MIC de Intel, el llamado Knights Corner, puede inaugurar una nueva época. Con el tamaño de un microprocesador convencional, esta bestia de más de 50 núcleos puede generar 1 teraflop de poder de procesamiento en una estructura de 22nm.
Oímos hablar todo el tiempo de tecnologías e infraestructuras que se renuevan constantemente, evolucionando lo que hoy conocemos como informática de uso masivo, pero sólo algunos desarrollos son lo suficientemente importantes como para revolucionar, al menos en parte, la actualidad del ordenador de escritorio.
Los microprocesadores tienen mucho que ver en esta área, donde hemos asistido con igual capacidad de asombro ante micros de 2, 4, 6 y hasta ocho núcleos, pero cuando hablamos del futuro los dedos de la mano no nos dan para contar los núcleos que Intel ha logrado introducir en el Knights Corner. Digámoslo juntos: CIN-CUEN-TA. Sí. Intel ha logrado acoplar (más de) cincuenta núcleos de procesamiento en un mismo microprocesador sin que el tamaño se vaya de los estándares que actualmente vemos para los microprocesadores terrenales, porque éste es de otro planeta.

22 nanómetros es la estructura de este nuevo microprocesador que Intel presentó en la SC ’11 y que promete sobrepasar la modesta cantidad de 1 TFLOPS de operaciones de punto flotante. Este sistema de procesamiento de ensueño está incluido en la arquitectura MIC (many integrated core) de Intel y se encargará de tareas de alta complejidad computacional como las que corresponden a la topografía, sismografía, simulación de escenarios y todas esas actividades que estás acostumbrado a leer junto a un artículo de un superordenador. Este, elKnigths Corner, sería el primer producto manufacturado con la etiqueta de la arquitectura MIC, que promete retrocompatibilidad con x86, aun utilizando tecnología 3D Tri-gate de 22nm. 10.000 procesadores en una mano.

La noticia no puede evitar la comparación con lo sucedido en 1997, cuando Intel alcanzó por primera vez el teraflop a través del uso de 9.680 procesadores Intel Pentium Pro como parte del proyecto ASCI RED system del laboratorio Sandia. Así que todo lo que podíamos hacer hace una década y media con casi 10.000 procesadores, hoy está en nuestras manos –nunca mejor dicho- con un solo procesador.

Lo que este desarrollo implica para la computación del futuro es realmente asombroso, pues sólo hay que pensar en la multiplicación del poder de un superordenador si en vez de utilizar 1.000 procesadores hogareños utiliza la misma cantidad pero de mini supermicroprocesadores como el Knigths Corner y sus más de 50 núcleos sin ocupar más espacio que los anteriores.

Comparar cadenas (String) en java

Un ejemplo practico para la programación en java orientada a objetos espero les sirva de ayuda. Les adjunto el código fuente para que lo puedan descargar.
public static void main(String[] args) {
        // TODO code application logic here
        String s1 = new String( "hola" );  // s1 es una copia de "hola"
        String s2 = "adiós";
        String s3 = "Feliz Cumpleaños";
        String s4 = "feliz cumpleaños";

        String salida = "s1 = " + s1 + "\ns2 = " + s2 + "\ns3 = " + s3 +
              "\ns4 = " + s4 + "\n\n";

        // probar igualdad
        if ( s1.equals( "hola" ) )  // true
              salida += "s1 es igual a \"hola\"\n";
        else
           salida += "s1 es distinta de \"hola\"\n";

        // probar igualdad con ==
        if ( s1 == "hola" )  // false; no son el mismo objeto
              salida += "s1 es igual a \"hola\"\n";
        else
              salida += "s1 es distinta de \"hola\"\n";

        // probar igualdad (ignorar mayúsculas)
        if ( s3.equalsIgnoreCase( s4 ) )  // true
              salida += "s3 es igual a s4\n";
        else
              salida += "s3 es distinta de s4\n";

        // probar compareTo
        salida += "\ns1.compareTo( s2 ) es " + s1.compareTo( s2 ) +
              "\ns2.compareTo( s1 ) es " + s2.compareTo( s1 ) +
              "\ns1.compareTo( s1 ) es " + s1.compareTo( s1 ) +
              "\ns3.compareTo( s4 ) es " + s3.compareTo( s4 ) +
              "\ns4.compareTo( s3 ) es " + s4.compareTo( s3 ) + "\n\n";

        // probar regionMatches (susceptible a mayúsculas)
        if ( s3.regionMatches( 0, s4, 0, 5 ) )
              salida += "Los primeros 5 caracteres de s3 y s4 concuerdan\n";
        else
              salida += "Los primeros 5 caracteres de s3 y s4 no concuerdan\n";

        // probar regionMatches (ignorar mayúsculas)
        if ( s3.regionMatches( true, 0, s4, 0, 5 ) )
              salida += "Los primeros 5 caracteres de s3 y s4 concuerdan";
        else
              salida += "Los primeros 5 caracteres de s3 y s4 no concuerdan";

        JOptionPane.showMessageDialog( null, salida,
               "Comparaciones entre cadenas", JOptionPane.INFORMATION_MESSAGE );

        System.exit( 0 );
       
    }

TouchPad de HP, la tableta más vendida en EU después del iPad

La TouchPad del fabricante Hewlett-Packard (HP), que va a ser eliminada del mercado, fue la tableta más vendida en Estados Unidos por detrás del iPad en los primeros diez meses del año, informó la empresa de investigación de mercado NPD Group este martes.
La TouchPad concentró un 17 por ciento de los 1.2 millones de tabletas que se vendieron en Estados Unidos entre enero y octubre (excluida el iPad), dijo NPD, superando a la tableta Galaxy, del grupo surcoreano Samsung, que logró un 16% de cuota de mercado.

La taiwanesa Asus vendió un 10% del total de tabletas que no eran de Apple durante el mismo período, mientras que la Xoom de Motorola y la Acer de Taiwán compartieron un 9% del mercado.

Apple vendió 11.2 millones de iPads únicamente en el último trimestre de este año.
HP, alegando una cifra de ventas decepcionante, anunció el pasado 18 de agosto que iba a terminar la fabricación del TouchPad, solo siete semanas después de que saliese al mercado.

Dos semanas más tarde anunciaba su última serie de producción del dispositivo, que se convirtió en el más vendido debido al anuncio de su retirada del mercado y luego de que su precio fuera reducido de 499 dólares a sólo 99.

Google Chrome supera a Firefox por primera vez

Las estadísticas siempre frías dirán que hacia fines de Noviembre de 2011 Google Chrome ha logrado superar a Firefox por primera vez y desbancarlo del segundo puesto en el mercado de los navegadores, al tiempo que Internet Explorer ha conseguido recuperar una (muy) pequeña parte del terreno perdido.
Es que de acuerdo a las cifras que maneja StatCounter, Chrome ha llegado a una cuota de mercado del 25,51%, relegando a Firefox al tercer puesto con un 25,3%. Una diferencia mínima y hasta despreciable en términos de cantidad real de usuarios, pero que muestra a las claras una tendencia que hemos venido siguiendo a lo largo de muchos meses y que al parecer irá aumentando.
Internet Explorer, el navegador siempre amado y odiado por partes iguales, ha logrado este último mes algo muy importante que es romper con la racha de descenso que ha mantenido durante más de un año (y que por primera vez le ha llevado a registrar un porcentaje inferior al 50%) gracias a lo cual llega hasta el 40,64%.

martes, 22 de noviembre de 2011

Crear roles de usuario ORACLE

Aquí les dejo la forma de crear los usuarios en oracle, los roles los creamos de una vez en el sql developer una vez creados los podemos reutilizar para n usuarios creando role db_programador

en mi caso lo hare con las tablas bodega y cliente

CREATE ROLE db_programador;

asignar permisos al role a las tablas bodega y cliente
GRANT SELECT, INSERT, UPDATE, DELETE ON bodega TO db_programador;
GRANT SELECT, INSERT, UPDATE, DELETE ON cliente TO db_programador;

si se quiere revokar un permiso
revoke SELECT, INSERT, UPDATE, DELETE ON bodega FROM db_programador;
revoke SELECT, INSERT, UPDATE, DELETE ON cliente FROM db_programador;

ahora procedemos a crear los usuarios en mi caso creare uno que se llame user y contraseña pondre 1234 Nota: el TABLESPACE es el usuario en el cual creamos las tablas en mi caso yo las cree en system

CREATE USER user IDENTIFIED BY 1234
DEFAULT TABLESPACE system
TEMPORARY TABLESPACE temp
QUOTA UNLIMITED ON system;

permisos para logearse e iniciar sesion
GRANT CREATE SESSION TO user;
GRANT CONNECT TO user;
asignar el role al usuario user
GRANT db_programador TO user;

para hacer un insert tendriamos que hacerlo de la siguiente forma
INSERT INTO system.nombre_tabla values (parametros)

donde parametros podria ser nombre, edad, direccion telefono, etc. como notamos siempre tenemos que hacer mension al usuario donde tenemos creadas las tablas.

Notificador de correo en el escritorio Ubuntu, Debian

Bueno pues yo uso gmail pero la verdad es que prefiero revisar mis correos directamente de la pagina, gmail y hotmail, sin embargo para hotmail me avisa el mensajero emesene, pero el plug-in que tiene para ver el correo de gmail no es muy efectivo, por eso traigo este nuevo aporte para saber si tenemos correo en nuestra bandeja de entrada gmail.

Se llama gm-notify y se instala desde la terminal, synaptic o Ubuntu center.
como yo prefiero la terminal lo instalo así:

sudo apt-get install gm-notify

ya que esta instalado se va a integrar con el sobre que esta en la mini aplicacion de indicadores.




Le damos clic ahí para que nos salga la ventana de configuración.


Instalar ipresora iP1800 e iP1900 en ubuntu, debian

Hola amigos taringeros creo muchos se han topado con lo que dicen en los foros para instalar la impresora canon pixma ip1900 teclear en la terminal sudo apt-get install libcupsys2 y al teclearlo esto aparece

Leyendo lista de paquetes... Hecho
Creando árbol de dependencias
Leyendo la información de estado... Hecho
El paquete libcupsys2 es un paquete virtual provisto por:
libcups2 1.4.1-5ubuntu2.1
Necesita seleccionar explícitamente uno para instalar.
E: El paquete libcupsys2 no tiene candidato para su instalación

bueno la solucion es sencilla primero sigan este enlace http://hotfile.com/dl/26694549/43acbf8/ip1900.tar.gz.html se descargan el paquete lo descomprimen

primero instalan el archivo libcupsys2_1.3.9-17ubuntu3.4_all.deb

luego descomprimen el archivo iP1900_debian_printer.tar

una vez lo descomprimimos instalamos primeramente el archivo cnijfilter-common-3.00-1.tar.gz seguidamente cnijfilter-ip1900series_3.00-1_i386.deb y listo.

Ahora vamos a Sistema>>Administración>>Impresoras y si te fijaste bien, al conectar la impresora era reconocida, más no la podías usar porque no tenías los controladores, Asi que dale click a la impresora y de ahi en "marca y modelo" busca el "cambiar", dale en canon, de ahi siguiente, de ahi busca la que dice 1900 ver 3.o y dale siguiente hasta que termine esa cosa y listo.... ya tenemos impresora configurada...

si no funciona el link me avisan para arreglarlo porfavor...

Archivos binarios en JAVA

Aqui les dejo un ejemplo de como crear archivos binarios con JAVA utilizando la clase RandomAccessFile.
¿Qué es un archivo binario?

Un archivo binario es una archivo informatico que contiene informacion de cualquier tipo, codificada en forma binaria para el proposito de almacenamiento y procesamiento de ordenadores. Por ejemplo los archivos informaticos que almacenan texto formateado o fotografias. 

Muchos formatos binarios contienen partes que pueden ser interpretados como texto. Un archivo binario que solo contiene informacion de tipo textual sin informacion sobre el formato del mismo, se dice que es un archivo de texto plano. Habitualmente se contraponen los terminos “archivo binario” y “archivo de texto” de forma que los primeros no contienen solamnete texto.



Descargar codigo fuente

CONVERTIR UNA IMAGEN .NRG A .ISO EN UBUNTU

.nrg es la extensión que identifica a imágenes de disco realizadas por la aplicación Nero Burning Rom en Ms/Windows.

La solución la ofrece nrg2iso. Una aplicación que se encuentra en nuestros repositorios. La instalación es simple y basta con:

:~$ sudo apt-get install nrg2iso
Una vez instalado y desde el terminal(consola), nos dirigimos al directorio donde se encuentra el fichero que queremos convertir. Donde "tu_imagen" es el nombre del la imagen que deseas convertir.
:~$ nrg2iso tu_imagen.nrg tu_imagen.iso

Y en unos segundos tenía una imagen iso accesible con botón derecho sobre el fichero
-> Abrir con ->Abrir con montador de discos.

INSTALAR MENU CLASICO EN UBUNTU 11.10

Desde que existe Unity en Ubuntu el menu que todos conocian desde siempre en Gnome desaparecio. Pero para algunos era mucho mas comodo.

No se lo puede recuperar y que se posicione en cuenta del Dash de Unity pero si se puede instalar un indicator llamado ClassicMenu Indicator en el area de notificacion en la panel superior que devolvera el clasico menu de aplicaciones.

Instalarlo es sumamente sencillo. Copien cada una de estos comandos en una consola

:~$ sudo add-apt-repository ppa:diesch/testing
:~$ sudo apt-get update
:~$ sudo apt-get install classicmenu-indicator