Publi

  • Crear un archivo PHP que sólo contenga un array (desde un programa PHP)

    Aunque puede parecer redundante, pero es una idea curiosa. Sobre todo cuando creamos un sitio web con muchas opciones. Tenemos varias opciones:

    • Guardarlas en base de datos. Con lo cual cada página que carguemos tiene que hacer una petición, y si hay muchas visitas podemos saturar el sistema. Además una petición es una tarea un poco lenta
    • Guardarlas en un archivo de texto. Por lo que tendremos que hacer un programa que lea el fichero y lo interprete.
    Leer artículo completo
  • Las teclas que utilizo más frecuentemente en Emacs / Guía para principiantes

    emacs_poesiaHace unos días hablé de la importancia de conocer los atajos de teclado de tu IDE favorito; hoy hablaré de las teclas que más utilizo en el mío, Emacs, y de paso hago una pequeña guía para principiantes en este editor.

    I. Un apunte básico del uso del teclado en Emacs

    Lo primero que hay que mencionar es que hay muchas combinaciones con la tecla Control y Alt (o Meta), cuando una tecla, por ejemplo, la «x» se pulsa junto con Control diremos C-x y cuando esa misma tecla la pulsamos junto con Alt diremos M-x cuando pulsamos una combinación por ejemplo (M-g) y luego tenemos que soltar las teclas y pulsar una tecla sola, por ejemplo, otra g, diremos (M-g g), lo mismo vale con combinaciones, si tenemos que pulsar primero C-x y luego C-c diremos: «C-x C-c»

    Si por alguna casualidad no podemos pulsar la tecla Meta, o una combinación (como sucede en algunos tipos de terminales remotos), podemos, para pulsar M-x, pulsar «Escape x»

    II.

    Leer artículo completo
  • La importancia de conocer atajos de teclado en nuestro IDE/Editor favorito

    photo-1454165205744-3b78555e5572_r
    Siempre aconsejo a alguien que esté aprendiendo a programar que lo primero es sentirte bien con el entorno o IDE que manejas. A veces, en muchos centros de enseñanza se impone un entorno, por ejemplo Dev-Cpp o Borland C, pero cuando nos toca ponernos a programar algo en serio, ya sea para nosotros o para trabajar lo primero es elegir un IDE con el que nos encontremos cómodos.

    Tanto para personas que están empezando como para expertos suelo hacer que prueben alguno de estos tres: Eclipse, Netbeans o Code::Blocks y que echen un rato intentando familiarizarse con el entorno, sus caprichos y su metodología.… Leer artículo completo

  • Jugando con ImageMagick (IV): Automatizando procesos, creando animaciones

    El cuarto post de la serie, anteriormente hablábamos de:

    1. Dimensiones, Captura, Color y Efectos
    2. Color (continuación) y Rotación
    3. Jugando con ImageMagick (III): Colecciones, texto, y unión de efectos

    Ya que estamos hartos de ver lo que es capaz de hacer ImageMagick, ahora mezclemos esto con la potencia de la consola, y tendremos una de las herramientas más potentes jamás inventadas en cuanto a imagen digital se refiere.

    Modificando imágenes en un directorio

    Aunque podremos hacer cualquier tipo de modificación, tal y como hemos visto anteriormente, haremos un ejemplo en el que redimensionaremos todos los archivos de un directorio al 50% (muy útil si preparamos en un directorio muchos archivos directamente de una cámara digital para subir a Internet):

    $ mogrify -resize 50% directorio/*

    Con mogrify podemos hacer lo mismo que con convert, sólo que el fichero de origen y de destino es el mismo.… Leer artículo completo

  • Jugando con ImageMagick (III): Colecciones, texto, y unión de efectos

    El tercer post de la serie, anteriormente hablábamos de:

    1. Dimensiones, Captura, Color y Efectos
    2. Color (continuación) y Rotación

    Juntando imágenes en una sola

    Ahora, la cosa se anima, veremos cómo recopilar varias imágenes en el mismo archivo de imagen; habréis visto algún ejemplo en la entrega II, en los que muestro varias imágenes juntas:

    variasPara ello usamos montage:

    $ montage -tile 4×2 -geometry 200×160+1+0 taza1.jpg taza2.jpg taza3.jpg taza4.jpg hamburgueson1.jpg hamburgueson2.jpg hamburgueson3.jpg hamburgueson4.jpg varias.jpg

    Donde, con el parámetro tile, especificamos la agrupación de las imágenes ancho x alto (4×2 en este caso) y con geometry, el tamaño de cada imagen 200×160 de máximo, con una separación de 1 pixel a los lados y ninguno verticalmente.… Leer artículo completo

  • Jugando con ImageMagick (I): Dimensiones, captura, color y efectos

    A menudo es necesario hacer una manipulación básica de imágenes y da mucha pereza ejecutar GIMP u otro editor de imágenes para una tontería; e incluso a veces necesitamos modificar gran cantidad de imágenes y necesitamos automatizar el proceso:

    Ejecución

    Aunque ImageMagick, que seguro que lo encontráis en los repositorios de vuestra distribución favorita, da mucho más de sí, aquí veremos ejemplos con convert, import y mogrify

    Redimensionado de imágenes

    hamburgueson_2$ convert -resize [dimensión/porcentaje] origen destino

    Por ejemplo para redimensionar con un ancho de 320 pixels:

    $ convert -resize 320 hamburgueson.jpg hamburgueson_mini.jpg

    De esta forma, si especificamos la altura, se ignorará, ya que convert intentará mantener el aspecto de la imagen.… Leer artículo completo

  • Sed… de venganza (1): Sustituyendo cadenas en múltiples archivos

    3846929292_60721fb24e

    Es uno de los grandes desconocidos y tan temidos comandos de que disponemos. Y es cierto que a veces da pereza mirarse el manual cuando queremos hacer algo que sed podría hacer rápidamente.

    Lo que cuento hoy es su uso más popular (porque sed se puede usar para muuuuuchas cosas) y es muy simple, sustituir en un stream un texto por otro (Donde dije digo, digo Diego).

    Imaginemos un fichero de texto, para ser originales llamémosle README, y en el texto queremos cambiar la palabra «Ireland» por «Spain».… Leer artículo completo

  • Texto personalizado en matlab

    Cuando trabajamos con Matlab® a la hora de poner los datos de una variable en pantalla, basta con poner la variable (sin ; al final), pero si queremos escribir un texto cualquiera, debemos utilizar disp():

    1
    disp('Estoy escribiendo un mensaje en matlab');

    Pero si queremos intercalar información o escribir nuestras variables de una forma más elegante, debemos utilizar sprintf(), se comporta como el sprintf() de C, y acepta sus \n, \t, %d, %f, %s… incluso podemos formatear la salida como veremos en el ejemplo.… Leer artículo completo