Publi

  • La pesadilla de cambiarse a Windows

    No suelo hacer un post sólo para enlazar un artículo, pero este me ha parecido interesante.

    Y es que muchos vez un cambio a Linux como algo oscuro y siniestro, pero hay personas que consideramos el cambio a Windows como algo tremendamente difícil.

    La pesadilla de cambiarse a Windows – Paraíso Linux

    Personalmente, ¿ por qué uso Linux ?

    • Me hace más productivo
    • Me da más sensación de seguridad
    • Me permite hacer más cosas
    • Me gusta aprender algo cada día

    Todo va mucho más allá de la filosofía del software libre.… 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

  • Ordenación en PHP. Ordenar provincias, pero Madrid y Barcelona ponerlas primero.

    En el desarrollo del registro de una página web para España, es normal que la mayoría de las personas vengan de Madrid, Barcelona, Valencia o Sevilla (las provincias podemos cambiarlas).

    El algoritmo para ello, en PHP es el siguiente:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    <?php
    $provincias = array ("Almería",   "Cádiz",       "Córdoba",  "Granada",     "Huelva",     "Jaén",           "Málaga",
    "Huesca",    "Teruel",      "Zaragoza", "Asturias",    "Cantabria",  "Sevilla",        "Zamora",
    "Ávila",     "Burgos",      "León",     "Palencia",    "Salamanca",  "Segovia",        "Soria",
    "Albacete",  "Ciudad Real", "Cuenca",   "Guadalajara", "Toledo",
    "Barcelona", "Girona",      "Lleida",   "Tarragona",   "Alicante",   "Castellón",      "Valencia",
    "Badajoz",   "Cáceres",     "A Coruña", "Lugo",        "Ourense",    "Pontevedra",     "La Rioja",
    "Murcia",    "Navarra",     "Álava",    "Guipúzcoa",   "Vizcaya",    "Islas Baleares", "Las Palmas",
    "Santa Cruz de Tenerife",   "Ceuta",    "Melilla",     "Valladolid", "Madrid");

    function ordena_provincias ($a, $b)
    {
    static $primeras = array ("Madrid", "Barcelona", "Valencia", "Sevilla");

    $iaa = in_array($a, $primeras);
    $iab = in_array($b, $primeras);

    /* Si las dos provincias están en el array $primeras miramos en qué posición están */
    if ( ($iaa) &amp;&amp; ($iab) )
    {
    $iaa = array_search($a, $primeras);
    $iab = array_search($b, $primeras);

    return ($iaa<$iab)?
    Leer artículo completo
  • REISUB, ¿qué es? ¿para qué sirve? ¿cómo hacerlo de forma remota o en script? y más llamadas a Alt+Sysrq

    yJl7OB3sSpOdEIpHhZhd_DSC_1929_1_rEn muchos sitios, podemos ver esta palabra clave, para muchos RESUIB para otros RESIUB y normalmente REISUB. Y sirve para reiniciar el sistema Linux de forma segura después de que el sistema se congele; de la siguiente forma: Alt+Imprimir Pantalla + R,E,I,S,U,B (no hace falta soltar las teclas Alt + Imprimir pantalla). La tecla Imprimir pantalla podemos encontrarla como SysReq (System Request) o PetSis (Petición al sistema). Cada letra representa una acción del kernel:

    • R (Devuelve el control al teclado unRaw)
    • E (Termina todos los procesos tErm)
    • I (Mata los procesos que queden vivos full kIll)
    • S (Sincroniza los discos Sync)
    • U (Monta todos los sistemas de archivos como sólo lectura Umount)
    • B (Reinicia el ordenador Boot)

    Es muy recomendable dejar un poco de tiempo entre pulsación y pulsación, uno o dos segundos, ya que cada acción no es inmediata, puede que haya muchos procesos, muchos dispositivos, que haya información que volcar en ellos, etc; y todo no sea inmediato.… Leer artículo completo

  • Creando macros de escritorio I: xmacroplay

    Voy a hablar de dos programas para crear macros, aunque hay más, claro que sí. Los dos programas están basados en la grabación de acciones del servidor X y la simulación de movimientos del ratón, clicks y acciones de teclado.

    En principio xmacroplay; lo podemos ejecutar así:

    $ xmacrorec2 mi_macro

    donde mi_macro es el archivo donde vamos a grabar; este archivo, si vemos su contenido tendrá los comandos en un lenguaje muy sencillo e inteligible, lo que nos permite crear macros directamente programándolos, no grabándolos.… Leer artículo completo

  • Colores para stdin y stderr

    Esto fue parte de un experimento que hice, se trata de conseguir que tras la ejecución de un comando la salida estándar del mismo se representara en color verde en mi terminal y la salida de error en color rojo (por supuesto podemos dejar sólo la salida de error en rojo), pero el hecho es demostrar que estos dos tipos de salida existen y hay forma de distinguirlas:

    $ comando 2(while read line; do echo -e «\e[01;31m$line\e[0m»; done) 1(while read line; do echo -e «\e[01;32m$line\e[0m»; done)

    En negrita está la redirección para la salida de error, y en cursiva la redirección para la salida estándar.… Leer artículo completo

  • Intercalar 2 ó más cadenas en PHP

    A la hora de crear un hash para una contraseña, es conveniente no incluir sólo la contraseña, sino concatenar una cadena o un número más; lo mismo cuando generamos claves para que interaccionen aplicaciones en varios servidores; aunque hay veces en que, dados los pocos datos de que disponemos a la hora de generar la clave, no tenemos mucho donde elegir a la hora de crear el hash.

    Por ese motivo se me ocurrió esta función en PHP, lo que hace es intercalar cadenas, es decir, tenemos dos cadenas, y queremos generar una cadena a partir de las dos anteriores, podemos coger un carácter de una, otro de otra, y así sucesivamente (como si estuviéramos barajando) hasta formar una cadena cuya longitud es la suma de las dos.… Leer artículo completo

  • Cuando Thunderbird 3 no puede abrir enlaces…

    Sobre todo si hacemos un upgrade desde la versión 2, en muchos sistemas, algo no termina de cuajar y puede causar que cuando abrimos un enlace con nuestro gestor de correo, éste no se abra en nuestro navegador preferido.
    Podemos hacer dos cosas:
    protohand

    Definir la aplicación con la que abrir los enlaces

    Esta es la opción clásica usada en Thunderbird 2 y no recuerdo bien si también en la primera versión.… Leer artículo completo

  • Terminal transparente para visualizar logs

    screenshot-01-08-2010-140805Es muy de 2002/2003, aunque todavía a muchos les gusta tener un pequeño terminal transparente en el fondo para ejecutar comandos o mostrar logs u otra información importante.

    Aquí comentaré algunas soluciones que he encontrado y cómo obtenerlas.

    xrootconsole

    Es muy ligero y rápido. Y vale para mostrar logs en xroot; el fondo es supuestamente transparente, aunque si cambiamos el fondo veremos que no, ya que en la ventana de xrootconsole se mantendrá el fondo anterior.… Leer artículo completo

  • GPGPU: Exprimiendo el potencial de tu GPU para propósito general (I)

    Hace unas semanas estuve en el Curso Avanzado de GPU impartido por el Dr. Manuel Ujaldón en la Universidad de Málaga; y me parece interesante compartir algunas conclusiones y un poco de investigación sobre el tema con todos ustedes.

    Una arquitectura diferente

    Disponemos de un chip con gran capacidad de procesamiento, pero a su estilo. Aunque originalmente está diseñado para su uso en juegos, recientemente (no tan recientemente porque el primer uso de GPU (Graphics Processing Unit, o Unidad de Procesamiento Gráfico) para propósito general fue en el 1997, lo que sí es más reciente es la implicación de empresas en este tipo de sistemas) muchas personas están concienciadas en aprovechar sus capacidades, y es muy interesante ya que con poco dinero podemos compararnos en capacidad de procesamiento a algunos superordenadores, y es que en ciertas tareas de cálculo muy pesado que en procesadores CPU actuales tardan varios días, con procesamiento GPU y con un coste mucho menor podemos completarlas en pocos minutos.… Leer artículo completo