Habi Hablóg
Declaro:
XML válidoXHTML válido800x600 +
RSS válidoCSS válidoNavegador digno
  Blog   Archivo   Contacto   Administración  

Acerca de

Matemático, informático, aficionado a la electrónica, friki... y otras cosas que no vienen a cuento ni pasan los filtros de palabras.

¿Queríais un blog? Ahí va.

Red antisocial

¡Me van a volver loca! 2.0
La Fragata Portuguesa

Z
¡Me van a volver loca!

Últimos posts

El expediente X que nadie pidió
eNigma
La cuadratura del píxel
Portando desde Spectrum
Inexorable

Últimos comentarios

Habi
NoSupoResolverLaFuncion
Edu
Habi
EnriqueGG

Calendario

No hay fechas.

Categorías

Chorradas
Paranoias
Posts lúcidos
Tecnoesoterismo
Yuyus

Cenas de Abj

Abj debe 7 cenas.

Frase célebre

Z dice: nah, lo digo por el tamaño, con ganas me habría comido algo más grande

Y yo me iré...

Habi - 03/11/2006 21:17:00 - Posts lúcidos

Me apunto a la moda de blogs chapados por tiempo indefinido.

3


Otoño

Habi - 30/10/2006 21:45:00 - Yuyus

Teorema: Finde de mierda.

Demostración:

Viernes: Se acabó lo que se daba. :(

Sábado : Cumpleaños familiar en Seseña... si no fuese por la propia cumpleañera P, me hubiese abierto las venas con un langostino. :6

Domingo y Lunes: Sutto *Y* muette. Con su velatorio, funeral y trabajo a tiempo parcial de Call-Center. :S

Moraleja: Cervicales jodías... again...

3


Espejo roto

Habi - 25/10/2006 23:13:00 - Chorradas

Merlín se preparó para salir. Se lo tomó con calma; el tiempo no significa lo mismo para alguien que puede manipularlo a su antojo. Se puso finalmente su capa de crin de unicornio y el amuleto de Kr´noor. Podría haber ido a su destino atajando por otros planos o creando un portal, pero decidió ir andando. Eso sí, a la velocidad de la oscuridad, que como todo mago sabe, es más rápida que la de la luz; en cuanto la luz se va la oscuridad YA está.

-

Despertó, como cada noche, con los ojos abiertos; hacía rato que el sol se había escondido. Se levantó, como cada noche, y como cada noche se dio su baño con agua hirviendo, con esencias y con perfumes. Se vistió impecablemente, y sin apenas esfuerzo dio de un salto de algo más de tres metros que le situó en la ventana de arriba de su loft, situado en el ático. Desde ahí arriba se veía toda la ciudad. Quizás se alimentase un poco de sangre fresca antes de acudir a su cita. Como cada noche.

-

"Mierda, no llego", dijo Roger. "Puta mierda de basura Klingon... Debería haberme comprado cuando pude aquel X-Wing de segunda mano..." volvió a decir mientras manipulaba los mandos para trasladar la energía de los escudos hacia los motores. "Aguantarán," pensó, "y cuando esté lo suficientemente cerca la gravedad y el rayo tractor harán el resto". Fijó el rumbo en el ordenador de a bordo, saltó al hiperespacio y se fue a dormir un rato hasta que llegase a la reunión.

-

Allí estaban todos: El hada, el mago, el vampiro, el astronauta, el hombre lobo, el científico loco, el superhéroe, el periodista, el cultista loco, el detective, la momia y los demás.

Todos acudieron a su cita, nadie quería faltar a su partida mensual de rol. Jugaban a que estaban en un mundo sin magia, pero con una "ciencia" muy básica. Jugaban a ser consultores, informáticos, seguratas, señoras de la limpieza... Pero esta vez el master les guardaba una sorpresa.

"El jefe os reúne a todos," dijo, "y os dice que vuestra empresa ha sido comprada por Microsoft, y que habrá un reajuste de plantilla...", y con estas palabras empezó la más difícil de todas la crónicas...

2


H

Habi - 25/10/2006 15:07:00 - Paranoias

Cuando H no es de Habi, proclamo: ¡he vuelto!

1


Post ajeno

Habi - 22/10/2006 13:11:00 - Chorradas

- Friki -
 
Friki, frik o freaki (que en la forma, y no necesariamente en el significado, procede del inglés freak, que significa raro, extravagante, estrafalario o fanático), es un término usado en el idioma español para referirse a la persona interesada u obsesionada al menos con un tema, afición, o hobby en concreto. El interés que presenta el friki puede llegar en varios casos a que sea tachado de extravagante, o el integrar parte de una comunidad específica, como este blog.
Hay distintos niveles de "frikismo", siendo el más extremo el llevar su afición o interés, hasta el punto de convertirlo en una forma de vida, en éste caso trabajando de ello.

Normalmente se ha relacionado al friki con la informática, las matemáticas, los cómics, el anime, las películas y series de ciencia ficción, fantasía, manga y/o anime y rol, pero el término puede extenderse a cualquier interés o gusto específico o desmesurado. La palabra se usó para referirse también a las personas que se catalogaban de extravagantes, producto de tener por lo menos una obsesión extrema o extraña con un tema en concreto; en el cual normalmente eran especialistas. Producto de un interés común que se presentaba entre un número de personas, muchos de los denominados freak empezaron a reunirse en grupos específicos.
(Véase Raro)
 
- Raro/a -

1 Que es poco común o frecuente. Es muy raro verlo sin camisa y pantalón de vestir.
2 Que es escaso en su clase o especie: Es muy raro encontrar a alguien con una oveja hinchable.
3 Adjetivo / nombre masculino y femenino
[persona] Que tiene un comportamiento extravagante o sorprendente, o poco común para lo que se considera habitual, natural o normal: En Villaverde puedes encontrar algunos raros individuos que pasean al perro con zapatos de vestir y escuchando a Germanui.
 
Otros sinónimos: Desacostumbrado, inusual, anormal, Habi, extravagante, estrambótico, maniático, matemático, excéntrico, estrafalario.
 
 
 
                                                                                                          By: TinTi *46

10


Algo

Habi - 20/10/2006 12:08:00 - Yuyus

Nació porque no tenía otra cosa que hacer, fue feliz mientras el tiempo y las autoridades lo permitieron.

Y se vistió de todo lo malo; sueños rotos, el ropaje de los ángeles caídos.

Pero renació, cual tamagotchi de sus propios excrementos. Sintió lo bueno, y la luz.

Y la luz le daba señales y calor.

Entendió sin comprender. Era lo que era.

Y así fue por siempre.

-

0


Últimos hackeos

Habi - 18/10/2006 17:20:00 - Tecnoesoterismo

Se ha vuelto demasiado simple (será por el IDA, que es la caña para código muerto). No mencionaré el Cube Media Player porque hablé de él hace poco en su propio post.

Así que diré que hace algún tiempo encontré en The Underdogs el Knight Time. Es un juego antiguo y raro, de Titus. Uno de los dos primeros juegos para PC que tuve y el primero con gráficos decentes (aunque mi ordenador era XT tenía SVGA).

El juego eran dos discos de 5 1/4; por lo incómodo de cambiar entre ellos y de su propio tamaño, puse ambos en uno de 3 1/2, pero como estaba protegido siempre miraban al principio en la unidad de 5 1/4 para buscar la protección.

Por aquel entonces no fui capaz de desprotegerlo. Usaba trucos como desviar las interrupciones 1 y 3 y las usaba para sus propias rutinas, con lo que no había nada que hacer con el Debug o el D86 (que nadie diga nada del Soft-Ice, eso es para 386 mínimo). Tampoco funcionaban los desprotectores de la época, sería que tenía una versión distinta, en cualquier caso era la que estaba en Underdogs.

Con más años de experiencia, mejores herramientas y un morbo rozando lo frikiesco (o un frikismo rozando lo morboso, según se mire) lo abrí. Y fue relativamente simple, pues una vez hacía todas las comprobaciones de protección la decisión de si había o no protección se tomaba en un solo punto. Cambié el salto condicional y funcionó, menos de 15 minutos. Además determiné que estaba programado con un compilador de C raro (ni MSC ni TC o BC) con rutinas en Asm. Localicé las de teclado, gráficas, joystick, etc.

Otro ejemplo, el Marranos en Guerra, juego antiguo que no instala en núcleos de NT, pero que me gusta; después de engañar al instalador para que lo instalase en XP el juego funciona, pero al salir inutiliza el teclado y el ratón en las ventanas que hubiese abiertas antes que él, incluyendo el escritorio.

Menos de dos minutos (el record hasta ahora): veo en importaciones EnableWindow y EnumerateWindows, hago referencias cruzadas y veo que desde la misma función, la cual se encarga de quitar o devolver input a todas las ventanas menos ella misma (supongo que para no molestar, pues casca el juego si sale de pantalla completa). Parcheo el salto condicional de esa función para minimizar los cambios (sólo cambian 6 bits en un byte) y el juego va perfecto. Se ve que al final no la llama por alguna razón (casque silencioso).

El último ha sido un juego de DOS que adquirí hace poco en su versión registrada y que me encantaba de crío, el Moraff’s World. Volví a jugar a él y todo iba bien, hasta que fui a enfrentarme con el enemigo especial del nivel 16. No aparecía por ninguna parte, y en el mapa me decía que fuera al este cuando estaba ya en el borde este de la mazmorra.

Este caso fue bastante más complejo, pues he estado dos días con el IDA. He localizado como va todo el tema gráfico, la magia, la forma de las estructuras de datos usadas en el programa, los enemigos, el mapa,... hasta que al final he visto como es el formato de los juegos grabados, a imagen y semejanza de las estructuras en memoria.

Así que en el juego grabado en ese nivel, archivo 40.dun (4 por el personaje, 0 porque es el nivel por defecto; los 1-7 son las mazmorras en sí mismas, 32 niveles por cada uno), y saltando los 3 primeros bytes se encuentran los descriptores de enemigos de ese nivel, 6 bytes por cada uno, siendo el primero el del enemigo que buscaba, ese Shadow Dragon King. Y en efecto, el primer byte, la coordenada X era 88 cuando la mazmorra tenía 78 como máximo; parcheé a 76, y al cargar estaba a dos casillas al oeste de mí, así que pude enfrentarme, vencerle y obtener la bonificación +25 para mi Long Sword.

Además descubrí analizando todo el juego ¡que se pueden hacer trampas! Si se pulsa Alt.gr. + 1 te da 10 de vida por la patilla, si lo dejas pulsado no para de subir, aun por encima de la vida máxima del personaje.

1


Peñazo post

Habi - 17/10/2006 12:34:00 - Tecnoesoterismo

¡Atención! Este post contiene material de teoría de compiladores explícito. Si no se considera preparado, no lo lea (o sí, y suelte algunas de estas frases en sus reuniones de amigos y quede como un... friki).

Hoy voy a hablar del lenguaje ese que inventé y el cual tengo a medio implementar.

Lo primero que tengo que decir es que el código está organizado lógicamente en espacios de nombres anidados. El código fuente viene en archivos, los cuales no tienen necesariamente una correspondencia con esos espacios de nombres. Cada módulo puede tener varios (obligatoriamente debe contener al menos uno), y un mismo módulo puede estar definido en varios archivos (basta con usar el mismo nombre del espacio de nombres, el contenido se mezcla).

El compilador incluye también un intérprete pues, bajo ciertas condiciones, una función puede ser marcada para ser ejecutada en tiempo de compilación, y de esa manera generar código para ser compilado utilizando la potencia expresiva del propio lenguaje, y haciendo obsoleto el concepto de procesador de macros.

Cualquier convención de llamada de funciones, uso de registros, inclusión inline, y en general directivas de compilación no se pondrán como pragmas de preprocesadores, casos especiales de comentarios o palabras reservadas del lenguaje. Sencillamente serán etiquetas con valores dentro del propio código, como si las propias funciones fueran objetos en un lenguaje de objetos sin herencia.

El lenguaje es en sí mismo imperativo, pero con notación funcional y considerando como funciones todos los elementos sintácticos (lo cual es MUY útil en el caso de los IF para el tema de asignaciones). Permite anidar funciones, y tiene orientación a objetos con herencia simple e interfaces (ortogonales entre sí, claro). El nivel semántico queda definido por el sangrado (libre) del código, así no se necesitan delimitadores sintácticos a la { } o palabras reservadas del tipo Begin - End.

Tiene un sistema de tipos estricto y fuerte, con

La sintaxis a nivel externo es muy simple y matemática:

NameSpace Fulanito

Suma: Integer * Integer -> Integer
Suma(x, y)=
    Resultado: Integer
    Resultado = x + y
    Return Resultado

Por ejemplo; para desambiguar una variable que contenga una función de una declaración de función, hacemos un tipo único agrupado: (Integer * Integer -> Integer) en vez de la declaración de Suma. De igual manera, (Integer * Integer) -> Integer nos define una función que sólo tiene un parámetro, una tupla de dos valores enteros.

La compilación se hace en dos pasadas, pues se pueden usar variables y funciones definidas fuera de orden; el compilador mantiene todo en su base de datos de memoria, eliminando la necesidad de código objeto. Las librerías estáticas se enlazan en su forma de código intermedio, para así poder aplicar optimizaciones avanzadas al programa en conjunto (y de nuevo, no requerir código objeto propiamente dicho, sino una base de datos de espacios de nombres nativa al compilador).

De acuerdo, esto usa bastante memoria y enlentece el compilado, pero genera aplicaciones mucho más eficientes.

Finalmente, después de hacer las optimizaciones buenas, se traduce a la plataforma y se hacen las típicas optimizaciones de registros y mirilla típicas de la plataforma y a correr.

Si alguien ha entendido algo, ¿algún comentario?

3


Recuerdos

Habi - 08/10/2006 20:06:00 - Posts lúcidos

No diré el como, cuando, dónde o por qué. Sencillamente, fui a ducharme en casa ajena.

Aquel fue el Baño de Elección, pues cada 10 segundos había que hacer una elección. La primera, por donde entrar en la bañera, pues entre los 200 botes, velas, incienso, cacharro de música con CD New Age y un travesaño de madera en el centro con las esponjas la cosa estaba un poco complicada.

La siguiente, las esponjas; había para elegir una esponja recubierta como de esparto, una natural, un guante también de esparto y la típica artificial de colores vivos, con la carita de un conejito.

El gel fue más o menos fácil de localizar, no así el champú. Después de descubrir 2 mascarillas para el pelo, un tubo de gel verde con arenilla (exfoliante), de descartar los geles y jabones porque tenían "aceites esenciales" y cosas peores, y las esencias de cosas, encontré un bote verde que ponía "Fructis - para pelo teñido" o algo así.

En cuanto me lo di supe que la había cagado: 1) no hacía espuma 2) dejaba el pelo aceitoso. Después de leer y releer el bote vi en letra pequeña la palabra "acondicionador".

De todo pasó por mi mente, incluso lavarme con el jabón líquido de manos del lavabo (que por cierto, olía mucho mejor que todo lo demás, de esos de leche y miel); finalmente pude encontrar los champús de verdad (y ninguno Fructis) y salir de aquel trance (no sin antes quitar los pelos de la esponja del conejito; ¿por qué atraen tanto a los pelos las esponjas sintéticas esas?). Otra cosa memorable es encontrar cepillos planos, redondos, pinchos para el pelo, peinetas de esas que no se para qué valen... pero ningún peine.

¡Una postguerra con jabón lagarto os daba yo!


No debí haber dicho eso del jabón lagarto, ahora tendré que contar esto y cambiar el nombre al post.

Esto fue en cuarto de EGB, nos encargaron en trabajos manuales (antes le llamaban "formación pretecnológica", y ahora vaya usted a saber) tallar con un cuchillito cutre alguna cosa en una pastilla de jabón lagarto. Teníamos un mes, para trabajar en casa, y al final las mejores irían a la exposición del cole, con cosas de todos los cursos.

Y yo, que soy vago por naturaleza, como que me dio por saco. Empecé a cortarle las esquinas para que no pareciese un rectángulo (no sabía decir por aquel entonces paralelepípedo ortoédrico) y cuando tenía recortadas dos lo vi claro: sería un pez, sólo había que recortar un poco por detrás para la cola, sacarle un ojo y boca, y limar los lados para que no pusiese lo del jabón lagarto.

Con el trozo de la boca (otro rectángulo) y el del ojo me di cuenta de que si los mojabas (sí, los chupé) se pegaban entre sí, y que parecía una pipa; se la puse al pez en la boca y lo bauticé como "pez con pipa". Total: una tarde.

Allí llevé la mierda esa con trabajo cuasi-nulo y no se porqué pero le encantó a la seño Ángela. ¿Sería ese el principio de mi surrealismo? En cualquier caso, el pez fue el representante de su clase, y estuvo varios meses de exposición. Que pena que no diesen premios :/.

17


Laberinto, silencio, duda.

Habi - 06/10/2006 22:47:00 - Yuyus

Tengo un sistema operativo distinto de el del resto de las personas, lo se.

No entiendo a la gente más o menos normal y la gente más o menos normal no me entiende. Ya que el hardware parece ser el mismo y compatible, el problema debe estar por tanto en el software.

Supongo que es lo que tiene ser matemático, informático, friki en general y surrealista empedernido; y cuando por fin encuentro una definición axiomática escrita compatible al 98% con mi paradigma resulta que soy satanista.

En fin, haré prukogi 10 veces como penitencia.

Asumo mi posición y mi lugar. Es y será lo mejor.
Pereza, vagancia, desidia. Es una enfermedad.
Podría hacerme trampas y saltarme los dos pasos que me quedan. ¿Lo intentaré?
"Estoy en las tinieblas. No... las tinieblas están en mí".

Corre por el bosque, los rayos del sol le tocan... ¡J!

Por él todo corazón... bota.

¡Gabapapitch!

Me preocupo más en como está programado el blog que en el contenido del mismo.
¿A que molan estos postits?

6


Reglas del 10:
10 últimos   10 después   10 antes   10 primeros