jueves, febrero 28, 2013

Apuntes de un curso de tecnología de base de datos

Hace unos días, mientras buscaba información sobre algoritmos de tablas hash con respaldo en disco, di con la web de un curso sobre tecnologías y algoritmos usados en bases de datos de la Universidad de Toronto, concretamente Database System Technology CSC443

El programa incluye algoritmos comúnmente usado en base de datos como árboles B+ o índices hash, o una pequeña introducción a la búsqueda de textos con ayudas de índices inversos. Decir que parte de los algoritmos descritos en este curso pueden verse en Berkeley DB.

Otra referencias sobre bases de datos es el artículo que describe las ideas detrás de la implementación de Berkekey DB, LIBTP: Portable, Modular Transactions for UNIX


Technorati Tags: ,

martes, febrero 26, 2013

vim: Edición de varios ficheros simultáneos. Buffers, ventanas y pestañas.





Cuando una persona comienza a trabajar por primera vez con vim, puede pensar que es un editor que no es capaz de manejar varios ficheros a la vez, siendo necesario ejecutar varias copias del mismo simultáneamente, cada una de las cuales se usaría para editar un fichero distinto. Esto no es cierto, porque vim  tiene un potente mecanismo de buffers, ventanas y pestañas que permite desde un sólo proceso editar múltiples ficheros.

En vim:

  • Un buffer no es más que un fichero cargado en memoria para la edición. Todas las modificaciones que se realicen se hacen sobre este buffer. El fichero original que se está editando no se modifica hasta que no se da una orden de escritura. Existen ciertos buffer que no hacen referencia a ningún fichero
  • Una ventana no es más que una vista de un buffer de terminado. Puede haber más de una ventana que muestre contenidos del mismo buffer. Para que vim pueda usar varias ventanas debe de haberse compilado con soporte para las mismas.
  • Una pestaña no es más que un conjunto de ventanas.

Buffers

Cuando se comienza a editar un fichero con vim desde la línea de comandos, vim creará un buffer para cargar el contenido del fichero y creará una ventana donde mostrar el contenido de ese buffer. Cualquier orden que implique la edición de un fichero como :new o :edit creará automáticamente un buffer asociado al mismo, y lo añadirá a la lista de buffers que tiene vim.

Un buffer en vim puede estar en cualquiera de estos tres estados:

  • Activo (active), en dicho caso el contenido del buffer está mostrado en una ventana.
  • oculto (hidden), el buffer no se muestra en ninguna ventana.
  • Inactivo (inactive), el buffer no se muestra en ninguna ventana y no tiene contenido2.

Un buffer cuyo contenido se muestra en una  ventana puede ocultarse con la orden :hide - siempre que no sea el último buffer en la lista, en cuyo caso dará un error -. También este comando puede usarse para iniciar la edición de un fichero ocultando el buffer actual sin necesidad que tengamos que salvar los cambios. Si estamos editando un fichero f1.txt, modificamos su contenido e introducimos la orden :e f2.txt para editar el fichero f2.txt, si no se ha grabado previamente el contenido de f1.txt vim dará un error advirtiéndonos que el fichero ha sido modificado y no se ha grabado. Sin embargo, si es edita con :hide e f2.txt, el buffer que coniene el fichero f1.txt dejará de mostrarse en la actual ventana, pasará a estar oculto y la ventana tendrá asociado ahora el buffer con el fichero f2.txt. Este comportamiento puede verse en las siguientes capturas de pantalla



Se puede añadir buffers con la orden :badd file, la cual añadirá a la lista el fichero file, pero sin cargarlo en memoria. Esto último sólo sucederá cuando seleccionemos dichos buffer para mostrar su contenido en una ventana.

Para ver los buffers que actualmente tiene vim cargados se puede usar cualquiera de las siguientes tres órdenes: :ls,:buffers o :files. Para movernos por dicha lista se pueden usar las órdenes :bnext y :bprev. Para poder cambiar de un buffer a otro, si éste tiene cambios se deben de escribir, o bien usar las órdenes :bnext! o :bprev! las cuales descartarán los cambios realizados antes de mostrar el buffer siguiente o anterior en la lista. También existen comandos para irnos al primero, :bfirst o al último :blast. Estos comandos también admiten la forma :bfirst! o :blast! para descartar los cambios actuales antes de irse al primer o último buffer de la lista.

Para los que estén acostumbrados a interfaces MDI puede ser interesante en modo normal mapear la secuencia de teclas CTRL-TAB y CTRL-SHIFT-TAB para que vaya rotando por la lista de buffers, cosa que puede hacerse con los siguientes mapeos de teclas:


:map <C-Tab> :bnext<cr>
:map <C-S-Tab> :bprev<cr>

Ventanas

Las ventanas no son más que vistas de un buffer determinado. Cuando se comienza a editar un fichero nuevo con vim, se crea el buffer asociado al mismo, y se crea una ventana que nos muestra el contenido de dicho buffer. A partir de aquí podemos crear varias ventanas, que utilicen el mismo buffer o distintos, y que la división de la misma sea vertical u horizontal.  Si se usa las combinaciones de teclas por defecto que trae vim, a partir de una ventana, podemos dividir la en dos horizontalmente si usamos la combinación de teclas por defecto, en modo normal, CTRL-W s dividirá la ventana actual en  dos, cada una de las ventanas haciendo referencia al mismo buffer,  Pero también podemos dividir la ventana verticalmente si usamos la combinación de teclas CTRL-W v, como puede verse en las dos capturas de pantalla siguientes. También puede crearse una ventana que haga referencia a un buffer vacío para empezar a editar un fichero nuevo CTRL-W n, que en este caso siempre divide la ventana actual horizontalmente.


División horizontal

División vertical

Las dos capturas anteriores sirven de ejemplo de como tres ventanas diferentes hace referencia al contenido del mismo buffer.

Para movernos entres las diferentes ventanas se usa CTRL-W + cursores , o si se prefiero CTRL-W j (abajo), CTRL-W k (arriba), CTRL-W h (izquierda) o CTRl-W j derecha, que realmente son las teclas de movimiento del cursor de vim en modo normal precedidas de la pulsación del CTRL-W. Para cerrar una ventana, se usa CTRL-W c, eso si, suponiendo que no esté modificada, y que en este caso no sea la última ventana que utilice dicho buffer

Todas las combinaciones anteriores de teclas tiene las correspondientes órdenes que puede ejecutarse desde el modo comando, que además admiten parámetros opcionales, que permiten pasar, por ejemplo, el tamaño de la ventana a hacer la división o lo que es más importante, el nombre del fichero nuevo que se desea editar. Así por ejemplo para dividir la ventana actual y cargar el fichero hola.txt en la misma sea usa :split hola.txt - si se quiere  la división vertical :vsplit hola.txt, mientras que si se quiere crear una ventana en la que exista un buffer vacío para poder empezar a editar se puede usar :new o :vnew.

Todo esto es una breve introducción a como usar las ventanas, ya que si se consulta el fichero de ayuda de windows.txt, puede verse que existen multitud de opciones y comandos que sirven para tener un control exacto sobre lo que se quiere hacer. 

Pestañas

Par el uso de pestañas en vim, podéis consultar Vim: Uso de pestañas (tabs), una entrada de este mismo blog que escrita hace algún tiempo.

Referencias

  1. Puede verse la ayuda de vim desde el modo comando con :help windows.txt
  2. Editing more than one file
  3. Splitting windows
  4. Vim buffer FAQ
  5. How do you prefer to switch between buffers in Vim?

Notas

  1. Puede ser abreviada como e
  2. Se utiliza para recordar opciones de buffers que han sido cargados previamente.

Technorati Tags: ,




lunes, febrero 25, 2013

Entrevista en Sintetia a Benito Arruñada sobre dación en pago

Esta mañana me llegaba varios tweets a la entrevista a Benito Arruñada, catedrático de Organización de Empresas en la Universidad Pompeu Fabra. En la misma, Benito Arruñada da sus razones por las cuales cree que la dación en pago con caracter retroactivo que ciertos grupos propones es una mala idea, que realmente no va a beneficiar a las personas con rentas bajas que por diversos motivos no puede pagar la hipoteca y si va a beneficiar a aquellas personas, que pudiéndo pagar las hipotecas, sus casas valen menos que el valor de la deuda. Algunos párrafos de la misma


Se habla de bancos y banqueros; pero más bien habría que hablar de cajas de ahorros y de contribuyentes, que ahora somos sus propietarios. Las antiguas cajas son titulares de más del 60% del crédito hipotecario y este porcentaje es más alto para hipotecas en impago. Para las cajas nacionalizadas, que son la mayor parte, habríamos de pagar la factura los contribuyentes.

Pero, quizá más importante, es que la dación no es el instrumento adecuado para proteger a los más vulnerables: a quién sí protege eficazmente es al deudor especulativo, pues le permite minimizar sus pérdidas a costa del contribuyente.
Hacen falta medidas asistenciales eficaces, mejor dotadas y más enfocadas a identificar a los necesitados. Es preciso potenciar la red asistencial, aumentando sus recursos. Pero la asistencia debe basarse en la necesidad, y no en el hecho de haber tenido el privilegio, la mala suerte o la osadía de haber contratado una hipoteca o de haberse entrampado en créditos personales. No creo que debamos tratar mejor al parado que compró vivienda que al parado que no lo hizo, a quién vendió su piso de 50 metros para comprar otro de 70 que a quien se quedó en el de 50. Hemos de atender a todo el que pase necesidad y cualesquiera que hayan sido sus decisiones. Lo peor que podemos hacer contra las personas humildes es permitir que no se cumpla la ley, incluso para ayudar a aquellas que están hoy en necesidad: esa ayuda puntual lleva a que nadie quiera contratar con ninguna de ellas en el futuro.

Lectura totalmente recomendable, porque pone un punto de sensatez en los artículos escritos con las tripas que he leído sobre la dación en pago, en especial, aquellos que piensan que no tendrán consecuencias para los que dicen defender.


Technorati Tags: ,

domingo, febrero 24, 2013

Perdido perro de un familiar en la zona de los Berrocales del Jarama

Estamos buscando a Toti, un bulldog francés blanco con manchas negras, perdido el sábado 23 de Febrero en la zona de los Berrocales del Jarama. Si alguien
lo ve, por favor me deje un mail a carlos.terron at gmail.com o un comentario en la entrada. Gracias.



viernes, febrero 22, 2013

Algunas notas rápidas de valgrind (III): Análisis de uso de memoria dinámica

Valgrind tiene una herramienta que permita analizar el consumo de memoria dinámica que realiza un programa,analizando el heap del mismo. Esta herramienta es massif. Para realizar el perfilado de un programa usando dicha herramienta hay que ejecutarlo bajo valgrind con los siguientes parámetros:


valgrind --tool=massif programa arg1 arg2 ....

Una vez que acabe la ejecución del programa bajo valgrind, se generará un fichero en el directorio desde donde se ha lanzando massif.out.pid, siendo pid el que el sistema le ha asignado al proceso para su identificación. Aunque el formato de este fichero es de texto, es mejor usar alguna utilidad que obtenga la información del mismo, dándonos una representación gráfica de los resultados obtenidos.

Una primera utilidad para obtener dicha representación es ms_print,incluido en el propio valgrind, que nos sacará un gráfica en modo texto de cual ha sido el patrón de uso de memoria dinámica que ha usado el mismo. Esta manera de sacar la información no es muy práctica, es mucho más útil usar un programa gráfico como Massif Visualizer, para el entorno KDE.

Con Massif Visualizer es sencillo encontrar aquellas zonas del programa que están haciendo más uso de memoria dinámica, incluyendo la traza de la pila que lleva a ese consumo.

Sin embargo, hay que tener en cuenta donde massif se engancha para medir memoria: malloc,calloc y compañeros, pero no se engancha en algunas llamadas básicas sobre las cuales están construidas las anteriores como mmap o brk. Para poder medir la cantidad de memoria reservada a través de estas funciones es necesario usar el argumento --pages-as-heap=yes. Otras dos opciones importantes de configurar es el número de instantáneas detalladas que el programa capturará durante la ejecución y la frecuencia con la que éstas instantáneas son realizadas. El parámetro --detailed-freq=n - n por defecto 10 - nos dice del total de instantáneas, de cuantas se guardará información detalla. Si este valor es 10, significa que de 1 de cada 10 se almacenará información. Para almacenar información de todas, hay que darle el valor 1. El argumento --max-snapshots=n, para indicar el número de instantáneas que dejaremos almacenada. Si aumentamos estos números, la ejecución de valgrind necesitará de más recursos.



Technorati Tags:

martes, febrero 19, 2013

Un fin de semana por la costa cántabra (III)


Amaneció despejado el último día de nuestro viaje. Tras desayunar y recoger las maletas, nos pusimos de nuevo en camino en dirección a tierras asturianas. Nuestro plan era pasar por Covadonga, comer por la zona, luego ir a Cangas de Onís para comprar algunos quesos asturianos, para poner por fin rumbo a Madrid.

Atrás quedaban las tierras cántabras, no habiendo podido visitar pueblos tan bonitos como San Vicente de la Barquera o Santilla del Mar, cosa que si habíamos hecho en otra ocasión anterior. No dieron para mucho más los tres días, y a pesar del radiante sol que invitaba a dar un paseo por cualquiera de los dos pueblos, sabiendo que nos quedaba un largo trecho hasta Madrid, pusimos rumbo a poniente para buscar la A8 con dirección a Unquera, con la idea de ir hasta Panes, para desde allí adentrarnos en el Parque Nacional de Picos de Europa con dirección hacia Cangas de Onís.

La carretera que une Panes con Cangas de Onís, la AS-114, serpentea paralela al río Cares hasta llegar al Concejo de Cabrales, donde se elabora el famoso queso azul. Ya en el concejo, tras pasar la población de Poo de Cabrales, hicimos una pequeña parada en el mirador del Pozo de la Oración, lugar desde el cual se puede divisar una de las cimas míticas de la Cordillera Cantábrica, el Naranjo de Bulnes o Pico Urriellu.

Condición necesaria es que haya un día despejado, cosa que no pasó, como pueden apreciar en la siguiente fotografía. La complemento con otra tomada hace unos años para que vean cual es la vista cuando las cimas no están cubiertas de nubes


El macizo del Naranjo de Bulnes totalmente cubierto por las nubles, desde el Mirador del Pozo de la Oración

Picu Urrielu, el Naranjo de Bulnes, desde el Mirador del Pozo de la Oración

Una vez que llegamos a Cangas, tomamos la carretera con dirección al Santuario de Covadonga para visitarlo. Justo antes del Santuario, arranca la carretera que sube a los Lagos de Enol. Habiendo subido varias veces hasta los mismos y sabiendo que había nieve en las cumbres, no pudimos sino pensar como podría ser la subida en esta época. Reconozco que me encantaría un buen día de invierno tras una nevada subir a fotografiar los Lagos, porque si ya uno disfruta de los paisajes de la zona, verlo cubierto por un manto de nieve debe ser sencillamente espectacular.

Tras la visita al Santuario, nos fuimos a comer a uno de los muchos restaurantes que bordean la carretera entre Cangas de Onís y Covadonga. Nos paramos en el mismo sitio de siempre, y haciendo honor a mi tradición volví a cometer el error de pedir un cachopo que no hubo pantalones de acabarse dado su tamaño. Parece que cada año que paro en el mismo sitio, la ración ha crecido un par de centímetros ...

Desde el aparcamiento del restaurante donde comimos tomé la siguiente foto de la Basílica de Santa María la Real de Covadonga


Basilica de Santa Maria la Real de Covadonga

Nuestra estancia en tierras asturianas iba llegando a su fin. Tras una breve parada en una de las muchas tiendas de productos típicos asturianos situada en la Avenida de Covadonga en Cangas de Onís, para cargar nuestras alforjas con unas fabes y un buen surtido de quesos asturianos, la peral, gamoneu, ahumado de Pría, so sí, con dos exquisitos intrusos de estas tierras como el cantábro Tres Visos y el leonés Azúl de Valdeón, ya para poner rumbo a Oviedo y de ahí a Madrid por la ruta de la Plata.

Un descubrimiento que he hecho en este viaje es la web del Instituto Geográfico Nacional, la cual me ha permitido buscar los nombres de diversos toponimos de la zonas que he ido visitando. No dudo que la información de Google maps sea completa, pero reconozco que me gustan mucho más la información que me ofrecen los mapas que ofrece el instituto.


Technorati Tags: ,

sábado, febrero 16, 2013

Un fin de semana por la costa occidental cántabra (II)


El día anterior, comiendo en Barras y Tapas vimos varias fotografías de la costa de la zona expuestas en el restaurante. Le preguntamos a los camareros si era fácil llegar al sitio donde estaban tomadas dichas fotografías. Nos contaron que la zona se llama El Bolao. Para llegar a la misma hay un pequeño camino rural que arranca a la orilla de la carretera C-6316. El camino atraviesa varios prados, donde podía verse ganado pastando, hasta llegar cerca del borde de los acantilados.En esta zona un río ha erosionado el acantilando, dando lugar a un pequeño salto de agua, junto al cual están los restos de un antiguo molino fluvial. En éste se molía el maíz para obtener harina. Actualmente sólo quedan las cuatro paredes del recinto.


Acantilados del Bolao, Cóbreces , Cantabria

Acantilados del Bolao, Cóbreces , Cantabria

Antiguo molino de El Bolao

Después de la visita a la zona de El Bolao , decidimos volver a Comillas para visitar Villa Quijano más conocido como El Capricho de Gaudí, una residencia de verano construida al lado del Palacio de Sobrellano. El Capricho fue diseñado por Antonio Gaudí, aunque él no se encargó de la construcción y la dirección de la obra, delegando su labor en su compañero de promoción Cristóbal Cascante. La siguiente foto se hizo desde el jardín de la casa. Se puede apreciar el estilo oriental de la construcción, la torre terminada en un alminar persa y lo cerámica con motivo de girasoles que la decora.


Capricho de Gaudí (Comillas)

Tras recorrer el edificio y sus jardines, decidimos ir a la cercana Suances para comer. Tomamos la carretera que une Comillas con Santillana del Mar, para desviarnos por una carretera local justo antes de llegar a esta última población. Llegamos a Suances por la S-474, que discurre casi paralela a la costa. Allí nos fuimos a comer a un restaurante situado al borde de un acantilado desde el cual se tiene una amplia vista de la Playa de Los Locos, situada a poniente de la Punta del Torco, un pequeño apéndice de tierra que se adentra en el Cantábrico. En esta zona también está el faro de la localidad, que sirve de guía en esta agreste costa. La siguiente foto de la playa de los Locos la hicimos desde lo alto del acantilado


El curioso nombre de esta playa deriva de un antiguo manicomio situado cerca de dicha playa (al menos es la información que he obtenido de aquí)

Tras sacar algunas fotografías, decidimos acercarnos al faro que está al final de la Punta del Torco de Afuera. Este faro fue construido en 1861 para señalizar la peligrosa entrada del puerto de Suances. Actualmente tiene un alcance de 22 millas náuticas.


Faro de la Punta del Torco de Afuera

Punta del Dichoso, desde la zona del faro.

De nuevo en carretera, volvimos sobre nuestros pasos hasta Tagle, donde nos acercamos a conocer su playa, llamada el Sable, de arena dorada, con unos doscientos metros de longitud está situada entre dos promontorios rocosos. El mar estaba bastante movido cuando llegamos, se podía ver batir en las rocas levantando espuma.


Playa el Sable, Tagle, Cantabria

Acantilados de Poniente de la playa el Sable, Tagle, Cantabria.

Como iba atardeciendo, decidimos irnos a tomar un café a Suances, para luego irnos al apartamento rural y descansar, ya que al día siguiente teníamos que volver a Madrid, no sin antes pasar por tierras asturianas para visitar Covadonga y comprar algunos quesos de la región.


Technorati Tags: ,

miércoles, febrero 13, 2013

Un fin de semana por la costa occidental cántabra (I)

El pasado mes de Noviembre, aprovechando que teníamos un día festivo en Madrid por celebrarse la fiesta de la Virgen de la Almudena, decidimos pasar unos días en la zona de la costa occidental de Cantabria, y aprovechar para recorrer algunas de las poblaciones entre Unquera y Suances. Tras buscar por Internet varios alojamientos, decidimos alquilar un pequeño apartamento rural en la villa de Cóbreces, pequeña localidad que pertenece al municipio de Alfoz de Lloredo.

Como nos suele pasar en estos viajes salimos casi de noche. A pesar del mal tiempo que hacía en Madrid, conforme subimos hacía el Norte de la península el tiempo fue poco a poco fue mejorando. Con las paradas de rigor, tardamos unas cinco horas y media en llegar a Cóbreces, llegando a Las Fontanías - los apartamentos rurales donde nos alojamos - cerca de la medianoche

La mañana, como suele ocurrir por estas tierras, amaneció con lluvia, aunque escampó pronto. Tras prepararnos salimos y pudimos ver el paisaje alrededor de los apartamentos donde nos alojábamos: casas agrupadas en núcleos relativamente pequeños, destacando dos construcciones arquitectónicas en la zona, la Iglesia de San Pedro ad Víncula y la Abadía Santa María de Viaceli. Cercano al pueblo está la playa de Luaña.

En la abadía de Santa María, actualmente habitada por la orden de la Trapa, se elabora un riquísimo queso elaborado a partir de leche de vaca.No dejen de probarlo si tienen ocasión.

Decidimos poner rumbo por la C-6316 hacía Comillas. Entramos en la villa por la zona de la playa, desde donde se puede ver el paseo marítimo, la Fundación Comillas, el muelle pesquero y el antiguo cementerio de la población. Aparcamos cerca del muelle, desayunamos en uno de los bares de la zona y nos fuimos a dar un paseo por la zona. El día estaba algo plomizo y frío, pero eso no quitaba que fuera muy agradable pasear por el paseo marítimo que discurre paralelo a la playa. Desde el mismo hice la siguiente foto de un barco saliendo del muelle pesquero.


Barco navegando frente a la playa de Comillas

Volvimos sobre nuestros pasos para ir a un paseo que había en la zona alta del muelle, desde donde se podía divisar un buen trozo de la costa de la zona occidental de la población. El muelle está construido en una pequeña punta que se adentra en el mar, limitado por unos acantilados y por un dique que lo protege del Cantábrico. Sobre estos acantilados hay varios caminos por los cuales se puede pasear. Uno de ellos arranca junto al muelle, y lleva a una zona sobre el acantilado desde donde tomamos esta foto de la costa.


Costa cántabra, desde Comillas

Tras bajar de nuevo a la zona del muelle, volvimos a Cóbreces para comer. A pie de carretera, descubrimos el restaurante Brasas y Tapas, donde comimos bastante bien. Además, preparaban comida para llevar, cosa que nos solucionó las cenas, al estar el restaurante muy cerca del apartamento rural.

Después de comer nos fuimos de nuevo a Comillas. Éramos conscientes que a estas alturas de año, oscurecería pronto, no teniendo demasiado tiempo para visitar y fotografiar la antigua Universidad Pontificia de Comillas, hoy sede de la Fundación Comillas. Una vez aparcado el coche, nos dimos una vuelta por los alrededores de los edificios. Siendo relativamente tarde, no nos dio tiempo a visitar el interior, pero si disfrutar de un agradable paseo por la zona de los alrededores de los edificios. Al estar situado en lo alto de una colina, se tiene una amplia vista sobre la Villa de Comillas y el mar. Aunque caía la tarde y había poca luz, nos dio tiempo a hacer algunas fotografías.


Villa de Comillas

Palacio de Sobrellano

Intentamos hacer algunas fotos de los edificios de la Fundación, pero no quedamos demasiado satisfechos con de las mismas. Suponemos que es mucho mejor fotografiar los edificios a otra hora del día, con más luz y usar un gran angular.

Cuando cayó la noche, relativamente pronto en esta época del año, nos fuimos al apartamento a cenar algo y descansar para el día siguiente.


Technorati Tags: ,

lunes, febrero 11, 2013

Gloriosa la entrevista a Francisco Polo, director de Change.org

Acabo de leer un trozo de la entrevista al director de Change.org que publica hoy Jotdown. La plataforma Change.org. He parado de leer la entrevista tras estas respuestas:

Tenemos dos tipos de controles. Los automáticos, para ataques de bots o de spam. Desde San Francisco, nuestros técnicos, cuando ven un envío masivo, lo corrigen. Y luego hay un control manual. Cada cierto tiempo revisamos peticiones para ver si alguna sobra. Además, si la dirección es falsa, ese correo rebota y también lo detectamos.
No podemos evitar que una persona entre una segunda vez con un segundo correo electrónico. O incluso con el mismo correo pero desde una IP diferente. Lo reconozco, del mismo modo que en Facebook no se puede evitar que se creen dos perfiles.
Tú me estás proponiendo que tengamos sistemas de detección automática. Nosotros, por una cuestión de equilibrio entre la usabilidad del sitio y la fiabilidad de las firmas, hemos decidido optar por este sistema, que nosotros creemos que es más sofisticado y hace la plataforma más usable. La mayor parte de la gente solo viene a firmar, sin intenciones aviesas.

Hay que felicitar al autor de la misma,Javier Gómez, porque ha puesto encima de la mesa en las preguntas los posibles problemas que tiene la plataforma, aunque Francisco Polo hace un ejercicio de escapismo y falta de transparencia en las antípodas de lo que defiende.Ojalá el habitual periodismo político fuera la mitad de incisivo...

Una plataforma online no puede permitirse un director general que da ese tipo de respuestas a temas tan importantes de seguridad. Para quien quiera profundizar en el tema, que vea Respuesta al director de Change.org Españaz por parte de Ricardo Gallir.


Technorati Tags:

sábado, febrero 09, 2013

vim: Modos básicos


Una característica peculiar del vim es que es un editor modal. Según el modo de funcionamiento en el que se encuentre en un determinado momento, se podrán realizar unas acciones u otras.

Los modos originales del vi o vim

El vi original tiene tres modos: El modo normal, el modo de insercción y el modo de línea de comandos. El vim se comporta exactamente igual que el vim original en estos modos. A continuación se describen los tres:

  • Modo normal:

    Este es el modo normal en el que el vim comienza su ejecución. Para moverse, buscar o borrar el texto que se está editando. Desde este modo se puede pasar a cualquiera de los otros dos. Si se pulsa los :,/,? o !, se pasará al modo línea de comandos. Si se introduce uno de los comandos que permiten la edición de texto como i, I,a,A,o,O,c,C,s,S, el editor pasará automáticamente a modo edición.

  • Modo de inserción:

    En el modo edición se usa para introducir nuestro texto en el buffer que estamos editando en ese momento. Para salir de dicho modo y volver al modo normal, se pulsa la tecla ESCAPE (ESC). No se puede pasar del modo de edición al modo de comandos directamente.

  • Modo de línea de comandos

    En modo de comandos se tienen diferentes opciones en función del mecanismo que se use para activarlo. Si se llega a través de los comandos de búsqueda, / o ?, se ejecutará una búsqueda dependiendo de las opciones que se le pasen al editor. Si se llega a través de : se podrá introducir diferentes comandos que el vim ejecutará. Por último si se llega a través de !, se podrá ejecutar una orden del sistema tras el signo de admiración que use el texto del buffer actual como entrada. Para salir de este modo, se puede pulsar ESCAPE (ESC)1, cancelándose la orden que se estuviese introduciendo y volviendo a modo normal, pulsar ENTER - realmente una combinación que produzca un retorno de carro o una nueva línea -, pulsar CTRL-C para cancelar el comando.

    Desde el modo de línea de comandos se puede pasar al modo de edición con :start

Lo anterior queda recogido en este pequeño esquema:


Los modos nuevos en vim

Vim tiene una serie de modos nuevos adicionales a los descritos en el apartado anterior. Estos son:

  • Modo visual.

    El modo visual se utiliza para seleccionar texto y aplicarle los operadores que se deseen. Desde modo normal pasamos a visual pulsando v - con lo que el bloque se seleccionará carácter a carácter -, V - en este caso el bloque se seleccionará línea a línea - o CTRL-V - que se puede usar para seleccionar un bloque completo de texto -. Una vez que se acaba de seleccionar, se pueden hacer una serie de operaciones, aunque éstas varían según se haya seleccionado el texto en bloques, líneas o caracteres.

  • Modo de selección

    Este modo es muy simular a la manera de seleccionar texto que existe en las aplicaciones de Microsoft Windows. Como entrar en este modo depende del valor de la variable selectmode. Puede entrarse en este modo si se selecciona con el ratón un área de texto2, con pulsar un comando que mueva el cursor junto a la tecla shift3 - siempre que esté configurado5, las mismas teclas usadas en el modo visual , siempre que selectmode contenga la palabra cmd, o bien desde modo normal con los comandos gh o gH, según se quiera seleccionar trozos de texto por caracteres o por líneas.

    En este caso, si se escriben caracteres que pueden ser representados en pantalla o se pulsa enter4, vim borrará el texto seleccionado, y pasará a modo de edición. Se puede extender la selección usando comandos de movimiento siempre que éstos estén acompañados de pulsar la tecla shift3 y que el vim esté configurado adecuadamente5

    Las operaciones que pueden hacerse sobre el texto seleccionado de esta manera son distintas que en el caso del modo visual. Desde este modo podemos pasar para un comando CTRL-O a modo visual o directamente a éste modo con CTRL-G

  • Modo Ex
    Se pasa al modo del antiguo editor de Unix ex.Desde modo normal se entra en modo Ex pulsando Q o qQ. En el primer caso se funciona editando comandos con capacidades de edición de textos en la línea similares a las de una shell normal, mientras que en el segundo, están disponibles todos los mapeos y facilidades de edición que hay presentes en vim en el modo comandos. En este modo, podemos ir introduciendo comandos uno detrás de otro sin que se actualice el texto. Se sale del mismo con :visual.

Además existen otros seis modos adicionales que son combinaciones de los anteriores, que describiré en una próxima entrada así como se debe de configurar el vim que muestre en la línea de estado cual es el actual modo.

Todo lo descrito en esta sección puede verse en el siguiente esquema. Lo único que no ha sido reflejado es la manera de ir a modo de selección, puesto que ésto depende de la configuración.


Referencias

  1. Vim modes intro (inglés)
  2. Using normal-mode motions in command-line mode in Vim

Notas

  1. Ojo, esto es comportamiento de vim. El vi original, si se pulsa escape se ejecuta la línea. Se puede simular dicho comportamiento con un mapeo de teclas.
  2. Suponiendo que estamos usando una versión de vim compilado con soporte de ratón, lo más normal si se está ejecutando bajo un entorno gráfico.
  3. Mayúsculas
  4. Realmente si se introduce el retorno de carro (CR) o el avance de línea (LF)
  5. Consiste en que la lista de la variable de configuración keymodel aparezca las palabras startsel y stopsel, y además selectmode debe contener la palabra key.

Technorati Tags: vim

miércoles, febrero 06, 2013

Migraciones (I)

Tengo una vieja página personal en Arrakis desde hace más de diez años. Estoy migrando la información que me parece más interesante a un sitio en Google Sites que se llamará Underdarktales, puesto que voy a dar de baja vieja la cuenta. Quizás lo más interesante que había en dicha página eran configuraciones y pequeños tutoriales sobre los programas que usaba entonces. Muchos de ellos fueron escritos cuando todavía usaba un módem para conectarme a Internet.La información le puede ser útil todavía a personas - en especial el tutorial de tcpdump que quiero ampliar -.

Aquí dejo un enlace a los documentos que he migrado hasta ahora.

Alguno de los enlaces no funcionarán correctamente. Espero tenerlo terminada la migración durante este mes de febrero.


Technorati Tags: