jueves, julio 28, 2011

Numeros de Markov

Hola amig@s,
Si os gustan los números de Fibonacci esto lo tenéis que ver.

Los números de Markov son más complicados y la verdad, no he encontrado más que una referencia en inglés en la red (sin el algoritmo además), así que esta entrada puede ser útil para alguien.

Los números se obtienen a partir de la ecuación de Markov:

x^2 + y^2 + z^2 = 3 x y z

Queremos hacer un programa que muestre los trios de números naturales que cumplen la ecuación.

La forma de obtenerlos que he leído en el libro dónde he sabido de los números de Markov está mal enunciada, y ha sido en la wikipedia inglesa dónde he encontrado estas pistas:

1.-Empezamos por el trío (1, 1, 1) que son números de Markov.
2.-Si (x, y, z) es un trío que satisface la ecuación, entonces (x, y, 3xy-z) también lo cumple.

Hay complicaciones adicionales cuando queremos trasladar esto a un lenguaje de programación:

1.-Cuando aplicas dos veces a un trío la equivalencia (x, y, 3xy-z), vuelves atrás ya que en el tercer elemento ocurre que... 3xy-(3xy-z)=z,... o sea que la cosa vuelve a (x, y, z).

2.-En principio en el trío no hay un orden establecido. (x, y, z) = (y, x, z) = (z, x, y)...
Pero si queremos visualizar cómo evolucionan los números, conviene ordenar de alguna forma el trío en el algoritmo.

3.-El árbol binario (no es exactamente un árbol binario, pero casi) que encontramos en wikipedia nos ayuda a comprobar si los resultados están bien:


El programa que utiliza una función recursiva sería este:


#include <iostream>
#include <string>
#include <sstream>
using namespace std;

int cambiar(int *a, int *b)
{
int comodin=*b;
*b=*a;
*a=comodin;
}

int recursiva(int num, int x, int y, int z)
{
int a;
num--;
if (num!=0){
if(x>y) cambiar(&x,&y);
if(y>z) cambiar(&y,&z);
if(x>y) cambiar(&x,&y);
cout<<x<<" "<<y<<" "<<z<<"\n";
recursiva(num,x,z,(3*x*z)-y);
recursiva(num,y,z,(3*y*z)-x);
}
}

int main()
{
int x=1,y=1,z=1;
int x1=1,y1=1,z1=1;
int numeros;
string entrada="";
cout<<"\n\nNumeros de Markov:\n";
cout<<"------------------\n";
cout<<"Cuantas niveles quieres? ";
getline(cin,entrada);
stringstream myStream(entrada);
if (myStream >> numeros)
recursiva(numeros,x,y,z);
}



Y el resultado:

lunes, julio 18, 2011

Euskal Encounter 2011

Y este fin de semana es la Euskal Encounter en el BEC de Barakaldo.

Sorprende el gran número de actividades de todo tipo, desde competiciones software, hardware a otras colaterales como la carrera de sacos.

He encontrado este sitio dónde aparte de aclararte todas las dudas sobre demos, intros y demás, también te indica los sitios más importantes relacionados con el mundillo de la demoscene: http://tomaes.32x.de/text/faq.php

Saludos.

domingo, julio 17, 2011

Esperando las fotos

El jueves estuve en el tour subiendo puertos (tourmalet y Luz Ardiden), sufriendo y disfrutando, difícil de explicar... pero aaah! siempre me pasa lo mismo, como saques las fotos con la cámara de otro, adiós muy buenas, habrá que esperar un par de días más.

Aprovecho para poner este texto que he leído de Lutero (1483-1546), tan actual en pleno siglo XXI:

Ellos tienen bajo su vigilancia todos los bienes y practican sin disimulo todos los engaños que han sido mencionados; suben y bajan los precios según su gusto, y oprimen y arruinan a todos los pequeños comerciantes, al modo como el lucio come los pececillos, justamente como si fueran señores de las criaturas de Dios y no tuvieran obligación de prestar obediencia a todas las leyes de la fe y el amor.

Iba dedicado a los ricos monopolistas que controlaban a su antojo la oferta y la demanda controlando los precios a placer y sometiendo a los comerciantes.

Hoy en día ocurre lo mismo en los mercados de valores, de futuros, de deuda pública, etc. etc. El gran capital se encuentra cada vez más concentrado y sus propietarios juegan con las cartas marcadas.

Saludos.

pd: texto recogido del libro "El miedo a la libertad", página 77 (colección Paidós contextos) de Erich Fromm.

miércoles, julio 13, 2011

Error ORA-00059. Maximum number of DB_FILES exceeded

Este error es un engorro porque no queda más remedio que parar la base de datos si queremos ampliar el parámetro DB_FILES (al menos en Oracle10g).

El error suele salir cuando creamos un datafile nuevo y hemos llegado al límite establecido.

Podemos ver a cuánto está establecido iniciando sesión "as sysdba" en sqlplus y...

SQL>show parameter db_files;

Intentamos la modificación tanto en el spfile como en memoria:

SQL>alter system set db_files=250 scope=both;

Nos dará el siguiente error: ORA-02095: specified initialization parameter cannot be modified.

Entonces lo que nos queda es hacer el cambio sólo en el spfile y que se tenga en cuenta en el siguiente reinicio de Oracle:

SQL>alter system set db_files=250 scope=spfile;

Saludos.

sábado, julio 09, 2011

La SGAE, diseño de la corrupción


¿Por qué sólo hay una Sociedad General de Autores? ¿Por qué un Autor no puede reclamar su parte de la tarta de forma individual?

Si hubiera varias Sociedades, o incluso Autores independientes, ellos no podrían recaudar directamente el impuesto. El Estado tendría que recaudar y asignar a cada uno según criterios objetivos.

Desde luego, a los que están viviendo a cuerpo de rey a cuenta de la SGAE no les interesa cambiar nada. Recordad que de los 96.000 socios de la SGAE unos 8.000 pueden votar. Además una persona no significa un voto. Siendo así las cosas, es normal que una élite se haya hecho con el poder perpetuo y controlen a su antojo toda la pasta.

Sí, esto parece "Coge la pasta y corre", pero sin necesidad de correr para nada.

¿Por qué ha ocurrido esto?

No hay que ser un lumbreras de la condición humana y las estructuras podridas. Si dejas que una entidad privada recaude lo que lé de la gana (sí, digo lo que le dé la gana porque recaudan a peluquerías, conciertos benéficos, teatro popular, residencias de ancianos, nuestros portátiles, nuestros cd-s, nuestros USBs, y todo lo que se ponga a tiro)... decía que si dejas a alguien coger el dinero que le dé la gana, y tiene permitido contratar por servicios a quien le dé la gana, se realicen los servicios o no, no tardará mucho en darse cuenta de que tiene la gallina de los huevos de oro.

¿Alguien ha avisado antes?

Sí, es un clamor de la Sociedad, lo que ocurre es que los políticos no han querido atender el mensaje.

El diario Público denuncio el tema en el año 2007 (ver imagen de arriba). Han tendido que pasar más de tres años para que se produzcan las detenciones.

Dentro de Estado hay organismos como la Comisión Nacional de la Competencia (CNC) que estaban hasta el gorro de poner sanciones a la SGAE. Aquí unos ejemplos.

Eran tan indecentes que por ejemplo tenían dobles tarifas según uno fuera o no socio. Aquí viene una multa de la Audiencia Nacional de 125.000 euros a la SGAE por cobrar abusivamente a un productor fonográfico por no ser socio de AFYVE. Acusaron a la SGAE por abuso de posición dominante.

Al final tuvieron que hacer un informe recomendando:
1.-Cambiar la Ley de propiedad intelectual.
2.-Eliminar la obligatoriedad de la gestión colectiva (o sea, que los autores no estén obligados a ser socios de entidades como la SGAE).
3.-Quitar el requerimiento de autorización administrativa para las posibles entidades de gestión.
y más y más...

Ha llegado un momento en el que el Gobierno no puede escurrir el bulto... para empezar por la Sentencia del Tribunal Europeo que confirmó que el canon es un abuso y no cumple la directiva europea. La sentencia viene a decir que el canon se puede aplicar a los particulares, pero no a las empresas y las Administraciones.

Después de esa dura sentencia la Audiencia Nacional ha tenido que anular el canon digital tal y como estaba planteado.


¿Por qué el Gobierno no ha hecho nada?

1.-Socios de la SGAE en altos puestos de la Administración del Estado (No olvidar a la Guionista - Ministra Sinde).

2.-Y yo que sé que otros intereses hay detrás.

Saludos.

viernes, julio 08, 2011

Búsqueda avanzada en Google

¿Sabes que puedes utilizar el buscador como calculadora?
¿Puedes hacer mejores búsquedas?

En este sitio te resumen las palabras claves, operadores lógicos y demás opciones de Google:

http://www.googleguide.com/advanced_operators_reference.html
http://www.googleguide.com/advanced_operators.html
http://www.googleguide.com/favorite_power.html
http://www.googleguide.com/using_advanced_operators.html#combine_operators

Saludos.

miércoles, julio 06, 2011

Información hardware de servidores ESX

Hola,


A veces la consola GUI del VCENTER no te da información suficiente.


Podemos iniciar una sesión ssh sobre uno de los ESX para interrogar sobre su hardware.



Tenemos disponibles los siguientes comandos:



esxcfg-hwiscsi
esxcfg-info
esxcfg-advcfg
esxcfg-dumppart
esxcfg-ipsec
esxcfg-pciid
esxcfg-module

esxcfg-nics
esxcfg-nas
esxcfg-resgrp
esxcfg-rescan
esxcfg-mpath
esxcfg-route
esxcfg-init
esxcfg-volume
esxcfg-swiscsi
esxcfg-scsidevs
esxcfg-vmknic
esxcfg-vswitch
esxcfg-secpolicy


El más útil el esxcfg-info que nos proporciona toneladas de información que habrá que redireccionar a un fichero plano y mover por sftp.


Saludos.

martes, julio 05, 2011

¿Qué es esto?!!!

Una aplicación encargada a Telefónica por doscientos cuarenta mil euros de dinero público, tirados a la basura!!!

La noticia: http://www.elconfidencial.com/espana/2011/policia-ministerio-del-interior-telefonica-20110705-80985.html

Parece ser que había Agentes que no pudieron votar y otros que votaron dos veces.

¿Por qué los proyectos de desarrollo informático acaban mal tantas veces en comparación con proyectos de ingeniería?

Lo comenté en noviembre de 2008: Según el Presman la autopsia indicará una débil gestión del proyecto.

Saludos.