Miriam Ruiz
random thoughts on technology and life











{January 09, 2007}   Brand New Weblog!

So, I finally have my own weblog after all. I guess my first step should be to write a short intro about myself, if I want to be polite. You probably don’t know much of me right now after all, and neither do I from you. I guess we’ll keep on knowing each other if you keep reading me. You might also consider adding some comments if you want.

I’m a Spanish girl who happens to be interested into technology, computers and free knowledge. I like learning and experimenting, and exploring new things. Free Software is a good point in which many of my interests meet, and thus I’m quite involved in Debian, a Linux distribution. I openly consider myself a feminist, meaning that I believe that women and men should have the same rights and opportunities.



{January 10, 2007}   A cute toy

One of the most typical religious traditions in Spain, within the Xmas celebrations, is the Kings’ day (“Día de Reyes”), which is celebrated every year on the 6th of January remembering the arrival of the three Kings to bring their presents to baby Jesus. It is quite typical to have presents that day, and one of the things I got this year was an external 2.5” HD case with multimedia playing capacity. I also got a 120 Gb 2.5” HD for it.

The strongest point I had for it was that my brother already has one and it seems to support many file formats and codecs without problem. In my very short experience with it, just a few days for the moment, it has been able to reproduce all the films I have tried. The main drawback is that it only supports VFAT/FAT32 and NTFS partitions, and only 2 different partitions, no more. Thus, I had to cope with NTFS if I wanted to use the whole HD.

I created one VFAT partition as big as supported by that filesystem (32 Gb, with a file limit of 4 Gb) just in case I need it when I go to some friends’ house, and another NTFS partition for the rest of the disk. The next point was to be able to read and write to it from my Debian-powered computer. Reading NTFS is no problem at all, as it seems to be built-in in the kernel by default, but for being able to write on it, I had to use ntfs-3g. It seems to work perfect for me, on an Intel-compatible 32bit computer.



{January 11, 2007}   Connecting my MIDI keyboard to the laptop

Laptops don’t usually have as much ports as desktop computers. I used to connect my MIDI keyboard to the computer via a game port adapter. Now the game port has been to some extent replaced by USB connectors, especially in laptop computers, so I decided to get myself a MIDI-USB adapter. After searching the web investigating which device would be the best for my Debian system, I decided for the MidiSport Uno, which is elegant, compact, and compatible with Linux.

Yesterday I was finally able to test it, and it works perfectly. The only thing I don’t like is that its firmware doesn’t seem to have a free license. After some initial trials with fxload, which didn’t work due to some pipe error, I realized that it wouldn’t work under the current udev system (I’m using a 2.6.18 kernel right now), but the rule for udev I added seems to work. Ubuntu’s package for it has also helped me a lot. After installing it, I was able to test that it worked both with a direct cat from the MIDI device and using rosegarden.

There seems to be also an OSS driver supporting the MidiSport 1×1/2×2 with a GPL’d firmware, but I haven’t tried it yet. It would be nice to be able to have a GPL’d firmware in it.



{January 11, 2007}   Historia del rey transparente

Hace unas semanas leí un libro que me ha gustado mucho, se llama “Historia del rey transparente”, escrito por Rosa Montero. Es una novela transgresora, en la que se narra el crecimiento y desarrollo de una chica en un mundo medieval hostil en el que encuentra su camino haciéndose pasar por hombre y caballero. Había escrito una entrada en a bitácora en pruebas que estaba realizando, y he querido rescatarla por si a alguien le interesa.

“Soy mujer y escribo. Soy plebeya y sé leer. Nací sierva y soy libre. He visto en mi vida cosas maravillosas. He hecho en mi vida cosas maravillosas”, dicen las primeras líneas del libro.

La novela tiene tantas facetas que me cuesta describirla. La piedra angular de la historia es la evolución del personaje principal, Leola, que pasa de ser una chiquilla asustada en un mundo que la desborda a desarrollar una gran fuerza y madurez interior a través de la interacción con diferentes situaciones y personajes, entre los que destaca Nyneve, que dice ser bruja y haber conocido al mago Merlín y al Rey Arturo, amiga fiel que la guía a lo largo de todo su camino. Con el transcurrir de la historia Leola va abandonando su ingenuidad para ir descubriendo el mundo y a sí misma.

La historia se desarrolla en los siglos XII y XIII en la zona sur de Francia, entremezclando acontecimientos históricos como las cruzadas, la corte de la reina Leonor de Aquitania, y el fugaz brillo de los cátaros, que representan la bondad y la sensatez en un mundo desbocado. La autora define ese trozo de historia como un renacimiento cultural de cuyo naufragio surgirá posteriormente el renacentismo.

Todo transcurre en un mundo medieval marcado muy fuertemente por el pensamiento religioso católico, en el que se logra transmitir con mucha intensidad la forma de vivir y sentir de esa época, mostrando con crudeza la mentalidad de esos tiempos.

Enlaces:



{January 15, 2007}   Playing with usplash

I’ve been experimenting with usplash for some weeks, and it seems quite powerful. I decided to try with the latest version of the program (0.4), from Ubuntu’s repositories, which doesn’t seem to be backwards-compatible with the one that is currently in Debian (that is, 0.3e). The main idea of a theme in usplash seems to be embedding all the needed information into a shared object, including the images and the fonts, and coding the themes in plain C. This, which might seem terribly scary for non-coders, gives a lot of freedom for creating new effects in a certain theme, which is something I want to experiment.

The low-level graphical fuctions use bogl (Ben’s Own Graphics Library) and svgalib for showing, and the rest of the code is built above them. Even though I like the overall design of the project, it doesn’t really suits my needs for what I want to try. I need to implement more low-level functions for certain effects, and I’m also considering doing some changes to optimize memory used. Right now I’m doing the graphical effects in a pixmap and, right at the end, dumping that pixmap onto the real screen, which makes me adapt what I want to the canonical code of usplash, but I guess at some point I might need to make deeper changes in the code, and I might need to change the insides of usplash.
I don’t know if something useful can come out of this, or if the results will be only aesthetic, but I’ll put my code available somewhere as soon as it is ready for inspection, so I can get some comments on it. As always, ideas are welcome.



{January 16, 2007}   I might not be able to go to DebConf7

I sent an email to my boss a couple of weeks ago, asking for some days in June to be able to go to DebConf7. I wanted to buy the plane tickets as soon as I could, to be able to get a lower price. Last year they weren’t very happy about us having our holidays whenever we wanted, so this year they’ll probably decide that we must take them in August, whether we want or not. They’re having a meeting one of these days, if they find some time to do it, to discuss about that stuff, so I might find out soon whether I’ll be able to go or not. Or maybe I won’t be able to know until some days before, who knows.

I was very happy about going to EDI this year, so if I cannot go, and if the perspective is that I’ll never be able to go to a DebConf again, unless they’re in August, I might need to start thinking about finding a solution, even when it might be quite drastic. I’ll keep you informed.



{January 18, 2007}   Experiments with usplash themes

I’ve been doing some usplash-related stuff these days, but I’ve come across some problems. First of all, I want to be able to track some hardware information from within the experimental theme I’m working on, and that means reading some stuff from /proc and /etc (and maybe from /sys in the future, I don’t know yet) if it is available. It seems to work OK if I open the file handler from the beginning and keep it open, rewinding to the start of the file when I need to read its contents but never closing it until the end of execution. If I instead open the file, read from it and close it again, it seems to work properly for the beginning, but after a while it stops retrieving data. I guess that when the real root is mounted i lose the capacity to interact with the filesystem from my code, like opening new files.

The second problem is somehow related. I want to be able to save a log file of the execution of the program, but I don’t seem to be able to open a file for writing, at any moment in the execution of the program. I guess it’s the same problem, accessing the filesystem from a program that is started from initrd.img instead of from the real disk.

¿Is there any way to connect the program with gdb during real execution? I seem to be getting SEGFAULT errors with some things I try, but it’s hard to debug without any data (not even logs, as I cannot open a file for writing at any moment). Maybe being able to dump a core when a SIGSEGV signal is received would do.

More on this, in future posts.



{January 19, 2007}   More about my analysis of usplash

After my post from yesterday, I’ve been able to find out what my problem with usplash is about, although I’m stiill working in a proper solution to it.

It seems that when the root filesystem is changed, programs must react accordingly. The proposed sequence for the usage of pivot_root is something like the following:

To be able to analyze the exact starting sequence of the system stored in the initrd.img, we must expand its contents to a directory using cpio. Some time ago, initrd.img used to be a filesystem that used cramfs, minix or ext2 filesystems, but not anymore for the newer Debian systems.

The script that is responsible for setting up the system at start is called init and is currently a shell program. Having a look at it, I found out that a temporarily environment variable is set, designing the place in which the real root filesystem will be temporarily mounted before switching it to the root filesystem: rootmnt=/root

At some point later, /sys and /proc filesystems, that were mounted in their respective directories at the beginning, are moved to ${rootmnt}/sys and ${rootmnt}/proc to be set in their final destination directories: mount -n -o move /sys ${rootmnt}/sys, and later mount -n -o move /proc ${rootmnt}/proc

At the end of the script, the system switches to the real root filesystem: exec run-init ${rootmnt} ${init} “$@” <${rootmnt}/dev/console >${rootmnt}/dev/console

I’ve changed my code so that /proc/… files I used are open from the very beginning, and kept open until the end of the execution of usplash, and it seems to work. I’ve also been able to write a debug log for it, storing it in /dev/.initramfs/, which is a directory that is kept in that place all the time, so that whatever is stored there is available after the soot switch. That is the directory that usplash uses to store its FIFO nodes: usplash_fifo and usplash_outfifo. Maybe I can find a way to store core files there after a SEGFAULT error, setting the proper parameters with ulimit and /proc/sys/kernel/core_pattern.

All I need to find out now is how to be able to reach the contents of /etc/… after the final rootsystem is mounted. I’ll tell you when I’ve solved that.



{January 19, 2007}   Backtrace

I found a really nice way to trace back the execution stack inside a program, without the need of a debugger like gdb. I’ve made some test code in C that seems to work all right in my system. I doubt if it will just work in i386 systems, but it’ll do perfect for the debugging of the code I’m currently doing. It’s great.



{January 24, 2007}   Burnout

According to Wikipedia: “Burnout is a psychological term for the experience of long-term exhaustion and diminished interest (depersonalisation or cynicism), usually in the work context. Burnout is often construed as the result of a period of expending too much effort at work while having too little recovery, but it is sometimes argued that workers with particular personality traits (especially neuroticism) are more prone to experiencing burnout.”

In this web page there’s a global overview of burnout that might be useful: Burnout is a chronic condition that happens when your body or mind can no longer cope with overwhelmingly high demands. You are trapped in a state of emotional exhaustion, and it is hard to get out of that state. You stop caring about what you do, even though you may feel guilty about that fact. Even if you still continue working, it seems to be hard to make progress. You hardly accomplish anything significant, just go through the motions.

Certain categories of people and professions are particularly susceptible to job burnout. Most often these are people who are highly committed and motivated, who have high standards and idealistic dedication to their jobs.

Common burnout causes include:

For all of those burnout causes what is important is not as much the external factors that fall on you, but how you interpret them, what you say to yourself, and what actions you take in response. Finally, it is important to understand the risks of burnout in your personal or job situations. Once you are its victim, it may not be easy to get things back on track. That condition does not go away in a day. You may not be able to recover by yourself, and you may need to have drastic changes in your attitudes and life style. You are much better off preventing it now than putting your life back together later.

Some links:




about

This is a personal webpage that belongs to Miriam Ruiz.
If you want to contact her, you can do at:
webmistress(at)miriamruiz(dot)es.

pages
categories
archive
twitter
calendar
January 2007
M T W T F S S
1234567
891011121314
15161718192021
22232425262728
293031EC
upcoming events
credits
La Lista de Sinde
en isoHunt