Posted on Abril 25, 2008 in Notas rapidas, Software Libre by OsroNo Comments »

Para bloquear una ip a un virtualhost de apache se puede usar a nivel de virtualhost se usa la opción de configuración Deny, de la siguiente forma:

Order deny,all

Deny from <ip>

Enlaces de interes

http://httpd.apache.org/docs/2.2/howto/access.html#host

http://www.apache.org

Posted on Abril 25, 2008 in Debian, Software, Webs Recomendadas by OsroNo Comments »

Motivado por que mi banco que tiene su pagina web hecha en java me vi en la necesidad de instalar el plugin de java en mi sistema operativo, pero oh! sorpresa cuando descubro que no esta en los repositorios de Debian, ya que uso una distribución de 64 bits.

Buscando un poco por Internet encontré un articulo en la muy muy muy buena pagina de EsDebian.org

Procedimiento:

1. Descargar el plugin de ftp://ftp.gwdg.de/pub/languages/java/linux/JDK-1.4.2/amd64/03/

2. Descomprimir el fichero en /usr/java

3. Enlazar desde el directorio creado a /usr/lib/mozilla/plugins

4. Abril el navegador.

Ahora como yo soy hombre de consola aquí están todos los pasos

$ su -
Contraseña: <aqui la contraseña de root>
mkdir /usr/java
cd /usr/java
wget ftp://ftp.gwdg.de/pub/languages/java/linux/JDK-1.4.2/amd64/03/j2re-1.4.2-03-linux-amd64.bin
chmod +x j2re-1.4.2-03-linux-amd64.bin
./j2re-1.4.2-03-linux-amd64.bin
<Aquí debes leer la licencia y luego si la aceptas escribir>
yes
<Se creara el directorio j2re1.4.2> 
cd /usr/lib/mozilla/plugins/
ln -s /usr/java/j2re1.4.2/plugin/amd64/mozilla/libjavaplugin_oji.so

<Ahora abre el navegador y en la barra de direcciones escribe>

about:plugins

Revisa la pagina y comprueba que aparece el plugin de java

Ahora ya puedes visitar sitios web que usen java

Enlaces de interés.

http://www.amd64.com/

Posted on Abril 24, 2008 in Filosofo-ando, Frases by OsroNo Comments »

“Sin la muerte todo nacimiento seria una tragedia”

Visto y oido en un programa de TV2

Posted on Abril 20, 2008 in Software Libre, Webs Recomendadas by OsroNo Comments »

Hace unos dias navegando por la pagina personal de RMS encontre una fotografia de el en la que se ve su naturaleza mas pura.

Stallman en la Montaña

Podeis ver mas fotos de sus viajes en la pagina web oficial de RMS.

Posted on Abril 13, 2008 in Software, Software Libre, mi codigo by OsroNo Comments »

Enunciado

2.- El recibo de la electricidad se elabora de la siguiente forma:
- 100 € de gastos fijos.
- 50  €/Kw para los primeros 100 Kw.
- 35 €/Kw para los siguientes 150 Kw.
- 25 €/Kw para el resto.
Elabore un programa que lea de teclado los dos últimos valores del contador (es decir,
el valor que tenía el contador el mes pasado y el valor que tiene este mes), y calcule e
imprima en pantalla el importe total a pagar.

Código

// Incluir E/S y Librerías Standard
#include <iostream>

using namespace std;

// Zona de Declaración de Constantes

int gastos_fijos=100, v_tramo_1=50, v_tramo_2=35, v_tramo_3=25, limite_1=100, limite_2=250; // Parametros definidos para la factura
int total_tramo_1=(v_tramo_1*limite_1), total_tramo_2=(v_tramo_2*(limite_2-limite_1)); //Calculo los valores para tramos completos para no tener que calcular para cada cliente

// Zona de Declaración de Tipos

// Zona de Cabeceras de Procedimientos y Funciones

// Programa Principal

int main()
{
// Zona de Declaración de Variables del Programa principal

int lectura_anterior, lectura_actual, consumo, a_pagar;

// Codigo

cout << “Escriba las lecturas anterior y actual: “;
cin >> lectura_anterior >> lectura_actual;
consumo=lectura_actual-lectura_anterior;
if (consumo > limite_1 && consumo < limite_2)
{
a_pagar = (gastos_fijos + total_tramo_1 + (( consumo - limite_1) * v_tramo_2));

}
else if ( consumo > 250 )
{
a_pagar = (gastos_fijos + total_tramo_1 + total_tramo_2 + ((consumo - limite_2) * 25));
}
else
{
a_pagar = (gastos_fijos + (consumo * 50));
}
cout << “Lectura Anterior: ” << lectura_anterior << endl;
cout << “Lectura Actual: ” << lectura_actual << endl;
cout << “Consumo: ” << consumo << endl;
cout << “A Pagar: ” << a_pagar << endl;

return 0; // Valor de retorno al S.O.
}

// Implementación de Procedimientos y Funciones

 Notas

Podria mejorarce comprobando que la lectura actual sea mayor que la lectura anterior.

Posted on Abril 13, 2008 in Software, Software Libre, mi codigo by OsroNo Comments »

Teniendo en cuenta que después de muchos años no he podido aprender a programar en C++ y que estoy ahora nuevamente intentándolo estoy escribiendo programas muy simples y elementales, y a partir de ahora publicare el código que escriba en el blog.

En general intentare que el código funcione y que la publicación sirva para que cualquier persona pueda si quiere indicarme mejoras o errores que este cometiendo.

Siempre agradeceré cualquier comentario o sugerencia y espero vuestra benevolencia ante este pequeño saltamontes del c ++.

Y para ir al grano este es el primer problema.

Enunciado

Una empresa maneja códigos numéricos con las siguientes características:
- Cada código consta de cuatro dígitos:
- El primero representa a una provincia.
- El segundo el tipo de operación.
- Los dos últimos el número de la operación.
Escriba un programa que lea de teclado un número de cuatro dígitos, almacenándolo
en una variable de tipo int, y posteriormente imprima en pantalla la siguiente
información.
PROVINCIA                                           &
TIPO DE OPERACION                       &
NUMERO DE OPERACION          &&
En caso de que el número no tenga exactamente cuatro dígitos, en lugar del mensaje
anterior, habrá que imprimir en pantalla el siguiente mensaje de error:
ERROR: CODIGO INVALIDO.

Código

// Incluir E/S y Librerías Standard
#include <iostream>

using namespace std;

// Zona de Declaración de Constantes

int divisor=10, digitos=4;

// Zona de Declaración de Tipos

// Zona de Cabeceras de Procedimientos y Funciones

// Programa Principal

int main()
{
// Zona de Declaración de Variables del Programa principal

int codigo, contador, mod, dividendo, provincia, t_operacion, n_operacion, var_temp;

// Codigo

cout << “Escriba el código” << endl;
cin >> codigo;
dividendo=codigo;

for (contador=1;contador<=(digitos-1);contador++)
{
mod=(dividendo%divisor);
dividendo=(dividendo/divisor);
if ( contador == 1)  // Si es la primera division asigno el modulo a la variable temporal
{
var_temp = mod;
}
else if ( contador == 2) //Si es la segunda division sumo la variable temporal mas el produnto del modulo por 10 para optener los dos ultimos digitos
{
n_operacion = ((mod * 10) + var_temp);
}
else
{
t_operacion = mod;   // En este punto se asignan la provincia y el t_operacion
provincia = dividendo;
}

}
if (dividendo > 9 || dividendo == 0)
{
cout << “ERROR: CODIGO INVALIDO.” << endl;
}
else
{
cout << “Provincia: ” << provincia << endl;
cout << “Tipo de operacion: ” << t_operacion << endl;
cout << “Numero de operacion: ” << n_operacion << endl;
}

return 0; // Valor de retorno al S.O.
}

// Implementación de Procedimientos y Funciones

Posted on Abril 6, 2008 in Notas rapidas, Software by OsroNo Comments »

GDB es un depurador de C y C++ de GNU

Algo sobre este depurador

Ejecutarlo gdb programa

Ejecutar el programa dentro del depurador run

Añadir un breakpoint break linea

Ver el valor de una variable print variable

Asignar un nuevo valor a una variable set variable=valor

Enlaces de interes:

http://es.wikipedia.org/wiki/GNU_Debugger

http://es.wikipedia.org/wiki/Lenguaje_de_programaci%C3%B3n_C

http://es.wikipedia.org/wiki/C%2B%2B

http://arco.inf-cr.uclm.es/~david.villa/doc/repo/gdb/gdb.html

Posted on Abril 3, 2008 in Dia a dia, Internet by OsroNo Comments »

Pues eso ,, que hoy me en encontrado en mi bandeja de entrada al rededor de 200 mensajes de correo de Mail Delivery System o de Postmaster donde me dicen que el correo que he enviado ha sido rechazado por diversos motivos. La mayor parte de los mensajes que “he enviado” estan escritos en ruso y bueno yo de ruso poco poco.

Analizando un poquillo mas las cabeceras de los mensajes me encuentro con esto

Received: from host86-150-226-19.range86-150.btcentralplus.com
(host86-150-226-19.range86-150.btcentralplus.com [86.150.226.19]) by
smtp2.encoursdetest.com (Postfix) with ESMTP id 20A971DD37A for
; Thu, 3 Apr 2008 00:44:16 +0200 (MEST)
Message-ID: <000501c89513$0474fde5$4cf4f691@wjubkxuk>
From: “Levirta Viagar” <aqui mi correo>
To: <aqui el correo del podre desgraciado destinatario >
Subject: deserteagleheadshotnn’s discount.You will save Your 90%.
Date: Wed, 02 Apr 2008 20:56:32 +0000
MIME-Version: 1.0
Content-Type: multipart/alternative; boundary=”—-=_NextPart_000_0002_01C89513.04702F21″
X-Priority: 3
X-MSMail-Priority: Normal
X-Mailer: Microsoft Outlook Express 6.00.2900.3138
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.3198


Evidentemente hay una suplantación de identidad ya que yo no he enviado ninguno de esos mensajes.

Los host desde donde se envia el mensaje son variados he encontrados algunos que pertenecen a la red de una empresa de telecomunicaciones rusa Corbina y otros a redes como bt , algunos mensajes promocionan potenciadores azules otros son de pobres hurfanos de dictadores de paises que no estan registrados en la ONU la mayoria en ruso como ya lo dije , pero todos tienen como X-Mailer Outlook Express 6.0 auque seguramente esto tambien esta alterado.

Creo yo que es un tipico ataque de spam enviado desde multiples ordenadores zombis esparcidos por todo el mundo.

Espero que esto no tenga consecuencias sobre mi comunicaciones en el futuro, y aunque no es culpa mia y no tengo por que hacerlo , pido disculpas publicamente a todo aquel que le halla llegado un mensaje de este estilo.