Últimas entradas del blog

Instalar Bower en Ubuntu

2014-11-02 - Categorías: General

¡Buenos días!

Estoy escribiendo poco últimamente sobre programación. No me he olvidado del blog, es que gracias a Dios estoy teniendo menos tiempo. No está la cosa para echar cohetes acá en Spain pero voy a intentar apretar y no abandonar en las buenas costumbres, como por ejemplo, escribir en un blog 😉

Para instalar Bower tuve que navegar para encontrar dispersa alguna información, así que aquí les dejo todo junto en un post.

Qué es

Bower es una excelente herramienta para automatizar la gestión de tus librerías. Está creada para gestionar los fuentes de la parte front-end. Es decir, Bower nos descarga y actualiza las librerías de entorno cliente: CSS, HTML y Javascript que necesitemos. Puede ser por ejemplo las librerías de Bootstrap o jQuery.

Instalar

Necesitaremos tener instalado:

  • Git
  • npm
  • nodejs

La web oficial es: http://bower.io/

Los comandos para instalar son los siguientes:

$ sudo apt-get update
$ sudo apt-get install git
$ sudo apt-get install npm
$ sudo apt-get install nodejs
$ sudo npm install -g bower

Llegados a éste punto si ejecutamos ‘bower update’ nos saldrá un error porque no encuentra ‘node’. Ésto pasa porque el ejecutable en Ubuntu no es node es nodejs y no lo encuentra. Así que creamos un enlace simbólico y asunto solucionado.

$ sudo ln -s /usr/bin/nodejs /usr/bin/node

Ejecutar

Ya teniendolo instalado nos falta una configuración sencilla en dos ficheros. Primero un bower.json donde elegimos qué librerías necesitamos:

{
«name»: «Nombre del proyecto»,
«version»: «1.0.0»,
«dependencies»: {
«jquery»: «latest»,
«jquery-ui»: «latest»,
«bootstrap» : «latest»,
«font-awesome»: «latest»
}
}

Si ponemos en la versión de cada dependencia latest siempre nos descargará o actualizará a la última versión de la librería. Segundo para configurar en qué directorio queremos todo podemos crear un fichero .bowerrc

{
«directory»: «lib»,
«json»: «bower.json»,
«searchpath»: [
«https://bower.herokuapp.com»
]
}

Ahora todas las librerías las tendremos bajo el directorio /lib cuando ejecutemos lo siguiente:

$ bower update

Para terminar de incluir todas éstas librerías en un fichero HTML y usarlas podemos poner un HEAD parecido al siguiente:

<head>
<title>Título de la web</title>
<meta charset=»utf-8″>
<meta name=»viewport» content=»width=device-width, initial-scale=1.0″>
<link rel=»stylesheet» href=»lib/bootstrap/dist/css/bootstrap.min.css» type=»text/css»>
<link rel=»stylesheet» href=»lib/font-awesome/css/font-awesome.min.css» type=»text/css»>
<script src=»lib/jquery/dist/jquery.min.js»></script>
<script src=»lib/jquery-ui/jquery-ui.min.js»></script>
<script src=»lib/bootstrap/dist/js/bootstrap.min.js»></script>
<script src=»main.js»></script>
<link rel=»stylesheet» href=»estilo.css» type=»text/css»>
</head>

Ya podemos empezar a maquetar y programar usando jQuery, jQuery-UI, Bootstrap y las Fuentes Asombrosas. No hemos tenido que ir web a web descargando todas las librerías una a una. Además si ahora ejecutas en cualquier momento ‘bower update’ se te actualizarán las librerías a la última versión.

Si has llegado hasta aquí espero que te estén sirviendo de ayuda.

Un saludo 🙂


LibreOffice, el office nuestro de cada día

2014-11-01 - Categorías: General

¡Hola de nuevo!

¿Cómo podía dejarme ésta suite ofimática que todo ordenador debería de llevar? Tienes las utilidades básicas que en la oficina o en casa todos necesitamos: editor de textos, hojas de cálculo, presentaciones, dibujos, e incluso un potente gestor de bases de datos.

Generalmente me dedico a usar el editor de textos y hojas de cálculo. Pero para escribirles éste post me he puesto a curiosear la suite completa a ver qué tal funciona.

Una primera aproximación

Veo que en mi Linux Ubuntu no tengo instalado LibreOffice Base. Es el gestor de bases de datos que tenemos disponible. Me ha parecido muy pero que muy interesante. Así que lanzo mi Centro de software de Ubuntu y me instalo todos los programas de LibreOffice. En su página oficial lo pueden descargar:

https://es.libreoffice.org/

A simple vista tenemos una serie de formatos para los documentos totalmente abierta. Es decir, tus archivos de LibreOffice se guardarán en formatos abiertos que cualquier otro programa podrá abrir si es que es compatible. No hay trabas para otros a la hora de hacerse compatibles como solía pasar con muchos formatos patentados, cerrados y sin documentación.

Tenemos la gran mayoría de herramientas que otros programas tienen.

Muchos ya hemos probado los textos, hojas de cálculo y presentaciones. Con los prácticos botones para exportar los documentos a PDF. Todo tipo de herramientas de edición. Etcétera. Así que he hecho unas pruebas con el último elemento que veo que están mejorando con unos resultados bien buenos, el LibreOffice Base.

LibreOffice Base, muy potente

Destaca que permite la conexión con muchas bases de datos como MySQL que tanto se usa en páginas web, con el robusto PostgreSQL.. también incluye un motor de base de datos al que han llamado HSQL.

Tenemos unas plantillas para tablas con las que ir probando. Podemos crear formularios para trabajar con los datos, generar informes de texto, hojas de cálculo.. se integra con el resto de aplicaciones sin atarte a usar su motor de base de datos.

Probando probando he usado una plantilla para trabajar con datos de contactos. Se puede ver en la imagen como en apenas 5 minutos tenemos un formulario listo para usar.

Este proyecto promete mucho, se está gestando algo grande en el mundo de las suites ofimáticas. Y viene del mundo del código libre.

Terminando

También hay otra herramienta como el LibreOffice Math que les dejo para que ustedes prueben 😉

Resumiendo, toda una joya de la informática. De código libre que se puede consultar, se puede colaborar en el proyecto, y por supuesto se puede usar el paquete completo de forma totalmente gratuita y sin restricciones incluso para entornos de trabajo.

Sigo escribiendo desde Linux, hablo de software libre, pero también lo tienen disponible para Windows o Mac.

Un saludo 🙂


Thunderbird: Cuando tienes emails para parar un tren

2014-10-19 - Categorías: General

¡Buenos días! Hace un tiempo que no escribo aquí así que voy a intentar no perder las buenas costumbres dejándoles aquí otro programa que me está haciendo la vida más fácil.

Por cuestiones de trabajo resulta que cada vez más voy acumulando y atendiendo más y más emails. Tengo varias cuentas que hasta hace poco iba recibiendo todos sus emails en una misma cuenta. Una cuenta gratuita con un proveedor de correo electrónico con opción de usarlo gratuitamente hasta cierto punto. Pero llegué al límite de cuentas que podía recibir.

No quería tener que entrar en cada web para consultar los emails y tampoco quería instalarme un programa en local por lo engorroso que puede resultar su mantenimiento pero no encontré otra solución.

Instalación

Me decidí por Thunderbird porque es gratis, de código libre, y primo hermano del navegador Firefox que ya me gustaba.

Enlace de descarga: https://www.mozilla.org/es-ES/thunderbird/?icn=tabz

Porqué

Lo primero es que necesitaba usar muchos emails distintos desde un mismo sitio, asunto solucionado.

Necesitaba poder tener copias de seguridad, solucionado porque con copiar el directorio .thunderbird de tu carpeta personal ya tienes toda la copia de seguridad del programa. No hay que andar con complicados cifrados, claves de instalación ni nada parecido. En caso extremo tenemos unos archivos .msf en ésta carpeta en donde tenemos todos los emails guardados como ficheros de texto puro.

Permite todas las cuentas de correo que quieras sin límite ninguno, ni en almacenamiento ni en tamaño de cada email.

Compatible con SMTP e IMAP, filtros, redirecciones, múltiples carpetas, etc. Todo lo que puedas imaginar que un lector de emails debe tener.  Además tiene también libreta de direcciones y un chata donde charlar a través de varias redes sociales. Yo he comprobado que funciona correctamente con GoogleTalk, Facebook y Twitter.

También es compatible con Windows, Mac y Linux. Y lo tenemos disponible en muchos idiomas.

Resumiendo, otra gran herramienta del Open Source para todos. Me ha funcionado de maravilla en todo éste tiempo que lo llevo usando. Lo recomiendo.

Un saludo 🙂


Abduction, complemento de Firefox

2014-09-28 - Categorías: General
Hoy traigo un sencillo complemento para Firefox. Siguiendo con la serie de utilidades para todo el mundo. Abduction sirve para capturar una imagen instantánea de una web que estés visitando. Una vez instalado en tu Firefox, simplemente le das al botón derecho de la zona de la web que quieras y te saldrá un menú desplegable. Le das a la opción que pone ‘Save Page As Image’ y te saldrá un recuadro encima de la web como el de la imagen de aquí al lado.

Sólo tienes que elegir la zona exacta que quieras guardar y le das al botón que pone ‘Save…’ arriba a la derecha, que significa guardar en castellano. Eliges dónde la quieres guardar y ya tendrás una captura de la zona de la web que quieres.
Un truco, si quieres capturar la web completa le haces doble click al recuadro y automáticamente se ampliará al total de la web. Si estas viendo una web muy larga no te preocupes, cuando guardes te saldrá una imagen muy larga de igual manera.
Sólo me falta poner la dirección del complemento:
Simplemente visita la dirección con el navegador Firefox y le das al botón verde que pone ‘Add to Firefox’ como el de la imagen a continuación que he capturado con Abduction jejej
¡Un saludo!

Hola mundo Silex usando Composer

2014-09-28 - Categorías: General


Estoy ahora curioseando los entresijos de PHP. Viendo hacia dónde tiende la programación en la web. Añadiendo herramientas, librerías de programación para mis proyectos.

Dentro del mundo de la programación, elegir librerías, actualizarlas, combinarlas.. todo esto lleva trabajo y en los últimos años están apareciendo herramientas que nos facilitan la vida.

Pongámonos en situación

Cuando empezamos a programar con PHP. Desde el inicio hasta hace pocos años, que casi todo se hacía a pelo. PHP puro y duro, añadiendo código y más código. Los programas iban creciendo y creciendo. Se iban añadiendo manualmente librerías para todo tipo de tareas. Ahora ya no tenemos que reinventar la rueda. Estan surgiendo librerías públicas como por ejemplo  Packagist, donde se recopilan códigos para hacer todo tipo de tareas con PHP.

Para manejo de Packagist tenemos una herramienta llamada Composer, con la que una vez configurado lo que vamos a necesitar Composer se encarga de conectar a Packagist y descargar los ficheros que haga falta. Para la programación front-end tenemos herramientas como Bower, similar a Composer, pero pensado para gestionar librerías Javascript/CSS. Estas herramientas, una vez configuradas, nos descargarán los ficheros a nuestro directorio de trabajo y listo. Ya tendremos nuestro proyecto para programar, podremos añadir o borrar librerías fácilmente, elegir versiones, actualizar todo..

Web de Composer: https://getcomposer.org/
Web de Packagist: https://packagist.org/
Web de Bower: http://bower.io/

Herramientas

Para éste post he elegido probar Silex, es un framework bien sencillo. Más bien un micro-framework como lo nombran oficialmente. Está construido a base de componentes del gran framework Symfony. Con él tendremos una serie de herramientas para usar como plantillas Twig, podremos enviar emails con Swiftmailer, si no eres un experto en seguridad (como es mi caso) no pasa nada porque tenemos el componente de seguridad Security, el componente para generar formularios Form, el generador de URLs, etcétera.

Todos los componentes

Como iba diciendo, Composer se va a encargar de gestionar por nosotros las librerías PHP de nuestro proyecto. Con el ejemplo veremos mejor cómo funciona. Prepararemos nuestro proyecto hola mundo con Silex con Composer y veremos qué sencillo que lo tenemos para aumentar luego librerías. Pasos:

  1. Descargamos el fichero composer.phar
  2. Preparamos nuestro fichero composer.json
  3. Ejecutamos Composer.
  4. Empezamos a programar.

Descargamos el fichero composer.phar

En el directorio donde vayamos a desarrollar nuestro proyecto o queramos hacer éstas pruebas debemos de poder usar Composer. Se puede instalar en el sistema, en el PATH del sistema, pero eso ya se sale del post. La forma sencilla que viene en su web oficial es poniendo el fichero composer.phar en el directorio. Si tienes curl ejecutas lo siguiente:

curl -sS https://getcomposer.org/installer | php

Si sólo tienes PHP, puedes ejecutar lo siguiente en línea de comandos y se te descargará el fichero:

php -r «readfile(‘https://getcomposer.org/installer’);» | php

O manualmente como se indica en su web: https://getcomposer.org/download/

Si quieres instalar globalmente Composer tengo un post anterior donde lo explico: https://jnjsite.com/programacion/instalar-globalmente-composer-en-ubuntu/

No lo he dicho pero supongo que ya tienes instalado PHP. Sino desde su web puedes instalarlo: http://es1.php.net/downloads.php. Si tienes Linux, en mi caso Ubuntu, basta con poner en línea de comandos ‘sudo apt-get install php5’.

Preparamos nuestro fichero composer.json

Para Silex va a ser muy sencillo. Si queremos elegir librerías no tenemos más que ir a Packagist y añadir las que necesitemos. El fichero:

{
«require» : {
«silex/silex» : «dev-master»,
«phpoffice/phpword»: «dev-master»
}
}

En el mismo directorio raiz donde tenemos el composer.phar creamos éste fichero composer.json con el contenido de aquí encima. Si nos fijamos he puesto dev-master aquí arriba, esto nos descargará siempre la última versión que haya disponible. He añadido phpoffice/phpexcel, para hacer una prueba a ver qué tal.

Ejecutamos Composer

Entonces la primera vez tenemos que ejecutar una instalación de las librerías en linea de comandos:

php composer.phar install

Veremos entonces algo parecido a lo que hay en la imagen inicial. Si estamos modificando el fichero composer.json debemos entonces ejecutar lo siguiente:

php composer.phar update

Si todo ha ido bien entonces tendremos en nuestro directorio los siguientes ficheros: composer.phar, composer.json, composer.lock y el directorio vendor. El fichero composer.lock es un fichero que se actualiza para llevar sus tareas internas cada vez que ejecutamos Composer. Luego en el directorio vendor/ tendremos todas las librerías actualizadas a la versión.

Empezamos a programar

No lo he dicho antes pero dentro del directorio de las librerías (vendor), tendremos ahora un fichero autoload.php que simplemente lo incluimos o requerimos y a programar. Tendremos acceso a todas las librerías de Composer que hayamos incluido. Con un ejemplo se verá más claro:

<?php
// index.php
ini_set('display_errors', 'On');
error_reporting(E_ALL);

require_once __DIR__.'/vendor/autoload.php';

$app = new SilexApplication();

$app->get('/', function () {
    return 'Página inicial.';
});

$app->get('/crearTexto', function () {
    $nombreArchivo = 'fichero.odt';
    
    $phpWord = new PhpOfficePhpWordPhpWord();
    
    $section = $phpWord->addSection();
    $section->addText('Hello world!');
    $section->addText('Hello world! I am formatted.',
        array('name'=>'Tahoma', 'size'=>16, 'bold'=>true));
    $phpWord->addFontStyle('myOwnStyle',
        array('name'=>'Verdana', 'size'=>14, 'color'=>'1B2232'));
    $section->addText('Hello world! I am formatted by a user defined style',
        'myOwnStyle');
    $objWriter = PhpOfficePhpWordIOFactory::createWriter($phpWord, 'ODText');
    $objWriter->save($nombreArchivo);
    
    $str = 'Fichero de Word en formato Open Document creado.';
    $str .= '<a href="' . $nombreArchivo . '">Haz click aquí para descargar</a>';
    
    return $str;
});

$app->run();

Ahora vamos a arrancar el servidor web interno de PHP para probar la pequeña aplicación. Ejecutamos en línea de comandos estando en el directorio del proyecto:

php -S localhost:8000

He usado el ejemplo del libro oficial en castellano sobre Silex, modificándolo para ésta prueba. Si quieres puedes ver toda la documentación de Silex en http://librosweb.es/silex/

Web de PHPWord: https://github.com/PHPOffice/PHPWord

Si todo ha ido bien, ejecutando http://localhost:8000/ veremos el mensaje ‘Página inicial.’. Si ejecutamos http://localhost:8000/crearTexto veremos el segundo mensaje, en donde se habrá creado el fichero de texto fichero.odt y podremos descargarlo. Si vemos nuestro directorio del proyecto ahí lo tendremos. En el ejemplo he seguido la documentación de su página oficial para crear dicho fichero.

Resumiendo

¿Qué sencillo usar las librerías para hacer algo tan complejo como un fichero compatible con Word? En casi 40 líneas de código tenemos una aplicación web que crea dicho fichero. Todo gracias a usar dos librerías de Composer y en seguida ya lo tenemos.

Recapitulando, ponemos en el fichero composer.json las librerías que vayamos a usar. Luego incluimos el fichero /vendor/autoload.php y ya tenemos todas las clases de objetos listos para usar. Te ahorra tiempo, es práctico, organizado. Si no estás ya usando los vendors deberías de hacerlo.

¡Un saludo!


FreeFileSync para tus copias de seguridad locales

2014-09-20 - Categorías: General

¡Hola de nuevo! Hoy les traigo una frikada total. Se trata de un programa para hacer copias de seguridad muy sofisticado y a la vez bastante simple de configurar.

Estoy hablando del FreeFileSync, otro programa de código libre que se publica en SourceForge.net. Donde tenemos que ésta misma semana en que les escribo 13.308 descargas, que son muchas comparando con otros proyectos similares.


Es un programa muy muy completo. Podemos hacer copias espejo de una carpeta a otra. Podemos hacer sincronización de archivos, donde se comparan dos directorios y sólo se copian los archivos en los que ha habido cambios. Las sincronizaciones se pueden hacer en una dirección o en ambas.

Siempre con todo lujo de detalles en la interfaz gráfica. Veremos qué archivos han cambiado, cuáles se han borrado de qué sitio, qué carpetas tienes más cambios. Tendremos también contadores totales de la cantidad de cambios abajo a la derecha. Permite filtros para sólo copiar ciertos archivos, todos los archivos o para excluir archivos. Y por si no era bastante, cuando se realiza la copia o sincronización se muestra una gráfica de estado en tiempo real como la de la imagen de arriba.

Compatible con Linux, Windows y Mac. Traducido a múltiples idiomas. Se pueden grabar las configuraciones que hagamos para copiar. También se pueden grabar para ejecutar luego como tarea programada del sistema operativo, con lo que, una vez configurado, podemos estar tranquilos. Cada vez que se ejecute tendremos una copia de todos nuestros valiosos archivos.

Lo tenemos en descarga en su página oficial: http://freefilesync.sourceforge.net/

Otra joya de la informática del mundo del código libre. Por supuesto, también es gratis 😉

Un saludo.


Instalar globalmente Composer en Ubuntu

2014-09-08 - Categorías: General

Este post va a ser bien corto. Se trata de cómo instalar el ejecutable de Composer en un directorio de Linux que está en la variable PATH del sistema.

Los directorios que están en PATH son los directorios en donde se busca el programa cuando queremos ejecutar algo en Linux. Podemos escribir lo siguiente en línea de comandos y veremos cuáles tenemos ahora mismo:

echo $PATH

Tendremos separados por : todos los directorios actuales. Vamos entonces a añadir en uno nuestro ejecutable de Composer, que se trata de un phar. Un fichero .phar es un programa PHP empaquetado dentro de un sólo archivo.

Vamos entonces..

Descargar la última versión de composer

Si tenemos instalado curl podemos ejecutar lo siguiente en línea de comandos:

curl -sS https://getcomposer.org/installer | php

Si sólo tenemos instalado PHP ejecutamos lo siguiente:

php -r «readfile(‘https://getcomposer.org/installer’);» | php

Entonces debemos tener en el directorio en que estamos un fichero llamado composer.phar que podríamos usar con ‘php composer.phar …’. Pero queremos ir un paso más allá. Pudiendo ejecutarlo desde cualquier directorio, ¿recuerdas?

Instalamos en el sistema en PATH

Ejecutamos los siguientes comandos y ya lo tendremos instalado globalmente.

sudo mv composer.phar /usr/local/bin/composer
sudo chown root:root /usr/local/bin/composer
sudo chmod 755 /usr/local/bin/composer

Ahora podremos usarlo simplemente poniendo $ composer ..

Por ejemplo, si queremos actualizar composer debemos usar:

composer selfupdate

Siendo usuario root, si eres usuario normal debes poner:

sudo composer selfupdate

¿Sencillo verdad? Espero haberme explicado bien, si no, mensaje aquí abajo 😉


Mozilla y su navegador Firefox ya son de los grandes

2014-08-31 - Categorías: General

Cómo no, siguiendo con la serie de utilidades de código abierto, no me podía olvidar de una de las grandes joyas de la informática. Estoy hablando, como indica el titular, del navegador Mozilla Firefox.

Es uno de mis mejores aliados al conectarme a la web, vela por mi seguridad, por mi privacidad, sigue fiel a los estándares, es gratuito, de código abierto, está hecho por todos, es para todos.. si enumero todas sus características me puedo quedar aquí escribiendo toda una eternidad así que mejor voy a ir un poco al grano.

Situación actual

Son muchas las bondades que tiene éste navegador. Muchos ya lo conocerán, alrededor del 17-18% de los usuarios navegamos con él. Según los últimos datos que encuentro a fecha en que escribo, el ranking de navegadores queda en el orden siguiente:

  1. Internet Explorer
  2. Firefox
  3. Chrome
  4. Safari
  5. Opera

Si quieren corroborar los datos pueden consultar las estadísticas de StatCounter o NetMarketShare, por ejemplo. Hay muchos datos muy interesantes dispersados por Internet, como el uso de los navegadores por país, donde podemos ver que en muchos países Firefox es el navegador más utilizado. Probablemente que tengamos a Internet Explorer como ganador en el ranking mundial se debe a que viene instalado con Windows, pero eso ya es mi opinión.

Naturaleza

El hecho es que un proyecto como Firefox, esté siendo el segundo navegador más utilizado tiene mucho mérito. Pensemos que está organizado por la Fundación Mozilla, una organización sin ánimo de lucro. Una fundación que vive de donaciones, publica sus trabajos totalmente gratis para todos y además nos da el código fuente. No existe una gran multinacional detrás del navegador, sino que se trata de muchos voluntarios de todo el mundo colaborando junto con unos pocos que forman la Fundación Mozilla.

En su propia web pueden encontrar mucha información sobra la naturaleza de sus proyectos:
https://www.mozilla.org/es-ES/mission/

Podemos ver, cada vez más a menudo, proyectos de colaboración para un mundo mejor. Estoy hablando de GNU/Linux que nos proporcionan un sistema operativo completo, estoy hablando también de Wikipedia con su filosofía de ayudar a todo el mundo ofreciendo gratuitamente el conocimiento, y así unos tras otro podemos encontrar otros en la misma linea.

Colaboraciones

Personas de todo el mundo están colaborando activamente, y grandes empresas como por ejemplo Google ayudan al proyecto. La Fundación Mozilla está metida en el desarrollo y estandarización de muchas funcionalidades que tenemos hoy en dia en nuestros navegadores. Algunas de las cuales están parcialmente desarrolladas o en pleno desarrollo. Podemos ver proyectos para almacenar información en el navegador como IndexedDB o el WebGL para hacer gráficos en 3 dimensiones.

Destaca en 2014 la presentación de la mano de Mozilla y Unity (entorno de desarrollo con motor gráfico para desarrollo de videojuegos) la librería asm.js, con la que se podrá usar el navegador para correr completos videojuegos portando código desde C/C++. En Unity quieren hacer sus herramientas compatibles con la web, con lo que se podrán exportar los videojuegos y ejecutar dentro de navegadores, corriendo a la misma velocidad que los tradicionales videojuegos. En todos éstos avances y muchos más está metida la Fundación Mozilla.

El navegador

Para hablar de Firefox no podemos olvidarnos de los otros proyectos de Mozilla: como el lector de correo Thunderbird, o un nuevo sistema operativo para móviles, el Firefox OS, con el que podremos correr programas hechos completamente con lenguajes web. Ya hay acuerdos con Telefónica para poner en marcha éste sistema operativo, veremos a ver qué tal. Nos podemos hacer una idea de que Firefox está donde tiene que estar.

Tenemos las clásicas herramientas que podemos encontrar en otros navegadores como el historial, la navegación privada que está ahora de moda, los marcadores para guardar las direcciones de nuestras páginas favoritas, y un largo etcétera.

Podemos ver todas las características de primera mano aquí:
https://www.mozilla.org/es-ES/firefox/desktop/

Hace un par de años podíamos ver que Firefox se estaba quedando un poco atrás, estaba siendo un poco lento, y no incluía muchos cambios con las últimas versiones. Pero ya veo que nos traían muchas nuevos cambios haciendo más pequeña la barra de menús que por defecto no está visible. Tenemos un menú desplegable a la derecha donde podemos configurar los accesos directos que queramos. Es muy configurable, teniendo gran cantidad de complementos con los que aumentamos sus funciones.

Si eres desarrollador podrás inspeccionar las webs mientras navegas o desarrollas, viendo al detalle el funcionamiento de una web. La primera imagen de arriba del todo en 3D es una de éstas herramientas, el visor 3D. Es la página de Mozilla, si lo activamos podemos mirar desde distintas perspectivas una web viendo como se dibujan las web internamente, viendo como las capas se amontonan unas encima de otras hasta llegar a lo que realmente vemos. ¿Mola verdad? ¡Qué frikada! Jajaja

También es interesante que ahora los de Mozilla te dan gratis una cuenta Sync, con la que puedes también guardar los marcadores de páginas favoritas, historial, contraseñas, etc. Todo ello en dicha cuenta, no hay problema si se te estropea el ordenador o lo cambias. Si pones tu usuario y contraseña de Sync en otro navegador Firefox tendrás todos esos datos de nuevo.

En resumen, una maravilla, otra joya de la informática que debemos de conocer.

Instalar

En la web de Mozilla tenemos un enlace para descargar el navegador:
https://www.mozilla.org/
Debe salir la versión que te debes instalar según tu ordenador, ya sea Windows, Mac, Linux..

Si tienes Linux como en mi caso sólo con poner lo siguiente el línea de comandos ya lo tendremos instalado:

sudo apt-get install firefox

Si has llegado hasta aquí abajo te digo que ya sólo me queda despedirme. Me permites preguntarte ¿qué navegador estas usando? ¿conocías Firefox? ¿te ha gustado el artículo? ¿falta o sobra algo? Para cualquier cosa, un mensaje aquí abajo, un click en me gusta, compartir, etc.. 😉

¡Gracias! ¡Saludos!


VLC: mucho más que un reproductor multimedia

2014-08-24 - Categorías: General

¡Hola de nuevo!

Hoy he cogido otro de los grandes proyectos de código abierto que tenemos disponibles para usar gratuitamente en nuestro ordenador.

¿No les han enviado alguna vez un vídeo que ha grabado su tio, abuelo, madre, un amigo.. y resulta que cuando vas a verlo no se puede ver? Es habitual que salga un error de códec desconocido. Ésto se debe a que muchos reproductores, aunque cada vez menos, no instalan los decodificadores de vídeo. Se instalan aparte mediante otros programas. Podemos encontrar grandes recopilaciones de decodificadores de vídeo y audio juntos en un mismo instalador.

Pues con VLC casi seguro que no vamos a necesitar instalar nada más, puesto que ya trae dentro del propio programa la gran mayoría de decodificadores que podamos necesitar. Éste ha sido uno de los puntos fuertes a la hora de elegir VLC como el reproductor multimedia por defecto de muchos de nosotros.

Un poco de historia

VLC nace como un proyecto universitario en 1996 en París. Sus siglas significan Video Lan Client, y como su nombre indica se trata de un programa para transmitir video por la red LAN. De ahí que ha ido derivando a lo que ahora tenemos.

Originalmente en el proyecto VideoLAN había dos soluciones: el VideoLanClient (VLC) y el VideoLanServer (VLS). Donde VLS se dedicaba a transmitir el video mientras que el VLC lo recibía y reproducía. Actualmente los dos proyectos se han unido en el VLC con lo que podemos emitir y recibir una señal de vídeo con el mismo programa. Que es lo que se puede ver en la imagen inicial.

Cabe destacar que partes de éste programa se han integrado en otros grandes proyectos. Siendo habitual que encontremos que nos recomiendan instalarlo.

Instalar o descargar

En la propia página web podemos encontrar todas las distribuciones disponibles. Está para varias plataformas, cómo no, para Windows, Mac o Linux lo tenemos disponible. En mi caso, como tengo Linux, pongo lo siguiente en línea de comandos y ya lo tengo instalado:

sudo apt-get install vlc

La web del proyecto: http://www.videolan.org/

Más información

Todas las características del VLC: http://www.videolan.org/vlc/features.html

También es interesante un proyecto que tienen de editor de vídeo basado en VLC, el llamado VLMC (video lan movie creator). Es un proyecto muy prometedor porque el programa sería compatible con casi todo tipo de vídeos sin tener que instalar nada extra. Buscan colaboradores como en todo buen proyecto de código abierto 😉

La web del VLMC: http://www.videolan.org/vlmc/

Para más información dejo un par de enlaces:
http://es.wikipedia.org/wiki/VideoLAN
http://es.wikipedia.org/wiki/VLC_media_player

Gran proyecto, existen muchos colaboradores, partners, y se están incluyendo partes del VLC en otras soluciones de la industria multimedia.

Terminando

Sólo me queda explicar un poco la imagen con la que empezaba el post. Ahí se puede ver cómo el primer VLC abierto está emitiendo la señal. Los cuatro restantes VLC están recibiendo y mostrando la señal que emite el primero.

Estaba curioseando y encuentro que tenemos muchos protocolos de streaming de video HTTP, RDP, Icecast, etc.. Cada uno tiene su forma de configurar y explicarlos no es el fin de éste post. Simplemente hay que coger un VLC darle a Archivo->Emitir entonces elegimos lo que queremos emitir: desde cámara, desde otro emisor, desde disco o archivos. Configuramos y lo lanzamos el servidor. Luego abriendo otros VLC le damos a Archivo->Abrir ubicación de red.. y podremos conectar al servidor.

Parece sencillo pero si vamos jugando con el programa veremos que tiene muchas, muchas, muchas opciones 🙂

¡Un saludo!


Audacity: editor y grabador de audio

2014-08-17 - Categorías: General

Cuando uno entra en el mundo de la informática y va necesitando programas para solucionar ciertas tareas, nos podemos encontrar con que no encontramos fácilmente la solución. Con éste post, pretendo empezar con una serie de programas de ‘fuente abierta’, open source para los amigos, que nos solucionan éstas tareas.

Basta navegar un poco y seguro que encontraremos alguno dedicado a lo que necesitemos.

Instalando

En mi caso tengo una distribución de Linux instalado. Si tienes Linux sólo con poner lo siguiente en un terminal tendrás instalado Audacity en tu máquina:

sudo apt-get install audacity

Si tienes otro sistema operativo puedes ir a la página oficial de descarga y elegir tu versión. Simplemente descargas el fichero y sigues las instrucciones de instalación como se hace con la mayoría de programas.

http://audacity.sourceforge.net/download/

Características

Podemos ver en la página del programa que es capaz de grabar con una velocidad de muestreo de hasta 384 000 Hz si tu ordenador es capaz de soportar tanta resolución, con muestras de hasta 32 bits de coma flotante cada una. Soporta los principales formatos de audio como MP3, AC3, WMA, etcétera.. Podemos cortar y pegar fácilmente mientras visualizamos lo grabado, editar, aplicar filtros, mezclar, hacer zoom a trozos de nuestro audio. Enlaza entradas y salidas, eligiendo de dónde queremos grabar, si queremos escuchar mientras grabamos.

Podemos programar grabaciones, establecer umbrales de activación para grabar. Grabación pista a pista al estilo de un estudio de sonido profesional grabando instrumento o instrumento, o voz a voz, mientras unos se escuchan a otros. Podemos tener múltiples pistas, mezclarlas, editarlas por separado. A parte de los efectos de sonido principales, tenemos 117 complementos.

Analizador de espectro, búsqueda de silencios, búsqueda de ritmo, generadores de ruido, de silencio, y un largo etcétera.

http://audacity.sourceforge.net/about/features

Para los expertos, también permite complementos para aumentar sus funciones.

Como puntos negativos sólo le encuentro que la interfaz es bien sencilla en cuanto a diseño: las formas y colores.

Conclusión

Una joya de la informática. Que seguro que haría las delicias de muchos de los aficionados o incluso profesionales que elijan soluciones del mundo de Open Source. Podemos tener resultados muy profesionales si aprendemos a manejarnos bien con éste programa y si tenemos un buen ordenador con buena tarjeta de sonido.

Para terminar sólo me queda poner la página principal del programa:
http://audacity.sourceforge.net/

Espero que lo disfruten.
¡Saludos!


PHP 11: Los traits, reutilizando funciones

2014-08-10 - Categorías: PHP

Sigo repasando las nuevas formas de programar que traen las últimas versiones de PHP. Así siguiendo un poco con la reutilización de código llego a los traits, que son una forma muy sencilla de tener funciones o variables en un sitio que luego puedo reutilizar fácilmente.

Desde PHP 5.4 que tenemos ésto disponible así que…

Venga, vamos con el ejemplo:

<?php
trait MiLibreria1 {
 public function funcion1() {
  echo 'Funcion1 ';
 }
 public function funcion2() {
  echo 'Funcion2 ';
 }
}
trait MiLibreria2 {
 public function funcion3() {
  echo 'Funcion3 ';
 }
 abstract public function funcion4();
 public static $variable1 = 'variable1';
}
class MiTipoDeObjeto {
 use MiLibreria1, MiLibreria2;
 // debemos implementar ésta función porque es abstracta
 public function funcion4(){
  echo 'Function4 ';
 }
}

$objeto = new MiTipoDeObjeto();
// funciones 'heredadas'
$objeto->funcion1();
$objeto->funcion2();
$objeto->funcion3();
$objeto->funcion4();
// variable estática 'heredada'
echo MiTipoDeObjeto::$variable1;

El código habla por sí sólo, es muy sencillo tener funciones o variables en un trait y luego usarlas dentro de una clase con la palabra reservada use. En éste caso tenemos dos librerías que se usan dentro de una clase.

También podemos hacer funciones y variables privadas, estáticas y abstractas como con las clases normales. De igual manera que las funciones abstractas de clases cuando se heredan a los objetos hijos, éstos deben implementarlas, con los traits ocurren lo mismo. De igual forma que las funciones, variables o métodos estáticos en las clases, también podemos usarlos con traits.

La principal diferencia es que podemos usar tantos traits como queramos en una clase.

Espero que haya servido. Para más información me remito a la documentación oficial:
http://php.net/manual/es/language.oop5.traits.php

Un saludo!


Trabajando con ficheros CSV desde PHP

2014-08-03 - Categorías: General

Otra vez más, con PHP tenemos también una utilidad, herramienta, librería, función, o como queramos llamarle.. para hacernos más fácil la vida diaria al programar con PHP.

De igual manera que podemos leer o escribir en un fichero de texto, también podemos leer o escribir línea a línea en ficheros estándar CSV. Los ficheros CSV son los llamados ficheros de valores separados por comas. Dentro se ordenan fila a fila listas de elementos separados por comas, como su nombre indica.

Todo ésto lo podemos manejar con el uso general de un fichero abriendo y cerrando ficheros como veniamos haciendo con fopen y fclose. Y ahora usaremos fgetcsv o fputcsv para leer línea a línea del fichero. Dejemos de tanto hablar de lo mismo y vamos a ver un ejemplo..

Supongamos que tenemos el siguiente fichero:

21,89,7,16,76,18,52,51,58,52
80,3,20,6,83,64,21,73,14,80
7,30,23,75,71,9,96,56,47,25

Tenemos 3 filas de 10 elementos separados por comas.

Supongamos ahora que tenemos el siguiente código PHP:

<?php
$fichero = 'nombreFichero.csv';

// si el fichero lo abrimos para leer correctamente
if (($manejador = fopen ( $fichero, "r" )) !== FALSE) {
 
 echo "Leyendo el fichero: <br>n";
 
 // leemos hasta que se acaba fila a fila
 while ( ($arrayFila = fgetcsv ( $manejador, 1000, "," )) !== FALSE ) {

  // escribimos cada fila por pantalla
  for($i = 0; $i < count ( $arrayFila ); $i ++) {
   echo $arrayFila [$i] . " - ";
  }
  echo "<br>n";
 }
 fclose ( $manejador );
}

if (($manejador = fopen ( $fichero, "w" )) !== FALSE) {
 
 echo "Escribiendo en el fichero: <br>n";
 
 // escribimos 3 filas
 for($i = 0; $i < 3; $i ++) {
  $arrayFila = null;
  // de 10 elementos cada fila
  for($j = 0; $j < 10; $j ++) {
   // llenamos con números aleatorios
   $arrayFila [$j] = rand ( 1, 100 );
  }
  echo var_dump($arrayFila) . "<br>n"; 
  fputcsv ( $manejador, $arrayFila, "," );
 }
 
 fclose ( $manejador );
}

?>

Si lo ejecutamos veremos por pantalla lo siguiente en un navegador:

Leyendo el fichero:
21 – 89 – 7 – 16 – 76 – 18 – 52 – 51 – 58 – 52 –
80 – 3 – 20 – 6 – 83 – 64 – 21 – 73 – 14 – 80 –
7 – 30 – 23 – 75 – 71 – 9 – 96 – 56 – 47 – 25 –
Escribiendo en el fichero:

array (size=10)
  0 => int 8
  1 => int 71
  2 => int 98
  3 => int 71
  4 => int 26
  5 => int 96
  6 => int 3
  7 => int 54
  8 => int 9
  9 => int 51
array (size=10)
  0 => int 77
  1 => int 6
  2 => int 73
  3 => int 65
  4 => int 83
  5 => int 7
  6 => int 11
  7 => int 83
  8 => int 61
  9 => int 25
array (size=10)
  0 => int 78
  1 => int 13
  2 => int 71
  3 => int 31
  4 => int 22
  5 => int 44
  6 => int 92
  7 => int 89
  8 => int 43
  9 => int 77

También podemos ejecutarlo desde línea de comandos con ‘php nombrefichero.php’, para los que no tengan instalado un servidor web.

Espero que sirva para aclarar alguna cosa que no se explique en la documentación oficial, o por lo menos haya quedado más simple.

Un saludo.

Documentación oficial: http://php.net/manual/es/function.fgetcsv.php

© 2024 JnjSite.com - MIT license

Sitio hecho con WordPress, diseño y programación del tema por Jnj.