martes, 2 de diciembre de 2008

Mozilla Songbird el reproductor de música abierto

Mozilla Songbird es un reproductor de música open source personalizable el cual se encuentra bajo desarrollo activo por Mozilla.


Songbird es un reproductor multimedia y es mil cosas más.

Las características novedosas de Songbird son:

  • GStreamer: un framework multimedia libre multiplataforma escrito en el Lenguaje de programación C.
  • mashTape: Al escuchar música con Songbird podrás ver fotos de Flickr, vídeos de Youtube, biografías en last.fm, noticias en Google y muchas otras cosas relacionadas con el artista de la canción.
  • Last.fm Scrobbling: Excelente integración con Last.fm.
  • Listas de reproducción inteligentes reutilizables.
  • Entradas para conciertos: Puedes ver los próximos eventos en tu localidad, basados en los artistas de tu librería de música.
  • Add-ons a la carta y muchas otras características y funciones más.

Descargar versión para Fedora Linux (otras distribuciones)

Provided by Auralvance
Updated: 8/26/08 0.7.0 Rev 1

xJlara

miércoles, 26 de noviembre de 2008

Bienvenido a Fedora 10


Fedora es un sistema operativo basado en Linux que trae lo último en software libre y de código abierto. Fedora es siempre libre para que cualquiera lo use, modifique o distribuya. Lo construyen personas de todo el planeta que trabajan juntos como una comunidad: el Proyecto Fedora. El Proyecto Fedora es abierto y todos son bienvenidos a unirse. El Proyecto Fedora es lo más nuevo, con lo mejor en software y contenido libre y abierto.

PD: Tengo un notebook Acer Aspire 5610z con tarjeta WIfi Atheros y Fedora 10 reconocio totalmente todo el hardware (incluida la webcam y tarjeta inalambrica)

xJlara

martes, 25 de noviembre de 2008

Comandos Peligrosos de Linux


Muchas veces al querer instalar algùn programa o al querer configurar algùn servicio en nuestro Linux recurrimos a internet para ver si encontramos algùn howto que nos ayude, muchos inclusive aveces copian y pegan directamente los comandos que salen en estas guias directamente en su equipo ejecutando esas instrucciones y comandos. Pero que sucede si este es un comando malicioso?

Vemos algunos comandos de estos :

# mkfs.ext3 /dev/sda Este comando formatea el disco duro.

# :(){:|:&};: Este comando ejecuta multiples procesos hasta bloquear el sistema en algunos lugares se le llama forkbomb

#
cualquier comando > /dev/sda Sobre escribe los bloques del disco seleccioando con el comando ejecutado lo que provocará la perdida total de los datos.

# mv /home/tu_usuario/* /dev/null Este comando movera todas las carpetas y archivos de /dev/null elimando de paso estos estos archivos definitivamente.

Bueno espero que cada uno de ustedes analice lo que hace y revise bièn cuando recurrimos a estas guías, una recomendación es poseer alguna màquina virtual para probar antes.

Los invito a comentar si conocen otros comandos ya que seguramente existen mas que estos 4 que hoy he comentado.
xJlara

sábado, 15 de noviembre de 2008

Ejemplo con Vectores

Este ejemplo corresponde a 3 locales con diferente capacidad que registran ventas de 3 promociones distintas ($1000, $1500, $2000) lo que hace es vender y luego ver el informe de ventas por cada local.

PD: Es un ejemplo bàsico ...



//Clase Locales.java

import javax.swing.*;
/**
*
* @author jorge
*/
public class Locales {


private int totalventa;

Vector local1 = new Vector(this.capacidad_local1);
Vector local2 = new Vector(this.capacidad_local2);
Vector local3 = new Vector(this.capacidad_local3);


// Cantidad de Elementos a Almacenar
public int capacidad_local1= 20;
public int capacidad_local2= 25;
public int capacidad_local3= 33;

// Gastos Fihjos Por Local
public int gastos_local1= 5000;
public int gastos_local2= 6000;
public int gastos_local3= 7000;

public Locales(){

this.totalventa = 0;

}


public void venderPromocion (){

int combo1 = 1000;
int combo2 = 1500;
int combo3 = 2500;


this.totalventa = 0;

int local= Integer.parseInt(JOptionPane.showInputDialog("Seleccione local de venta : \n" +
"1 - Local 1 \n" +
"2 - Local 2 \n" +
"3 - Local 3 "));
if (local ==1)
{
int compra= Integer.parseInt(JOptionPane.showInputDialog("Seleccione promocion : \n" +
"1 - Combo 1 $1000 \n" +
"2 - Combo 2 $1500 \n" +
"3 - Combo 3 $2500 "));
if (compra == 1)
compra = combo1;
if (compra == 2)
compra = combo2;
if (compra == 3)
compra = combo3;

int cant= Integer.parseInt(JOptionPane.showInputDialog("Seleccione cantidad de promociones: "));

//El Limite de Compras no puede ser mayor a capacidad_local1

if(cant > this.capacidad_local1) {
JOptionPane.showMessageDialog( null, "Puede Comprar un Maximo "+this.capacidad_local1 +
" Promociones","ALERTA", JOptionPane.INFORMATION_MESSAGE );
Integer.parseInt(JOptionPane.showInputDialog("Seleccione cantidad de promociones: "));
}

this.totalventa = cant * compra;
local1.addElement(totalventa);
JOptionPane.showMessageDialog( null, "Debe Cancelar $ "+totalventa,"ALERTA", JOptionPane.INFORMATION_MESSAGE );
}



if (local ==2) {
int compra= Integer.parseInt(JOptionPane.showInputDialog("Seleccione promocion : \n" +
"1 - Combo 1 $1000 \n" +
"2 - Combo 2 $1500 \n" +
"3 - Combo 3 $2500 "));
if (compra == 1)
compra = combo1;
if (compra == 2)
compra = combo2;
if (compra == 3)
compra = combo3;

int cant= Integer.parseInt(JOptionPane.showInputDialog("Seleccione cantidad de promociones: "));
if(cant > this.capacidad_local2)
{
JOptionPane.showMessageDialog( null, "Puede Comprar un Maximo "+this.capacidad_local2 +
" Promociones","ALERTA", JOptionPane.INFORMATION_MESSAGE );

Integer.parseInt(JOptionPane.showInputDialog("Seleccione cantidad de promociones: "));
}

this.totalventa = cant * compra;
local2.addElement(totalventa);
JOptionPane.showMessageDialog( null, "Debe Cancelar $ "+totalventa,"ALERTA", JOptionPane.INFORMATION_MESSAGE );

}

if (local ==3)
{
int compra= Integer.parseInt(JOptionPane.showInputDialog("Seleccione promocion : \n" +
"1 - Combo 1 $1000 \n" +
"2 - Combo 2 $1500 \n" +
"3 - Combo 3 $2500 "));
if (compra == 1)
compra = combo1;
if (compra == 2)
compra = combo2;
if (compra == 3)
compra = combo3;


int cant= Integer.parseInt(JOptionPane.showInputDialog("Seleccione cantidad de promociones: "));
if(cant > this.capacidad_local3) {
JOptionPane.showMessageDialog( null, "Puede Comprar un Maximo "+this.capacidad_local3 +
" Promociones","ALERTA", JOptionPane.INFORMATION_MESSAGE );
Integer.parseInt(JOptionPane.showInputDialog("Seleccione cantidad de promociones: "));
}
this.totalventa = cant * compra;
local3.addElement(totalventa);
JOptionPane.showMessageDialog( null, "Debe Cancelar $ "+totalventa,"ALERTA", JOptionPane.INFORMATION_MESSAGE );

}

}

public void verVentasTotales () {

// Informe Local 1




String Salida ="Indice\tValor\n";

for(int i=0; i Salida += i + "\t" + local1.elementAt(i) + "\t" + "\n";


}

JTextArea ventanaSalida = new JTextArea();
ventanaSalida.setText(Salida);

JOptionPane.showMessageDialog(null,ventanaSalida, "INFORME LOCAL 1", JOptionPane.INFORMATION_MESSAGE);

// Informe Local 2

String Salida2 ="Indice\tValor\n";

for(int i=0; i Salida2 += i + "\t" + local2.elementAt(i) + "\n";
}

JTextArea ventanaSalida2 = new JTextArea();
ventanaSalida2.setText(Salida2);

JOptionPane.showMessageDialog(null,ventanaSalida2, "INFORME LOCAL 2", JOptionPane.INFORMATION_MESSAGE);


// Informe Local 3

String Salida3 ="Indice\tValor\n";

for(int i=0; i Salida3 += i + "\t" + local3.elementAt(i) + "\n";
}

JTextArea ventanaSalida3 = new JTextArea();
ventanaSalida3.setText(Salida3);

JOptionPane.showMessageDialog(null,ventanaSalida3, "INFORME LOCAL 3", JOptionPane.INFORMATION_MESSAGE);
}
}



//Clase Main.java

import javax.swing.*;
/**
*
* @author jorge
*/
public class Main {
private static int x;
private static boolean continuar = true;

/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here

Locales milocal = new Locales();

do
{

// Menu Principal
x = Integer.parseInt(JOptionPane.showInputDialog("Seleccione Opcion : \n" +
"1 - Ventas \n" +
"2 - Informe Ventas \n" +
"3 - Salir "));

switch (x)
{
// Ventas
case 1: milocal.venderPromocion();

// Pregunto para realizar otra Operacion como calcular ventas o continuar vendiendo
int b = Integer.parseInt(JOptionPane.showInputDialog("Presione : \n" +
"1 - Continuar \n" +
"2 - Salir \n"));

if (b == 2)
continuar = false;

break;

// Informes , mostrar los informes de los 3 locales juntos
case 2: milocal.verVentasTotales();

// Pregunto para realizar otra Operacion como calcular ventas o continuar vendiendo
b = Integer.parseInt(JOptionPane.showInputDialog("Presione : \n" +
"1 - Continuar \n" +
"2 - Salir \n"));
if (b == 2)
continuar = false;

break;

// Salgo del siste
case 3: continuar = false;;

default: break;


}


}while (continuar); //Saldra del Sistema

JOptionPane.showMessageDialog(null,"Que tenga buen dia", "Cerrar Sistema", JOptionPane.INFORMATION_MESSAGE);

}
}


Veamos unas pantallas

Menu Locales


Menu Promociones


Cantidad de Promociones a Comprar


Total a Pagar por la Compra


Informe de las Ventas






xJlara