Oferta de empleo

Apesta2 S.A. se lanza al mercado comercial y necesita urgentemente incorporar a su plantilla jóvenes talentos.
Ofrece un puesto de alta responsabilidad que garantizará el desarrollo profesional.

Puesto: Programador con experiencia en el desarrollo de aplicaciones web J2EE.

Requisitos:
- Deseable persona desocupada y con más de dos años de experiencia como analista orgánico o superior.

Coste:
Por sólo 300 €/mes.
La persona interesada, hará entrega de un sobre negro de 20x15 con 6 billetes de 50€ el último día laborable de cada mes en concepto de formación.




Obviamente es broma.. y sí.. "rierse rierse"... pero si no hemos llegado a esto -que estoy seguro que sí en algunos sectores- falta muy poco. Pagaremos por trabajar, a cambio de... ¿experiencia (que ya tenemos)...?

Revienta tu coche con una sencilla maniobra

Hola niños.

Sois muchos los que ponéis cara de murciélago asustado cuando os hablo del punta-tacón, sin saber de qué os hablo.

En esta entrada teórico impráctica, aprenderéis lo que es y seguro que os motivará a destrozar vuestra caja de cambios y puede que vuestras vidas. Es inevitablemente tentador.

Dicho en plata, un punta-tacón, consiste en frenar con la punta izquierda del pie mientras con el tacón (o el lado derecho del pie, más bien), pisamos el acelerador, con el objeto de reducir una marcha y que entre bien puesta de revoluciones. Suele llegar asociado pisar dos veces el embrague, una para obtener el freno de motor y otra para meter la nueva marcha, a eso lo llamamos doble embrague.

¿Para qué coño sirve? Básicamente, para coger curvas como Alonso y sus amigos... Se consigue frenar más fuerte que con la simple reducción de marcha (seguimos frenando aún con punto muerto una vez gastado el 'freno-motor') y salir a todo trapo de una curva (la marcha nueva entra con las revoluciones altas).

Por Internet tendrás más sesiones formativas si la necesitas, que dará igual..
El problema vendrá cuando lo intentes, que lo intentarás... seguramente habrás bebido algo, te cogerá subidito y harás algo raro.
Piensa en la seguridad de los demás y procura hacerlo con todos los niñatos de tu barrio dentro del coche.


Será casi inevitable que el coche se lleve una bonita 'rascada' al meter la marcha.. dado que como no es una maniobra muy común, la liarás parda al tener que pisar los tres pedales casi a la vez... pero será lo de menos.
Por supuesto, no frenarás lo suficiente, y la curva se te quedara muy pequeña... ahí empezarás a ver objetos subiendo por el capó de tu coche. Agradecerías haberte puesto el cinturón.

Aún así, inténtalo, total, si te cargas el coche... ¿será por dinero?



Malber lo hizo, y sigue vivo y escribiendo... ahora tú también puedes llevarte un gran susto cuando quieras.

Aquí tienes un vídeo ilustrativo de la maniobra:



Código de la transformada de Hough en Matlab

Como el C parece que le da alergia a mucha gente, hacemos caso de las plegarias de muchos y ponemos la transformada de Hough en Matlab que es como 2000 veces más ineficiente que en C.

He modificado un programa de reconocimiento de colores escrito por un antiguo compañero, probablemente no funcionen todos los colores, ni lo he probado, pero solo nos interesa en este caso la transformada propiamente.


Para calcular la transformada vamos a usar una imagen simple de colores, vamos a binarizar un color, extraer los bordes y obtener la transformada de Hough.

La transformada se obtiene por democracia, es decir, cada vez que un punto es detectado, se vota a todas las rectas que pasan por ese punto, de manera que las más votadas al final serán las rectas presentes en la imagen, si no hay diferencia de votos apreciable se trata de un círculo u elipsoide.

A partir de la matriz de Hough podéis localizar los máximos y construir las rectas o círculos de la imagen sabiendo su angulo y módulo en coordenadas polares, lo que hagais con la matriz es cosa vuestra.

Vamos con el Código:

function umbracolor(color)
[X1,map1]=imread('foto.bmp','bmp');
[f c dim]=size(X1);
Xd=double(X1);
Xn=zeros(f,c);
ras=uint32(2*sqrt(c*c+f*f));
hough=zeros(181*ras,1);
X2=zeros(181,ras+1);
X3=zeros(f,c);
X4=zeros(f,c,3);
H = fspecial('average');
X4 = imfilter(Xd,H);
Xd=X4;
if color=='rojo'
    for i=1:f
    for j=1:c
        if (Xd(i,j,1)>=200)&&(Xd(i,j,2)<=100)&&(Xd(i,j,3)<=100)
            Xn(i,j,1)=255;
        else
            Xn(i,j,1)=0;
        end
    end
    end
end
if color=='verd'
    for i=1:f
    for j=1:c
        if (Xd(i,j,1)<=70)&&(Xd(i,j,2)>=200)&&(Xd(i,j,3)<=150)
            Xn(i,j,1)=255;
        else
            Xn(i,j,1)=0;
        end
    end
    end
end
if color=='azul'
    for i=1:f
    for j=1:c
        if (Xd(i,j,1)<=70)&&(Xd(i,j,2)<=140)&&(Xd(i,j,3)>=159)
            Xn(i,j,1)=255;
        else
            Xn(i,j,1)=0;
        end
    end
    end
end
if color=='negr'
    for i=1:f
    for j=1:c
        if (Xd(i,j,1)<=50)&&(Xd(i,j,2)<=50)&&(Xd(i,j,3)<=50)
            Xn(i,j,1)=255;
        else
            Xn(i,j,1)=0;
        end
    end
    end
end
if color=='amar'
    for i=1:f
    for j=1:c
        if (Xd(i,j,1)>=180)&&(Xd(i,j,2)>=180)&&(Xd(i,j,3)<=80)
            Xn(i,j,1)=255;
        else
            Xn(i,j,1)=0;
        end
    end
    end
end
if color=='cyan'
    for i=1:f
    for j=1:c
        if (Xd(i,j,1)<=100)&&(Xd(i,j,2)>=140)&&(Xd(i,j,3)>=170)
            Xn(i,j,1)=255;
        else
            Xn(i,j,1)=0;
        end
    end
    end
end
if color=='mage'
    for i=1:f
    for j=1:c
        if (Xd(i,j,1)>=180)&&(Xd(i,j,2)<=120)&&(Xd(i,j,3)>=180)
            Xn(i,j,1)=255;
        else
            Xn(i,j,1)=0;
        end
    end
    end
end
if color=='blan'
    for i=1:f
    for j=1:c
        if (Xd(i,j,1)>=230)&&(Xd(i,j,2)>=230)&&(Xd(i,j,3)>=230)
            Xn(i,j,1)=255;
        else
            Xn(i,j,1)=0;
        end
    end
    end
end
X=uint8(Xn);
imwrite(X,'umbral.bmp','bmp');

X3=edge(Xn,'sobel');

%Aqui comienza Hough
for i=1:c
for j=1:f
gra=X3(j,i,1);
if ((gra>0)) %Si el punto existe votamos todas las rectas que pasan por el
for p=1:180 %p es el angulo de 1 a 180, que en realidad es 0 a 179

ro= ((i-1)*cos((pi/180)*(p-1))+(j-1)*sin((pi/180)*(p-1)));% calculamos el módulo del punto en polares
ro=ro+ras/2;
if (ro<0), ro=0;
else if (ro>=ras), ro=ras;
    end
end
ro=uint32(ro);

hough((p)+(ro*180)) = (hough((p)+(ro*180)))+1; %efectuamos el voto
end
end
end
end
% recordemos que las coordenadas en ángulo con respecto al borde superior són: p-90 si p>90


% y 90+p si p<90

X=uint8(X3);
imwrite(X3,'umbralborde.bmp','bmp');

for ro=1:ras

for p=1:180

X2(p,ro)=hough((p)+(ro*180));
end
end
mesh (X2);
figure;
imshow(Xd)
figure;
imshow(X,map1)


Bien, al principio hacemos  umbracolor 'negr' y aplica un filtro de media, binariza el color negro, utiliza una detección de bordes sobel.

Podía haber hecho el filtro de media y el sobel a mano, pero uso el de Matlab por comodidad y por que en este caso solo nos ocupa Hough y no su colega Sobel.

Podía haber metido la imagen en los argumentos de la función, acordaos de cambiarlo en el código para poner la imagen de entrada.

Bueno, si teneis alguna duda comentad, a continuación algunos resultados:

 Imagen de entrada
 Binarización del color negro

Detección de bordes Sobel
Representación de la matriz de Hough

Se observan los cuatro máximos correspondientes a las cuatro rectas que pasan por los cuatro lados del cuadrado negro.

Representación de la matriz de Hough de un elipsoide, se observa que los votos son más o menos homogeneos y no hay máximos destacados como en el caso de un cuadrado o rectángulo.
Por último sería necesario separar los objetos o si no la matriz de hough será un poco caótica si hay demasiados objetos en la imagen.

La sociedad del honor

Día 29S de 2010... día de huelga para algunos y de esquiroles para otros.

No estamos aquí para escribir acerca del derecho de algunos a que le bajen el sueldo o trabajar hasta los 67. De hecho, a colación con las opiniones, voy a comentaros una de estas anécdotas que se graban y os gustará recordar, porque son bonitas y harían del mundo un lugar mejor en el que vomitar cada mañana.

El de la foto de la izquierda es Niquita Nipone. Tal vez no se llame así, pero eso no nos importa. Lo interesante de este señor es la cultura en su país de procedencia.
En especial, quedé perplejo cuando me explicaron una de sus reglas no escritas que choca frontalmente con nuestras costumbres cotidianas. Es impensable que algo así pudiera llegar a suceder en nuestro país de listillos y todo tipo expertos sin título en cualquier cosa.

Y es tan simple como que, dar un consejo sin que te lo pidan, se considera toda una falta de respeto. Qué día de nuestras vidas no recibimos 7.015 consejos camuflados de opiniones personales... "Yo que tú... etc... etc...", "¿Y por qué no haces esto así y tal...?"

¿Y por qué es una falta de respeto? Pues es obvio. Si Nikita no te ha pedido tu opinión, posíblemente sea porque ya tiene la suya propia y no tiene por qué ser peor que la tuya. Como adulto, siente que es capaz de hacer las cosas por sí mismo sin que nadie le diga lo que tiene que hacer.

Así que, aunque no me lo habéis pedido, ya sabéis lo que opino de todos los que me aconsejaron ir o no ir a la huelga.

Si eres más inteligente que una ameba, decide tú y no dejes que te aconsejen. (Incluido este consejo)

Felices huelgas.

Script para leer feeds RSS en Python pensado para su uso en conky

El otro día andaba yo pensando, pero tampoco mucho, en añadir un feed de la página de la ESI a mi conky para así poder ver las actualizaciones y observar si aparece algo interesante de beca o proyecto.

Heme yo en tales menesteres cuando descubro que sí, los añade, pero me arruinan el formato del conky y lo deforman hasta límites grotescos, perdiendo todo su propósito de ser un bonito a la vez que útil y ligero monitor de sistema.

Luego todos sabemos lo que hay que hacer, si no te gusta algo hazlo tú mismo y como no hay nada mejor que utilizar algo que ya está hecho y modificarlo hasta que se adapte a tus necesidades, pues usé un script que tenía para el gmail y que básicamente leía un feed atom, así que tras unos pequeños cambios y un poco de odio a las putas codificaciones de caracteres ésto fué lo que ocurrio.

#!/usr/bin/env python
# -*- coding: UTF-8 -*-
# esto nos permite usar caracteres como tildes y eñes en el código y en los comentarios

# Modificacion del gmail_parser de 2008 Hunter Loftis para la lectura de feeds RSS

# RSS_parser v 1.1

# Por Alfredo Mantilla

# Time-stamp: Mon Sep 22, 2010 20:40 GMT+1

# This program is free software; you can redistribute it and/or modify

# it under the terms of the GNU General Public License version 2 as

# published by the Free Software Foundation.

# ======================================================================

import sys

import urllib # For BasicHTTPAuthentication

import feedparser # For parsing the feed

from textwrap import wrap


_URL = sys.argv[1] #direccion del feed

maxlen = sys.argv[2] #número máximo de feeds a mostrar

titulorss = sys.argv[3] #título a mostrar encima de los feeds p. ej. nombre del blog al que
pertenecen


maxformatlen = 50 #maxima longitud a mostrar del título


def auth():

'''The method to do HTTPBasicAuthentication'''

opener = urllib.FancyURLopener()

f = opener.open(_URL)

feed = f.read()

return feed


def readrss(feed, maxlen):

'''Parse the feed and print a summary'''

rss = feedparser.parse(feed)

print '${color1} %s\n' %titulorss

for i in range(min(len(rss.entries), maxlen)):

title = rss.entries[i].title.encode('utf-8') #lo pasamos a utf-8 para que muestre
correctamente tildes, eñes y demás


if len(title) > maxformatlen:

print ' ${color2}%s...' % title[:maxformatlen] # para que no se deforme conky solo muestra 50 caracteres del título y añade ...

else:

print ' ${color2}%s' % title #el título del feed

#description = rss.entries[i].description.encode('utf-8') #para imprimir el contenido de los feeds en mi caso es código html que habría que interpretar, para la version 2.0 quizás, tb habria que usar el maxformatlen aquí

#print ' ${color2}%s' % description

if len(rss.entries) > maxlen:

print ' ${color3}más...'#el más este es un poco absurdo, algún día haré algo con el

if __name__ == "__main__":

f = auth() # Do auth and then get the feed

readrss(f, int(maxlen)) # Let the feed be chewed by feedparser

El modo de uso es python /rutaquetesalgadetufuerointerno/nombrequetedelaganaponerle.py rutadelfeed númerodefeeds títuloquequieresquepongaencimadelosfeeds.

Recordad que está hecho pensando en conky y que por tanto para eso estan los ${color}, así mismo habreis de llamarlo con execpi 3600 por ejemplo, para que se ejecute cada intervalo y parsee la salida (para que los ${color} los interprete el conky).

En mi caso:
{execpi 3600 python /home/frodus/scripts/RSS_parser.py http://www.esi.us.es/latest/rss.xml 5 'Noticias ESI'}


Por último y no menos importante tendreis que aumentar el buffer de texto por defecto del conky, añadid a vuestro .conkyrc la siguiente línea:

text_buffer_size 1024

El 1024 es orientativo, no te lo tomes al pie de la letra, puede que necesites más o menos.

Puede que haya otra versión algún día, tengo pensado añadirle algo más, pero de momento eso es todo amigos.

Actualizado:Corregido el uso de maxformatlen en el código, en la versión anterior no se usaba.

Cómo saber si tu novio te pone los cuernos

Esto es un manual práctico e infalible para novias que desean conocer si su novio se la está pegando con otra o con otro -aspecto que no se revelará en este procedimiento-.

En primer lugar, debe fijarse si su novio le hace el amor sin preservativo.

Si esto es así, comprobaremos asíduamente su cartera y lugares de interés, como cajonera de la mesita de noche y otros rincones propicios para el almacenaje de artículos.

Si hay preservativos, tenemos un indicio de que ahí puede haber algo raro.

Por supuesto, podrá argumentar que están ahí por si algún día os hacen falta, entonces, en lugar de preguntar, usted tendrá que recurrir a la misma técnica del siguiente punto.

Si lo hacén con preservativo, entonces se trata de llevar a cabo lo que Arquímedes o uno de sus allegados egipcios denominó como 'operación de resta'.

Esta compleja operación matemática consiste en contar cuantos preservativos había antes y cuantos después de hacer el amor. O simplificadamente, contar cuantos desaparecen, si no acostumbran a utilizarlos.

Por supuesto tendrá que husmear todos los sitios calientes susceptibles de almacenar preservativos. Tenga en cuenta que el hombre, ese vago animal, no suele calentarse mucho la cabeza para esconder las cosas, así que estarán donde todo lo demás. Es decir, donde las pulseritas y cosas de psudovalor que nunca usa pero nunca conseguirá que regale o tire a la basura.
Allá donde nos gusta denominar, nuestro pequeño Diógenes.

La siguiente cuenta no puede fallar y ahora comentaremos por qué en cada caso:

Preservativos antes = Preservativos después + Nº Polvos

o lo que es lo mismo:

NºPolvos (Np) = Preservativos antes (Pa) - preservativos después (Pd).

Si esta cuenta no sale, no hay que alarmarse (de momento), porque puede ser por diversos motivos:
Lectura 1) Por número de polvos:
1. El número de polvos es menor que la comparativa Pa - Pd
No podemos negar que existe la posibilidad de que se la pegue. No lo condene hasta haberse cerciorado que a su novio no guste de jugar a los globos de agua con condones con sus amigos.
Si fuese el caso, ese problema no se analiza én este artículo.

2. El número de polvos es mayor que la comparativa Pa - Pd
Posiblimente sea usted un putón verbenero y sólo deba contar los que echa con tu novio.
Si cree que esto no es así en absoluto, lea los siguientes puntos, porque puede que solucione sus dudas al respecto.

Lectura 2) Por el número de preservativos después
Si el número de preservativos después, es mayor que antes, hay un indicio para sospechar.
Su chico, tan precavido como caliente, ha comprado por anticipado. Es lo que le dirá si le pregunta. Sin embargo, observe lo siguiente:
¿La nueva caja también está abierta?: Si es así, con esto debería bastar para convencer al juez y ganar la custodia hasta de las mascotas sin necesidad de más pruebas.
Si lo necesita, un abogado se encargará de explicarle por qué. Nuestro trabajo termina aquí.

Esperamos que este artículo le haya resultado de interés.
Un cordial salido.

La ventaja de ser feo

El otro día, puede que el otro mes, mientras charlaba con gusto entre cervezas con un alcóholico con nombre y apellidos, tuve el privilegio de que me desvelase una especie de dogma, puesto que reune todas las caracterísitcas de un misterio episcopalial: Es difícil de creer y no existen pruebas físicas, sino unos sospechosos testigos que juran y perjuran que todo sucedió tal como lo vamos a contar.


Este señor, tiene un amigo que se autodenomina feo. Sin embargo, no por ello parece tener mermadas sus capacidades para convencer doncellas para encaminarlas a sus pecaminosos asuntos.

El secreto según él, es que a parte de tener una buena conversación, espontaneidad y simpatía, (que se pueden lograr por medio de ejercicios, salidas nocturnas, alcohol, o todo a la vez), es feo.

No decimos feo de libro, sino más bien, no atractivo a primera vista.


¿Y por qué lo toma como algo positivo? Debemos tener siempre presente que este hombre no necesriamente se acerca a la que más pinta de guarrilla tenga -donde la teoría fallaría a todas luces-, sino a la que en un momento propicio le seduce. Esta chica, por ende, puede no ser lo que vulgarmente se denomina ligera de cascos, sino más bien todo lo contrario, lo que se llamaría tradicional.

Es ahí donde la teoría alcanza su verdadero sentido y máxima efectividad.


Él defiende que, ante dos individuos de habilidades conversativas similares, una chica que no ha salido a matar, preferirá irse con el que 'no es guapo', porque pensará que el guapo es un guarro que se las tira a todas y por tanto, no podrá evitar pensar que para él, ella se trata de un juguete más que se le ha antojado esa noche.

Sin embargo, el más feucho no puede ser tan guarro, porque al pobre, seguro que sólo le ha gustado ella y como parece bueno, seguro que lo es.

Craso error. :)

El acuse de recibo

La mayoría coincide en definir como acuse de recibo,(En Inglés; Acknowledgment of receipt), el documento, mecanismo, sello o firma que acredita la recepción de mercancía o documento aduanero. Wikipedia

Por tanto, es correctísimo definir como acuse de recibo, el agua fría -en ocasiones ya orinada- que te salpica en el culo al soltar un muñequito.

A partir de ahora, resultará mucho más elegante por su parte comunicar a sus invitados en sus reuniones sociales: "He ido al baño y he obtenido un acuse de recibo", en lugar de la chavacanería de "Ma saltao agua en er culo".

Disfrútenlo, compártanlo con sus amistades y sobre todo, no olviden preguntarlo cuando vean a alguien salir del baño.

Si los reyes no vienen este año...

Si los reyes no vienen este año en Sevilla, sepa usted que no se debe a que haya sido malo. Posiblemente se deba a una de las siguientes causas:


- Han quedado atrapados por una huelga de taxistas.
- Los camellos han muerto ahogados en un charco de una calle sin alcantarillas.
- Han sido atropellados por el tranvía.
- Uno de los camellos se ha roto una pata al tropezar con un badén no señalizado.
- Están tratando de averiguar cómo llegar a su casa con el nuevo sentido de las calles.
- Han sido atropellados por un ciclista.
- Están dándole a la bocina en un atasco rutinario en el quinto centenario.
- Venían por la A-49, pero un accidente provocará que no lleguen hasta el día 8.
- Han sacado a Santa Lúpula en procesión y las principales avenidas están cortadas.

O puede que símplemente, no encuentren aparcamiento.

Teoría de la segunda oportunidad

Esta teoría defiende que, de forma consciente o inconsciente, a todos se nos perdona la vida una y sólo una vez.

A lo largo de su existencia recordará varios momentos en los estuvo cerca de irse al otro barrio, sin embargo, hay uno en el que de verdad anduvo muy cerca y la suerte le acompañó para que pudiera decir: "he vuelto a nacer".

Como me toca a mí escribiros, os contaré cómo conocí a mi ángel de la guarda.

Era de noche y regresaba en moto a mi casa. Circulaba por una calle larga, donde había un único semáforo al final. La calle desembocaba en a una gran avenida de forma perpendicular.

Me encontraba a unos quinientos metros del final de la calle cunado el semáforo se puso verde, por lo que aún tardaría bastantes segundos en llegar a él y no era necesario que frenase más que lo necesario para tomar la curva al final de la calle.

Sin embargo, justo al llegar a la altura de aquel semáforo ya en verde desde hacía rato y extrañamente parado, había un hombre en una vespa blanca casi sobre la acera, que miraba hacia atrás, o sea hacia mí y que agitaba sus brazos haciéndome gestos para que frenase.

Al verlo, comencé a frenar sin saber qué sucedía, aunque ya no me daba tiempo de parar en el semáforo y lo sobrepasé.
Al asomar a la avenida, vi cómo un coche venía a toda velocidad saltándose su semáforo y en trayectoria de colisión. Apreté los frenos con todas mis fuerzas para detener la moto.

Aquel coche me pasó a más de cien por hora a escasos centímetros de la rueda delantera de mi moto. De haberme cazado, difícilmente no me habría matado.

Quedé en estado de shock, durante unos segundos hasta asimilar lo que cerca que me había pasado aquel asesino y me di cuenta que, de haber frenado décimas de segundo más tarde, me habría mandado a paseo. Fue entonces cuando comprendí que aquel señor en la vespa me había salvado la vida al avisarme antes que yo pudiera ver nada.
Al girar la cabeza, que como os he dicho, no fue de inmediato, él ya no estaba allí. Supongo que continuaría su marcha en otra dirección, pero a todos los efectos, fue mi ángel de la guarda.

Como hoy es 1 de Enero de 2010, acabaremos con una moraleja positivista…
Ya que tienes una segunda oportunidad, haz que tu vida sirva para algo.

Teoría de la alianza femenina


Como ya os amenacé no hace mucho, voy con otra de esas teorías que tanto os gustan.
La que nos ocupa hoy es universal y todo el mundo la conoce, pero por si acaso, la dejamos por escrito.

Como se acaba el año 2009 y no sabemos si sobreviviremos otro año, es mejor crear la mayor polémica cuanto antes y en esto de los sexos se consiguen buenas trifulcas.

La teoría de la alianza femenina dice que, cualquier mujer socialmente aceptada*, en primera instancia, defiende a cualquier otra mujer, incluso si no la conoce, de una acusación de ‘fea’ promulgada por un hombre. Esto es así, desde que se inventó el lenguaje.
Posteriormente, si la evidencia es incuestionable, irá aceptando poco a poco los hechos suavizándolos en la medida de lo posible en lo que denominaremos, sucesión de ataques y defensas hasta el deterioro de la alianza.

Dicho así, puede sonar complejo, pero es muy sencillo y lo bonito de nuestras teorías, es que las puedes comprobar empíricamente y no sólo eso, sino que te enseñamos un diálogo de ejemplo para que cualquier simio amaestrado pueda reproducirlo.

Damos por hecho que tú eres un hombre, o algo parecido, así que no debes tener problemas.

En cualquier reunión entre amigos en la que haya al menos una mujer y salga el nombre de alguna amiga suya o común (que no sea un pivón, si no parecerás tonto y a ser posible, con medio kilillo de más –no hace falta más-), sigue este guión:

Conversación: Bla bla bla bla bla…. FULANITA… bla bla bla….

Tú: Uff… fulanita… es fea ¿eh? [First Impact. Hazlo serio y pensativo. No te rías y al terminar, mira a la mujer]
Mujer: (indignada) ¡Fea no es! ¡es normalita! [Teoría de la alianza. Salta de forma natural, está escrito en sus genes. Salvo una evidencia clamorosa, será la respuesta que obtendrás sea cual sea el sujeto inicial.]
Tú: Es fea y está gorda. [Se aumenta el ataque. Sentencia rápida y enérgicamente.]
Mujer: Está rellenita, pero es graciosa. [Admitirá pero rebajará y adornará el ataque]
Tú: A mí no me parece graciosa. [Jaque mate]
Mujer: Pues a mí sí…
Tú: (silencio. Mírala a los ojos sin parpadear. Creará la tensión necesaria para que hable)
Mujer: ...hombre tiene sus cosas (o similar). [Teoría de la alianza deteriorada por los ataques. Si sigues atacando con datos que tú conozcas, lo más posible, es que acabe poniéndola a parir].
Tú: Pero tú eres más guapa. [Evita reírte o trata de que parezca una sonrisa de cortesía. Decirle guapa a una mujer en mitad de una conversación sin venir mucho a cuento es como darle un caramelo a un niño hambriento. Acabas de ganar un aliado.]
Mujer: ¡Hombre claro! (o similar) [Si no tiene la autoestima por los suelos, será la respuesta lógica. Si no, invítala a un helado a la pobre. Si acertamos, comete el error de relajarse para que terminemos con la estocada final. Nuestra teoría ya está demostrada y sólo nos queda reirnos]
Tú: Y eso que tú… [Déjalo ahí y sonríe. Que parezca que todo es broma, si no eres un sociópata es fácil de conseguir. Si se ríe y te pega e insulta (cabrón, normalmente), hemos terminado, si no, termina la frase para expresar la broma…] (…que noo, que es broma..) [rie y cruza los dedos]

Reflexión:
Podéis pensar que la primera respuesta es normal si la chica a la que dices fea no lo es, pero pensad en lo siguiente:
Aunque fuera guapa, la respuesta correcta no es un alterado.. ¡noooo!¡ no lo es!.. sería un ¿Por qué te parece fea?, sin que fuera necesaria la opinión contraria. Los gustos son relativos y respetables.
Imagina que una tía te dice que un amigo tuyo es feo, lo normal es que pases tres pueblos y digas… si tú lo dices… así te parecerá, y no te podrás a defenderlo –salvo que seas muy marica-.

Sirva esto, como aclaración de que la teoría es correcta y sólo aplica a mujeres.
Nadie sabe por qué, con lo retorcidas que son y lo difícil que es para ellas no criticar a sus propias amigas, tendrán esta curiosa necesidad de defenderlas de los hombres. Eso sí, como se junten dos mujeres a criticar, no se escapa nadie. Es lo que en la antiguedad llamaban las marujas.

* LLamamos Mujer socialmente aceptada a una mujer femenina, que gusta de salir con varones y se arregla para salir de fiesta.

Mi grabadora o regrabadora de CD o DVD no funciona...

Yo mismo tuve ese problema y como me siento magnánimo, tras tardar varios días en encontrar la solución, voy a deciros como arreglar un problemilla que a todo el mundo le viene a ocurrir al menos una vez en la vida.


Tenéis una grabadora o regrabadora que funciona con normalidad y ocurre que, de repente (como diría nuestro amigo Walter Miguel), la grabadora no es capaz de grabar a más de 1x o es incapaz de continuar sesiones en discos regrabables, porque reconoce los discos como no grabables (no writable disc) o directamente, no reconoce los discos.

Bien, si buscáis en foros, los primeros resultados que aparecen, te invitan a que tires la grabadora y compres otra nueva, lo que posiblemente no solucione el problema.
Otros dirán que tienes un virus y que tienes que formatear el ordenador. Si bien esto sí puede solucionar el problema (según lo que instales), es matar moscas a cañonazos, porque probablemente, no sea ningún virus sino lo que contaré más adelante.

Si buscas y buscas y buscas, encontrarás que alguién descubrió desinstalando programas, que su problema se resolvió al desinstalar el Alcohol, que para los neófitos, se trata de un software de emulación para reproducir imágenes de CD/DVD sin necesidad de quemar los discos.

Aunque podrías desinstalar el Alcohol si lo tienes instalado, tampoco es la solución. Porque como yo, podrías tener también el Daemon Tools y también tendrías que desinstalarlo, lo que conduce a perder sus valiosas capacidades.

El problema reside simplemente en que una de las opciones de seguridad para leer las imágenes... el LaserLock, RMPS, SafeDisc, SecuROM... está marcada y eso es lo que jode toda la marrana.

Ve a las preferencias de tus programas de emulación y desmarca estas opciones. Realmente sólo es una la que fastidia, pero no recuerdo cuál es, así que tú eliges, prueba de una en una o quítalas todas.

Ten en cuenta que puede que necesites alguna de estas opciones activadas para jugar con tus copias de respaldo de tus juegos originales... Si has desmarcado las opciones de emulación y luego no te funciona el juego, prueba a ir activando algunas hasta que consigas el equilibrio perfecto.

No den las gracias, sólo pongan un comentario que diga: Malber, te debo 20 cervezas.

¿Por qué quebró el Blockbuster?

Muchos pensaréis, que esta famosa cadena multinacional dedicada al arriendo y venta de películas en formato DVD y VHS quebró debido a la facilidad para bajarse películas de Internet y al pirateo en general, pero nada más lejos de la realidad. De hecho, sirva este documento para salvar otras empresas que están al borde de la ruina.


Yo mismo, traté una vez de alquilar una película de un local Blockbuster sin éxito. Os contaré mi experiencia.

Era un crudo invierno y se apetecía ver una peliculita en casa. Sabía de este videoclub por la publicidad en distintos medios y decidí salir del calor de mi casa en busca de uno.
Entré en el local y me acerqué al mostrador. Allí, una señorita con mala cara observaba con desgana como me acercaba hacia ella.


Le pregunté: "Buenas noches, ¿qué debo hacer para alquilar una película?". Ante esa pregunta, que parece simple, ella exclamó un: "ufff!, pues es que te tendría que hacer socio." y nada más.

Un poco cortado insistí: "¿y podría hacerme socio ahora?"
Ella dijo: "¿ahora? es que... uff... hacen falta muchas cosas"
Yo: "¿Qué tipo de cosas?"
Ella: "Pues por ejemplo tienes que traer impresa una factura de algún pago que tengas domiciliado en el banco"
Yo: "(¿Para alquilar un VHS de 2 euros?) Yo tengo 20 años -ha llovido-, te puedo dar un número de cuenta, pero no tengo ninguna factura domiciliada (aún)"
Ella: "Entonces no te puedo hacer socio, imposible.".
Yo: "... Bueno pues.. gracias (¿esta gente como vende?)"

Total, que me la bajé de internet, porque costaba menos trabajo.

A nadie le debe extrañar que una empresa que se dedica al alquiler de películas quiebre cuando es más complicado hacerse socio de ella que sacarse el pasaporte.

La estrategia de... nuestros clientes deben cumplir ciertos requisitos sólo parece que le funcionó un tiempo atrás a algunas discotecas como el Antique, de la que otro día nos ocuparemos y a la que también le deseamos unas felices quiebras.

El teorema del enredo

A lo largo de mi vida, he desarrollado múltiples teorías y conjeturas que pienso que os pueden ser de utilidad para tratar de defenderos en conversaciones eruditas o polémicas, como por ejemplo, excusaros del desorden de vuestro cuarto y pienso que debo compartirlas debido al éxito arrollador que tienen entre los privilegiados que han escuchado algunas.

Las iré soltando así, sin previo aviso, para los asiduos al Blog antes que se me olviden.

Mi teorema del enredo es el siguiente:
Un cable cualquiera (Ci), tiene una capacidad de enredo (0<= Ce <= MAX(100)) directamente proporcional a su longitud en metros (Li), al tiempo en segundos (t) y es múltiplemente proporcional al número de puntos con los que entra en contacto con otros cables (Nc).
%Ce de Ci = (t / (3600 x 24)) x ((Li)^Nc / (100))

Y el número probable de nudos a deshacer (Nd) se calcula mismamente como:
Nd = (Li/100) x %Ce.

Por ejemplo, un simple cable de 5 metros, en contacto en 3 puntos con otros cables, o consigo mismo, según mi teorema, tiene una capacidad de enredo de acuerdo a la siguiente tabla:


TiempoCapacidad de EnredoNúmero de nudos
Pasado 1 día1,25%Puede que 1
Pasados 2 días10%Posiblemente 1
Pasados 3 días33’75%1 ó 2
Pasados 4 días80%4
Pasados 5 días>100%Más de 6



De esta forma, asumimos que cualquier cable, tiene por naturaleza una capacidad innata para anudarse y formar una maraña al contacto con otros cables sin la aparente interacción humana.

Tu madre ahora ya no te puede decir que tú eres el responsable de tener todos los cables del ordenador liados porque eres un desastre, porque no es así. Es más que normal que pasados los meses, los cables del teclado, ratón, impresora, monitor, corriente… etc, hayan creado su propio ecosistema.
Además, como organismo con vida propia, trata de garantizar su supervivencia realizando nudos prácticamente imposibles de deshacer por el ser humano y haciéndose cada vez más y más grande y más y más complejo.

Lo mismo sucede con cables de instrumentos musicales o los de la tele con los aparatos que le rodean.

A cualquiera que te diga la frase “Hay que ver como tienes esto de liado”, le puedes argumentar tranquilamente el teorema del enredo de Malber y hacerle una demostración empírica con un par de cables cualesquiera: Los pones quietos encima de una mesa y al cabo de cinco días, estarán convertidos en una maraña por arte de magia. Los mejores mentalistas como el mismísimo Anthony Blake utilizan este truco para dejar las bocas abiertas.

Aunque las fórmulas están sujetas a revisiones, el teorema es igualmente válido en lo que al argumento se refiere.
Podéis comentar vuestras experiencias si lo consideráis oportuno.

PID con ajuste borroso de parámetros (Primera parte)

Gracias a los grandes avances producidos en el área de la teoría de sistemas, electrónica e informática, hoy día se pueden usar complejos sistemas de control que permiten abordar el control de un sistema desde diversos ángulos (control predictivo, robusto, óptimo...)

No obstante, en cuanto al control de procesos industriales, el controlador PID sigue siendo el más utilizado (más de un 90% de los procesos en la industria son controlados por PIDs o variantes), principalmente debido a su robustez y a la clara identificación de sus parámetros (kp,ki,kd ) y su relación con la respuesta del sistema.

Aquí no os voy a explicar lo que es un PID, en el enlace anterior teneis algunas explicaciones, pero sin embargo es posible hacer que un PID se beneficie de los avances de los avances en estos campos.

En nuestro caso vamos a utilizar la teoría de conjuntos borrosos y lógica borrosa (fuzzy logic) para el autoajuste de los parámetros del PID.

Los pasos que explicaremos durante los próximos días, semanas o meses serán, grosso modo y sin que éste sea el orden en que se tratarán:

- El sistema que controlaremos.
- Como caracterizarlo para obtener unos valores de kp y kd que luego usaremos como máximos u mínimos en los ajustes (ganancia estática, identificación frecuencial...).
- Funciones de pertenencia.
- Reglas borrosas.
- Product inference engine.
- Singleton fuzzifier.
- Defuzzifier center average.
- Saturación del término integral y antiwindup.
- Límites en la señal de control.
- El código en C++ y una pequeña simulación en Matlab + Simulink.
- Resultados sobre el sistema real.
- Posibles mejoras.

A día de hoy con productos como el Arduino y otros chips similares es posible realizar un controlador PID como el que aquí se tratará para, por ejemplo, controlar la temperatura del flujo de aire de un secador o bién controlar los servos de un robot móvil.

Algún día dentro de un periodo no superior a 10 eones aparecerá el segundo capítulo con el sistema a controlar y probablemente su caracterización.

Casi se me olvida, para hacer todo esto, habremos de discretizar el sistema, naturalmente, usando la transformada Z .