Rip! esta foto es del 2007 01 13

Donde trabajo ahora

Desktop pet


my new project

For a long time I was a bit depressed, mainly because I quit my past job and the promise of a new job was dropped. And then I couldn't get a job (the interviews that I had were't good enough to me). But since July, I'm working again. The job is quite good, I have some regrets and complains, but I enjoy it (by now).

For a couple of months I'm working (not full time) in my japanese-english dictionary (web interface). The goal of this is to let some of my classmates (I'm in 2º year of japanese) to have a nice japanese-english dictionary (the actual dictionaries available are quite disgusting -lack of vocabulary-).

And other part of my project is to learn a new framework. I tested ruby on rails and others, but by now, I'm quite comfortable with Jifty (perl based MVC). The reason is that I love Perl, and, with few code, let me do some things that in ruby on rails and others, I'll have to change the default behavior, and that is quite annoying to me. But the main reason to avoid ruby on rails, is because my last project went really disgusting with that framework (a web cook book, I had some disgusting problems with the presentation of the recipes), so I'm trying to avoid it.

Now I have a local SVN, when I could everything in order, I'll put the code in google code or some other site.

The goals of my project are:
* Simple web interface (few buttons, simple list -word;definition;dict name;word type-)
* By having a word type column, I could make a filter by adj-na, adj-i, noun, whatever (really useful when you are studying Japanese).
* A radical search form (this is quite simple, I get a list of Kanji-radical, so I can make a list of radicals and search by that list in the kanjidic file/db).
* A contributed part (a kind of user comments).

Other improvements that I was minding couldn't be done (like year/level of each word), because there are many books and level definitions. And I don't have any help of a Japanese linguistic (that could give me that list -or at least, the most common word level classification-). But I think that that is quite difficult to be done (or agree with that level classification).

By now, that I did was:
* dictionary normalization and import in an SQLite3 DB.
* web interface: word list and simple ABM to add words (but I'll put this offline in stable release, or make my web with some level of authorization).

I'm having some problems with the framework, because I'm not used to code in it, but is a matter of time while I read the documentation and I get used to it.

If someone want the code, just mail me (but is quite useless right now).



Post mia aksidento en la pasinta decembro, nun mi havas (denove) mia motorciklo kun min. La problemo estis ke uno parto ne estas facila por adkirin.

Sed nun mi havas mia motorciklo


living in argentina: the common use of "vos"

In Argentina (and Uruguay) is common to hear "vos". This term is the "you", but has an interesting use and history.

In the times while Argentina were cutting relations with Spain and making its independence, the term "vos" was just to refer to the King and high functionaries of the Kingdom. When the new country was born, all the nobles lost their titles and respect. And to endurance that, the revolution speaks to everyone with the term "vos" as if everybody was noble now (as a kind of acid joke).

That term was very popular, and nowadays, is still used by everyone in this countries. As something cultural, this is very funny and shows the strange humor of the Argentinians.

There are other terms, used in the revolution of 1810, that are quite funny, as "la legión infermal" (the infernal legion), that was the main group of the revolution; the meaning of the flag (the blue and white was used by the King).


evolution and racist

The present is the consequence of the past, and the future is the result of the present.

That's a simple idea, but I think that more of the people don't get it right. I'm used to hear that "this/that don't follow the law of nature". In the nature, there is a lot of imperfections and mutations that happens all the times, babies with two heads, one arm, etc. If any kind of mutation is better than the original, then, as a result that individual maintains the specie, then that mutation will be more common, until (if everything goes OK to that mutation) will be the common denominator of the specie.

But, I think that we had to keep in mind that, the evolution as we see it now, is the result of the uncountable mutations, not a perfect path that the Nature had walked.

As an example, I can think of uncountable racist, that thinks that they are "the pure race". That is quite exotic thought to me. There isn't anything pure in any race (if african/black people, asian, etc could be think as a race, I'm not sure about that).

In the same way, are the catholics that think that be homosexual is against the God's laws and Nature. Is obvious that they don't want the homosexuals had the same rights as the heterosexual has, but the reality is more interesting. I know a lot of homosexuals (more lesbians than gays), and them are respectful and, as they know that some acts could offend some people, they don't try to kiss each other everywhere.

I don't agree very much with the way of some homosexuals don't express themselves everywhere. But, as I'm getting older, I began to get that idea more deeply. And I think that is the best thing that they can do. Everything is related to respect. If I don't respect other people, I could never tolerate an african guy, an asian, a latino, etc. And, the worst to think (specially to some caths) is that Homosexual people choose to be homosexual.

When I think about respect, is not to love or approve everything and everyone. But to think that I'm not God, I don't have the power (nor the right) to govern over other people's thoughts. And is the same in the evolution, if I don't respect that there is no order in the nature, or at least I don't try to simplifier things and think that I understood everything, evolution (or better, the some people that talks about), trends to think that be gay is against evolution, because they can reproduce.

I think that everybody had to get in touch deeply with the idea of respect. So at least, it could be less wars and less suffer (specially, less suffer).


I hate flash, but I need flash

Since past week, I switched to my desktop computer. Is a 64 bit AMD quadcore, with 4 GB ram, an NVidia 9500 GT card and 2 SATA-II disks (500 GB each).

What problem could I have with this powerful computer, simple, flash (and some movies problems, but the codecs are not supported to 64 bits yet).

So I decided to make this simple, I first made a script called kill_flash:


PID=`ps -ef|grep -i chrome|grep -i adobe|perl -lane 'print $F[1];'`
echo "pid: $PID"
kill -9 $PID
echo "RC: $?"

That was quite useful, but as when I see flash things, I'm using mostly just a browser, and was quite annoying to go to the console and type kill_flash. So I made my first ruby + gtk2 app (is short, but useful to me):

#!/usr/bin/env ruby

require 'rubygems'
require 'sys/proctable'
include Sys
require 'gtk2'

$ToKill = Array.new()

def do_kill_flash

window = Gtk::Window.new
window.signal_connect("delete_event") {
puts "delete event occurred"

window.signal_connect("destroy") {
puts "destroy event occurred"

buttonKillFlash = Gtk::Button.new("Kill Flash")
buttonKillFlash.signal_connect("clicked") {
msg = "Kill the following: \n"
if ps.cmdline =~ /flashplugin-nonfree\/libflashplayer/
msg = msg.to_s + ps.cmdline
msg = msg.to_s + "?"
unless $ToKill.empty?
dialog = Gtk::MessageDialog.new(window,
dialog.run do |response|
case response
when Gtk::Dialog::RESPONSE_OK
dialog = Gtk::MessageDialog.new(window,
"Nothing to kill")


button_exit = Gtk::Button.new("close")

box = Gtk::VBox.new(false,0)
window.border_width = 10


As you could see, this code is dirty and quick. In the future, I'll put some other buttons to make other things (like make a class to the do_kill_flash), but for now, is useful to me.

Making a gnome applet was quite difficult, and I should write more code, just to make the kill, but when I read more on that, I'll put the code here.


the education problem in Argentina (a federal problem)

For a long time in Argentina I heard that the country must be more federal, and not so concentrated around the capital city.

This is a long term problem, mostly because the main port is still in Buenos Aires, so everything is passing through this city (there is another ports inside the country, but mostly everything is still in Buenos Aires).

But in these days, the problem relays in other parts, more than just the economical importance of Buenos Aires. And that is that, if a family wants to move from one city to another, the education of the children is a problem.

In EEUU and another countries, the education program is shared among the whole country, but in Argentina, every city could manage some themes that they want to teach, relegating others. And even the when they want to teach that themes. That causes that, if somebody wants to move with his/her family, the child/ren of the family could lost the year, or must prepare some themes to give the equivalences to let this child take normal classes in the new school.

This is a mayor problem, to let the country become federal. And the most important part, is that the capital city couldn't get more people. This is an old city, that contains a lot of problems (structural problems, like the public services). And, as you could see in another cities, that there is a limit from city to city (some space without houses or buildings). Around the city you have more than 4 times of the surface of the city with the part called "Conhurbano", that is a continuous urban part from the center of Buenos Aires, to a long distance.

Ver mapa más grande

The problem of the education, increments the problems of the city, that is not prepared to host so many people (and in workdays the city increments the number because in the surrounds host a lot of workers that their jobs are in the capital city).

And as the people is not moving from (usually is moving to) the capital to the other cities or provinces, the cost in doing that is quite high.

A solution to this problem is quite simple, make a "curricula" for the whole country, that is the same in every city around the country, and respected by all the teachers (specially the time when they teach every theme).


syslog mortis, komputisto esprimado

estela@neko_vet$ /etc/init.d/syslog restart
syslog: not enough space
estela@neko_vet$ > /var/run/lung
Message from syslog: kernel panick
estela@neko_vet$ /etc/init.d/syslog restart
syslog: process died unexpectedly
estela@neko_vet$ write matias@matias_home "process syslog died unexpectedly"
matias@matias_home# tar -jcvf /dev/good_memories /home/syslog
matias@matias_home# rm -fr /home/syslog


ruby on rails and reorder the columns order in the view

This year was quite difficult to me, as I don't have a job since the 4th of January until now (2nd of March). And I think that is going to be like that for a some more time (as the interesting projects that I was offered to work in, the money is not enough, but that projects are really cool).

Well, this weekend I tried to keep going into my cook book, now in ruby, as the previous version in Perl was quite nice, but nobody would take that serious, as I did everything by myself and with my own XML definitions. The model that now I'm working is quite easy, a simple database:

ActiveRecord::Schema.define(:version => 20100302024114) do

create_table "categories", :force => true do |t|
t.string "name"
t.datetime "created_at"
t.datetime "updated_at"

create_table "ingredients", :force => true do |t|
t.string "name"
t.integer "recipe_id"
t.integer "quantity"
t.string "measure"
t.string "part"
t.datetime "created_at"
t.datetime "updated_at"

create_table "notes", :force => true do |t|
t.integer "recipe_id"
t.string "keyword"
t.text "text"
t.datetime "created_at"
t.datetime "updated_at"

create_table "recipes", :force => true do |t|
t.string "name"
t.integer "yield"
t.integer "category_id"
t.text "preparation"
t.datetime "created_at"
t.datetime "updated_at"


This is quite simple, but yet powerful enough to what I need. For example, if i ever need something like the origin of the recipe, I just could add a note titled "origin" and the region in the text field. The only problem and that I should reconsider in some time, is that some preparations have parts, for example the base, the filling and the cover (for example a lemon pie). I manage to put that in the ingredients, as some parts uses the same ingredients, but in different measures, and perhaps somebody just want to make only the filling or the cover, but not the whole meal. But having another table for the preparation, just I don't like for now (as the preparations could vary from 1 to 5 or more, that should be in a separated table).

The main problem that I had was that the documentation was quite nasty about the reorder of the columns. Every web that I found was telling how to reorder the rows (the information in the columns) by an specified column. But I want to reorder the column, and the formal documentation just don't say anything useful to me.

So, after digging a lot of time in Google, I found http://api.rubyonrails.org/ and inside that http://api.rubyonrails.org/classes/ActiveRecord/Base.html#M002294 That was the beginning of the solution.

I printed that method, the code was:

class RecipesController < ApplicationController

active_scaffold :recipe do |config|
p config.columns()


That was quite useful, the very first line of the output was:

Completed in 301ms (View: 26, DB: 0) | 200 OK []
#<ActiveScaffold::DataStructures::Columns:0x7fa930f14100 @_inheritable=[:name, :yield, :category, :ingredients, :preparation, :notes],

For the first time I had the proper names to call the others tables and my recipe table without the default order.

config.columns = [:name, :yield, :category, :ingredients, :preparation, :notes]

I know that this post was quite long and in this nasty language, but most of the people (well, programmers) just search the things in English.


the path to walk: me and the social mirror

Yesterday I was talking with a friend, and she was complying about her life. That she thinks that she is pretty, that she is fare, but others do think that she is arrogant.

What I think is that, more over that you think of your self, is important to know and to acknowledge what others say about you. But tacking care who is giving their opinion to you. I mean, when they like you, most of the opinions trend to be good. And if you are hated, trends to be (exaggerated) bad.

An opinion about yourself is important, more if that opinion shows something bad about you. And (IMHO) is good to change, even if changing something that is part of your common acting/personality. As a social being, being nice to others is important, and changing what to others is annoying is difficult, as someone could take that as an insult. But the effort and the trip of the change, could make you learn something.

I don't mean to change something that is good, just the things that for most of the people could take as annoying and that yourself could take as annoying in others (selfish, arrogant, etc). The path of the Truth is not simple or easy to walk, but enforces you and let you be a better person.


importan update about working in ACS

There are some things that I quite hate now, and is that they told me that the project was closed. So they cant hire me.

Well, now I saw a mail from a friend of me, that they told him that there are still TSM and Unix job offers.

I don't know why they first told me (about 3 or 4 times) that they want to hire me because they think that my skill are hight, but after that they just kick me without any explanation.

Please, be aware of ACS and if you can, don't work with them. Now they call themselves as ACS-INC, not only ACS.


working in ACS (or almost)

A long time passed since my last post. The main reason is that I was quite upset with my last job (at ibm), but was a personal thing with the crew that I was in. Then ACS came to my life. Some people called me from Mexico to tell me that they was looking someone with my skills (I'm certificated at TSM Admin, I have a large Unix experience and I'm a programmer also).

The first week of January they told me that they want to contract me as soon as possible. So I would begin to work with them the 11th of January. So the previous week I quit at IBM, and I prepared my self to make the movement to Cordoba Capital (they have the office there, 800 km from where I'm now). I had in mind that, as I haven't signed anything, I wasn't working with them, but they continuously called me to make my self comfortable. But at last time on the Thursday, they called me and said that the project is suspended, they was going to call me on Friday. But hey didn't.

On Monday (2009-01-11) I sent them an email to ask for news. But noting happened.

On Tuesday (2009-01-12) I sent another mail, coping more people, asking if the job offer is still there or I lost that, or any news. On that day, at my afternoon, they called me to tell me that the offer is canceled. That I have a nice profile to work with them, but the project was canceled.

So now, Sunday (2009-.01-17), after I paid for some fees for not making the moving of my stuff (but I have the packaging at home just to pack everything and be sent to Cordoba), I'm still in Buenos Aires, and I'm think that I'm going to work for some time in Unix.

I don't know if I would take in serious the world of ACS for now on, but I think that they didn't do this on porpoise. But the fact is that I'm unemployed now, and the firm that was going to hire me, just canceled the project didn't tell me anything else (nor any monetary compensation, or any other job proposition).

I don't know if this is normal to them, but be aware.