miércoles, 31 de agosto de 2016

Reducir el tamaño de un PDF en Fedora


Probablemente, todos estamos acostumbrados a tratar con los archivos PDF, el formato más extendido para guardar documentos. Además de estar ampliamente soportado por diversos dispositivos (equipos, tablets, smartphones, libros electrónicos...), es muy cómodo para utilizar en Internet, enviar por correo electrónico, a través de mensajería o cualquier otro medio vía Internet.

Uno de los posiblemente inconvenientes, es cuando un sitio web no permite subir archivos más allá de un cierto tamaño en MB.

Reducir el tamaño de MB que pese un archivo PDF, ya no es algo tan complicado hoy en día, existen varias herramientas para hacerlo.

En lo personal utilizo  Compress PDF para GNU/Linux, más específicamente, Fedora. Se trata de un script para Nautilus, el explorador de archivos de Gnome. Instalando este programa, podremos reducir el tamaño de nuestros documentos PDF simplemente pulsando con botón derecho y eligiendo la opción Scripts / Compress PDF.

También nos permite elegir un perfil para realizar la compresión, pudiendo utilizar Normal, Sólo visualización, Baja calidad y Alta calidad:

Para su instalación, basta con descargar el archivo Compress-PDF-1.4.tar.gz y extraerlo en la ruta ~/.local/share/nautilus/scripts/ o ~/.gnome2/nautilus-scripts (si usamos una versión anterior a Nautilus 3.4).

Compress-PDF utiliza las dependencias zenity y ghostscript, por lo que es necesario instalarlas previamente, en caso  de tenerlas instaladas:

sudo dnf install zenity ghostscript

Y con eso ya no tendrán problemas con el tamaño de sus archivos PDF.

Fuente: https://launchpad.net/compress-pdf

viernes, 26 de agosto de 2016

Ver la url web destino de una URL acortada utilizando curl



Averiguar la web destino de una URL acortada, es algo relativamente necesario, ya que es muy común en redes sociales como Twitter y otras. Para ello vamos a utilizar la librería cURL (Curl).

¿Qué es cURL?


Curl es una herramienta de línea de comandos y una librería que nos permite conectar con servidores, y trabajar con ellos en formato URL. Soporta los protocolos más comunes, como http, https, ftp, etc. Disponible tanto como herramienta de consola, lo cual nos permite ejecutar comandos directamente, o en librería, para usar en nuestro código. Por ejemplo, puede ser usada desde PHP muy fácilmente.
Fuente: https://linuxgnublog.org/como-averiguar-la-web-destino-de-una-url-acortada-con-curl/

Instalación

Después de la información, procedemos (en mi caso desde Fedora) a instalar la librería cURL desde un terminal con usuario administrador:



$ sudo dnf install curl

Prueba

Ahora, desde un terminal y con un simple comando, ya podemos conocer la web destino de una URL acortada:


$ curl -sLI http://url_acortada | grep -i Location

Con la opción “s” le decimos a curl que sea silencioso, es decir que no imprima el progreso de la “descarga”, con “L” que siga las redirecciones que reciba y con “I” que no descargue el contenido, solo las cabeceras HTTP, que son todo lo que necesitamos. Por último, usamos grep para quedarnos la línea de la cabecera que nos dice cual es el destino de la redirección.

Como ejemplo, utilicé una url que encontré en twitter, y este fue el resultado:


En lo personal la utilizo para evitarme los redireccionamientos en los que sí es posible encontrar la URL final, en algunos casos no me ha funcionado.

Espero que sea de utilidad.

domingo, 21 de agosto de 2016

Instalar MariaDB en Fedora 24



Si bien MySQL es uno de los sistemas de gestión de bases de datos relacionales (SGBDR) más populares, también es cierto que hay otros desarrollos interesantes. Es el caso de MariaDB, un fork de MySQL implementado por la comunidad.

¿Por qué usar MariaDB?

La adquisición de MySQL por parte de Oracle ha llevado a muchos usuarios a pensar que quizá el proyecto esté entrando en un periodo de decadencia. Y MariaDB ofrece unas características muy apetecibles:
  1. Servidor SQL con licencia GPL.
  2. Robusto, seguro y escalable.
  3. Más rápido con cargas complejas.
  4. Inclusión de más motores de almacenamiento. Junto a los mecanismos de almacenamiento estándar (MyISAM, BLACKHOLE, CSV, MEMORY y ARCHIVE) se incluyen otros, entre los que destacan dos nuevos como: XtraDB que reemplaza a InnoDB y FederatedX que sustituye a Federated.
  5. Integración de completas herramientas de testeo.
  6. Compatible con MySQL.

Además, a eso hay que añadirle:
  1. MariaDB es la versión de código totalmente abierto de MySQL
  2. Funciona como MySQL y es compatible con las configuraciones de MySQL
  3. Fedora y Red Hat/CentOS están migrando a MariaDB desde Fedora 19/RHEL 7/7 CentOS.
Por lo tanto, esto hace que pensemos en migrar también.


Nota: Si se tiene una versión previa de MySQL, es necesario desinstalarla por completo. Además realizar un respaldo de las bases de datos utilizadas. A pesar de que mariadb es compatible con mysql, es mejor hacer una instalación limpia.

También es necesario respaldar el archivo my.cnf que está en la ruta /etc, para esto utilizar el siguiente comando:


$ sudo mv -vi /etc/my.cnf /etc/my.cnf.bk
Este archivo servirá en caso de que mariadb no quiera iniciar al finalizar la instalación.

Ahora desinstalar mysql, devido a que se puede tener x versión instalada, dejaré esta opción abierta para todos.

En mi caso tenía la versión 5.7. Y el proceso fue el siguiente:

$ sudo dnf remove mysql-community-libs mysql-community-server
Después eliminar las siguientes carpetas de configuración de mysql, ojo, es necesario respaldar las bases de datos que hayan creado, ya que al eliminar estas carpetas se eliminarán también:

sudo rm -rf /var/lib/mysql

sudo rm -rf /etc/mysql
Y con eso se finaliza la desinstalación de mysql.

Para que los cambios tengan efecto, reiniciar el equipo:
$ reboot


Instalación de mariadb:

En Fedora 24, está en los repositorios por default por lo tanto no hay necesidad de agregarlos.

Instalando:
sudo dnf install mariadb mariadb-server 
Iniciar el servicio de mariadb:
## Iniciar el servicio
systemctl start mariadb.service


## habilitar que el servicio inicio con el SO

systemctl enable mariadb.service


MariaDB (MySQL) Secure Installation

Con este proceso se cambian las siguiente configuraciones:
  1. Establecer contraseña para el usuario root de mariadb
  2. Eliminar usuarios anonimos
  3. Deshabitliar acceso remotor para el usuario root
  4. Eliminar las bases de datos de prueba
  5. Recargar los privilegios de las tablas

Iniciando:
/usr/bin/mysql_secure_installation
Este comando muestra lo siguiente:
NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
      SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!
 
In order to log into MariaDB to secure it, we\'ll need the current
password for the root user.  If you\'ve just installed MariaDB, and
you haven\'t set the root password yet, the password will be blank,
so you should just press enter here.
 
Enter current password for root (enter for none): 
OK, successfully used password, moving on...
 
Setting the root password ensures that nobody can log into the MariaDB
root user without the proper authorisation.
 
Set root password? [Y/n] y
New password: 
Re-enter new password: 
Password updated successfully!
Reloading privilege tables..
 ... Success!
 
 
By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them.  This is intended only for testing, and to make the installation
go a bit smoother.  You should remove them before moving into a
production environment.
 
Remove anonymous users? [Y/n] y
 ... Success!
 
Normally, root should only be allowed to connect from \'localhost\'.  This
ensures that someone cannot guess at the root password from the network.
 
Disallow root login remotely? [Y/n] y
 ... Success!
 
By default, MariaDB comes with a database named \'test\' that anyone can
access.  This is also intended only for testing, and should be removed
before moving into a production environment.
 
Remove test database and access to it? [Y/n] y
 - Dropping test database...
 ... Success!
 - Removing privileges on test database...
 ... Success!
 
Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.
 
Reload privilege tables now? [Y/n] y
 ... Success!
 
Cleaning up...
 
All done!  If you\'ve completed all of the above steps, your MariaDB
installation should now be secure.
 
Thanks for using MariaDB!

Y listo. Con eso ya tienen instalado mariadb. Ahora pueden instalar dbeaver como editor gráfico para la edición de consultas, creación de base de datos, etc.

Descar dbeaver: http://dbeaver.jkiss.org/download/

E instalarlo de acuerdo a la versión descargada:

sudo rpm -ivh dbeaver-ce-3.7.2-stable.x86_64.rpm
Con eso podrán administrar mariadb de manera gráfica:

Gracias por visitar, espero que les sea de utilidad.

jueves, 18 de agosto de 2016

Ejecutar Tor Browser desde Fedora 24 con LXDE




Debido a una solicitud, a continuación explicaré como utilizar Tor desde Fedora 24 con LXDE y crear su lanzador para el Cajón de aplicaciones. Esto puede ser relativamente sencillo para algunos, pero no todos somos buenos buscando información, así que por favor a quien le se de utilidad es excelente.

Paso uno, descarga el archivo compreso de acuerdo a la arquitectura  de su equipo y el idioma que deseen desde el link siguiente:


En mi caso y por cuestiones de comodidad, utilicé Nautilus para descomprimir el archivo, y al igual que instalé las siguientes utilidades para facilitarme la extracción:

sudo dnf install bzip2 p7zip lbzip2 lrzip arj lzma arj lzop cpio nautilus file-roller-nautilus

Y con esas utilidades abrir Nautilus y dar clic derecho sobre el archivo descargado de tor y seleccionar la opción de <Extraer aquí>. Como ejemplo lo extraje en la ruta Descargas de su directorio personal.

Es muy importante que la extracción se realice en director LXDE, para que al extraer el propio archivo de tor cree una acceso directo correspondiente a la distro y escritorio utilizado.

Una vez que se haya extraído el archivo, crear una carpeta con el nombre de applications en la ruta ~/.local/share/ con el siguiente comando:
mkdir ~/.local/share/applications

Y copiar el acceso directo start-tor-browser.desktop de la carpeta  tor-browser_en-US a la ruta ~/.local/share/applications con el siguiente comando.
cp ~/Descargas/tor-browser_en-US/start-tor-browser.desktop ~/.local/share/applications

Y ahora en el menú de aplicaciones ya es posible visualizarlo:


Para iniciarlo solo basta dar clic en el navegador.




Y eso sería todo. Gracias por visitar.

miércoles, 17 de agosto de 2016

Plantilla para Reportes o Trabajos en LaTeX



Les comparto una de las plantillas que usé para los trabajos, reportes o documentación  de códigos elaborados en LaTeX.

Ésta plantilla utiliza el paquete minted para el estilo de la terminal, resaltar código fuente de programación.

Además la plantilla incluye:
  1. Secciones
  2. Imágenes separadas
  3. Imágenes con texto alrededor
  4. Tablas coloreadas con los bordes o títulos.
  5. Manejo de citas bibliográficas
  6. Portada creada con inkscape
  7. Coloreado de código fuente con minted
  8. Glosario en caso de requerir o acrónimos.
Requerimientos:
  1. Instalación del paquete Minted: Fedora: https://linuxgx.blogspot.mx/2015/11/instalar-entorno-minted-para-latex-en.html windows: https://linuxgx.blogspot.mx/2016/07/instalar-entorno-minted-en-windows.html
  2. Se utilizó TexStudio para la compilación: http://texstudio.org/
  3. La configuración de texstudio para compilar todo de una sola vez es la siguiente: https://linuxgx.blogspot.mx/2016/08/referencias-bibliograficas-glosario-y.html


Bueno, el pdf lo pueden visualizar a continuación:




Capturas





Gracias por visitar, espero que les sea de utilidad...

Filtrar datos de un jTable a partir de una búsqueda en JTextField


Una de las acciones indispensables en un sistema informático, son si duda las búsquedas. Las búsquedas de registros implica presentar al usuario la información que necesita y hacerlo de la manera más fácil para el usuario.


En lo personal me gusta añadir el método de ir filtrando la información de una tabla mientras el usuario escribe y así se va viendo la información aproximada de lo que el usuario está buscando.

Para hacer esto distingo dos opciones:

1.- Filtrar los datos previamente cargados en la tabla.
2.- Filtrar y mostrar los datos de la tabla de acuerdo a lo que haya directamente en las bases de datos de donde se toma la información visualizada en la tabla.

Cada una de las opciones anteriores tiene sus ventajas y desventajas, la principal ventaja de la opción 1, es que los datos se mostrarán relativamente más rápido ya que la información ya está en la tabla, su principal desventaja es, que si hay cambios en la base de datos, esos registros no se mostrarán. En la opción dos, la ventaja principal es que los registros mostrados en la tabla están actualizados ya que se toman directo de la base de datos, desventaja principal, suponiendo que haya muchos registros, cada búsqueda se tardará para ir a la base de datos.

Ahora, el código para filtrar los datos solamente de la tabla es el siguiente:
Primero se crea el siguiente método:

/* declarar la siguiente variable en la clase*/
DefaultTableModel dm;

/* Método filtro*/
private void filtro(String consulta, JTable jtableBuscar){
        dm = (DefaultTableModel) jtableBuscar.getModel();
        TableRowSorter<DefaultTableModel> tr = new TableRowSorter<>(dm);
        jtableBuscar.setRowSorter(tr);
        tr.setRowFilter(RowFilter.regexFilter(consulta));
}

Para invocar al método, se debe hacerlo en el evento <key released> del JTextField utilizado para buscar registros y se invoca de la siguiente manera:

/*A éste método se le envía el texto a buscar obtenido del JTextField, considerar si es necesario estandarizar a mayúsculas o minúsculas, además se envía la tabla en la que se desea que se realice el filtro, de este modo el método se puede reutilizar en diferentes tablas*/
filtro(jtxtBuscarNombre.getText().toUpperCase(), jtableConsultas);

El método de filtrar las filas del JTable que coincidan con lo que se esté escribiendo obtenido directamente desde la base de datos, es un poco más extenso, tanto en código como en explicación.

No lo explicaré, mejor pueden descargar el ejemplo completo de github para que lo puedan probar.




Gracias por visitar.

sábado, 13 de agosto de 2016

Instalar Tor en Fedora 24





Nota importante: Tanto linuxgx.blogspot.com como El autor del blog, no recomiendan ni promueven el uso de programas de anonimato en línea para intercambio u obtención de bienes, servicios o contenido ilegal. El uso de este tipo de programas y servicios son exclusivamente a riesgo y responsabilidad del usuario.


Tor

Tor son las siglas del nombre en inglés “The Onion Router”, que es un programa que permite a usuarios tener anonimato en sus actividades en línea. Básicamente usa varias computadoras, localizadas en diversas partes del mundo, para dirigir el tráfico de Internet, haciendo virtualmente imposible la localización y rastreo de la actividad en Internet de un usuario dado.


La referencia a una cebolla (onion) en el nombre, hace alusión a la forma en la que el programa aplica criptografía varias veces a la información transmitida.

La asociación de Tor con actividad ilegal en Internet es desafortunada, ya que se le pueden dar muchos usos legítimos, por ejemplo:
  • En mensajería instantánea con temas sensibles, como chats de víctimas de violaciones o que padecen enfermedades.
  • Periodistas que necesitan comunicarse con sus fuentes de forma confidencial.
  • Activistas y organizaciones que quieren mantener segura la identidad y ubicación de sus miembros.
  • Organismos policiacos que quieren realizar investigaciones sin dejar rastro de que se trata de un asunto oficial.

¿Cómo funciona Tor?

Básicamente, sin entrar a detalles técnicos, Tor funciona de la siguiente forma:
  1. Un usuario hace uso de Tor. El programa en la computadora del usuario obtiene una lista de computadoras que potencialmente se pueden usar para transmitir información.
  2. El programa en la computadora del usuario elige de forma aleatoria una especie de camino, una secuencia de computadoras que forman un circuito que se usará para transmitir información. El mecanismo está ideado de tal forma que cada nodo sólo conoce el destino del nodo siguiente (y anterior), de tal forma que ningún nodo tiene la información del camino completo, ni la dirección IP del origen. El paquete de información que se transmite entre un nodo y otro está encriptado.
  3. El circuito se mantiene durante un tiempo, después del cual se vuelve a crear un circuito nuevo, eligiendo nuevos nodos de forma aleatoria.

Instalación en Fedora 24

El archivo ejecutable o portable de tor, se descarga de acuerdo a la arquitectura de nuestro SO, de preferencia descargar en idioma diferente al suyo, por ejemplo en Inglés:


Una vez descargado, se descomprime en la carpeta Descargas si gustan, dentro de la carpeta descompresa, hay un lanzador, con el icono de tor. Para iniciarlo basta con doble clic.

Si se desea crear un lanzador para el cajón de aplicaciones:

entonces es necesario crear el siguiente acceso, en un archivo de texto con gedit, copiar y pegar el siguiente código guardandolo con el nombre que deseen en la ruta ~/.local/share/applications

Cambiar la ruta de ubicación de los archivos ejecutables de tor hacía la ruta en la que lo hayan descompreso, en caso de que no sea Descargas, obviamente cambiar su nombre de usuario:

Este lanzador es para Fedora con Gnome

[Desktop Entry]
Version=3.6.0
Type=Application
Name=Tor Browser
GenericName=Tor Browser
Comment=Anonymized Web Browser
Exec=/home/-usuario-/Descargas/tor-browser_en-US/Browser/start-tor-browser %F
Terminal=false
MimeType=text/plain;
Icon=/home/-usuario-/Descargas/tor-browser_en-US/Browser/browser/icons/mozicon128.png
Categories=TextEditor;Development;
StartupNotify=true
Actions=Window;Document;
 
[Desktop Action Window]
Name=New Window
Exec=/home/-usuario-/Descargas/tor-browser_en-US/Browser/start-tor-browser -n
OnlyShowIn=Unity;
 
[Desktop Action Document]
Name=New File
Exec=/home/-usuario-/Descargas/tor-browser_en-US/Browser/start-tor-browser --command new_file
OnlyShowIn=Unity;

Y con eso ya lo tienen en su cajón de aplicaciones.

Fuentes:
http://tecadmin.net/install-tor-browser-in-centos-rhel-and-fedora/
http://aprenderinternet.about.com/od/Glosario/g/Que-es-Tor.htm

Hotspot en Fedora


"Oye amigo, pásame tu contraseña del WIFI" es una frase muy común de tus amigos cuando llegan a tu casa.

Sin embargo a veces solo rentas un usuario para la conexión, no tienes una red telefónica como tal o es mediante cable, por lo tanto compartir conexión a internet se hace un poco complicado.

En Windows existen infinidad de sofwtare para compartir conexión a internet, por ejemplo, conectify, hotspot shield, WIFI Hot spot creator, Baidu HotSpot, etc, etc, muchos y muchos. La mayoria son de paga y acudes a los crack. Aun cuando el crack funciona, la conexión es lenta y se desactiva a cada rato.

En Fedora, viene incluido con el sistema operativo la opción de crear un HotSpot y el proceso es realmente fácil. Desconozco si este proceso está disponible para otras distribuciones GNU/Linux.

Paso 1: Ir a la configuración de red:

Paso 2: Ubicarse en la pestaña que dice <Inalámbrica> y dar clic en Usar como <<hotspot>>.

Paso 3: enviará un mensaje para notificar lo siguiente y luego dar clic en <Activar>

Paso 4: Compartir la contraseña generada:

Ventajas:
  1. No requiere instalación de software adicional.
  2. Si la conexión de internet es por ethernet, no hay problema, se compartirá por la inalámbrica.
  3. No necesitas crack.
  4. La conexión no se desconecta a cada momento.
  5. Es rápido y fácil.
  6. Software completamente libre e incluido en Fedora.
  7. Los nombres de red y contraseña lo toma del equipo.
Desventajas:
  1. No se puede recibir y compartir internet por la misma tarjeta de red inalámbrica, se necesita una Tarjeta de red USB de WIFI adicional.
  2. Configuraciones personalizadas, como nombre, contraseña, límite de mbits, se requiere conocimientos intermedios de comandos linux para configurar las opciones en los archivos de la ruta /etc/sysconfig/network-scripts

Hasta el momento no encontrado una alternativa con interfaz gráfica para Linux para compartir internet mediante la misma tarjeta de red inalámbrica, en mi caso utilizo una tarjeta de red Inalámbrica USB para hotspot, si alguien sabe alguna opción, sería perfecto compartirla.

viernes, 12 de agosto de 2016

Insertar PDF de GoogleDrive en post's de Blogger



Quizá el contenido de este post sea trivial para algunos, pero en lo personal, me costó mucho trabajo encontrar información sobre cómo insertar un pdf dentro del post en blogger. Así que decidí crear un post explicando  los pasos de cómo realizar este procedimiento.

Paso 1: Subir su archivo PDF a Google Drive, ir al menú Nuevo, seleccionar Subir Archivo, seleccionar su archivo, y esperar a que cargue.

Paso 2: Una vez que el archivo haya sido subido a GoogleDrive: hacer lo siguiente

a) <Clic derecho> sobre el archivo subido, seleccionar la opción <Compartir> clic en <Avanzada>


<Clic en Cambiar...> 


Y permitir de acceso acceso público para que pueda ser visto por cualquer.


b) <Clic derecho> sobre el archivo subido, seleccionar la opción <Vista Previa>.

Paso 3: Clic en el <Menú Desplegable> y seleccionar la opción <Abrir en una ventana nueva>.

Paso 4: Clic en el <Menú desplegable> y seleccionar la opción <Insertar elemento>.

Paso 5: Abrirá un cuadro de dialogo con el código que se utilizará para insertar el documento en el post.

Paso 6: Teniendo el código a insertar, vamos al post en la vista o edición html, y buscamos la parte en la que se desea pegarlo. Una vez que se haya pegado, regresamos a la vista de diseño normal:





Y se obtendría un resultado parecido a esto:




Gracias por visitar, espero y sea de utilidad

sábado, 6 de agosto de 2016

Referencias Bibliográficas, Glosario y Acrónimos en documentos LaTeX




Sin duda alguna, LaTeX es super poderoso para la edición de documentos científicos, así como en la utilización de fórmulas y muchas otras características.


Sobre todo, cuando recien se inicia en LaTeX, todo es tedioso y molesto hacerlo, como ya sabrán algunos, pues son etiquetas como si fuera html.

En esta ocasión no detallaré nada en este post, ya que realicé una Guía en Pdf para que lo puedan leer completo ya con ejemplos y todo, de hecho la primera imagen es la portada e índice de contenido del manual.

Les dejaré el documento completo en latex para descargar y que vean los ejemplos.




Gracias por visitar, espero y sea de utilidad.