Microsoft presenta su nuevo Buscador: Bing

31 05 2009

Como todos lo sabemos, cuando hablamos de “Busqueds en Internet” la primera palabra q se nos viene a la mente es GOOGLE. Por eso mismo el gigante con pies de barro de microsoft, ha presentado un nuevo buscadocador de nombre BING.

Microsoft, ha aceptado que en lo respecta a busquedas esta por detraz de Yahoo, y mucho mas con san GOOGLE,
“Bing va a cambiar el paradigma de las búsquedas en Internet, va a modificar por completo la experiencia del usuario”, dijo Martín Spinetto, gerente de Marketing para los servicios ‘online’ de Microsoft Hispanoamérica.

Las estadisticas no han sido muy favorables, y es que actualmente, Microsoft ocupa el tercer puesto en el área con una cuota de mercado de aproximadamente el 8%.. le sigue mas arriba Yahoo! y el líder es, por supuesto, Google con un 64,2% del mercado estadounidense y el orgullo de haber conseguido que el nombre google sea usado comúnmente en muchos países como sinónimo de “buscar en Internet”, esto probablemente haya sido la iniciativa del desarrollo de BING.

BING, sera un buscador que revolucionara la forma  de buscar en internet, dicen que sera mejor…dicen… Y para hacerlo mejor, el objetivo parece ser conseguir que el usuario salga lo menos posible de la página de Bing, por ejemplo el usuario puede ver un resumen de los contenidos de la página con sólo poner el ratón sobre el enlace y sin tener que dirigirse al sitio en cuestión.

En lo que respecta a la busqueda de video,s BING permitira la visualizacion con tan solo pasar el raton y sin necesidad de ir a la pagina  origen.

Su version final para USAr sera el 3 de junio, y  version Beta para el resto,

Disfruten, saludos.

Enlace: ElmundoEs.





Cambiar de nombre al Usuario DEBIAN con carpeta /home/usuario

30 05 2009

Ayer tuve una improvizacion q nunca me habia pasado, y es que tenia q cambiar el nombre del usuario, parecia facil, pero en un inicio me quito tempo mas de los esperado.

Bueno, para los q estan acostumbrados a una interface grafica, yo no lo encontrado y eso incluye al administrador de usuarios  de gnome.

No queda otra q usar la inseparable terminal. Ojo la idea es cambiar en primer lugar el nombre del directorio (/home/usuario), y finalmente cambiar propiamente el nombre del usuario

Cambiar de directorio

#usermod -d /home/usuarioNuevo  usuarioActual

Cambiar de usuario

#usermod -l usuarioNuevo usuarioActual

Luego sin necesidad de reincioar, nos logueamos.

Saludos.





Instalar Mysql Workbench en Debian Lenny

23 05 2009

A pesar de todo pronostico, cuando pensaban q ya no iba a postear mas, ps aqui estamos nuevamente despues de mucho mucho tiempo sin darle un poco de time al blog (ofresco mis disculpas),  la verdad q, ha sido por motivos de trabajo, y ademas se me completo el horari de la universidad… plop ya poco time quedo pal blog.

Es manejable, todo horario es manejable, y en eso estoy, acomodando mi horario para inluir al blog.

de todas formas, empezare com algo muy muy interesante, dirgido especialmente a los programadores que trabajan con /mysql, aqui les va esta herramienta valiosisima,  Mysql workbench, no es mas que entorno de desarrollo para base de datos Mysql, donde podras diseniar todas tablas, asi como relacionarla, para q luego exportes el codigo y lo compiles… valisisiima herramienta.

mysql-workbench

Para instalar en debian (lenny), es necesario activar temporalmente los repositorios de SID, para instalar algunas dependencias.

Leer el resto de esta entrada »





No Somos Delincuentes!

26 03 2009

Atravez de noSoyUnDelincuente, me entero de video en campania acerca de los cambios hechos en los derechos de autor.

Me parece una justa  campania, y por consecuencia, apoyo y difundo el video, espero les gusten, y lo difundan.





Les Presento: BasKet

22 03 2009

Basket, es una aplicacion, increiblemente de utilidad, donde podemos administrar nuestras notas mas simples, hasta documentos, imagenes.

Todo esta exelentemente organizado, y personalizable. podemos agregar, editar y elimnar etiquetar para  nuestras notas, imagenes, etc, En la seguridad no queda atraz,  ya que podemos asignar una contrasenia unika y-o diferente, para cada nota segun corresponda.

Podemos manejar nuestras notas, como diagramas,  o como texto plano, o en colmnas, hay muchas cosas q lo hacen atracticvo como crear un icono en el panel de notificacion,  Para instalar

$su
$apt-get install basketl

Luego lo encontramos en Aplicaciones>Accesioros>Blog de Notas Basket

basket13

No permite previsualizacion a, notas bloqueadas

basket21

basket41

basket51

Podemso importar y exportar los datos, ademas de rutarlos para que se almacene en el lugar q nosotros querramos.

Exlente aplicacion.

Saludos





JAVA: Practicando con GridLayout.

21 03 2009

GridLayout, no es mas q otro manejador de disenio, la cual su partcularidad, conciste en crear una matriz, totalmente configurada.

Primero tenemos que crear el contenedor(JFrame, JPanel, etc), y luego atravez del metodo “setLayout()” asignarle el layout correspondiente:

JFrame frame = new JFrame();
frame.setLayout(new GridLayout(Filas, Columnas));

Tambien  podemos indicar el espacio entre cada objeto de la matriz.

frame.setLayout(new GridLayout(Filas, Columnas,EspacioEntreFilas, EspacioEntreColumnas));

Creoq con un ejemplo, se entenderia mejor.

PAra el ejemplo, he intentado, realizar una pantalla de calculadora…jejeje,

Aqui el fuente.

/*Demo hecho por INFORUX*/
import javax.swing.JTextField;
import javax.swing.JButton;
import javax.swing.JPanel;
import java.awt.FlowLayout;
import java.awt.GridLayout;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.BoxLayout;
import javax.swing.WindowConstants;

public class DemoGridLayout{

    JFrame frame;
    JPanel panelSuperior, panelInferior;
    JButton bt1, bt2, bt3, bt4, bt5, bt6, bt7, bt8, bt9, bt0, btRT, btCE, btCL, btMas, btMenos, btMul, btDiv, btIgual, btMN, btPunto;
    JTextField pantalla;

    public DemoGridLayout(){
        construyePanelSuperior();
        construyePanelInferior();
        construyeVentana();}

    void construyePanelSuperior(){
        panelSuperior = new JPanel ();
        panelSuperior.setLayout(new FlowLayout());
        pantalla = new JTextField(20);
        panelSuperior.add(pantalla);}

    void construyePanelInferior(){
        panelInferior= new JPanel();
        panelInferior.setLayout(new GridLayout(5,4,8,8));
        bt1=new JButton("1");
        bt2=new JButton("2");
        bt3=new JButton("3");
        bt4=new JButton("4");
        bt5=new JButton("5");
        bt6=new JButton("6");
         bt7=new JButton("7");
        bt8=new JButton("8");
        bt9=new JButton("9");
        bt0=new JButton("0");
        btRT=new JButton("Rtc");
        btCE=new JButton("CE");
        btCL=new JButton("CL");
        btMas=new JButton("+");
        btMenos=new JButton("-");
        btMul=new JButton("x");
        btDiv=new JButton("/");
        btIgual=new JButton("=");
        btMN=new JButton("+/-");   
        btPunto=new JButton(".");
        panelInferior.add(btRT);
        panelInferior.add(btCE);
        panelInferior.add(btCL);
        panelInferior.add(btMN);
        panelInferior.add(bt7);
        panelInferior.add(bt8);
        panelInferior.add(bt9);
        panelInferior.add(btDiv);
        panelInferior.add(bt4);
        panelInferior.add(bt5);
        panelInferior.add(bt6);
        panelInferior.add(btMul);
        panelInferior.add(bt1);
        panelInferior.add(bt2);
        panelInferior.add(bt3);
        panelInferior.add(btMenos);
        panelInferior.add(bt0);
        panelInferior.add(btPunto);
        panelInferior.add(btIgual);
        panelInferior.add(btMas);}

    void construyeVentana(){
        frame =new JFrame("Calculadora ");
        frame.setLayout(new BoxLayout(frame.getContentPane(),BoxLayout.Y_AXIS));
        frame.add(panelSuperior);
        frame.add(panelInferior);
        frame.pack();
        frame.setVisible(true);
        frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);}

    public static void main(String [] inforux){
        new DemoGridLayout();}
}

Una compilada, y ejecutamos.

javac DemoGridLayout.java
java DemoGridLayout

El resultado sera  asi.

pantallazo-calculadora

pantallazo-calculadora-1

La idea, es manejar el GridLayout.

Saludos.





Mitad dedo… mitad USB

21 03 2009

Increiblemente, un hombre de nombre Jerry Jalava, no tuvo mejor idea que aprovechar su accidente de moto, implandose una memoria USB, en su dedo anular.

foto1

Este singular hombre, tiene una memoria  de 2 gb, y ademas es portatil, yaq puedes cambiar la usb, por una  de menor y/o mayor tamanio. Ademas  puedes retirarla con el dedo implantado… wuau.

foto21

foto3

Cuenta q a inicios de 2008,  es que  Jerry, , tuvo un accidente mientras conducía su Ducati Monster de vuelta a casa.

Segun su  propio blog, Jalava se estrelló contra un venado en el camino, lo que provocó el accidente, quedando sobre el asfalto con  su mano atascada debajo de la motocicleta.

“Cuando la moto se detuvo me levanté y recogí mi casco. Estaba muy nervioso por lo que intenté sacar un cigarrillo para calmarme, y fue ahí cuando me di cuenta que me faltaba un dedo”.

LLveado en la ambulancia al hospital, es q su medico al enterarse q era desarrollador de software, le propuso, una protesis de un dedo con USB.

foto4

Desde luego, q la tecnologia, cada dia esta mas estrecha a los seres humanos.

Saludos

Enlace: fotos, protoblogr





JAVA: Practicando con CardLayout

19 03 2009

CardLayout,  es un manejador de disenio que nos permite, ubicar componentes swing dentro de un mismo contenedor, y poder visualizarlos solamente uno a la vez.

Este layout es usado por los JTabbedPane, con la diferencia de la separacion de los bordes de cada panel.

Es decir, podemos tener un contenedor pricipal,   y dentro de el, varios paneles, y atravez de una seleccion, elegir cual de estos paneles queremos q se visualize.

Primero tenemos que crear el contenedor(JFrame, JPanel, etc), y luego atravez del metodo “setLayout()” asignarle el layout correspondiente.

JFrame frame = new JFrame();
frame.setLayout(new CardLayout());

Una vez, asiganado el layout al contenedor, tendremos q agregar los componentes, plenamente ya declarados y creados.

Para agregar necesitamos 2 argumentos, el objeto a agregar, y un nombre referencial al elemento agregado

JPanel panel = new JPanel();
JPanel pane2 = new JPanel();
frame.add(panel, referenciaPanel1);
frame.add(pane2, referenciaPanel2);

Sencilo no?, espera, hay unos metodos basicos e importantes, al momento de manejar los eventos, como son.

first (nombreContenedor) -> metodo q permite visualizar el primer objeto agregado

next (nombreContenedor) -> metodo q permite visuliza el objeto siguiente.

previous (nombreContenedor) -> permite visualizar el objeto anterior

show (nombreContenedor, referenciaPanel) -> permite visualizar un obejto especificado, aqui necesitamos el nombre del contenedor y el nombre referencial asignado al momento de agregarlo.

Para esta entrada he preparado un ejemplo clasico, para situaciones clasicas…jejee

La aplicacio, contiene, 1 JFrame principal, 1 PanelSuperior incluido en el JFrame,1 JComboBox incluido en el PanelSuperior, 1 PanelInferior incluido en el JFrame, y 3 paneles incluidos en el PanelInferior.

El ejemplo consciste en que atravez de un JComboBox, seleccionaremos un elemento de la lista, y segun el elemento seleccionado, cambiara el panel inferior mostrando uno de los paneles incluidos en el., es decir, el panel ira cambiando segun la seleecion del elemento de la lista del JComboBox.

YA q en este ejericcio he utilizado manejo de eventos, he trabajado con 2 clases, la primera (WindowCardLayout) es la interfaz de usuario y la segunda (ControlCardLayout) la q maneja los eventos de la primera.

Aqui el fuente.WindowCardLayout

import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JTextField;
import javax.swing.JPanel;
import javax.swing.BoxLayout;
import javax.swing.JFrame;
import javax.swing.JComboBox;
import javax.swing.WindowConstants;
import javax.swing.BorderFactory;
import java.awt.FlowLayout;
import java.awt.CardLayout;
import java.awt.Color;

public class WindowCardLayout{

    JFrame frame;
    CardLayout cardLayout;
    JPanel panelSuperior, panelInferior,panelInf1, panelInf2, panelInf3;
    JLabel etiqueta, etiqueta1, etiqueta2,etiqueta3;
    JComboBox combo;
    String [] vectorCadena = {"panel1","panel2","panel3"};

    public WindowCardLayout(){/*Constructor*/
        construyePanelSuperior();
        construyePanelInf1();
        construyePanelInf2();
        construyePanelInf3();
        construyePanelInferior();
        construyeVentana();}

    public void construyePanelSuperior(){
        etiqueta = new JLabel("Elegir Opcion");
        panelSuperior=new JPanel();
        panelSuperior.setBorder(BorderFactory.createTitledBorder("Demo por INFORUX"));
        combo = new JComboBox(vectorCadena);
        panelSuperior.setLayout(new FlowLayout());
        panelSuperior.add(etiqueta);
        panelSuperior.add(combo);
        panelSuperior.getPreferredSize();}

    public void construyePanelInferior(){
        panelInferior= new JPanel();
        panelInferior.setBorder(BorderFactory.createTitledBorder("Panel Inferior"));
        cardLayout=new CardLayout();
        panelInferior.setLayout(cardLayout);
        /*Al agregar necesitamos 2 argumentos, el objeto a agregar y un nombre referencial */
        panelInferior.add(panelInf1, "panel1");
        panelInferior.add(panelInf2, "panel2");
        panelInferior.add(panelInf3, "panel3");}

    public void construyePanelInf1(){
        etiqueta1 = new JLabel("Has Seleccionado el Panel 1");
        panelInf1 = new JPanel(new FlowLayout());
        panelInf1.setBackground(Color.white);
        panelInf1.add(etiqueta1);}

    public void construyePanelInf2(){
        etiqueta2 = new JLabel("increiblemente estas viendo el panel2");
        panelInf2 = new JPanel(new FlowLayout());
        panelInf2.setBackground(Color.orange);
        panelInf2.add(etiqueta2);}

    public void construyePanelInf3(){
        etiqueta3 = new JLabel("CardLayout permite solo uno a la vez, esta vez el panel 3");
        panelInf3 = new JPanel(new FlowLayout());
        panelInf3.setBackground(Color.green);
        panelInf3.add(etiqueta3);}

    public void construyeVentana(){
        frame= new JFrame();
        frame.setLayout(new BoxLayout(frame.getContentPane(),BoxLayout.Y_AXIS));
        frame.add(panelSuperior);
        frame.add(panelInferior);
        frame.getPreferredSize();
        frame.pack();
        frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
        frame.setVisible(true);
        //creamos el objeto controlador de eventos
        ControlCardLayout control= new ControlCardLayout(this);
        combo.addActionListener(control);}

    public static void main (String [] inforux){
        new WindowCardLayout();
    }

}


Aqui el fuente ControlCardLAyout

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

public class ControlCardLayout implements ActionListener{

WindowCardLayout ventana;
public ControlCardLayout( WindowCardLayout frame){
       ventana = frame ;}
public void actionPerformed (ActionEvent evento){
  if (evento.getSource()==ventana.combo){
     if (ventana.combo.getSelectedIndex()==0){
               ventana.cardLayout.show(ventana.panelInferior, "panel1");}
     if (ventana.combo.getSelectedIndex()==1){
               ventana.cardLayout.show(ventana.panelInferior, "panel2");}
     if (ventana.combo.getSelectedIndex()==2){
               ventana.cardLayout.show(ventana.panelInferior, "panel3");}}
   }
}

Listo una compilada y ejecutamos

$ javac WindowCardLayout.java
$ java WindoCardLayout

El resultado sera asi:
pantallazo1
pantallazo-1