viernes, 11 de septiembre de 2020

Agregar "meta tags" para Facebook (y otras Redes) en nuestro Website

Regresando... 


 

Mucho tiempo sin escribir. Como pequeño paréntesis he de contar que hace mucho ya no me dedico a la programación como actividad principal económica. La historia de como mi hobbie se convirtió en trabajo y como mi trabajo se convirtió en hobbie tal vez de para una entrada propia. Lo único que contaré por ahora es que me dedico a la danza, específicamente al Tango Argentino (tremendo cambio!). 

La cuestión es que es por ello que no actualizo ya mucho este blog, programo muy poco, sin embargo ahora en estas condiciones pandémicas actuales, me he visto en la necesidad de retomar la actividad de programación para mantener mi cabeza ocupada y lejos de malos pensamientos, además de volver a abrir la ventana de la posibilidad de poder generar ingreso económico ahora que el arte y la cultura están dejados al final.

En fin, esta entrada además del mensaje catártico será breve. Esta es la simple  cuestión:

+ Necesitamos agregar meta tags para que Facebook (y otras redes sociales) al publicar el URL de nuestro Website muestre su información básica junto a un pequeño preview.

Claramente lo que más importa es que muestre el título, la descripción y la imagen. Bien, para no hacer el cuento más largo acá va un ejemplo de las etiquetas que se requieren:

 <meta property="og:image" content="https://www.puertotango.com/assets/img/preview-de-mi-sitio.png"/> <!-- Revisar las dimensiones más adecuadas-->
 <meta property="og:title" content="Mi sitio" /> <!-- Titulo obvio-->
 <meta property="og:url" content="https://www.urldemisitio.com/" />
 <meta property="og:type" content="website" /> <!--- hay varios tipos-->
 <meta property="og:description" content="Descripción que aparecerá de mi sitio." />
 <meta property="og:fb_app" content="none" /> <!-- ID de aplicación de FB *hay que leer más al respecto :) -->


yo además agrego estas otras complementariamente:

        <title>Mi sitio</title>
        <meta content="Descripción de mi sitio." name="description">
        <meta content="palabras, clave " name="keywords">


Acá incluyo la entrada que me salvó y explica de manera más detallada cada etiqueta y un poco más por si están interesados.

Acá el link para entrada referencia - Gracias!


También es recomendable que entren al apartado de Facebook para desarrolladores. Ahí pueden ingresar su URL y les da algunas opciones de depuración para chequear como está interpretando Facebook los "meta tags" de nuestro Website. Yo sólo he usado esa opción, pero parece que hay más para chusmear por ahí... si encuentran algo interesante luego me cuentan.

Acá el link del Debug de Facebook para desarrolladores

 

Listo por hoy... hasta la vista javer@s!!

sábado, 15 de septiembre de 2018

El P2P y lo que queda... Enlaces Magnet: ¿Qué es eso?

Ya  hace bastante tiempo de cuando los primeros programas P2P aparecieron en la escena del Internet. Yo recuerdo como fue una sensación cuando de tener que buscar páginas - que en aquel entonces eran muy reducidas y difíciles de encontrar a través de los buscadores - donde poder encontrar enlaces directos a canciones que debían estar alojadas en un servidor en la nube (en aquel entonces también, la nube, no era un término muy difundido - . La complicación que era encontrar algún catalogo respetable en estas circunstancias. Era posible encontrar enlaces de algunas canciones clásicas en inglés, tal vez algunas populares en español, pero algo así como poder encontrar un disco completo... ufff era algo casi imposible. 

Es así que lo primero que conocí fue el tan visionario Napster. ¡Increíble! podías buscar canciones de cualquier tipo - en aquel entonces otra limitante era que sólo podías buscar canciones mp3 - en español, inglés, portugués, francés... etc. A veces el título del archivo, que era el único referente de búsqueda, no coincidía con la canción y terminábamos conociendo (o desconociendo) temas que nada que ver, pero era parte del juego.

Algo que también pasaba mucho con el Napster fue referente a la velocidad de descarga. En aquellos entonces las conexiones no se medían por Megabits aún.. jajaja.. parece mentira, pero una conexión de 56Kbits de un módem telefónico que además, mantenía la línea ocupada el tiempo que permanecía activa la conexión, era el estándar en aquellos tiempos. Uno siempre buscaba que la canción que querías descargar usando el Napster, tuviera un circulito verde o mínimo amarillo, lo cual mostraba que la conexión de quien estaba compartiendo ese tema era más rápida. Podía dejar bajando unas 10 canciones toda la noche y sólo se bajaban la mitad. Era una pena enorme descubrir que el tema que más querías quedaba trunco para toda la vida, no había posibilidad, a través del programa , de continuar una descarga, ¡ya sé! parece mentira todo eso, pero fue la realidad.

Después de este disparate de nostalgia, les platico que los programas fueron evolucionando mucho, apareciendo alternativas sumamente interesantes y que por lo menos ya permitían continuar con descargas aunque se cayera la conexión. Programas como: AudioGalaxy, Imesh, LimeWire, red eDonkey, Ares...  y así continúan. Tiene mucho tiempo desde la última vez que habré intentado utilizar alguno de estos, pero la realidad actual es que ya no parecen ser muy prácticos, son programas de otra época. Época en la cual no había opciones gratuitas de tener al alcance música o videos, el YouTube o el spotify son programas que en aquel entonces parecían un sueño guajiro imposible. Para aquel entonces entrar al programa, conectarse a un servidor activo y rápido, buscar de entre un montón de versiones del mismo tema - que además podría ser un virus - , escoger el que tuviera más pares, o pares más rápidos, dejar descargando toda la noche; todo esto para ir alimentando nuestra colección muy de poco a poco... y sorprendentemente llegamos a tener colecciones bastante nutridas , al menos de unos cuantos Gigas, de los temas favoritos. 

Cuando aparecieron los Torrent aún había muchas opciones que para cosas puntuales parecían ser una solución más práctica. Ahora la realidad es que para poder conseguir ciertos tipos de aplicaciones, temas o demás material gris, parece ser la única opción viable, es eso o que tengas manera de acceder a quien comparta archivos en algún servidor Mega, fileshare, etc y que lo pueda mantener en la nube sin que se sancione por alguna infracción. 

La verdad que son tiempos complicados para toda esta onda de "compartir" archivos. Ciertamente no es una práctica legal, se trata de una actividad que va en prejuicio de el material protegido, aunque a veces es la única opción de busqueda interesante por todo el catálogo que tiene. También, con las opciones públicas al alcance de todos, como los Youtube y spotify ya nombrados, a veces no hay necesidad, y meno si agregamos las opciones de streaming de video que están empezando a abundar y que son muchos que no les resulta mala inversión pagar una mensualidad por dicho servicio. El sistema de negocio, en mi opinión, necesita seguirse adaptando a la realidad informática actual, sin embargo también creo importante que sigan existiendo maneras de compartir archivos en esquemas abiertos que nos permitan mantener algo de privacidad en este mundo tan vigilado, nuestra privacidad es parte de nuestra libertad, responsabilidad y derecho que debemos reconocer y conservar.

A continuación les paso un enlace que hablan justamente de la evolución que siguió el formato Torrent para poder sobrevivir los desafíos actuales y que lo hace una red confiable, rápida y con cierto grado de seguridad para compartir archivos de tamaños considerables.


El futuro sigue como un incierto camino, pero nosotros lo estamos transitando.... así que nosotros aun tenemos el poder de decidir como hacerlo... 

Hasta la vista Javer@s!!!

sábado, 23 de junio de 2018

Configurar usuario default PostgreSQL para uso local

Mucho tiempo sin andar por acá... a ver que tal sale.

Ahora me recordé que debía configurar mi PostgreSQL en Ubuntu a que funcione de manera local lo más fácil posible para poder hacer los trabajos de desarrollo que tengo acá.

De esta manera fue que me puse a trabajar en recordar que había que hacer y acá pongo el procedimiento para habilitar de manera fácil al usuario default para acceder a las bases de datos de PostgreSQL desde localhost y con aplicaciones como pgAdmin por ejemplo.

Primero


Cambiar contraseña del usuario 'postgres' del sistema. Por las dudas dejarle una contraseña que podamos recordar par a el usuario en nuestro sistema operativo a través del comando en shell:

#passwd postgres

Segundo

Permitir conexiones escucha (listening) para conexiones desde 'localhost'. Para lo cual debemos modificar el archivo postgres.conf  (En Ubuntu está en /etc/postgres/9.1/main/) en la línea :

# - Connection Settings -

listen_addresses = 'localhost'   #<-si comentada="" descomentar="" est="" esta="" font="" hay="" linea="" que="">


Tercero

Ahora debemos cambiar el usuario también de la base de datos de usuarios de postgres la cual usa este manejador para gestionar el acceso de usuarios a su base de datos. Lo hacemos con los siguientes:

# su postgres
postrgres@local:$ psql
postgres=#  ALTER USER user_name WITH PASSWORD 'new_password';
postgres=# \q       

¡¡¡Listo!!!

Ahora ya deberíamos poder acceder a nuestra base de datos desde aplicaciones como pgAdmin o conexiones desde nuestro mismo equipo para hacer todos los desarrollos que se requieran.

Hasta la vista javer@s!!!

domingo, 6 de agosto de 2017

¡Salvación! Recupera archivos eliminads desde Linux

En mi caso funcionó esta herramienta para recuperar imágenes y videos de una SD card que se había malogrado por alguna razón, por suerte no al grado de perder la información.

Así instalamos desde Linux (Ubuntu):

sudo apt-get install testdisk

 Y así ejecutamos:

sudo photorec

Nos lleva por varios menús en modo texto para indicar partición y destino donde se guardarán los archivos recuperados (recuerda que este destino no debe estar en la misma partición de donde se piensa recuperar, un dato básico pero a veces se pasa por alto... ;) )

A mi me funcionó bastante bien... espero que ustedes si se ven en la necesidad de usarlo también les sea de utilidad en alguna desesperada situación.


Acá las entradas donde yo saqué la información, bastante explicados.


Entrada 1


Entrada 2


Hasta la vista Javer@s!!

martes, 6 de septiembre de 2016

Algunas Buenas Prácticas de Programador

En general soy promotor de las buenas prácticas de un desarrollador. Existen muchas prácticas y metodologías que son útiles, particularmente, al ser un Freelance, creo que las que corresponden a un desarrollo ágil son las que yo prefiero. 

En general pienso que la mayoría son consejos de sentido común que no hay que ser un genio para imaginarlas o saberlas, pero si tener un temple de acero al momento de poner en práctica las prácticas.

Aquí una entrada que se me hizo sumo interesante y que contiene varias sugerencias a la hora de programar, seguirlas o no, dependerá de la personalidad de cada programador y también de que tanto se quiera comprometer con hacer las cosas de la mejor manera. A mi en lo personal la mayoría me parecen muy buenas sugerencias, aunque algunas no son como para que yo las considere tampoco regla de oro. En fin, ahí están para que se entretengan un rato javer@s

Clic aquí para ver la entrada

12 ideas de la filosofía Clean que no pueden faltar en tu código

jueves, 4 de agosto de 2016

Instalar PhpPgAdmin para Postgres en Ubuntu (Linux Mint)

Ok esta será una entrada rápida, simplemente para recordar pasos básicos.

Para instalar PhpPgAdmin ahora es muy sencillo porque basta con instalarlo desde el administrador de archivos o desde consola. Si ya instalaron postgres antes escribiríamos así:

$ sudo apt-get install  phppgadmin

Si no tienes Postres puedes Instalar Postgres y PhpPgAdmin en un sólo paso:

$ sudo apt-get install postgresql postgresql-contrib phppgadmin

Todo bien hasta aquí en cuanto a lo automático. Yo pienso que ya debería crearte el enlace si ya tienes apache instalado pero en mi caso no se hizo así que les agrego esta linea:

$sudo ln -s /usr/share/phppgadmin/ pgadmin
/*** Notar que el nombre del enlace simbólico es pgadmin para hacerlo más corto ***/ 

Después hay que desactivar algunas cosas de seguridad, que para el caso local no son necesarias. Si estas instalando en un server tal vez sea importante que veas alguna guía más detallada, pero si no, para mi bastaron los siguientes pasos:

Acceder al archivo:

sudo vim /etc/apache2/conf.d/phppgadmin

Descomentar la linea "#allow from all" y así quede de la siguiente manera:

order deny,allow
deny from all
allow from 127.0.0.0/255.0.0.0 ::1/128
allow from all

Una vez hecho esto cambiar el protocolo de seguridad del PhpPgAdmin en el archivo:

$ sudo vim /usr/share/phppgadmin/conf/conf.inc.php

Y ahí cambiar el parámetro $conf['extra_login_security'] a false quedando de la siguiente manera (notar que es código php):

// If extra login security is true, then logins via phpPgAdmin with no
// password or certain usernames (pgsql, postgres, root, administrator)
// will be denied. Only set this false once you have read the FAQ and
// understand how to change PostgreSQL's pg_hba.conf to enable
// passworded local connections.
$conf['extra_login_security'] = false;
Ahora reiniciamos apache:

$ sudo/etc/init.d/apache2 restart

Y deberíamos poder acceder a nuestro PgAdmin en cualquier navegador entrando a la URL:

http://localhost/pgadmin/

Login con nuestro usuario y contraseña de Postgres y................

¡¡¡¡Listo!!!!

Aquí un enlace con una guía un poco más detallada:

Clic aquí

¡¡¡Hasta la vista Javer@s!!!

martes, 24 de mayo de 2016

Cargar script postgres desde consola

Esto lo apunto aquí porque ya van varias veces que ha sido necesario hacerlo y siempre se me olvida como, nada como hacer uso de la vieja y buena bitácora.

Aquí el ejemplo tan codiciado:

psql -h -U -W -f

Un ejemplo real sería:

psql -h localhost -U usuario_postgres -W -f miscript.sql mi_basedatos

La entrada donde se inspiró la actual:

Clic Aquí

De nuevo saludos Javer@s!!!

Substituir texto en archivo desde consola Linux

Esto es algo que generalmente es necesario hacer y que nunca está de más tenerlo a la mano

yo@milinux$ sed "s/#FF0000/#0000FF/g" main.css

RECOMENDACIÓN 
Acá una pequeña aclaración, ya que originalmente en lugar de comilla doble tenía comilla simple y no me estaba funcionando ya, no se si sea por una actualización al comando o el bash o algo raro. Les recomiendo utilizar comilla simple (') y si no funciona comilla doble (") para delimitar la expresión.

El comando sed reemplaza una cadena y ahora lo redireccionamos a un nuevo archivo para que quede sustituido:

yo@milinux$ sed "s/#FF0000/#0000FF/g" main.css > nuevo_min.css

Aquí la entrada donde se inspiró la actual...


Saludos Javer@s!

martes, 14 de abril de 2015

Editores de texto ligeros para desarrolladores

HOla!

Aquí andamos compartiendo un a liga interesante que habla de editores ligeros de texto para desarrolladores.

Después de aquellos legendarios editores en modo texto, de los cuales algunos siguen vigentes sin embargo ya en un considerable desuso en comparación con sus épocas de gloria, por ejemplo: vim, emacs, o entornos específicos de los lenguajes como Borland Turbo C++, Borland Turbo Pascal, Q-Basic, qBasic, entre otros, todos ellos en modo texto.

Conforme el mundo de los entornos gráficos se fue adueñando de las PC's también los entornos se fueron convirtiendo en herramientas bastante poderosas y diversas, repletos de monerías que prometían arreglarnos todos nuestros problemas al programar y hacernos super eficientes, casi programar por nosotros.... casi...

Y así ya hemos visto entornos como VisualStudio .Net, Borland Builder C++, Delphi, Eclipse, NetBeans , entre otros... como características esta lo grandes que son, la cantidad de cosas que te ofrecen y la lentitud con que se ejecutan.

Precisamente ese contra ha sido lo que ha hecho que muchos programadores, de repente buscando opciones más simples, hayan volteado de nuevo a los editores ligeros, pero ¡por favor! algo más que el notepad  ... jeje..

Entre varios que he utilizado y visto están: gedit, notepad++, plusEdit, Kate (Kwritte), y los que yo considero como de la nueva generación de editores: atom, brackets, light table, sublime-text. Este último que ha gozado de una reciente popularidad entre muchos programadores de lenguajes web como PHP, Groovy on Rails, etc.

Creo que se presentan como una gran alternativa y algo que llegó para quedarse, hacer a un lado de vez en cuando las grandes IDE's de programación y usar editores ligeros.

El siguiente articulo habla precisamente de estos editores ligeros y fue la inspiración de esta entrada.

Clic Aquí

Aqui un enlace de como instalar Sublime-text en Linux, no es ninguna preferencia es simplemente que la cuiriosidad de instalar esta aplicación en mi máquina fue lo que me llevó a la cuestión de esta entrada:

Instalando sublime en linux ubuntu


Saludos Javer@s!

miércoles, 25 de marzo de 2015

Optimizar NetBeans

Para optimizar NetBeans que por lo general se siente pesado podemos desactivar los plugins que tiene instalados, por defecto y no vayamos a usar. Para ello haremos:

  1. Ir a Herramientas -> Complementos->Pestaña "Instalado".
  2. Seleccionar el checkbox del plugin a desactivar.
  3. Se activa el botón Desactivar en la parte inferior.
  4. Pulsar botón y listo. Ahora es necesario reiniciar el IDE. 
Hay que tener cuidado con que plugins desactivamos, hay plugins importantes dependiendo lo que uno programe, por ejemplo, si estas programando en PHP no se te vaya a ocurrir desactivar la pestaña de editor de PHP porque puedes dejar de incluir opciones importantes para el uso de PHP en tu IDE. 

En mi caso he desactivado plugins de frameworks (Symphony) que no utilizo o versionadores (CVS, Mercurial) que tampoco uso.

Así mismo se recomienda desactivar el escaneo automático. Para desactivarlo:
  1. Ir a Herramientas -> Opciones -> pestaña "Varios" -> subpestaña "Archivos".
  2. Desactivar el checkbox de "Habilitar auto-escaneo de fuentes".
Esta información la he sacado de este enlace el cual explica un poco más a detalle las acciones que se realizan. Muy útil y a lo cual agradezco mucho la información porque es de mucha ayuda aligerar el NetBeans, sobre todo en computadoras que no tienen tantos recursos disponibles.


¡Saludos javer@s!

Dando color y vida al prompt de consola linux

Comparto mi archivo .bashrc ubicado en mi directorio home de linux /home/vagabundo/ o ~/ con la configuración para mostrar colorcitos en la consola, sobre todo para todos aquellos que como yo la utilizamos como herramienta diaria linuxera:

_______________________________________ archivo .bashrc____
# ~/.bashrc: executed by bash(1) for non-login shells.
# see /usr/share/doc/bash/examples/startup-files (in the package bash-doc)
# for examples

# If not running interactively, don't do anything
[ -z "$PS1" ] && return

# don't put duplicate lines in the history. See bash(1) for more options
# ... or force ignoredups and ignorespace
HISTCONTROL=ignoredups:ignorespace

# append to the history file, don't overwrite it
shopt -s histappend

# for setting history length see HISTSIZE and HISTFILESIZE in bash(1)
HISTSIZE=1000
HISTFILESIZE=2000

# check the window size after each command and, if necessary,
# update the values of LINES and COLUMNS.
shopt -s checkwinsize

# make less more friendly for non-text input files, see lesspipe(1)
[ -x /usr/bin/lesspipe ] && eval "$(SHELL=/bin/sh lesspipe)"

# set variable identifying the chroot you work in (used in the prompt below)
if [ -z "$debian_chroot" ] && [ -r /etc/debian_chroot ]; then
    debian_chroot=$(cat /etc/debian_chroot)
fi

# set a fancy prompt (non-color, unless we know we "want" color)
case "$TERM" in
    xterm-color) color_prompt=yes;;
esac

# uncomment for a colored prompt, if the terminal has the capability; turned
# off by default to not distract the user: the focus in a terminal window
# should be on the output of commands, not on the prompt
force_color_prompt=yes

if [ -n "$force_color_prompt" ]; then
    if [ -x /usr/bin/tput ] && tput setaf 1 >&/dev/null; then
# We have color support; assume it's compliant with Ecma-48
# (ISO/IEC-6429). (Lack of such support is extremely rare, and such
# a case would tend to support setf rather than setaf.)
color_prompt=yes
    else
color_prompt=
    fi
fi

if [ "$color_prompt" = yes ]; then
    PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
else
    PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
fi
unset color_prompt force_color_prompt

# If this is an xterm set the title to user@host:dir
case "$TERM" in
xterm*|rxvt*)
    PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1"
    ;;
*)
    ;;
esac

# enable color support of ls and also add handy aliases
if [ -x /usr/bin/dircolors ]; then
    test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)"
    alias ls='ls --color=auto'
    #alias dir='dir --color=auto'
    #alias vdir='vdir --color=auto'

    alias grep='grep --color=auto'
    alias fgrep='fgrep --color=auto'
    alias egrep='egrep --color=auto'
fi

# some more ls aliases
alias ll='ls -alF'
alias la='ls -A'
alias l='ls -CF'

# Alias definitions.
# You may want to put all your additions into a separate file like
# .bash_aliases, instead of adding them here directly.
# See /usr/share/doc/bash-doc/examples in the bash-doc package.

if [ -f ~/.bash_aliases ]; then
    . ~/.bash_aliases
fi

# enable programmable completion features (you don't need to enable
# this, if it's already enabled in /etc/bash.bashrc and /etc/profile
# sources /etc/bash.bashrc).
#if [ -f /etc/bash_completion ] && ! shopt -oq posix; then
#    . /etc/bash_completion
#fi
#Muestra el Fortune del dia
fortune
________________________________________

Para más información de como personalizar las opciones de color aquí una página muy interesante e ilustrativa...

Aquí para acceder al enlace

¡A darle color a la vida javer@s!




Instalar y personalizar vim en CentOS

En realidad instalar VIM es muy fácil con la herramienta YUM :

yum install vim-X11 vim-common vim-enhanced vim-minimal

Como extra también aquí para instalarlo en ubuntu:

sudo apt-get install vim

Una vez hecho esto podemos cambiar nuestro archivo de configuración de vim '.vimrc ' el cual debe estar en nuestro directorio raíz de nuestro usuario en linux, este es un ejemplo que pueden usar, en caso de que no exista el archivo lo pueden crear:

set history=700          " Define cuantas lineas VIM recuerda en su history
                                        
set nocompatible
colo delek
syntax on         "Muy importante para activar el atractivo syntax highlight

set showmode

set autoindent
set smartindent
set backspace=eol,start,indent

set expandtab
set tabstop=4
set shiftwidth=4
set ruler

set number
set ignorecase
set smartcase
set hlsearch
set backup
set backupdir=~/vim/tmp/
set nowrap
set laststatus=2
set cmdheight=2

Aquí la página referencia de esta entrada:

Aquí para entrada en el sitio del autor original

¡Saludos javer@s!

Usando EXPLAIN para analizar consultas en MySQL

El uso de la herramienta EXPLAIN en MySQL es muy simple:

mysql> explain select * from tabla_x;
+----+-------------+---------+------+---------------+------+---------+------+------+-------+
| id | select_type | table   |type  | possible_keys | key  | key_len | ref  | rows | Extra |
+----+-------------+---------+------+---------------+------+---------+------+------+-------+
|  1 | SIMPLE      | tabla_x | ALL  | NULL          | NULL | NULL    | NULL | 1002 |       | 
+----+-------------+---------+------+---------------+------+---------+------+------+-------+

Aquí podemos analizar algunos datos con respecto a nuestra consulta para optimizar nuestros queries sean simples, compuestos (digase con JOIN's y así) o muy complejos xD .

Entre algunas cosas que podemos observar es si usa llaves o indices, el numero de filas que estaría leyendo de la base de datos esa consulta. Por ejemplo un valor que deberíamos evitar en nuestras consultas es el campo 'type' con 'ALL' esto quiere decir que está leyendo la fila completa y no se remite a un campo en particular o a una llave en un índice, por lo tanto la consulta será más lenta que si hacemos uso de alguna de estas alternativas de optimización.

En esta página encontré varios ejemplos bastante ilustrativos y una explicación de cada campo del comando EXPLAIN que pueden consultar para más detalle:

Aquí

También pueden acceder a la ayuda de MySQL en internet.

¡Mucha suerte con sus consultas complejas! la necesitarán ;)

¡Saludos javer@s!

miércoles, 18 de marzo de 2015

Creando usuario en Linux y agregándolo a sudoers rápidamente

Rápidamente aqui los pasos para crear un usuario y agregarlo al grupo de sudoers en linux:

1. Crea su grupo


groupadd nuevogrupo

2. Crear usuario con opciones básicas:

useradd -g nuevogrupo -d /home/nuevousuario -m -s /bin/bash nuevousuario

3. Cambiar password

passwd nuevousuario

4. Agregar a la lista de sudoers. Para ello se debe modificar el archivo /etc/sudoers y agregar la linea del usuario en la sección siguiente:

## Next comes the main part: which users can run what software on 
## which machines (the sudoers file can be shared between multiple
## systems).
## Syntax:
##
## user MACHINE=COMMANDS
##
## The COMMANDS section may have other options added to it.
##
## Allow root to run any commands anywhere 
root ALL=(ALL) ALL
##Nuevo usuario con todos los permisos sudo
nuevousuario ALL=(ALL)  ALL

Listo, reiniciamos nuestra sesión y todo debe estar de lujo y en orden.

¡Saludos Javer@s!


martes, 10 de marzo de 2015

Acelerar importación de Base de Datos MySQL desde consola

HOla!
Esta ocasión platico lo que me pasó. Tratando de cargar una base de datos bastante grande (una tabla cuyo sql era de aprox 6GB), me encontré con la dificultad de que al importarlo a través de la linea de comandos de MySQL tardaba un demonial, más de lo que podría suponerse, tardando 20 segundos o más por cada 1000 registros (hablábamos de unos 5 millones de registros).
Me di cuenta que el dump lo habían generado desde una útil herramienta llamada SQLyog y que mi compañero desde su máquina haciendo el import con la misma herramienta tardaba muuuucho menos que yo.
Entonces vi que el archivo sql del dump no contenía ninguna clase de comentario ni directiva extra más que la carga de los datos, es decir, el create de la tabla y los inserts, ¡Ah claro! y que había sido hecho por SQLyog.

Encontré una página con algunas estrategias para acelerar los procesos de dump y de importación:

Aquí

Entre ellos uno me llamó la atención y parece la solución a mi problema. Al restaurar desde consola en linux sería bueno activar las directivas para cancelar varios chequeos que hace MySQL y acelerar el proceso.

(
    echo "SET AUTOCOMMIT=0;"
    echo "SET UNIQUE_CHECKS=0;"
    echo "SET FOREIGN_KEY_CHECKS=0;"
    cat dump.sql
    echo "SET FOREIGN_KEY_CHECKS=1;"
    echo "SET UNIQUE_CHECKS=1;"
    echo "SET AUTOCOMMIT=1;"
    echo "COMMIT;"
) | mysql -u... -p... target_database

o podemos crear un archivo para ejecutar desde el shell:

#!/bin/bash
MYSQL_USER="..."
MYSQL_PASSWORD="..."

function restore() {
    echo $1;
    (
        echo "SET AUTOCOMMIT=0;"
        echo "SET UNIQUE_CHECKS=0;"
        echo "SET FOREIGN_KEY_CHECKS=0;"
        cat "$1.sql"
        echo "SET FOREIGN_KEY_CHECKS=1;"
        echo "SET UNIQUE_CHECKS=1;"
        echo "SET AUTOCOMMIT=1;"
        echo "COMMIT;"
    ) | mysql -u"$MYSQL_USER" -p"$MYSQL_PASSWORD" "$1"
}

Con esto aceleramos mucho la inserción, sin embargo de todos modos tarda.

En la página donde saqué estas cosas también vienen otras recomendaciones que pueden ser bastante útiles al exportar e importar Bases de Datos en MySQL.


jueves, 5 de marzo de 2015

Especificar JDK para Tomcat (probado con 6 y 7) en Ubuntu

Este error puede ocurrir cuando recién instalamos Tomcat en nuestra máquina (Estoy usando Ubuntu).

no JDK found - please set JAVA_HOME

Para establecer valor para JAVA_HOME abrimos el archivo gedit /etc/default/tomcat# (# es el numero de la versión del Tomcat que estemos usando, ejem: tomcat6 ) usar:

gksudo gedit /etc/default/tomcat6 

En la parte del archivo donde dice:

# The home directory of the Java development kit (JDK). You need at least
# JDK version 1.5. If JAVA_HOME is not set, some common directories for 
# OpenJDK, the Sun JDK, and various J2SE 1.5 versions are tried.
#JAVA_HOME=/usr/lib/jvm/openjdk-6-jdk

Descomentamos y cambiamos el valor de la variable JAVA_HOME por ejemplo:

JAVA_HOME=/usr/lib/jvm/java-7-oracle

Reiniciamos Tomcat, por ejemplo usando tomcat6

sudo /etc/init.d/tomcat6 restart

¡y listo!

Un plus que es si te aparece este error en NetBeans

CATALINA_HOME /conf/server.xml can’t be read

Generar la liga en el directorio base del Tomcat

# ln -s /etc/tomcat7 /usr/share/tomcat7/conf

Y despues asigna valor a tu CATALINA_HOME como /usr/share/tomcat7/conf

¡¡¡Y otra vez listo!!!


¡¡Saludos javer@s!

viernes, 20 de febrero de 2015

Liberar Memoria RAM en Ubuntu-Linux

Esta posibilidad me pareció formidable en lo personal desde que la encontré.

Aquí viene la publicación original donde viene además una explicación de  porqué es una muy buena opción hacerlo de esta manera.

Aquí para ver publicación

Y aquí les muestro directo la forma de usar desde consola para liberar el espacio en RAM. Se deben introducir los siguientes dos comandos en este orden para liberar memoria, es importante siempre hacerlo así, ambos comandos:

1° sincronizar para identificar nodos libres, etc, etc (importante para no perder información que no ha sido guardada en disco):

sudo sync

2° Seguido de:

sudo sysctl -w vm.drop_caches=3

¡Hasta la vista javer@s!

miércoles, 19 de noviembre de 2014

Herramientas GIMP gmic al rescate

¿Estas buscando como aplicar filtros a tus imágenes en GIMP y no sabes como hacerlo? tal vez te pasó como a mi que soy un usuario inexperto en GIMP pero con deseos de aplicar de vez en cuando algún filtro especial o que pueda salir de lo común, además de aplicar alguna transparencia o cosas por el estilo que son el pan de cada día. Un amigo programador me pasó el dato de usar las herramientas gmic. Un plugin que se agrega a nuestro GIMP y que lo hace crecer con la amplia variedad de filtros que puedes previsualizar y aplicar, todo al alcance de un par de clics.

Aquí como instalarlo a través de apt-get

sudo apt-get install gmic

Espero les sea de utilidad.

¡Hasta la vista Jave@s!

martes, 14 de enero de 2014

Cambiar fondo de escritorio automáticamente en Ubuntu

Encontré esta entrada fácilmente googleando y la quiero compartir porque se me hace una excelente herramienta para manipular nuestra imagen de fondo de escritorio en nuestra computadora con ubuntu de 12.04 en adelante. Otorgando las herramientas necesarias para agregar ciertos gatgets y poder cambiar de forma automática y periódica nuestro fondo de escritorio, ya sabes, variarle un poco.. ;)

Así de rápido para probar la aplicación les digo que se llama Variety y se instala así:

sudo add-apt-repository ppa:peterlevi/ppa 
sudo apt-get update 
sudo apt-get install variety
 



¡¡Saludos javer@s!!

martes, 27 de agosto de 2013

Trucos para búsquedas en Google

La verdad ya es como la n-ésima vez que busco en Google los trucos para usar comodines, palabras exactas, parecidas, etc... y siempre me cuesta trabajo dar con una página clara y concisa a lo que yo necesito. Lo peor, cuando lo vuelvo a ocupar porque mi memoria lo ha olvidado, no doy con esa página que me sacó del apuro y ahí me tienes buscando en Google otra vez como buscar en Google.... jajajaja

Pero no más... aquí una pequeña guía de turcos que encontré y que me resultó bastante útil y práctica, tiene lo necesario. Hoy se adhiere a la bitácora... ¡por fin!

Algunos ejemplos de este tipo de búsquedas son :
"patos" < palabra exacta
"patos * feos" < el asterisco funciona como comodín , lo que sea que haya entre esas dos palabras
patos site:www.vidasilvestre.com < Esta que siempre es la que olvido, para buscar una palabra en un sitio determinado.
Y muchas más que pueden encontrar en esta guía... 


¡¡Hasta la vista Javer@s!!!