Publi

  • CI XXI: fullpage.js, rainyday.js, fullscreenmario, los mejores frameworks php, dos años sin Dennis Ritchie y alguna cosa más

    Hace mucho que no hago un post de curiosidades, y ahí van algunas de las que he visto los últimos días:

    Leer artículo completo
  • Reemplazar cadenas de texto en C++ (string y Glib::ustring)

    Una herramienta muy útil a la hora de hacer nuestros programas es buscar y reemplazar texto de una cadena de caracteres. Imaginad por ejemplo el uso de plantillas, éstas serán cadenas de texto en las que reemplazaremos algunas palabras clave para generar el mensaje, o la salida que queremos. En principio, hacemos uso de las llamadas a métodos de string para encontrar una subcadena de texto dentro de una cadena, y más adelante reemplazarla por otra:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    #include <iostream>
    #include <string>

    using namespace std;

    int main()
    {
      string original = "Me voy a dormir, que todos sabemos que a partir de las 12 de la noche es hora de dormir.";

      string::size_type pos = original.
    Leer artículo completo
  • Copiar en el portapapeles un texto desde la línea de comandos [C]

    En ocasiones, cuando estamos haciendo shell scripts, surge la necesidad de copiar algo al portapapeles para que el usuario lo utilice, en principio, podemos utilizar xclip, aunque ese sería el portapapeles de X11, ese con el que se copia seleccionando con el ratón, y se pega con el botón del centro (o izquierdo+derecho si emulamos el botón central).
    Pero para dar algo de usabilidad (Control+V), y no queremos obligar al usuario a configurar sus gestores de portapapeles, esos grandes desconocidos que suelen estar ahí y nunca hacemos caso…

    Podemos hacer este pequeño programa en C, que utilizará Gtk para acceder al portapapeles, y escribir en él.… Leer artículo completo

  • Callbacks en C++ con boost

    Hemos visto las retrollamadas o callbacks tanto en C como en C++, aunque en este último, era un poco difícil. También, utilizando Glib, con Gtkmm se expresaban los callbacks que se realizan cuando se lleva a cabo una acción.

    Ahora le toca el turno a la biblioteca boost para C++, y así ver el método más sencillo. Para probarlo, primero tenemos que tener instalada la biblioteca. En el ejemplo vemos cómo le pasamos una función (A) como argumento a otra función (B), y ésta última ejecutará A.… Leer artículo completo

  • Obtener el directorio personal del usuario (HOME) en C

    Muchas veces, en nuestros programas, es necesario conocer el directorio personal del usuario actual, para leer o escribir archivos, aquí traigo una función muy pequeña que hace este trabajo:

    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
    #include <stdlib.h>
    #include <stdio.h>
    #include <sys/types.h>
    #include <pwd.h>

    char *getHomeDir()
    {
      static char *home = NULL;
     
      if (!
    Leer artículo completo
  • Introducir datos desde la línea de comandos en PHP (con muchas posibilidades)

    Si desde nuestros programas en PHP queremos pedir al usuario información desde la línea de comandos… Ehmm, ¿por qué vamos a querer hacerlo? Se me ocurren varios ejemplos, por ejemplo la instalación de un programa, una configuración básica del mismo (sin acudir a web), para modificar aspectos de la configuración de nuestros programas, porque hagamos un programa de consola (a veces es lo más rápido y útil), o porque implementemos un intérprete de comandos.… Leer artículo completo

  • Cariño, quieres algo de postre? [SQL en la vida real]

    Mientras yo, absorto en mis pensamientos digo:

    1
    2
    SELECT * FROM Frigorifico WHERE AND Tipo='Yogur' AND Caducidad IN
         (SELECT MIN(Caducidad) FROM Frigorifico WHERE AND Tipo='Yogur' AND Caducidad>=NOW());

    Y mi pareja me mira con una cara de no entender demasiado, o de haber soltado la frikada del año, el caso es que luego me trajo exactamente lo que pedí, el yogur que antes caduque… siempre y cuando no esté caducado ya 🙂

    Foto: stopnlook (Flickr) CC-by a 21/08/2013… Leer artículo completo

  • Conocer los likes de una web en Facebook y algo más

    Hoy en día, la red social por excelencia es Facebook, aunque algunos digan que le quedan 3 años, es interesante aún seguir desarrollando aplicaciones que funcionen para esta red, o que interactúen de cierta manera con ella.

    Hoy toca un sencillo código con el cuál podemos obtener el número de Likes o «Me gusta»s que tiene una determinada URL. Esto nos puede servir para almacenar en nuestra base de datos local (y no en facebook) dicho número para su posterior análisis, o para poner el número como nosotros queramos, y no necesariamente integrado en un cuadro servido por la red social.… Leer artículo completo

  • Linux en Two and a Half men

    Hace mucho tiempo que no traigo ningún fotograma a esta sección, pero en los últimos capítulos de la décima temporada de Dos Hombres y Medios (Two and a Half Men), en la mesa donde tienen el ordenador (que antes era un Mac), ahora no tiene marca y hay un libro de Linux, al menos ese libro se ve muy bien. El otro es un libro de Microsoft, pero casi casi no se ve 🙂

    Cuando avanzas un poco y ves pantallazos del ordenador, ya sí que no se sabe qué sistema está utilizando Walden Schmidth (Ashton Kutcher), serán pantallas montadas que no representan ningún sistema operativo real, aunque a veces, las ventanas tienen los botones de ventana de OSX (será porque el actor hará de Steve Jobs?)… Leer artículo completo

  • Invocando métodos por su nombre (en string) con C++

    Vamos a implementar una pequeña aplicación en la que el usuario pueda elegir el método de la clase que va a ejecutarse, vamos a tener una clase en la que crearemos varios métodos «ejecutables» por el usuario.
    En el ejemplo que presento, aunque sea un poco repetitivo, estoy suponiendo que C++ no tiene reflexion, esto, dicho de una forma rápida es que una clase tenga la facultad de conocer sus miembros, podremos llamarlos, pero no podremos decirle que nos dé una lista.… Leer artículo completo