martes, 23 de junio de 2009

[Audiolibro-Voz humana] La Fortaleza Digital [Dan Brown]


Del mismo autor de los Bestsellers "El Código Da Vinci" y "Ángeles y demonios," Dan Brown les trae una apasionante novela llena de claves secretas, mensajes ocultos, engaños y crímenes. "Fortaleza Digital" los mantendrá en suspenso y no podrá dejar de escucharlo hasta que llegue al final.

La supercomputadora de la Agencia de Seguridad Nacional se encuentra con un código el cual no puede descifrar. El subdirector de la agencia llama a la hermosa criptógrafa Susan Fletcher, La única pista para romper ese código parece estar en el cadáver de un hombre fallecido en España, donde ha sido enviado el prometido de Susan, David Becker. Mientras David intenta hallar la clave y sobrevivir a la persecución de un metódico e implacable asesino en las calles de Sevilla, Susan se enfrentará a su propio drama en las desoladas instalaciones de máxima seguridad de la Agencia, durante una larga noche en la que la mentira y el asesinato acechan tras cada puerta.

Por Rapidshare
http://rapidshare.com/files/154664892/L.F.D.ByFuranani.part1.rar
http://rapidshare.com/files/154675418/L.F.D.ByFuranani.part2.rar

Por Megaupload
http://www.megaupload.com/?d=6YNRX0TO
http://www.megaupload.com/?d=PN7BWK8J

Arquitectura de Computadores: Un Enfoque Cuantitativo, David Patterson


Datos Técnicos

Arquitectura de Computadores: Un Enfoque Cuantitativo, David Patterson (McGraw-Hill)
Spanish | PDF | 32.4 MB | David Patterson; John Hennessy | Editorial McGraw-Hill | 854 Páginas | ISBN: 8476159129

Descripción

Esta obra incorpora un nuevo enfoque cuantitativo haciendo énfasis en la relación coste/rendimiento, presentando muchos datos y ejemplos de máquinas reales, y haciendo estudios comparados de los distintos diseños de arquitecturas.Todos los capítulos tienen secciones originales, y una vez presentados los conceptos, aparece una sección denominada “”Juntando todo”" donde se relacionan las ideas expuestas, para mostrar cómo se utilizan en una máquina real. A continuación aparece otra sección titulada “”Falacias y pifias”", que permite al lector aprender de los errores que han cometido otros en el diseño de una arquitectura. Después hay otra, llamada “”Perspectiva histórica y referencias”" que intenta dar crédito a las ideas del capítulo. Cada capítulo finaliza con una buena colección de ejercicios de distinto grado de dificultad.

Contenido

1.- Fundamentos de diseño de computadores
2.- Coste y rendimiento
3.- Diseño de repertorios de instrucciones: alternativas y principios
4.- Ejemplos y medidas de utilizacion de los repertorios de instrucciones
5.- Técnicas basicas de implementacion de procesadores
6.- Segmentacion
7.- Procesadores vectoriales
8.- Diseño de la jerarquia de memoria
9.- Entradas/salidas
10.- Tendencias Futuras
Apéndice A.- Aritmética de comptadores (por David Goldberg)
Apendice B.- Tablas completas de repertorios de instrucciones
Apendice C.- Medidas detalladas del repertorio de instrucciones
Apendice D.- Medidas de tiempo frente a frecuencia
Apendice E.- Vision general de las arquitecturas RISC

Enlaces

Arquitectura de Computadores: Un Enfoque Cuantitativo (1era Edición)
Rapidshare | Megaupload | Filefactory

Computer Architecture, Fourth Edition: A Quantitative Approach

Filefactory


martes, 2 de junio de 2009

Calculadora basica en java

Codigo.

import java.awt.*;
import java.applet.*;
import java.awt.event.*;


public class Main extends Applet implements ActionListener {
Label l1, l2,l3;
TextField t1,t2,t3;
Button b1,b2,b3,b4,b5,b6,b7,b8;

public Main () {
l1 = new Label("Numero 1");
t1 = new TextField(8);
l2 = new Label("Numero 2");
t2 = new TextField(8);
b1 = new Button("Suma");
b2 = new Button("Resta");
b3 = new Button("Multiplica");
b4 = new Button("Divide");
b5 = new Button("Raiz de 1");
b6 = new Button("Raiz de 2");
b7 = new Button("Mayor");
b8 = new Button("Limpia");
l3 = new Label("Resultado");
t3 = new TextField(8);

add(l1);
add(t1);
add(l2);
add(t2);
add(b1);
add(b2);
add(b3);
add(b4);
add(b5);
add(b6);
add(b7);
add(b8);
add(l3);
add(t3);

b1. addActionListener(this);
b2. addActionListener(this);
b3. addActionListener(this);
b4. addActionListener(this);
b5. addActionListener(this);
b6. addActionListener(this);
b7. addActionListener(this);
b8. addActionListener(this);
}

public void actionPerformed(ActionEvent ae) {
if (ae.getSource() == b1) {
int n1 = Integer.parseInt(t1.getText());
int n2 = Integer.parseInt(t2.getText());
int suma = 0;

suma = n1 + n2;
t3.setText("" + suma);
}
if (ae.getSource() == b2) {
int n1 = Integer.parseInt(t1.getText());
int n2 = Integer.parseInt(t2.getText());
int resta = 0;

resta = n2 - n1;
t3.setText("" + resta);
}
if (ae.getSource() == b3) {
int n1 = Integer.parseInt(t1.getText());
int n2 = Integer.parseInt(t2.getText());
int multi = 0;

multi = n1 * n2;
t3.setText("" + multi);
}
if (ae.getSource() == b4) {
int n1 = Integer.parseInt(t1.getText());
int n2 = Integer.parseInt(t2.getText());
int div = 0;

div = n1 / n2;
t3.setText("" + div);
}

if (ae.getSource() == b5) {
int n1 = Integer.parseInt(t1.getText());
double raiz = 0;

raiz = Math.sqrt(n1);
t3.setText("" + raiz);
}
if (ae.getSource() == b6) {
int n2 = Integer.parseInt(t2.getText());
double raiz = 0;

raiz = Math.sqrt(n2);
t3.setText("" + raiz);
}
if (ae.getSource() == b7) {
int n1 = Integer.parseInt(t1.getText());
int n2 = Integer.parseInt(t2.getText());
int mayor = 0;

if (n1 > n2)
mayor = n1;
else
mayor = n2;

t3.setText("" + mayor);
}

if (ae.getSource() == b8) {
t1.setText("");
t2.setText("");
t3.setText("");
}
}
}

Resultado: