Blogia
Las Pequeñas Paranoyas de Motagirl

Tech/Geek/Craft

Pareidolia

Carl Sagan respecto a los canales de Marte, que Percival Lowell atribuía a vida marciana inteligente:

"No hay duda de que los canales marcianos tenían un origen inteligente, la única duda estaba en saber a qué lado del telescopio se encontraba la inteligencia"

Pareidolia, amigos míos, o lo que viene a ser lo mismo: cada uno cree ver lo que quiere ver. O quizá lo que su cerebro adiestrado quiere que vea.

Acceso a ROM para obtener los patrones de bits de los caracteres

¡Ay qué bonicas son las prácticas de  Periféricos cuando comienzan a funcionar!

Ya os comenté el otro día cómo acceder a memoria de video y juguetear con ella, y el tema de hoy está bastante relacionado con ello (siempre basado en TurboC sobre MS-DOS, si usais otros compiñadores compiladores y no tira... no es mi culpa :P)

Bueno, resulta que cuando escribimos un  carácter en la memoria de video, por ejemplo, la ’M’ de motagirl, no estamos escribiendo en realidad esa M, sino un  77, que es su código ASCII  (podeis consultarlos todos aqui).

En realidad, para lo que sirve ese  77 es para indexar una tabla presente en la BIOS, donde se encuentra  un patrón de bits para cada carácter (1 indica pixel relleno, 0 indica pixel vacío). La tabla tiene 256 carácteres,y cada carácter consta de 16bytes, siendo la M tal que así:

00000000
00000000
01100011
01110111
01111111
01111111
01101011
01100011
01100011
01100011
01100011
01100011
00000000
00000000
00000000
00000000

(Si os alejais un poco se ve algo mejor)

¿Y cómo  podemos acceder a la tabla? La dirección nos la puede dar una función de la BIOS. Para invocarla,  es  necesario poner unos determinados códigos en los registros de la CPU (ax: 0x1130, bx: 0x0600), llamamos  a la función usando una interrupción software (para la Bios de video, la 0x10) y esta amablemente nos dejará los valores deseados en otros registros de la CPU (es:  segmento, bp: offset).  Para ello, creamos  una estructura de tipo REGPACK, a la que llamaremos rp y que actuará como  pseudoregistros (y que no se nos olvide el #include del dos.h :P) :

struct REGPACK rp;
rp.r_ax=0x1130;
rp.r_bx=0x0600;
intr(0x10,&rp);

Y esto nos dará , como dije  antes, la dirección de la tabla de patrones de bits de los caracteres, con el segmento en ES y el offset en BP.

Ahora sólo necesitamos montarnos nuestro punterillo a dicha dirección:

char* lista = (char *)MK_FP(rp.r_es,rp.r_bp);

Y ya tenemos nuestro puntero mágico apuntando al inicio de la tabla.¿Y para acceder a una posición concreta? Bueno, supongamos que quiero ir a la letra M, a la que, como  dije antes,  corresponde el código 77. Pues simplemente tendría que "saltar" los 76 caracteres anteriores,  a 16 bytes cada uno. Podría hacerlo  así:

lista = (lista+77*16);

Con eso estaría apuntando al inicio  de los 16*8 bits de los que consta el patrón de la M. (Nótese que estamos usando un puntero a char, es decir, que cada vez que avancemos  una posicion (por ejemplo, lista= lista+1) estaremos avanzando 8bits)¿Y cómo "pinto" el patrón de bits? Esto ya es más chispeante ^^

Necesitamos crearnos una bonita función o equivalente que devuelva un determinado bit (0 o 1) de un char (1byte, 8bits). Un ejemplo  de cómo hacerlo podría ser esto:

(*p & (1<>n;

que devuelve el enésimo (n) bit de un char* p, usándo máscaras y desplazamientos.

Entonces, para obtener (por pantalla,o a un archivo) el patrón de bits, simplemente debemos apuntar a la letra deseada (lista = (lista+77*16);), y recorrer sus 16 filas mostrando  bit a bit las 8 columnas (las columnas en orden decreciente, por que si no sale como reflejado en un espejo). Dicho así queda un poco raro, pero en  realidad cada carácter no es más que un churro  de 16bytes que tenemos que sacar por pantalla en cachos de 8 en 8 bytes.

Si alguien tiene curiosidad, he subido un archivo con el volcado de todos los patrones aquí. (Hecho a base de un bucle de 256 (caracteres), otro anidado de 16 (filas) y otro más anidado , de 8 (columnas)) . Los primeros treintayalgún patrones no tienen mucho sentido porque son caracteres no imprimibles, las letras  ·de verdad"se ven más claras :)

En breve (aka cuando lo termine xD) colgaré otro post explicando cómo pasar esa tabla a RAM,  modificarla con  tus propios caracteres customizados,  y toquetear las interrupciones para que los patrones usados sean los tuyos y no los de la BIOS :)

[Siguiente capítulo: Modificación de los patrones de bits de los caracteres]

Punteros y modelos de memoria

Hace un par de días sufrí en propias carnes algo que nadie jamás me había explicado hasta ese momento: La diferencia entre los punteros near y los punteros far.  Resulta que un puntero far ocupa cuatro bytes porque guarda el segmento  (2bytes) y el offset (otros 2bytes), mientras que un puntero near sólo ocupa dos bytes porque sólo guarda el offset.¿Qué significa esto? Que con un puntero near NO puedes acceder a otro segmento distinto al que estás usando. Curioso...

(Para los que no sepan de qué hablo: un puntero es mas o menos como una variable, pero en vez de guardar un valor (’2’, ’3’, "patata") guarda otra dirección de memoria (04E6,0000 por ejemplo)).

Otra cosa importante es el modelo de memoria  elegido. Esto representa el modelo de "cómo" accederá a memoria el compilador. En TurboC podemos elegir entre Tiny, Small, Medium, Compact, Large y Huge. Estos se diferencian en los tamaños de los segmentos de código, datos y pila, y en el  tipo de los punteros. Podría explicarlo en modo  texto pero se ve más claro en una tabla:

SEGMENTOSPUNTEROS
MODELOCODIGO        |  DATOS   | PILACODIGO  | DATOS
Tiny64Kbnear
Small64Kb64Kbnear
Medium1Mb64Kbfarnear
Compact64Kb1Mbnearfar
Large1Mb1Mbfar
Huge1Mb

1Mb
(bloques > 64Kb)

far

Por ejemplo, el modelo Medium se utiliza para programas  pequeños que utilizan pocos datos, al contrario  que el Compact, que es usado para programas pequeños que utilizan gran cantidad de datos.

Como  ejemplo de lo "importante" (pasad por alto la trivialidad del programa de  ejemplo xD) que puede llegar a ser esto (habérmelo leído antes me hubiera ahorrado una tarde de programas con comportamientos erráticos), os expongo el ejemplo que me trajo de cabeza a mí. Resulta que el compilador que usamos para esta asignatura, Borland TurboC (sí,  algo actual  y todo eso) sobre MS-DOS (idem) viene por defecto con el model Small. Y claro, para esto necesitabamos como mínimo Compact (aunque vamos de sobraos y lo recomendado era Huge)

El programa en cuestión consiste en acceder a la memoria de video y escribir directamente en ella para crear un rectángulo con  un carácter y todas las variantes de color de carácter y color de fondo. El acceso a la memoria se realiza mediante un puntero, tal que así:

char *p = MK_FP(0xB800, 0x000)

donde MK_FP indica  que queremos un puntero far (FP,Far Pointer) y 0xB800, 0x0000 indica el inicio del segmento 0xB800, que es el de video.

Así que,  nos  ponemos manos a la obra y compilamos/enlazamos/ejecutamos con varios  modelos de memoria (esto se puede cambiar desde Options/Compiler/Model en el TurboC)

-Tiny, Small y Medium:

Los "efectos" son variados, desde  un warning al compilar ("Conversión sospechosa de puntero"), warning al enlazar ("No hay pila"), error al ejecutar ("Instrucción no permitida") hasta autoabortos:

Small

Bueno, al menos no me salta el antivirus como hace un par de años xD

 

-Compact, Large y Huge:

Ahora sí que se está accediendo al segmento "bueno" por ser un puntero far, y el resultado es justo el que esperábamos:

Huge

¿A que es mono? Pues casi lagrimeo un poco cuando  descubrí que mi código  era bonito y maravilloso pero que el error estaba en el modelo de memoria elegido. Ahora seguro que ya no se me vuelve a olvidar :D

 

 

Tiempos mágicos de descarga

Ahora resulta que si tienes un modem de 56 k .... ¡tus descargas tardarán menos que si te conectas con ADSL!

Genial. El mundo al reves xD

Tiempo de descarga

Me ocurrió en la página de descarga de software de MSDN (Microsoft Developer Network). Sí. Hace muchos muchos muchos años cometí el error de crearme una base de datos en Access y ahora me da pereza migrarla a MySQL :P

Hey, Hey, 16K!

Acabo de encontrar esta impresionantísima y jodidamente freak  animación en un enlace "caído" de microsiervos.
El perpetrador de la animación es un tal Rob Manuel, y la música es "Hey, Hey,16K" de MJ Hibbett & The Validators. He dejado la traducción abajo para que  no os perdais detalle ^^
Ahí va. ¡Cuidado que engancha!  A mi ya se me ha pegado :D



We bought it to help with your homework
We bought it to help with your homework
And the household accounts
If your dad ever works it all out

Lunchtimes in the library
writing down the pokes and peeks
Copying an access code,
get a taste for home taping
Fetishists of map-making
Rubber keys and rotten leads,
rand and run and load and screens
Then five minutes fingers crossed
hoping not to witness the terror
Of R: Tape Loading Error

We bought it to help with your homework
We bought it to help with your homework
And the household accounts
If your dad ever works it all out

ZX Spectrum 81, Dragon VIC and Oric1
Commodore 64, Amstrad and an Acorn Electorn
Cheaper BBC micro
Jet Set Willy, Sabre Wulf,
Lords of Midnight, Underwurlde
Dark Star, Transam, Ant Attack
And of course, Manic Miner
The  Hobbit and Knight Lore and Elite

It made a generation who can code
A bubble before proper consoles,
who all know
That the games you get today, may be very Flash
But there’ll never beat the thrill
Of getting through Jetpac

Hey Hey, 16K,
What does that get you these days?
You need more than that for a letter
Old Skool Ram Paks are much better.

Personal Computer Games, Your Sinclair, 16K
Kempston Competition Pro, Crash
and Cursor Keys and GO TO
Dixons and bother Saturday staff
with loops that never end

We bought it to help with your homework
We bought it to help with your homework
And the household accounts
If your dad ever works it all out

Hey Hey, 16K,
What does that get you these days?
You need more than that for a letter
Old Skool Ram Paks are much better.

For n=0 to 2
Those were the days
Next n

Lo compramos para ayudarte con tus deberes,
Lo compramos para ayudarte con tus deberes,
y con las cuentas de la casa,
si tu padre alguna vez se pone con ello.

Hora del almuerzo en la biblioteca,
apuntando empujones y miradas.
copiando un código de acceso,
sacándole el gusto a las cintas caseras.
Fetichistas del mapeado,
teclas de goma y cables podridos,
aleatorios y ejecutar y cargar y pantallas.
Después, cinco minutos cruzando los dedos
esperando no presenciar el terror
de R: Error Cargando Cinta.

Lo compramos para ayudarte con tus deberes,
Lo compramos para ayudarte con tus deberes,
y con las cuentas de la casa,
si tu padre alguna vez se pone con ello.

ZX Spectrum 81, Dragon VIC y Oric1
Commodore 64, Amstrad y un Acorn Electorn
BBC Micro más barato
Jet Set Willy, Sabre Wulf,
Lords of Midnight, Underwurlde
Dark Star, Transam, Ant Attack
Y por supuesto, Manic Miner,
El Hobbit y Knight Lore y Elite

Hizo una generación que puede programar
una burbuja  en consolas de verdad,
que todo lo saben.
Esos juegos de hoy en día, pueden ser muy Flash
pero nunca superarán la emoción
de avanzar en JetPac

Hey Hey, 16K,
¿Qué consigo de tí hoy en día?
necesitas más para una letra,
los Ram Packs de la vieja escuela son mucho mejor.

Personal Computer Games, Your Sinclair, 16K
Kempston Competition Pro, Crash
y las teclas del cursor y GO TO
Dixons y molestar al personal de Sábado
con bucles sin fin.

Lo compramos para ayudarte con tus deberes,
Lo compramos para ayudarte con tus deberes,
y con las cuentas de la casa,
si tu padre alguna vez se pone con ello.

Hey Hey, 16K,
¿Qué consigo de tí hoy en día?
Necesitas más para una letra,
los Ram Packs de la vieja escuela son mucho mejor.

For n=0 to 2
Aquellos eran los días
Next n

Windows 7 Beta

¡Los chicos de Microsoft son unos chistosos!  (aunque también puede que sea casualidad... )

¿Sabeis cuál es el fondo de escritorio por defecto al instalar la versión beta de Windows 7? Este:

(la foto es de EnigmaTres, donde hay un completísimo reportaje fotográfico sobre dicho SO)

¿No le veis la gracia? Ains, cómo se nota que no teneis pescaditos en casa....

El pececito tan mono que protagoniza el fondo es  un Betta Splendens, aka Luchador de Siam, aka Beta Combatiente. ¿Lo pillais? ¡Un beta para windows beta! Qué chispa xD

Por cierto, se llaman betas combatientes porque los machos se pelean entre ellos hasta que sólo queda uno... y las hembras no lucen tanto porque no tienen las aletas tan grandes y colores tan vivos. Lo cuál es una pena porque técnicamente sólo puedes tener uno de estos cada vez ...  ¿Se peleará Windows 7 con los otros windows? schan chan

 

Corrector POO

Vale, mis profesores de Programación Orientada a Objetos son oficialmente unos  frikis xD

Atención al código del corrector de la práctica2 (sólo copypasteo los cachos interesantes :P)


// Creamos la especialidad, sus habitaciones y sus médicos:
        Medico *m1= new Titular("M01","Dr. Aragorn",1);
        Medico *m2= new Interino("M02","Dr. Boromir");
        Medico *m3= new Titular("M03","Dr. Gandalf",0);
        Medico *m4= new Interino("M04","Dr. Gimli");
        Medico *m5= new Interino("M05","Dr. Legolas");

        Especialidad *e(new Especialidad("Hobbititis",*m1));

        Paciente p0("P01","Samsagaz Gamyi",’H’,Fecha(6,4,2980));
        Paciente p1("P02","Frodo Bolsón",’H’,Fecha(22,9,2968));
        Paciente p2("P03","Bilbo Bolsón",’H’,Fecha(22,9,2890));
        Paciente p3("P04","Rosota Coto",’M’,Fecha(1,1,2984));
        Paciente p4("P05","Meriadoc Brandigamo",’H’,Fecha(1,1,2982));
        Paciente p5("P06","Peregrin Tuk",’H’,Fecha(1,1,2990));
        Paciente p6("P06","Esmeralda Tuk",’M’,Fecha(1,1,2940));
     
        Tratamiento t0("Estancia de una semana en el Spa de Bree");
        Diagnostico d0(tdAlta,"Invisibilidad aguda");

Y ya de paso, el mensajito navideño que sale al ejecutarlo tampoco tiene precio:

Running 50 tests<~~~ (:> F3L1Z N4V1D4D <:) ~~~>..................................


WARNING PARA ALUMNOS:

Por cierto, chavales, al ejecutar evalua.sh se borraran los directorios include, lib, y src del directorio donde esté. Así que llevad cuidado no vayais a perder todos los fuentes con sus modificaciones. Adivinad a  quién le ha pasado. Efectivamente,a mi. Menos mal que eran una copia de los originales, así que "sólo" he perdido el trabajo de una tarde.

 

(Fotos de la epic-fieshtaca con bizarro invisible de anoche en breve -esperemos-)

 

Softwear, by Microsoft

Softwear, by Microsoft

¡Sorpresa! Microsoft saca su propia linea de camisetas, Softwear, dividida en dos colecciones: Classic y Common’s.

No tienen muchos diseños, pero lo mejor (y más extraño) es que... (para algunas) ¡puedes descargarte la plantilla con el diseño para fabricarte la camiseta tú mismo! Increíble. Y encima tienen nombres carismáticos.

 

En la colección Classic:

- The DOS Tangle: The first logo you saw on a screen.  (La Maraña de DOS: El primer logo que viste en una pantalla)

- The Misdemeanor: Everyone deserves a second chance. (La Infracción: Todo el mundo merece una segunda oportunidad)

- The 101: Learn to speak the language. (La 101: Aprende a hablar el lenguaje)

- The Albuquerque: It all started in the desert. (La Albuquerque: Todo empezó en el desierto)

 

En la colección Common’s ("coproducida" con el rapero y actor Common)

- The Reminisce: 1985: Word is born (La Evocadora: 1985, nace el Word)

- The Creator: The Code of Hip Hop (El creador: El código del hip hop)

- The Giver: The Real Message (El dador: El auténtico mensaje)

- The Vision: The Boss Sees Clearly (La visión: El jefe lo ve claro)

 

Reconocedlo chicos: a veces hacen cosas guays... ¡casi tanto como el Solitario!  (y yo tengo que confesar que la de MSDOS me encanta xD)

En principio, parece ser que pueden comprarse en Urban Outfitters, pero sólo aparecen dos modelos...

Principio de Optimalidad

Muy en la línea de "cómo decir de forma rebuscada algo más simple que  el mecanismo de un botijo" (¿recordais la Ley de Rendimientos Decrecientes?), acabo de encontrar esta definición del principio de optimalidad de la Programación Dinámica:

Un problema de optimización cuya solución se puede expresar mediante una secuencia de decisiones cumple el principio de optimalidad si, dada una secuencia que corresponde a la solución óptima, se cumple que cualquier subsecuencia de esa solución corresponde a la solución óptima del subproblema asociado.

Está clarisimo, ¿verdad? Seis veces me lo he tenido que leer :P

(Por cierto, la forma "clara" de decir eso mismo en  castellano es "Si el camino de A a C es óptimo y contiene el subcamino de B a C, este también es óptimo)

Poo P2: Fuck yeah

Versión  2.0 grafico-textual de la felicidad: Acabar la práctica de POO... ¡con más de una semana  de antelación! (por cierto, en la anterior tuve un encantador  y nada desdeñable 8.6)

a)   50/50 tests ok  =D

autocorrector

b) 0 errores de valgrind, 0 fugas de memoria  :3

valgrind

Dicho esto, me encantaría  poder decir algo así como  "ya soy libre" o "wow, voy a tomarme un tiempo de descanso", pero no, tengo dos exámenes, otra práctica y un proyecto final de Diseño y Análisis de Algoritmos. Y como me va la marcha, no podía cogerme uno de los proyectos facilmente encontrable (su pseudocódigo) en google, o libros o algo. Nooooo. Me he cogido (con un par) el único problema que se han inventado en mi universidad, así que me toca tipificar y diseñar mi propio algoritmo de Ramificación y Poda aplicado a un problema de asignación de turnos por preferencias. Y el soplido  que ha emitido mi profesor cuando le he dicho que había elegido este, no era nada esperanzador xD En  fin, que cuando lo tenga terminado, entregado  y mi nota en el expediente, os contaré la gran fumada xD

Comparativas iPhone

No, no tengo un iPhone, y no, probablemente no es esto lo que esperabais pero... es terriblemente cierto. ¿O no?

 

 

Transformada de Fourier

Transformada de Fourier

 

Transformada de Fourier en el límite: Dícese del equipo de ingenieros en Telecomunicaciones que hacen transformadas de Fourier mientras se tirar en parapente desde la cima del Everest.

 

(inspirado por mi clase de Señales y Sistemas de hoy)

Los márgenes de beneficio de Apple

Me encanta el "impuesto fanboy":

 

(via ionlitio)

Doxygen y WindowsNT

Mirad qué chispa tiene el tipo que escribió el manual de comandos especiales de doxygen. Esto puede encontrarse en  la parte referente a la etiqueta author:

Lo que en castellano viene a ser:

/*! class WindowsNT
* brief Windows Buen Intento (en inglés tiene más gracia por lo de NT :P)
* author Bill Gates
* author Unas cuantas especies de peuqños animalitos peludos encerrados juntos
* en una cueva y jugando con una imagen.
* version 4.0
* date 1996-1998
* bug Se rompe mucho y requiere cantidades ingentes de memoria.
* bug La clase introduce más bugs cuanto más se usa.
* warning Esta clase puede explotarte en la cara.
* warning Si heredas cualquier cosa de esta clase, estás sentenciado.
*/

class WindowsNT {};

 

Intrepid Ibex

Ooops... perdón perdón, NO ese Intrepid  Ibex, sino este otro:

 

Atended, os contaré mi historia:

Jueves, 30 de Octubre 2008 - Ubuntu Intrepid Ibex ya está entre nosotros, y así me lo comunica el gestor de actualizaciones. ¡Hey! ¡Mola! ¡Upgradeemos!

Le doy la orden, y actúa en consecuencia: Buscar paquetes, borrar los que ya no le valen (un tal landscape-client, el flashplayer y .... los drivers de la NVIDIA) instalar, blablablá, limpiar. Y ahi se queda. Colgado. Colgadísimo. Mucho rato. Busco en google y descubro que es aparentemente normal, que todo está acabado peeeero se le va la olla y no se cierra. ¿La solución? Cerrar a mano  (no hay botón cancelar, por supuesto)

Guay, cierro, reinicio (que supuestamente era lo que faltaba) y hey...  Veo algo raro! Es.. es la resolución! Bingo:mi encantador pc es incapaz de sacar más de 800x600.

Voy al gestor de Controladores de Hardware, y , efectivamente, hay un paquetito de drivers majetes de NVIDIA que están siendo bloqueados por ser software privativo (lo típico), marco "habilitar"... y espero. No me deja habilitarlos  (sí, era superuser,sí). La primera en la frente.

Bueno, me dije, que no cunda el pánico.

Sigo mirando cosillas... hasta que veo algo preocupante en el acerca-de: "Ubuntu Hardy Heron". ¡¿Cómo?! Si acabo de upgradear! Vuelvo a ejecutar el gestor de actualizaciones y veo que, aunque supuestamente sigo estando en Hardy, todos los repositorios han sido "actualizados" para Intrepid. ¿Mande?

El caso, le digo que si, que updatee todo lo updateable, y se ofrece a descargar 800 MB. "Vale", pensé, "esto tiene sentido". Pues lo dejo descargando/instalando/configurando cosas y me voy al gimnasio.

Cuando vuelvo, aparentemente no ha habido problemas con la instalación y me está pidiendo otro restart. Se lo doy, y empiezan los líos. Por lo visto no cierra bien sesiones y me aparecen "unas sobre otras", cuando cierro unas las otras se abren y cosas raras. Consigo apagar, y cuando enciendo...

..."Undefined Video Mode 21b"   WTF?!  Ya ni el modo terminal me respeta, increíble... Selecciono un modo al  azar, y cuando se cargan las X...

¡¿QUÉ DEMONIOS ES ESTA RESOLUCION DE MIERDA?!  ¡No va más allá de 640x480! Esto es increíble, no  puedo ver ni la cuarta parte de cada maldita ventana T_T

Descargo los controladores de la NVIDIA de su propia página web.  sudo sh NVIDIA-blablabla.pkg1.run.  "You appear to be runing an X server; please exit X before installing"  aka "Zas en toda la boca" . Pues nada majo, ¿que lo quieres sin entorno gráfico? Pues como tu quieras, si a mi me da igual. Me voy a una consola, supuestamente cierro las x, pero nada aquello no tira ni para atrás, cada vez tira un error.

Vuelta escarbar en google. Leo sobre un programilla llamado ENVY, que detecta tu tarjeta NVIDIA, instala los controladores apropiados y además los configura. Oye, esto ... mola, eh? Instalo ENVY, supuestamente hace lo que debe hacer... y nada, restart again.

Tachán... ahora puedo poner hasta 800x600, uoo!! Me siento ochentera a tope, es una super mejora! (odio contenido)

Inesperadamente, el gestor de actualizaciones me da un aviso, tiene algo para mi. ¿Habrá tenido sentido algo de lo que hice? Y ahora viene la gracia:

Errr... ¿Cerrar?

Respuesta del sistema (dramatizacion): "Hola, hay chorrocientos paquetes que podrías actualizar.. pero mira, te los enseño y no te dejo instalarlos...ni siquiera seleccionarlos!!"

Bueno, pues.... ¿Actualización parcial?

What the elf?

Finalmente, me permite instalar DOS paquetes, ambos relacionados con jockey-gtk (el gestor de controladores de hardware del que hablé arriba). Lo actualizo y... tachán, deja de funcionar. Ahora ni siquiera se abre, ni en modo gráfico ni invocándolo desde una terminal.

 

Y en esas estamos: ni para alante, ni para atrás.

¿Qué puedo hacer?

 En principio  pensé en hacer un downgrade "casero y manual": cd de la 8.04 y chafar esta bazofia que ni es una versión ni otra xD  Aaaaaunque no tendría gracia perder todas las configuraciones y eso... pero en fin, más se perdió en  la guerra.

Cualquier otra idea, elefante volador y/o helado de chocolate será bienvenido.

Y a los que hayan llegado hasta aquí.. un frigopie por su paciencia  xD

 

EDITADO:

Unos 15 minutos despues de escribir esto apago, enciendo.... y FUNCIONA. Acojonante. Mi resolución vuelve a ser de 1200x800. Eso sí, del jockey-gtk ni rastro.  Y lo de las actualizaciones tampoco tira. Pero... al menos puedo trabajar. :D

 

EDITADO 2:

Vale, como siempre, es postear y arreglarse xD

 Gracias al caballero enver555, que me dio sabios consejos tal que

sudo apt-get install ubuntu-desktop

sudo apt-get update

sudo apt-get dist-update

todo ha ido a pedir de mota, se ha arreglado a sí misma,  y ya es una Intrepid Ibex purrrrfect :D

 

QToDo, conciencia instalable

Pues sí, señores, señoras... a falta de conciencia propia y buenos hábitos, he decidido instalarme una externa: QToDo.

QToDo es un ToDo List Manager. O sea: un software al que yo le digo las cosas que tengo que hacer (exámenes, entregas de prácticas,..), el plazo del que dispongo, la prioridad y el estado de la tarea... le doy unos criterios para ordenar esa lista (por ejemplo, plazo más corto y prioridad más alta primero).... y él me dice un orden para realizarlo!

Es genial! Aquí os dejo  un par de pantallazos del modo "completo" (programa abierto, para añadir y editar eventos) y en el modo "vista  rápida", guardadito en  su panel.

Vista completa

 

Overview

 

Si te parece interesante, que yo sepa está solo para linux, pero seguro que hay mil opciones más para otros sistemas)

lastfm FAIL

Adivine, en menos de dos minutos, dónde está el fallo (clic aqui para ver en grande, clic en la imagen para pistas).

Lastfm, ubuntu y wmp

 

¿A alguien más le ocurre eso?  O_oU

Terabytes

El chiste del día, recibido por privado de outime a través de Jisko:

 

Van 1023 terabytes juntos y se encuentran un terabyte solitario, que se acerca y les dice... "hey, nos juntamos y nos hacemos un peta?"

 

Awesome!

(ayuda)

xkcd - numerical sex positions

Después de unos días intentando explicar esta tira, y confirmada mi nula gracia para contar cosas graciosas,  he llegado a la conclusión de que acabaré más rápido si la cuelgo directamente que si sigo intentando contarla xD

 

Es de xkcd, que recordareis (espero) de otros summums del graciosismo frikil  (¿o frikismo graciosil?) como, por ejemplo, Fetishes.

Complementos de la mujer universitaria vs Complementos de la mujer teleco

Esto lo ví en una foto de tuenti (si, he dicho tuenti, si), y como me pareció carismático, pues ahí va.   (Y quien dice "teleco", dice "informática", "Ingeniera industrial", etc  xD)

 

Complementos de la mujer universitaria vs Complementos de la mujer teleco

Mujer Universitaria: Maquillaje y pote para la cara (nunca se sabe cuándo el chico de sus sueños puede invitarla a tomar una Coca-Cola Light en la cafetería de la facul)

Mujer Teleco: Vaselina u otros lubricantes (nunca se sabe cuándo el profesor de sus pesadillas puede petarle el culete con un examen sorpresa)

 

Mujer Universitaria: Cuerdecitas de muchos colores para hacerse unas trencitas guays a lo Lucrecia por si se aburre como una ostra en clase.

Mujer Teleco: Cables de colores para poder distinguir el follón de señales que tiene montado en la placa.

 

Mujer Universitaria: Carnet universitario por si a última  hora se entera de que hay una fiesta y tiene que demostrar para entrar que es estudiante de la universidad.

Mujer Teleco: Carnet universitario para poder sacar manuales y cables de bus del laboratorio.

 

Mujer Universitaria: Algo de dinero suelto por si en el último momento una amiga le anima a saltarse las clases para tomarse un piscolabis en la cafetería.

Mujer Teleco: Algo de dinero suelto por si en el último momento se quema un chip y tiene que ir a Electrónica del Futuro a que le claven.