Miriam Ruiz
random thoughts on technology and life

{November 19, 2015}   Projects, Conflicts and Emotions

The Debian Project includes many people, groups and teams with different goals, priorities and ways of doing things. Diversity is a good thing, and the results of the continuous interaction, cooperation and competition among different points of view and components make up a successful developing framework both in Debian and in other Free / Libre / Open Source Software communities.

The cost of this evolutionary paradigm is that sometimes there are subprojects that might have been extremely successful and useful that are surpassed by newer approaches, or that have to compete with alternative approaches that were not there before, and which might pursue different goals or have a different way of doing things that their developers find preferable in terms of modularity, scalability, stability, maintenance, aesthetics or any other reason.

Whenever this happens, the emotional impact on the person or group of people that are behind the established component (or process, or organizational structure), that is being questioned and put under test by the newer approach can be important, particularly when they have invested a lot of time and effort and a considerable amount of emotional energy doing a great job for many years. Something they should be thanked for.

This might be particularly hard when -for whatever reason- the communication between both teams is not too fluent or constant, and sometimes the author or authors of the solution that was considered mainstream until then might feel left out and their territory stolen. As generally development teams and technical people in the Free / Libre / Open Source world are more focused on results than on relationships, projects are generally not too good at managing this (emotional, relational) situations, even though they (we) are gradually learning and improving.

What has happened with the Debian Live Project is indeed a hurtful situation, even though it’s probably an unavoidable one. The Debian Live Project has done a great job for many years and it is sad to see it dying abruptly. A new competing approach is on its way with a different set of priorities and different way of doing things, and all that can be done at the moment is to thank Daniel for all his work, as well as everyone who has made the Debian Live Project successful for so many years, also thank the people who are investing their time and effort in developing something that might be even better. Lets wait and see.

Source of the image: Conflict Modes and Managerial Styles by Ed Batista

{October 09, 2015}   Thick Skin (within Free/Open Source communities)

The definition of “thick-skinned” in different dictionaries ranges from “not easily offended” to “largely unaffected by the needs and feelings of other people; insensitive”, going through “able to ignore personal criticism”, “ability to withstand criticism and show no signs of any criticism you may receive getting to you”, “an insensitive nature” or “impervious to criticism”. It essentially describes an emotionally detached attitude regarding one’s social environment, the capacity or ignoring or minimizing the effects of others’ criticism and the priorization of the protection of one’s current state over the capacity of empathizing and taking into account what others may say that don’t conform to one’s current way of thinking. It is essentially setting up barriers against whatever others may do that might provoke any kind of crisis or change in you.

There are a few underlying assumptions in the use of this term as a something good to have, when it comes to interactions with your own community:

In the first place, it assumes that your own community is essentially hostile to you, and you will have to be constantly in guard against them. It assumes that it is better to set up barriers against the influence of others within your own comunity, because in fact your own peers are out there essentially to hurt you. Or, at least, they do not care a damn about you.

In second place, it assumes that changes are wrong, that personal evolution is wrong, and that the more insensitive you are to your peer’s opinions, the best, because they really have nothing to contribute to help you grow as a person. “I’m smart; you’re dumb. I’m big; you’re little. I’m right; you’re wrong; And there’s nothing you can do about it.” (from the film Matilda). Matilda’s dad is in fact the first reference that comes to my mind when we’re talking about really thick skin.


Scene of the film Matilda: I'm smart, You're dumb. I'm big, You're little. I'm right, You're wrong


When the main recommendation when the level of aggressiveness within a community is that someone has to make their skin thicker, they are assuming that a bullying environment will help the results. This is nothing new. It’s the same theoretical base that you can see in hazing and in other activities involving harassment, abuse or humiliation in college, when initiating a person into some groups. It’s supposed to build character, to make someone closer to the alpha male stereotype and, in essence, make us ‘better men’ (yes, I am using the word men on purpose, because insensitiveness is not usually seen as a positive trait in females). The assumption is that a community with a hard environment and individuals prepared for the war is more effective than a more civilized one.

Luckily, that’s not the point of view of most members of the Debian Community, and many other Free/Open Source projects. The Code of Conduct is very explicit when it says that “a community in which people feel threatened is not a healthy community”, and that is good. ” The Debian Project welcomes and encourages participation by everyone” (Diversity Statement), including those with a thin skin, and I’m happy about that. There are still a lot of things to improve, of course, but I have the feeling that -despite the occasional complains that having to be respectful to others take the fun away- we’re moving in the right direction.

“The best tip I can give you on thickening your skin = don’t.  That is, don’t thicken your skin.  Having a thin skin means you’re letting the world in, you’re letting what’s out there affect what’s in you.  It means you’re connected.  You’re open.  You’re considerate and you’ll consider it — whatever it might be.  Having a thin skin may be dangerous, sure, because you might take in so much that you pop, like that blueberry girl from Willy Wonka.  But life is dangerous. A thick skin protects you from everything, but it also protects you from everything — from the gentle touches of life, from the subtle emotions of others, the deep connections, the meaningful interactions.” (Top Ten Tips on how to Thicken your Skin).

{May 06, 2015}   SuperTuxKart 0.9: The other side of the story

I approached the SuperTuxKart community fearing some backslash due to last week’s discussion about their release 0.9, to find instead a nice, friendly and welcoming community. I have already had some very nice talks with them since then, and they have patiently explained to me the sequence of events that led to the situation that I mentioned and that, for the sake of fairness, I consider that I have to share here too. You can read the log of the first conversation I had with them (the log has been edited and cleared up for clarity and readability). I seriously recommend reading it, it’s a honest friendly conversation, and it’s first hand.

For those who don’t already know the game:

All this story seems to start with the complain of a 6 yo girl, close relative of one of the developers and STK user, who explained that she always felt that Mario Kart was better because there was a princess in it. I’m not particularly happy with princesses as role models for girls, but one thing I have always said is that we have to listen to kids and take their opinions into accounts, and I know that if I had such a request from one of the kids closer to me, I probably would have fulfilled it too. In any case, Free Software projects based on volunteer work are essentially a do-ocracy and it is assumed that whoever does the work, gets to decide about it.

So that is how Princess Sara was added to the game. While developing it, I was assured that they took extra care that her proportions were somehow realistic, and not as distorted as we’re used to see in Barbie or many Disney films. Sara is inspired on an OpenGameArt’s wizard and is not supposed to be a weak damsel in distress, but in fact a powerful character in the world’s universe.

Sara is not the only female character playable. There are a few others: Suzanne (a monkey, Blender’s mascot), Xue (XFCE’s mouse) and Amanda (a panda, the mascot of windows maker). Sara happens to be the only human character playable, male or female. While it has been argued that by adding that character, a player might have the impression that the rest of the characters would be male by default, I have been told that the intention is exactly the opposite,and that the fact that the only human playable character in the game is female should make it more attractive to girls. To some, at least.

Here are some images of Sara:

So the fact is that they have invested a lot of time in developing Sara’s model. I’m not an artist myself, so I don’t know first hand how much time and effort it takes to make such a model, but in any case it seems that quite a lot. When they designed the beach track Gran Paradiso, they wanted to add people to the beach. That track is, in fact, inspired on a real existing place: Princess Juliana Airport. Time was over and they wanted to publish a version with what they already had, so they used Sara’s model in a bikini on the beach, with the intention of adding more people, male and female, later. The overall view of the beach would be:

This is how that track shows when the players are driving in it:

Now, about the poster of version 0.9, it is supposed to be inspired in the previous poster of version 0.8.1, only this time inspired in Carnival (which is, in fact, a celebration in which sexualization of both genders is a core part). I know that there are accusations of cultural apropriation, but I couldn’t know, as my white privilege probably shields me from seeing that. Up to now, no one has said anything about that, only Gunnar explaining his point of view as a non-native mexican: “While the poster does not strike as the most cautious possible, I do not see it as culturally offensive. It does not attempt to set a scene portraiting what were the cultures really like; the portrait it paints is similar to so many fantasy recreations”. In my opinion, even when the model is done in good taste, with no superbig breasts and no unrealistic waist, it’s still depicting a girl without much clothes as the main element of the scene, with an attire, a posture and an attitude that clearly resembles carnival and, thus, inevitably conveys a message of sexualization. Even though I can’t deny that it’s a cute poster, it’s one I wouldn’t be happy to see for example in a school, if someone wanted to promote the game there.

The author of the poster, anyway, tells me that he had a totally different intention when doing it, and he wanted to depict a powerful princess, in the center of SuperTuxKart’s universe, celebrating the new engine.


About the panties showing every now and then, I’ve been told that it’s something so hard to see that in fact you would really have to open the model itself to view them. I’m not saying that I like them though, I think it would have been better if Sara would have had short pants under the skirt, if she was going to drive the snowmobile with a dress, but I’m not sure if that’s something important enough to condemn the game. The original girl mentioned at the beginning of this post seems to have found the animation funny, started laughing, and said that Sara is very silly, and that was all. It’s probably something more silly than naughty, I guess. Even though, as I said, it’s something I don’t like too much. I don’t have to agree with STK developers in everything. I guess.

There’s one thing I would like to highlight about my conversations with the developers of SuperTuxKart, though. I like them. They seem to be as concerned about the wellbeing of kids as I am, they have their own ethic norms of what’s acceptable and what’s not, and they want to do something to be proud of. Sometimes, many of these conflicts arise from a lack of trust. When I first saw the screenshots with the girl in bikini and the panties showing, I was honestly concerned about the direction the project was taking. After having talked with the developers, I am more calmed about it, because they seem to have their heart in the right place, they care, they are motivated and they work hard. I don’t know if a princess would be my first choice for a main female character, but at least their intention seems to be to give some girls a sensible role model in the game with who they can identify.


{May 01, 2015}   Sexualized depiction of women in SuperTuxKart 0.9

It has been recently discussed in Debian-Women and Debian-Games mailing lists, but for all of you who don’t read those mailing lists and might have kids or use free games with kids in the classroom, or stuff like that, I thought it might be good to talk about it here.

SuperTuxKart is a free 3D kart racing game, similar to Mario Kart, with a focus on having fun over realism. The characters in the game are the mascots of free and open source projects, except for Nolok, who does not represent a particular open source project, but was created by the SuperTux Game Team as the enemy of Tux.

On April 21, 2015, version 0.9 (not yet in Debian) was released which used the Antarctica graphics engine (a derivative of Irrlicht) and enabled better graphics appearance and features such as dynamic lighting, ambient occlusion, depth of field, and global illumination.

Along with this new engine comes a poster with a sexualized white woman is wearing an outfit that can be depicted as a mix of Native american clothes from different nation and a halo of feathers, as well as many models of her in a bikini swim suit, all along the game, even in the hall of the airport.

They say an image is worth more than a thousand words, don’t they?


{November 19, 2014}   Awesome Bullying Lesson

A teacher in New York was teaching her class about bullying and gave them the following exercise to perform. She had the children take a piece of paper and told them to crumple it up, stamp on it and really mess it up but do not rip it. Then she had them unfold the paper, smooth it out and look at how scarred and dirty is was. She then told them to tell it they’re sorry. Now even though they said they were sorry and tried to fix the paper, she pointed out all the scars they left behind. And that those scars will never go away no matter how hard they tried to fix it. That is what happens when a child bullies another child, they may say they’re sorry but the scars are there forever. The looks on the faces of the children in the classroom told her the message hit home.

( Source: http://www.buzzfeed.com/mjs538/awesome-bullying-lesson-from-a-new-york-teacher )

{January 18, 2014}   Löve is a changing project



I have just uploaded a newer version of Löve to Debian, 0.9.0. As usual, this version breaks compatibility with the API of previous versions. Literally: “LÖVE 0.9.0 breaks compatibility with nearly every 0.8.0 game“. It’s a hard to fix situation from a package maintainer’s point of view, at least until they agree on a stable API, hopefully in a 1.0 version sometime. Löve has been in Debian official repositories since 2008.

As major changes, we can see that it’s using SDL2 and LuaJIT now. Depending on where the bottlenecks were in some of the demos and games, the performance might have improved a lot. The improvements have been a lot, and the structure of the API is more consistent and clean. Congratulations to everyone that has made it possible.

On the bitter part, well, most of the previous games and demos will most likely not work any more without some changes in the code. As we don’t have any reverse dependencies in the archive (yet), this won’t cause any severe problems. But, of course, Debian is not an isolated island, and people might need to execute some old code without being able to migrate it.

I have prepared some packages for older versions of Löve that might make the situation more bearable for some, until code is migrated to the new API. These versions can be co-installed with the latest version in the archive (0.9.0). I’m not sure if it will be needed, but if it was, I might consider putting previous 0.8 version in the official repositories. I would prefer not to do it, though, as that would make me the de facto maintainer of the upstream code, as Löve community is moving forwards with newer versions.

{November 13, 2013}   How to encode a video file for an Energy Sistem 6500 MP5 device

With mencoder:

mencoder "FILE.EXT" -ofps 25 -vf-add scale=320:240 -vf-add expand=320:240:-1:-1:1 -srate 44100 -ovc xvid -xvidencopts bitrate=600:max_bframes=0:quant_type=h263:me_quality=4 -oac lavc -lavcopts acodec=mp2:abitrate=128 -o "FILE.avi"

With ffmpeg:

ffmpeg -i "FILE.EXT" -f avi -c:v mpeg4 -vtag xvid -s 320:240 -b:v 600k -r:v 25 -c:a mp2 -b:a 128k -r:a 44100 "FILE.avi"

{September 03, 2013}   pySioGame: Educational activities and games for kids

I discovered pySioGame for the first time in the first half of 2012, and even though it was still in a beta state, I liked it a lot. pySioGame is essentially a set of educational activities and games for kids.

pySioGame was initially developed by its author -Ireneusz Imiolek- for his son, but he soon decided to make it Free Software. And I’m glad that he did, because it’s a very cute application.

Even though -in it’s author’s own words- it’s hard to put age range on this kind of games, it is primarily targeted to children from as young as 3 years old, up to about 10 years old. The activities included, many of which are grid based, cover topics like maths, reading, writing, painting, and memory activities, among others.

I was finally able to upload pySioGame to Debian during the DebConf, and it has very recently hit the archive. I’m convinced that pySioGame is soon going to be one of the references among the free programs for small kids, among titles such as GCompris, ChildsPlay, PySyCache, or Bouncy. Or, even though it’s not in the archives, Omnitux.

Finally, to whet your appetite, here is the link to a video, and there go some screenshots:



{July 04, 2012}   Scratch in Debian

Scratch has finally reached Debian repositories. Scratch is a programming learning environment created by the Lifelong Kindergarten Group at the MIT Media Lab designed to be accessible by young learners (over 8 years old). Scratch makes it easy to create your own interactive stories, animations, games, music, and art through a visual interface based on blocks. Thus, beginners can get results without having to learn to write syntactically correct code first. It is powerful enough to have even been adopted as an entry-level computer language in computer science programs at different universities.

Scratch makes use of pieces of code embedded in different blocks that are shaped like puzzle pieces. That way, programming consists on putting different blocks together, which gives immediate visual feedback to the programmer about the correctness of the syntax: If the pieces fit together, then the expression is valid. Scratch programming system is so nice and easy that has been the inspiration of other systems such as MIT App Inventor or Google Blocky.

Scratch animations consist of sprites that are animated by dragging the corresponent blocks into the Scripts area of the Scratch interface. Multiple sprites can be created and interact with one another. Each of the sprites can have different looks (called “costumes” in Scratch). You can use built-in sprites, load them from files, or draw your own using a drawing tool integrated in the environment.

Scratch itself is coded in Squeak, a Smalltalk implementation derived from Smalltalk-80.

The Scratch 1.4 source went GPLv2 on March, but there were some incompatibilites with the Squeak Virtual Machine currently in Wheezy that had to be resolved first. Luckily we were able to solve them, with the help of the Scratch and the Squeak guys, so I’m happy to say that Scrach is finally available from Debian repositories.

Note: If any Scratch derivatives (such as BYOB or Panther) also need to be ported to the current version of Squeak, they should have a look at the comments in the Scratch ITP, and especially to the script uploaded by Bert Freudenberg, that replaces 90 indexed primitive declarations (removed in later versions of Squeak VM) with their named counterpart.

Note 2: This wouldn’t have been possible without all the great work and effort made by Amos Blanton and many others. Lots of thanks!


This is a personal webpage that belongs to Miriam Ruiz.
If you want to contact her, you can do at:

February 2017
« Nov    

La Lista de Sinde