For a long time I have a site that I made for recipes. Now, I got a module to handle in the way that I want, the uses, it's called device.
Now, in my internal ToDo, I only have to improve the import of the recipes (avoid having lines with ------~, etc). And is going to be my beta1 (after so many years).
After being in beta for some time, testing all the soft. I'm going to add the "make a buying list", that is quite simple, just an array associated to the user, that contains all the recipes selected by the user, when the user wants to see the list, is generated. All recipes are summed (quantities). for this, I have to have a list of different names for the same ingredient (like flour, flour 000 and flour 0000 are not the same, but general cooking flour is quite the same as flour 000). And also, the measurement in the different types. But it's going to be a nice improvement to my site.
Also, I have to improve the related article, so it can use tags (or title as a tag), and perhaps have a table to avoid consulting the DB too much; of related articles to related recipes. And have it shown only in the recipe view as a box like:
Or maybe floating on the bottom of the page. I have to test some ideas and view the best way to see the "related articles" in the recipe.
Mostrando las entradas con la etiqueta software libre. Mostrar todas las entradas
Mostrando las entradas con la etiqueta software libre. Mostrar todas las entradas
20141125
20110228
HP Blade and gentoo memory leaks
Hello minna san!!
I had some terrible troubles last month within two host that I have with Gentoo over HP Blade 460c G6. The problem was simple, the most IO that I generated in the host, the more memory in SUnreclaim (in /proc/meminfo).
The problem (after a log of time and testing), was solved by configuring the kernel with:
And, after a whole night of testing (that in prior test sessions in 2 hours the memory claimed up to 3 or 5 GB), was just in 80 MB the whole night.
The problem is quite known with the iommu module, but at first time I thought that was the cciss module (because everything was related with the disk IO). But after a further analysis, the iommu came across my path and then I saw a lot of bugs related to this module (and most of them were related to the memory leaks).
I had some terrible troubles last month within two host that I have with Gentoo over HP Blade 460c G6. The problem was simple, the most IO that I generated in the host, the more memory in SUnreclaim (in /proc/meminfo).
The problem (after a log of time and testing), was solved by configuring the kernel with:
# CONFIG_IOMMU_API is not set
And, after a whole night of testing (that in prior test sessions in 2 hours the memory claimed up to 3 or 5 GB), was just in 80 MB the whole night.
The problem is quite known with the iommu module, but at first time I thought that was the cciss module (because everything was related with the disk IO). But after a further analysis, the iommu came across my path and then I saw a lot of bugs related to this module (and most of them were related to the memory leaks).
20101226
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).
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).
Etiketo(j):
educacion,
english,
nihongo,
software libre
20100320
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:
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):
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.
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:
#!/bin/bash
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
$ToKill.each{|mpid|
Process.kill("KILL",mpid)
}
end
window = Gtk::Window.new
window.signal_connect("delete_event") {
puts "delete event occurred"
#true
false
}
window.signal_connect("destroy") {
puts "destroy event occurred"
Gtk.main_quit
}
buttonKillFlash = Gtk::Button.new("Kill Flash")
buttonKillFlash.signal_connect("clicked") {
msg = "Kill the following: \n"
ProcTable.ps{|ps|
if ps.cmdline =~ /flashplugin-nonfree\/libflashplayer/
msg = msg.to_s + ps.cmdline
$ToKill.push(ps.pid.to_i)
end
}
msg = msg.to_s + "?"
unless $ToKill.empty?
dialog = Gtk::MessageDialog.new(window,
Gtk::Dialog::DESTROY_WITH_PARENT,
Gtk::MessageDialog::QUESTION,
Gtk::MessageDialog::BUTTONS_OK_CANCEL,
msg)
dialog.run do |response|
case response
when Gtk::Dialog::RESPONSE_OK
do_kill_flash
end
end
else
dialog = Gtk::MessageDialog.new(window,
Gtk::Dialog::DESTROY_WITH_PARENT,
Gtk::MessageDialog::QUESTION,
Gtk::MessageDialog::BUTTONS_OK,
"Nothing to kill")
dialog.run
end
dialog.destroy
}
button_exit = Gtk::Button.new("close")
button_exit.signal_connect("clicked"){
Gtk.main_quit
}
box = Gtk::VBox.new(false,0)
box.pack_start(buttonKillFlash,true,false,2)
box.pack_start(button_exit,true,false,2)
window.border_width = 10
window.add(box)
window.show_all
Gtk.main
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.
20100302
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:
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:
That was quite useful, the very first line of the output was:
For the first time I had the proper names to call the others tables and my recipe table without the default order.
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.
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"
end
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"
end
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"
end
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"
end
end
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()
end
end
That was quite useful, the very first line of the output was:
Completed in 301ms (View: 26, DB: 0) | 200 OK [http://10.0.0.52/recipes/new?_method=get&adapter=_list_inline_adapter]
#<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.
20080824
reseña de las jornadas
No se muy bien para que, pero aquí esta la reseña de las jornadas regionales de software libre que asistí la semana pasada.
Si bien el la ubicación del lugar era bastante trasmano, y también las aulas (de hecho, había tanta distancia que preferí no ver algunas charlas que tenía ganas), pero más allá de todo, el lugar era habitable. Aunque luego de varias horas la desidratación por el aire acondicionado era inevitables, por suerte no faltó oxígeno en ninguna de las charlas que yo vi, ni me lo pareció por la cara de la gente que iba a varias charlas.
Una cosa que vi, que me pareció muy interesante (más que nada por estar en el medio), fue que gente que organizó las jornadas se llenó la boca diciendo cosas tales como que no podía ser que nadie de Perl de una charla. Lo más interesante es que nadie de Perl apareció por esas jornadas, creo que sobre todo porque habían muy pocas charlas técnicas, y algunas pocas que eran interesantes, se superponían.
Lo que yo supongo, es que año tras año, todos estos congresos y charlas se fueron poniendo mucho más políticos (u humanistas si se quiere ver de otro punto), y mucho menos técnicos. Es así que muchas charlas, que podían ser técnicas (como el hablar de licencias), terminan hablando de hermandad y otras boludeces, en vez del aspecto legal y técnico de cada licencia.
Este año me colgué y por eso no di ninguna charla, y como tengo ganas de dar una charla y de asistir a algunas más, voy a ver si se puede hacer algo (juntarnos con un par de amigos y que se den charlas, pero más informal y mucho más técnico).
Tampoco fui a muchas charlas, aunque algunas de las que vi me parecieron poco importantes (o demasiado livianas) como para ser una charla de una hora por temas puntuales. Pero por lo que vi, casi el 90% de las charlas eran introductorias, con lo que no creo que se atraiga a mucha gente técnica. Aunque viendolo desde el punto de vista más técnico, si hay algo que yo necesite saber, no voy a esperar a una conferencia para enterarme de lo que se trate, voy a investigarlo y a usarlo.
Al menos me encontré con gente de otros lugares (Leandro Doctors de San Juan, Sr. Perro de Uy, etc), que siempre me da mucho gusto verlos, aunque no siempre pueda hablar muy seguido con ellos.
Si bien el la ubicación del lugar era bastante trasmano, y también las aulas (de hecho, había tanta distancia que preferí no ver algunas charlas que tenía ganas), pero más allá de todo, el lugar era habitable. Aunque luego de varias horas la desidratación por el aire acondicionado era inevitables, por suerte no faltó oxígeno en ninguna de las charlas que yo vi, ni me lo pareció por la cara de la gente que iba a varias charlas.
Una cosa que vi, que me pareció muy interesante (más que nada por estar en el medio), fue que gente que organizó las jornadas se llenó la boca diciendo cosas tales como que no podía ser que nadie de Perl de una charla. Lo más interesante es que nadie de Perl apareció por esas jornadas, creo que sobre todo porque habían muy pocas charlas técnicas, y algunas pocas que eran interesantes, se superponían.
Lo que yo supongo, es que año tras año, todos estos congresos y charlas se fueron poniendo mucho más políticos (u humanistas si se quiere ver de otro punto), y mucho menos técnicos. Es así que muchas charlas, que podían ser técnicas (como el hablar de licencias), terminan hablando de hermandad y otras boludeces, en vez del aspecto legal y técnico de cada licencia.
Este año me colgué y por eso no di ninguna charla, y como tengo ganas de dar una charla y de asistir a algunas más, voy a ver si se puede hacer algo (juntarnos con un par de amigos y que se den charlas, pero más informal y mucho más técnico).
Tampoco fui a muchas charlas, aunque algunas de las que vi me parecieron poco importantes (o demasiado livianas) como para ser una charla de una hora por temas puntuales. Pero por lo que vi, casi el 90% de las charlas eran introductorias, con lo que no creo que se atraiga a mucha gente técnica. Aunque viendolo desde el punto de vista más técnico, si hay algo que yo necesite saber, no voy a esperar a una conferencia para enterarme de lo que se trate, voy a investigarlo y a usarlo.
Al menos me encontré con gente de otros lugares (Leandro Doctors de San Juan, Sr. Perro de Uy, etc), que siempre me da mucho gusto verlos, aunque no siempre pueda hablar muy seguido con ellos.
20080221
kio estas dict (dikt)
En la lasta afiŝo mi skribas pri dikt (angla dict). Mi uzas dict (dikt, de vortaro). En tiu programo vi povas meti malsama vortaro (ĉina, angla aŭ esperanto).
Mi uzas reta vortaro (Revo) kaj aliaj vortaro en anga lingvo.
En linukso (aŭ uniksa mastruma sistemo), uzi tio estas tre facila. En aliaj mastrumaj sistemaj ni ne scicias.
En angla lingvo, vi povas uzi la TTT-aĵo dict.org.
Mi uzas reta vortaro (Revo) kaj aliaj vortaro en anga lingvo.
En linukso (aŭ uniksa mastruma sistemo), uzi tio estas tre facila. En aliaj mastrumaj sistemaj ni ne scicias.
En angla lingvo, vi povas uzi la TTT-aĵo dict.org.
20071129
problemas "potenciales"
Ayer se aprobó en diputados la ley de delitos informáticos, de las partes que más me llamaron la atención fueron:
Esto en parte dejaría prohibidas las cyber-protestas (el que muchas máquinas hagan un GET de una página para que el server esté saturado, y otras formas), dado que están impidiendo el restablecimiento de la comunicación interrumpida.
Esto seguramente es por paranoia mía, pero no me queda claro cual es el momento en que un objeto comienza a ser "prueba". Porque si yo tengo algo cifrado, mientras lo uso no está cifrado (por ejemplo un FS), pero cuando lo dejo de usar la "llave que lo descifra" caduca y cuando lo quieran usar en mi contra ya no lo van a poder utilizar (entraría en la parte que "los altere"). Aunque seguramente que lo cifrado no tendría que caer dentro de esta ley, de lo contrario muchas cosas (cajeros automáticos, y un largo etc) pasarían a estar prohibidas.
Art. 12. Sustitúyese el artículo 197 del Código Penal, por el siguiente:
“Artículo 197. Será reprimido con prisión de seis meses a dos años, el que interrumpiere o entorpeciere la comunicación telegráfica, telefónica o de otra naturaleza o resistiere violentamente el restablecimiento de la comunicación interrumpida.”
Esto en parte dejaría prohibidas las cyber-protestas (el que muchas máquinas hagan un GET de una página para que el server esté saturado, y otras formas), dado que están impidiendo el restablecimiento de la comunicación interrumpida.
Art. 13. Sustitúyese el artículo 255 del Código Penal, por el siguiente:
“Artículo 255. Será reprimido con prisión de un mes a cuatro años, el que sustrajere, alterare, ocultare, destruyere o inutilizare en todo o en parte objetos destinados a servir de prueba ante la autoridad competente, registros o documentos confiados a la custodia de un funcionario público o de otra persona en el interés del servicio público. Si el autor fuere el mismo depositario, sufrirá además inhabilitación especial por doble tiempo.
Si el hecho se cometiere por imprudencia o negligencia del depositario, éste será reprimido con multa de SETECIENTOS CINCUENTA PESOS a DOCE MIL QUINIENTOS PESOS.”
Esto seguramente es por paranoia mía, pero no me queda claro cual es el momento en que un objeto comienza a ser "prueba". Porque si yo tengo algo cifrado, mientras lo uso no está cifrado (por ejemplo un FS), pero cuando lo dejo de usar la "llave que lo descifra" caduca y cuando lo quieran usar en mi contra ya no lo van a poder utilizar (entraría en la parte que "los altere"). Aunque seguramente que lo cifrado no tendría que caer dentro de esta ley, de lo contrario muchas cosas (cajeros automáticos, y un largo etc) pasarían a estar prohibidas.
20071022
próximas charlas
Estoy casi seguro que no voy a hacer la charla formalmente, pero voy a preparar algunas charlas (básicas) de Uso simple de GNU/Linux (entorno gráfico Gnome), Principio de regex con perl y ruby, y otras más.
En caso haya alguien que lea este blog, y tenga ganas de una charla (sobre temas de software libre y tecnologías libres), que la pida. Tal vez si no están físicamente en se complica un poco, pero estoy evaluando un sistema para dar charlas a distancias. El primero que estoy evaluando es el que hizo la gente de Ututo-desktop.
Hay una que ya casi tengo el guión, con lo cual no es que voy a comenzar de cero (es la de regex con Perl, me falta agregarle algo de Ruby).
En caso haya alguien que lea este blog, y tenga ganas de una charla (sobre temas de software libre y tecnologías libres), que la pida. Tal vez si no están físicamente en se complica un poco, pero estoy evaluando un sistema para dar charlas a distancias. El primero que estoy evaluando es el que hizo la gente de Ututo-desktop.
Hay una que ya casi tengo el guión, con lo cual no es que voy a comenzar de cero (es la de regex con Perl, me falta agregarle algo de Ruby).
20071014
ghost whisperer (s 1 y 2)
Terminé de ver el último capítulo de Ghost Whisperer. Algo que me llamó la atensión, es que Dell auspicia la parte de infromática del programa ese, o al menos da las máquinas para que aparezcan. Una cosa llamativa es que el 80% de las máquinas que aparecen son notebooks, y las máquinas usuales (desktops) no aparecen tanto, y si aparecen son en hospitales o en algún despacho. Incluso en uno de los capítulos aparece un Gnome.
La serie en general tiene un formato bastante establecido, pero ameno (aunque se torna predecible en algunas partes). Aunque algo que tiene, es una parte épica. En la primer temporada lucha con un personaje (Romano) que era un pastor de una secta suicida. En la segunda temporada ella casi muere y la reviven (en un momento muy épico) 4 niños sentados alrededor de ella.
Estoy bajando la 3º temporada para ver que tal está, pero las primeras dos están bastante buenas. Si bien no se compara tanto con Medium, aunque ambas series traten de gente muerta, creo que en la segunda están poniendo más cosas que aparecían siempre en Medium (como los sueños y las premopniciones de la personaje principal).
Por más que esta serie es agradable, no creo que sea de esas series que invito a algún amigo a ver (y yo la veo nuevamente), o de esas que vea algún que otro capítulo repetido.
La serie en general tiene un formato bastante establecido, pero ameno (aunque se torna predecible en algunas partes). Aunque algo que tiene, es una parte épica. En la primer temporada lucha con un personaje (Romano) que era un pastor de una secta suicida. En la segunda temporada ella casi muere y la reviven (en un momento muy épico) 4 niños sentados alrededor de ella.
Estoy bajando la 3º temporada para ver que tal está, pero las primeras dos están bastante buenas. Si bien no se compara tanto con Medium, aunque ambas series traten de gente muerta, creo que en la segunda están poniendo más cosas que aparecían siempre en Medium (como los sueños y las premopniciones de la personaje principal).
Por más que esta serie es agradable, no creo que sea de esas series que invito a algún amigo a ver (y yo la veo nuevamente), o de esas que vea algún que otro capítulo repetido.
20071010
cifrado para vago (mini howto)
Hoy encontré una forma bastante buena para encriptar un FS. Usé para este proposito el paquete encfs.
Lo que hace es montar un directorio en otro (tipo con el mount_null), en el destino lo que hace es verse todo sin problemas. Pero en el origen lo que hace es cifrar tanto los datos como los nombres de los archivos.
El uso es bastante simple, hace falta tener fuse-utils:
Lo que pregunta el comando encfs es algo de como lo va a cifrar, la contraseña y creo que nada más. Igualmente en la página del manual hay bastante información bien armada.
El resultado (sin cifrar):
Y el original (sin cifrar):
Lo que hace es montar un directorio en otro (tipo con el mount_null), en el destino lo que hace es verse todo sin problemas. Pero en el origen lo que hace es cifrar tanto los datos como los nombres de los archivos.
El uso es bastante simple, hace falta tener fuse-utils:
sudo apt-get encfs
sudo modprobe fuse
encfs ~/.secret ~/secret
Lo que pregunta el comando encfs es algo de como lo va a cifrar, la contraseña y creo que nada más. Igualmente en la página del manual hay bastante información bien armada.
El resultado (sin cifrar):
matias@t0001850023:~/secret$ ls
(Ebook - Pdf - Ruby) Pragmatic Programmers - Programming Ruby - The Pragmatic Programmer'S Guide.pdf
(Ebook - Pdf - Ruby) Pragmatic Programmers - Programming Ruby - The Pragmatic Programmer'S Guide.pdf.txt
esperanto
music
matias@t0001850023:~/secret$
Y el original (sin cifrar):
matias@t0001850023:~/.secret$ ls
chqMh9zwWhDf81
HOSJUcIZhVrWticIuwYvZ,OVlwNLNhwR8E9uYftFeGEoXNyzZlBYrsvp63UbAWk5xid-6B29c,unq9TUmICG-7Eya6c4toQeiXDEHAx-PC9KB9Ht,0aSlaTDme54bTAH980WjzHxfK4OEK76MGQ6j7VX
hsjZ3v081Hjf68mu9lP34WRaXqFDoshurTJESDXT6izYZ4JTkGR2PWiWWXNyzFS1-OyR2zcXh-9hDplOYc8KgOzHOelG02LbQPXdEo6COUadajdqmwGTQcn5Nyij85haLCQBEGw6kKzT1-
UNlE,lH9OOWQzfoGWVsNETht
matias@t0001850023:~/.secret$
20071007
charlas en la CaFeCONF
Ayer di las charlas en la CaFeConf. Hablando con Matías Brutti y con otros más, llegué a una conclución bastante simple:
Muchas veces yo pensaba en dar charlas más técnicas, con más contenido técnico y más complejas. Pero el problema es que vienen 10 personas, de las cuales no son simples expectadores, muchos ya tienen en mente que es lo que hace el tema, o lo podrían investigar solos.
Di dos charlas, muy orientadas a la gente que esta comenzando, y ambas estaban bastante llenas (incluso la que di en el auditorio). Lo que me hace pensar que la gente, más allá de todo, sigue queriendose meter dentro de GNU/Linux y quieren ver las charlas básicas.
También, viendo la charla de cierta gente de Ruby, me di cuenta que cualquiera da charlas. Esta persona, más allá de que se haya podido trabar un poco la lengua, hablaba bastante despacio, e incluso en un aula para 25 personas, no se escuchaba en el fondo (a unos 4 metros). Y lo que me resultó más denigrante, es que el tipo estaba comiendo chicle. Es claro que no tiene mucha idea como hacer una charla, y que lo hacía por otra razón (si le gustaba mucho Ruby, hubiese hecho algo distinto, no lo que mostró).
Algo que me agradó mucho, fue el asistir a las charlas, sin tener que hacer nada más que asistir. Llegar a dar mi charla y luego irme. Puede sonar algo malintencionado de mi parte, o al menos poco colaborativo, pero como el Viernes se me complicó por un tema personal, no fui a colaborar con nada, y el sábado ya me dió fiaca de hacer algo, y solo asistí como conferencista.
La UADE, más allá de que tiene muy buenas instalaciones, no está preparada para que en sus aulas haya tanta gente, y el aire se enrarecía bastante rápido, con lo que mucha gente tenía dolor de cabeza (yo estuve sediento constantemente). Pero más allá del detalle de que la cantidad de gente sobrepasaba la que estaba pensada en las aulas, la UADE tiene una infraestructura que no se puede comparar con otros lugares. Por ejemplo, había un brasuleño que estaba en la cola para mostrar su notebook, y una mina de seguridad se le puso a hablar en portuguéz. Más allá de que sea pura coincidencia, el hecho le suma muchos puntos a la UADE y a la gente de seguridad que tiene.
quieren mierda, pues a darles mierda
Muchas veces yo pensaba en dar charlas más técnicas, con más contenido técnico y más complejas. Pero el problema es que vienen 10 personas, de las cuales no son simples expectadores, muchos ya tienen en mente que es lo que hace el tema, o lo podrían investigar solos.
Di dos charlas, muy orientadas a la gente que esta comenzando, y ambas estaban bastante llenas (incluso la que di en el auditorio). Lo que me hace pensar que la gente, más allá de todo, sigue queriendose meter dentro de GNU/Linux y quieren ver las charlas básicas.
También, viendo la charla de cierta gente de Ruby, me di cuenta que cualquiera da charlas. Esta persona, más allá de que se haya podido trabar un poco la lengua, hablaba bastante despacio, e incluso en un aula para 25 personas, no se escuchaba en el fondo (a unos 4 metros). Y lo que me resultó más denigrante, es que el tipo estaba comiendo chicle. Es claro que no tiene mucha idea como hacer una charla, y que lo hacía por otra razón (si le gustaba mucho Ruby, hubiese hecho algo distinto, no lo que mostró).
Algo que me agradó mucho, fue el asistir a las charlas, sin tener que hacer nada más que asistir. Llegar a dar mi charla y luego irme. Puede sonar algo malintencionado de mi parte, o al menos poco colaborativo, pero como el Viernes se me complicó por un tema personal, no fui a colaborar con nada, y el sábado ya me dió fiaca de hacer algo, y solo asistí como conferencista.
La UADE, más allá de que tiene muy buenas instalaciones, no está preparada para que en sus aulas haya tanta gente, y el aire se enrarecía bastante rápido, con lo que mucha gente tenía dolor de cabeza (yo estuve sediento constantemente). Pero más allá del detalle de que la cantidad de gente sobrepasaba la que estaba pensada en las aulas, la UADE tiene una infraestructura que no se puede comparar con otros lugares. Por ejemplo, había un brasuleño que estaba en la cola para mostrar su notebook, y una mina de seguridad se le puso a hablar en portuguéz. Más allá de que sea pura coincidencia, el hecho le suma muchos puntos a la UADE y a la gente de seguridad que tiene.
Etiketo(j):
charlas,
grupo de usuarios,
sociedad,
software libre
20071004
CaFeCONF 107
Este año se va a volver a hacer la CaFeConf. Como todos los años, más allá de ser un evento algo técnico, está muy orientado a los principiantes, hay muchas charlas que cubren todos los puntos del principiante.
Yo doy dos (también para principiantes):
La de instalación de programas es obvio de que se trata. La otra es una forma de encarar búsquedas por internet, para poder conseguri mejores resultados y en menos tiempo.
Yo doy dos (también para principiantes):
- Instalando programas en GNU/Linux
- Necesito ayuda
La de instalación de programas es obvio de que se trata. La otra es una forma de encarar búsquedas por internet, para poder conseguri mejores resultados y en menos tiempo.
Etiketo(j):
charlas,
grupo de usuarios,
software libre
20071001
visita al exterior (de la ciudad)
Hace ya varios años que no salía de Capital Federal, no solo porque no tenía nada que hacer fuera, si no que tampoco tenía muchas ganas. Por más que en provincia hay muchas cosas que se pueden hacer, es bastante caótica mi vida como para pensar en hacer algo más (cada vez tengo ganas de hacer menos, o mejor dicho, hacer lo justo).
Diabolo y SAE tenían ganas de ir a Mac Station para comprar un cable que necesitaba Diabolo, y de paso yo fui a comprarme mi notebook. El lugar era demasiado costoso (costaba unos 8k) y el falabella que había tenía máquinas algo pedorras (todas sony -que me desagradan- y presario/compaq).
Ya nuevamente en capital, fuimos falabella de capital (el de corrientes y san martin). Había una Lenovo 3000 N100, que era justo lo que yo quería (algo bueno, menos de 5k AR$).
Me hubiera gustado hacer algo de quilobo y pedir que me regresen el dinero del sistema operativo que venía por defecto, siendo que no me anda bien y yo no lo voy a usar. Pero la gran sabiduría de SAE hizo mella en mí: no te gastes, no entienden nada y no van a saber que decirte. Con lo que no hice ningún escandalo ni nada. Aunque sigo con ganas de tener alguna discución con los de lenovo por el sistema operativo pedorro que me dieron.
Más allá de que no me agrada Windows®, mi problema es que anda mal. La pantalla parpadea (pero el puntero se ve perfecto) y tarda demasiado en cargar, siendo que no le instalé nada de nada. Lo que más me hace gracia es que tiene unos 15 GB solo para la instalación por defecto de Lenovo.
Diabolo y SAE tenían ganas de ir a Mac Station para comprar un cable que necesitaba Diabolo, y de paso yo fui a comprarme mi notebook. El lugar era demasiado costoso (costaba unos 8k) y el falabella que había tenía máquinas algo pedorras (todas sony -que me desagradan- y presario/compaq).
Ya nuevamente en capital, fuimos falabella de capital (el de corrientes y san martin). Había una Lenovo 3000 N100, que era justo lo que yo quería (algo bueno, menos de 5k AR$).
Me hubiera gustado hacer algo de quilobo y pedir que me regresen el dinero del sistema operativo que venía por defecto, siendo que no me anda bien y yo no lo voy a usar. Pero la gran sabiduría de SAE hizo mella en mí: no te gastes, no entienden nada y no van a saber que decirte. Con lo que no hice ningún escandalo ni nada. Aunque sigo con ganas de tener alguna discución con los de lenovo por el sistema operativo pedorro que me dieron.
Más allá de que no me agrada Windows®, mi problema es que anda mal. La pantalla parpadea (pero el puntero se ve perfecto) y tarda demasiado en cargar, siendo que no le instalé nada de nada. Lo que más me hace gracia es que tiene unos 15 GB solo para la instalación por defecto de Lenovo.
20070921
charlas de último momento
Como es usual en mí, tengo que dar dos charlas dentro de dos semanas y todavía no hice mucho. Aunque una charla la tengo bastante pensada, todavía no tengo hecha ninguna.
Incluso este año se suma que debo decidirme si uso la herramienta de presentacones de Google o si uso OpenOffice.Org (ambas son iguamente de malas para mi gusto).
Pero es muy probable que se vuelque, como otros años, por la de OOO, dado que lo exporta a PDF, y me resulta cómodo ese formato para compartir la presentación.
Si bien se que no es una herramienta libre, pero tiene la ventaja que lo puedo compartir directamente desde google, y la versión stand alone (el .zip) no es tan desagradable.
La ventaja que tiene el OOO, es que al compartir el archivo original, se peude modificar sin demasiados problemas, sin tener que tener una conexión a internet y una cuenta en google (y que yo haya puesto como colaborador a la persona que quiere modificarlo).
Incluso este año se suma que debo decidirme si uso la herramienta de presentacones de Google o si uso OpenOffice.Org (ambas son iguamente de malas para mi gusto).
Pero es muy probable que se vuelque, como otros años, por la de OOO, dado que lo exporta a PDF, y me resulta cómodo ese formato para compartir la presentación.
Si bien se que no es una herramienta libre, pero tiene la ventaja que lo puedo compartir directamente desde google, y la versión stand alone (el .zip) no es tan desagradable.
La ventaja que tiene el OOO, es que al compartir el archivo original, se peude modificar sin demasiados problemas, sin tener que tener una conexión a internet y una cuenta en google (y que yo haya puesto como colaborador a la persona que quiere modificarlo).
Etiketo(j):
charlas,
educacion,
geek,
grupo de usuarios,
internet,
software libre
20070813
usando referencias en Perl
Hoy en el trabajo tuve que hacer un código simple para mostrar el uso de referencias en Perl, en vez de pasar parámetros y recibirlos luego de llamar a la función.
El código es:
La salida de este programa es:
Una de las razones para necesitar usar referencias en vez de variables, es que el paso de variables simples copia la variable de un lado a otro, pero si uno tiene problemas de memoria, o tiene algunas variables muy pesadas (megas), puede ser necesario usar referencias para economizar recursos.
La explicación es bastante simple, al usar la "\" delante del shift (el shift regresa el primer valor del array -en este caso @_- y lo borra del array), en realidad no se hace la asignación del valor, sino de la dirección (puntero). Luego, para usar el valor del scalar, hay que llamarlo con un "$" extra. Al hacer una asignación, se hace la asignación a donde apunta el puntero, y no al puntero en sí (si se pierde todo si se hace un "$k = 0;", abortaría por intentar modificar un valor de solo lectura).
Esta es una referencia con ruby, dado que todo es una referencia, y hacer una asignación de valores es lo que es "no convencional".
El código es:
#!/usr/bin/perl -w
use strict;
sub myfun {
my $k = \shift;
${$k} = "Chau Mundo";
print "k es '" . ${ $k } . "'\n";
print "k es '" . $$k . "'\n";
return $$k ;
}
my $p = "Hola Mundo";
print myfun($p) . "\n";;
print "p es $p\n";
La salida de este programa es:
matias@t0001850023:/tmp$ perl -w k.pl
k es 'Chau Mundo'
k es 'Chau Mundo'
Chau Mundo
p es Chau Mundo
Una de las razones para necesitar usar referencias en vez de variables, es que el paso de variables simples copia la variable de un lado a otro, pero si uno tiene problemas de memoria, o tiene algunas variables muy pesadas (megas), puede ser necesario usar referencias para economizar recursos.
La explicación es bastante simple, al usar la "\" delante del shift (el shift regresa el primer valor del array -en este caso @_- y lo borra del array), en realidad no se hace la asignación del valor, sino de la dirección (puntero). Luego, para usar el valor del scalar, hay que llamarlo con un "$" extra. Al hacer una asignación, se hace la asignación a donde apunta el puntero, y no al puntero en sí (si se pierde todo si se hace un "$k = 0;", abortaría por intentar modificar un valor de solo lectura).
Esta es una referencia con ruby, dado que todo es una referencia, y hacer una asignación de valores es lo que es "no convencional".
20070807
usando Compiz-fusion en Debian Testing
Hace un tiempo había instalado Beryl en mi máquina (directamente del SVN), pero como era bastante inestable (más de lo usual para mi máquina), no lo usaba mucho.
Hoy en el trabajo, teniendo un bloqueo de programación (problema con fork y socket), me puse a despejarme instalando Compiz-Fusion. Algunas ideas las tome desde:
http://osrevolution.wordpress.com/beryl-debian/
y otras de:
http://ubuntuforums.org/showthread.php?t=481314
El resultado fue que desde mi Debian Testing, pude usar Compiz sin problemas (con todos los chiches bonitos). Me resultó muy simple de instalar, pero requiere de bastante hardware (hay un CPU que está al 100% todo el tiempo).
El único problema que tiene (y muy molesto), es que hay algunas ventanas que necesito "redimencionarlas" (desde el borde) para que se redibuje bien el contenido, porque si no no me aparece nada. U otra cosa que le pasa a las consolas, es que parece que está colgada, la tengo que redibujar para que me responda nuevamente.
Aunque en general queda muy monono.
Hoy en el trabajo, teniendo un bloqueo de programación (problema con fork y socket), me puse a despejarme instalando Compiz-Fusion. Algunas ideas las tome desde:
http://osrevolution.wordpress.com/beryl-debian/
y otras de:
http://ubuntuforums.org/showthread.php?t=481314
El resultado fue que desde mi Debian Testing, pude usar Compiz sin problemas (con todos los chiches bonitos). Me resultó muy simple de instalar, pero requiere de bastante hardware (hay un CPU que está al 100% todo el tiempo).
El único problema que tiene (y muy molesto), es que hay algunas ventanas que necesito "redimencionarlas" (desde el borde) para que se redibuje bien el contenido, porque si no no me aparece nada. U otra cosa que le pasa a las consolas, es que parece que está colgada, la tengo que redibujar para que me responda nuevamente.
Aunque en general queda muy monono.
20070726
noticias raras
ES:
Hoy me subscribí al RSS de klaku y encontré una notica muy rara para mí:
curso de python en esperanto (esperanta kurso pri pitono)
Como se suele decir: está biennn!!!!!!!!!!!!!!!!!!!!!!111
EO:
Hodiaux mi abonis al RSS de klaku kaj mi trovis noticio multe bizara pri mi:
Reta Kurso de la programlingvo 'Pitono'
Kia oni ofte diras: estas boneeee!!!!!!!!!!!!!!!!!!1111
Hoy me subscribí al RSS de klaku y encontré una notica muy rara para mí:
curso de python en esperanto (esperanta kurso pri pitono)
Como se suele decir: está biennn!!!!!!!!!!!!!!!!!!!!!!111
EO:
Hodiaux mi abonis al RSS de klaku kaj mi trovis noticio multe bizara pri mi:
Reta Kurso de la programlingvo 'Pitono'
Kia oni ofte diras: estas boneeee!!!!!!!!!!!!!!!!!!1111
20070711
el camino al anarquista
Ahora ya es oficial, o al menos lo es para mí, ya no pertenezco a ninguna agrupación de ningún tipo desde Jul 10, 2007 1:15 PM (1152504900).
El camino que seguiré ahora es el que vea por delante, ya sea acá, en San Juan, Córdoba, Bolivia, o donde sea.
El camino que seguiré ahora es el que vea por delante, ya sea acá, en San Juan, Córdoba, Bolivia, o donde sea.
Etiketo(j):
grupo de usuarios,
política,
sociedad,
software libre
20070709
mi nuevo celular
Hace tiempo que yo estaba buscando un celular, y pensaba conseguirlo a menos de 1k AR$, pero me fue imposible.
El viernes 20070706 lo obtuve por 1125 AR$ (el unos 25 pesos menos que el precio publicado). El teléfono que me compré es el A1200 de Motorola.
Las principales caracteristicas (IMHO) que tiene son:
La principal razón por la que lo compré es que yo suelo tener varios aparatos conmigo, teléfono, palm y reproductor MP4. Con este aparato dejo los tres sin problemas en mi casa y tengo uno solo conmigo.
La ventaja principal de este teléfono es que al tener OS, puedo programarle algunas cosas (y de hecho ya estoy viendo de como se puede hacver).
El viernes 20070706 lo obtuve por 1125 AR$ (el unos 25 pesos menos que el precio publicado). El teléfono que me compré es el A1200 de Motorola.
Las principales caracteristicas (IMHO) que tiene son:
- cámara de fotos de 2 MP (fotos y video)
- Herramientas de oficina simpoles (calendario, task list, visor PDF y otros formatos)
- RealPlayer (no soporta OGG) para reproducción de video y audio
- Radio FM
- varios modos de conexión USB
- Sistema operativo GNU/Linux (se pueden pedir los fuentes por mail)
- Algunos juegos
- Navegador Web Opera (lee archivos locales también)
La principal razón por la que lo compré es que yo suelo tener varios aparatos conmigo, teléfono, palm y reproductor MP4. Con este aparato dejo los tres sin problemas en mi casa y tengo uno solo conmigo.
La ventaja principal de este teléfono es que al tener OS, puedo programarle algunas cosas (y de hecho ya estoy viendo de como se puede hacver).
Suscribirse a:
Entradas (Atom)
