Publi

  • Encadenando comandos en C : ls | grep | wc

    Es una práctica muy habitual y muy simple desde terminal, cuando queremos que la salida de un comando de la izquierda sea la entrada del comando de la derecha. Aunque puede ser que tal vez queramos crear un programa que ejecute justamente eso.

    Para ilustrar esto vamos a ejecutar $ ls -R /mi/directorio/de/fotos | grep -i ‘jpg\|png’ | wc -l con esto, conseguiremos contar todas las fotos que hay en nuestro directorio de fotos (siempre que sean jpg o png).… Leer artículo completo

  • Traducciones con gettext para nuestros proyectos en PHP


    Es importante a la hora de realizar un proyecto que este pueda estar disponible en varios idiomas sin que sea muy dolorosa la traducción, es decir, lo deseable es que nuestra aplicación tenga la posibilidad de ser traducida a varios idiomas sin tocar el código fuente y que alguien no experto pueda introducir/modificar traducciones en nuestro proyecto (en el caso de un proyecto libre es importante que otras personas puedan colaborar en esto para poder llegar a más público).… Leer artículo completo

  • Obtener una lista de las localizaciones instaladas en el sistema desde PHP y Java [locales]

    En linuz, para obtener todas las locales, o localizaciones instaladas en el sistema, podemos hacerlo con el comando locale -a:

    $ locale -a
    C
    C.UTF-8
    en_AG
    en_AG.utf8
    en_AU.utf8
    en_BW.utf8
    en_CA.utf8
    en_DK.utf8
    en_GB.utf8
    en_HK.utf8
    en_IE.utf8
    en_IN
    en_IN.utf8
    en_NG
    en_NG.utf8
    en_NZ.utf8
    en_PH.utf8
    en_SG.utf8
    en_US.utf8
    en_ZA.utf8
    en_ZM
    en_ZM.utf8
    en_ZW.utf8
    es_AR.utf8
    es_BO.utf8
    es_CL.utf8
    es_CO.utf8
    es_CR.utf8
    es_DO.utf8
    es_EC.utf8
    es_ES
    es_ES.iso88591
    es_ES.utf8
    es_GT.utf8
    es_HN.utf8
    es_MX.utf8
    es_NI.utf8
    es_PA.utf8
    es_PE.utf8
    es_PR.utf8
    es_PY.utf8
    es_SV.utf8
    es_US.utf8
    es_UY.utf8
    es_VE.utf8
    POSIX
    zh_CN.utf8
    zh_SG.utf8

    Ahora bien, podemos usar este comando dentro de PHP para obtener la lista y añadir a la lista información como el idioma y el país usando una lista de países e idiomas.… Leer artículo completo

  • Numerar objetos de una clase determinada [Java]

    Hace un tiempo comentaba esto mismo en lenguaje C++, aunque por el motivo de las clases particulares, a algunos les interesaba más el tema en Java, aunque es muy parecido, tenemos que crear un atributo estático y coger su valor cada vez que instanciemos la clase.

    Como hice en C++, planteamos este problema como un almacén de clientes (es un ejemplo, no vale si tenemos muchos clientes, ya usaríamos bases de datos, por ejemplo).… Leer artículo completo

  • Nadie se acordará de nuestra vida digital dentro de 200 años

    Es un tema en el que he estado pensando desde hace algún tiempo. Hay escritos con miles de años que se conservan en la actualidad; si observamos la historia del arte, vemos obras que datan de hace 500 o más de mil años, y se conservan con un alto grado de calidad (no como cuando fueron realizadas, pero la información podemos verla), algunas de ellas han sufrido guerras y desastres y aún así se conservan; vemos fotografías y películas con más de 100 años y quitando desastres inevitables (el ejemplo no es muy bueno) se conservan en la actualidad.… Leer artículo completo

  • Eliminar un elemento de un array en PHP

    En principio vamos a definir dos tipos de arrays: los que tienen índices numéricos y los que no. Vemos aquí un ejemplo de los dos:

    1
    2
    3
    4
    5
    <?php
    $array = array ('Playa', 'Montaña', 'Río', 'Ciudad', 'Afueras');

    print_r($array);
    ?>

    Este script devolverá:

    Array
    (
    [0] =Playa
    [1] =Montaña
    [2] =Río
    [3] =Ciudad
    [4] =Afueras
    )

    Luego podemos ver arrays que tienen como índice una cadena de caracteres:

    1
    2
    3
    4
    5
    6
    $array=array('gato' => 'perro',
             'mesa' => 'silla',
             'alto' => 'bajo',
             'fijo' => 'móvil',
             );
    print_r($array);

    Lo cual devolverá:

    Array
    (
    [gato] =perro
    [mesa] =silla
    [alto] =bajo
    [fijo] =móvil
    )

    Ahora bien, si queremos borrar sólo un elemento, podemos utilizar unset(), lo que se utiliza para borrar una variable, de hecho si lo probamos en el segundo array nos devolvería:

    1
    2
    unset($array['mesa']);
    print_r($array);

    Array
    (
    [gato] =perro
    [alto] =bajo
    [fijo] =móvil
    )

    Todo bien, pero si lo probamos en el array de índices numéricos:

    1
    2
    unset($array[2]);
    print_r($array);

    Array
    (
    [0] =Playa
    [1] =Montaña
    [3] =Ciudad
    [4] =Afueras
    )

    Ahora lo que ha pasado es que el índice 2 ha desaparecido, se ha borrado, pero los índices no se han reestructurado.… Leer artículo completo

  • C.I. XIX: Jon Maddog Hall, Richard Stallman, buenas y malas prácticas de programación, software libre

    Estos días he visto algunos artículos interesantes, y quiero compartirlos con todos vosotros desde aquí:

    Leer artículo completo
  • Ordenando listas en Java [ Comparables y Comparator ]

    Imaginemos que tenemos una lista de objetos (String) y los queremos ordenar por orden alfabético. Lo podemos hacer con Collections.sort() de la siguiente manera:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    import java.util.*;

    public class Main
    {
        public static void main(String [] args)
        {
        List<String> lista = new ArrayList<String>();
        lista.
    Leer artículo completo
  • Conversor de unidades en PHP

    Es un pequeño proyecto que tengo desde hace tiempo y utilizo en mis desarrollos de php. Parece una tontería, pero ahorra tiempo a la hora de convertir unidades dentro de un programa. Esto es una parte importante a la hora de proporcionar una experiencia de usuario, ya que a la hora de expresar tamaño de archivos, si decimos que el archivo ocupa 1602392 bytes, al usuario final lo dejamos igual, es más, con cara de tonto frente al ordenador mientras cuenta los números y echando la cuenta de la abuela, dice 1.6Mb (ya no quiero ver lo que hará ese usuario cuando vea 1Tb en bytes); es un detalle para nuestro programa que nos diga: 1.52Mb por ejemplo.… Leer artículo completo

  • Analizando ownCloud y me olvido de Dropbox, Drive, SkyDrive, One y demás

    He sido usuario principalmente de Dropbox, y es una gozada el poder tener tus archivos en un servidor externo para poder acceder a ellos desde cualquier lado, ya sea ordenador (en cualquier plataforma) o móvil. Por ejemplo:

    • Estar hablando con alguien de una cosa que leíste, acordarte de que la guardaste en el ordenador y desde cualquier lugar del mundo acceder a esa información para enseñarla.
    • Sincronizar las fotos de tu teléfono móvil con tu carpeta online para poder acceder directamente en el ordenador sin necesidad de conectar el móvil, ni siquiera tener que transferir las imágenes (ellas lo hacen solas)
    • Tener a mano información privada como contraseñas, notas, citas del médico.
    Leer artículo completo