Juan Rabadan


Copy MySQL Database From One Server To Another Remote Server

Usually you run mysqldump to create a database copy and backups as follows:

$ mysqldump -u user -p db-name > db-name.out

Copy db-name.out file using sftp/ssh to remote MySQL server:
$ scp db-name.out user@remote.box.com:/backup

Restore database at remote server (login over ssh):
$ mysql -u user -p db-name < db-name.out
$ mysql -u user -p 'password' db-name < db-name.out

How do I copy a MySQL database from one computer/server to another?

Short answer is you can copy database from one computer/server to another using ssh or mysql client.

You can run all the above 3 commands in one pass using mysqldump and mysql commands (insecure method, use only if you are using VPN or trust your network):
$ mysqldump db-name | mysql -h remote.box.com db-name

Use ssh if you don't have direct access to remote mysql server (secure method):
$ mysqldump db-name | ssh user@remote.box.com mysql db-name
$ mysqldump -u username -p'password' db-name | ssh user@remote.box.com mysql -u username -p'password db-name

You can just copy table called foo to remote database (and remote mysql server remote.box.com) called bar using same syntax:
$ mysqldump db-name foo | ssh user@remote.box.com mysql bar
$ mysqldump -u user -p'password' db-name foo | ssh user@remote.box.com mysql -u user -p'password' db-name foo

This will not just save your time but you can impress your friend too ;) . Almost all commands can be run using pipes under UNIX/Linux oses.

Fuente: http://www.cyberciti.biz/tips/howto-copy-mysql-database-remote-server.html


Sublime Text 3

Después de tanto esquivarle a este editor mis compañeros en Arzion me convencieron de sus ventajas.

Voy a crear este post en donde voy a poner links a tips que me parezcan útiles de recordar.

Por ejemplo

  1. http://docs.sublimetext.info/en/latest/
  2. http://blog.generalassemb.ly/sublime-text-3-tips-tricks-shortcuts/

Problemas con el booteo en Windows 8?

El siguiente artículo me salvó de tener que formatear mi computadora de escritorio.

Windows 8 received a decent amount of enhancements on the desktop side that I tend to appreciate versus running Windows 7, even if that means I get Metro standing in the middle here and there occasionally. One such area of improvement is notification management and how it handles updates and system restarts. Running the final version of the OS for a few months now, it’s been a painless affair until this past weekend.

I shut down my desktop PC with the purpose of connecting new hardware and on the way out I was prompted to “update and shutdown”. Sure, why not. I went on to install a secondary SSD for maintenance purposes and apparently that was enough for my system to refuse booting right after. I tried to backtrack to no avail.

"Reboot and select proper boot device"
I bet you have no love for the message, neither do I.

Because I had disconnected a few devices, it took me a while to narrow things down to my boot SSD, and for a second I even thought the SSD had gone forever kaput. After booting with a different drive and noting I could read all my data on the drive in question, I took a deep breath and started to troubleshoot the boot record. Once you settle on the idea that it’s not a hardware problem and you are unable to boot up, your best bet is to try to fix the MBR (Master Boot Record).

With a long history of dual booting different versions of Windows over the years, finding a corrupt MBR, boot sector, or Boot Configuration Data (BCD) is nothing new, but it took me longer than usual to come to a solution. Here are a few things you can try and hopefully get back to full speed in no time.

First of all, you will need a bootable disc or pen drive. Here’s a quick guide to accomplish that if you don’t already have one handy. Although it's not a requirement, to be on the safe side it's recommended at this point that you disconnect other storage devices from your PC and leave only the SSD/HDD that you are troubleshooting.

Booting into the Windows 8 setup, select “Repair your computer” in the bottom part of the window, then “Troubleshoot” and “Advanced options”. Here I was given a good reminder of another cool Windows 8 feature. If you have a restore point created you can go back to that working copy of the OS without losing your data. Well, I didn’t have any.

So the first thing you will want to try is the Automatic Repair.

If that fixes your boot problem, you had it easy and go on to create a restore point for another time you are out of luck. If Windows is unable to fix your issue, read on.

Go back to the Advanced options and choose the Command Prompt. Going for the next easiest way to fix the problem, enter the following four commands into the prompt:

bootrec /fixmbr
bootrec /fixboot
bootrec /scanos
bootrec /rebuildbcd

After receiving a success confirmation. Close the CMD window and restart your PC.

If you are booted into Windows, excellent! If not, let’s try one last thing. Follow the previous steps until you have landed into the Command Prompt.

Enter the “bcdedit” command. A lists of items will appear under Windows Boot Manager and under Windows Boot Loader. Look for the following items:

  • Under Windows Boot Manager, the Device item should be set to unknown.
  • Under Windows Boot Loader, the Device and os device items should be set to unknown.

Run the following three commands to correct the settings:

bcdedit /set {default} device partition=c:
bcdedit /set {default} osdevice partition=c:
bcdedit /set {bootmgr} device partition=c:

One last thing to try (though in theory, it's the repeating what we’ve done before) browse to the folder X:SourcesRecovery and then enter “StartRep.exe” which executes another automated startup repair utility.

Fuente: http://www.techspot.com/guides/630-windows-8-boot-fix/


Comprimir y descomprimir archivos tar y tar.gz con Linux

Descompresión de archivos tar y tar.gz

tar -zxvf yourfile.tar.gz -> con este comando extraemos el contenido del tar.gz en el directorio donde estamos parados.

Si queremos descomprimir el contenido el archivo en un directorio diferente debemos utilizar el operador -C de la siguiente manera

tar -C /nombre_de_la_caperta -zxvf yourfile.tar.gz

Compresión con tar y tar.gz

tar -cvzf file.tar.gz  {carpeta que queremos comprimir}


Autocomplete for CodeIgniter 2.x en NetBeans

Para los que trabajamos con NetBeans y Codeigniter esta función es la solución al problema de Autocomple del código.

Al ejecutarla, nos descargamos un archivo autocomplete.php que debemos incluir dentro de nuestro proyecto.
Despues de hacer esto,  hacemos un restart de NetBeans (cerrarlo y volverlo a abrir) y ya tenemos el autocompleter funcionando para todas nuestras librerias, modelos y CodeIgniter Base Classes

function generate_nb_autocompletion($with_declared_classes = FALSE) {

$CI = & get_instance();


$classes = array();
if ((bool) $with_declared_classes === TRUE) {
$declared = get_declared_classes();

foreach ($declared as $class) {
if (strpos($class, "CI_") === 0) {
$classes[str_replace("CI_", FALSE, $class)] = $class;

$libs = get_filenames(APPPATH . "libraries/", FALSE, TRUE);
foreach ($libs as $file) {
$file = str_replace(".php", FALSE, $file);
$classes[str_replace("MY_", FALSE, $file)] = $file;

$core_libs = get_filenames(APPPATH . "core/", FALSE, TRUE);
foreach ($core_libs as $file) {
$file = str_replace(".php", FALSE, $file);
$classes[str_replace("MY_", FALSE, $file)] = $file;

$files = get_filenames(APPPATH . "models/", FALSE, TRUE);
foreach ($files as $file) {
$file = str_replace(".php", FALSE, $file);
$classes[str_replace("MY_", FALSE, $file)] = $file;

$class_property = " /**\n";
$class_property.= "  *\n";
foreach ($classes as $key => $value) {
$class_property.= "  * @property {$key} \${$value}\n";
$class_property.= "  */\n";

$declaration = $class_property . "Class CI_Model{}\n";
$declaration .= $class_property . "Class CI_Controller{}\n";

foreach ($libs as $file) {
$lib = str_replace(".php", FALSE, str_replace("MY_", FALSE, $file));
$declaration .= $class_property . "Class {$lib}{}\n";

foreach ($core_libs as $file) {
$lib = str_replace(".php", FALSE, str_replace("MY_", FALSE, $file));
$declaration .= $class_property . "Class {$lib}{}\n";

force_download("autocomplete.php", "<?php \n{$declaration}\n?>");



SEO: Redirigir trafico no-www al dominio www

Si queremos redirigir todo el tráfico no-www de nuestro sitio a nuestro dominio principal con www tenemos que escribir en el archivo .htaccess las siguientes lineas

# Redirect non-www traffic to www

RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^juanrabadan.com [NC]
RewriteRule ^(.*)$ http://www.juanrabadan.com/$1 [L,R=301]


Aquellos días en las sierras

Lugar: Villa General Belgrano y alrededores.
Fecha: Invierno 2011

Pasamos unos días geniales junto a dos familias amigas. El paisaje espectacular.
Dejemos que el resto sea explicado por las siguientes fotos.


Quien ríe último…

El equipo que me llevó al éxito en el torneo de amigos del Gran DT.

Equipo Titular

Arqueros: Monetti (GYM)
Defensores: Lopez (ARS), Echeverria (TIG), Ferrari (RIV)
Volantes: Lamela (RIV), Sperdutti (NEW), Morales (TIG), Donda (GOD)
Delanteros: Ovolo (ARS), Gigliotti (ALL), Ferreyra (BAN)

Arquero: Cambiasso (ALL)
Defensor: Pillud (RAC)
Volante: Chavez (BOC)
Delantero: Stracqualursi (TIG)

A mi modo de ver las cosas los jugadores que hicieron la diferencia fueron Mariano Donda, Mauricio Sperdutti, Lisandro Lopez y Cristian el Pochi Chavez.

Reconozco que fue un torneo muy dificil y hasta la última fecha estuve ocupando el segundo puesto enfrentando a un digno rival. Pero también es cierto a partir de la fecha 16 con algunos cambios tácticos pude ir descontando punto x punto.

Los resultados de estos cambios me han posibilitado hacerme acreedor del premio en disputa que era una Cena que en este caso tendrá que pagar mi gran amigo Mariano Lacecchia quien la peleó durante todo el torneo pero se relajó en las últimas 3 fechas.
No te preocupes groso, te voy a dar revancha en el apertura, cuando termine la copa américa.

Avisame cuando quieras hacer la cena... porque tengo una agenda muy complicada ultimamente como director técnico exitoso.


Sudo sin contraseña en Ubuntu

Si queremos que cada vez ejecutamos un comando SUDO el sistema no nos pregunte el password, tenemos que editar el archivo de los sudoers.
Para ello desde una terminal escribimos

sudo visudo

Luego agregamos al final de este archivo la siguiente linea

Ctrl + X para salvar los cambios. Recuerden cambiar username por el nombre de usuario que utilicen.
Tagged as: , No Comments

Utilizando operadores para buscar dentro de Gmail

Existen algunos operadores mágicos que nos permiten filtrar y buscar dentro de nuestras cuentas de Gmail o Google Apps.

Si bien es posible encontrar mucha documentación dentro de la ayuda de gmail, pongo aquí los comandos que más utilizo a diario.

Espero que sean de ayuda para todos!

Operador (from:) es para filtrar los correos de un remitente específico. Por ejemplo from:juan, me filtra todos los correos recibidos de juan
Operador (to:)  funciona de manera similar al anterior, con la diferencia que es para filtrar por destinatario. Por ejemplo to:julieta, se filtran todos aquellos mensajes que hayan sido enviados a Julieta.
Operador (subject:) busca determinadas palabras que estén contenidas en el asunto de nuestros mensajes. Por ejemplo subject:presupuesto, para filtrar todos aquellos mensajes que contengan la palabra "presupuesto" en su asunto.

Podemos combinar los operadores utilizando OR para filtrar mensajes que cumplan una condición o la otra.
El guión medio (- se utiliza para excluir determinadas cosas de nuestra búsqueda. Por ejemplo (subject: presupuesto -comercial) nos filtra todos aquellos mensajes que contengan la palabra "presupuesto" en el asunto y no contengan la palabra "comercial".
Se pueden utilizar los paréntesis ()  para agrupar condiciones.

Para buscar frases literales, debemos encerrar las mismas con comillas dobles "frase a buscar"

El operador has:attachment nos lista los mensajes que tienen archivos adjuntos.

Los operadores after: y before: se utilizan para filtrar la fecha de envío de los mensajes. Por ejemplo after:2010/01/15 before:2010/01/30, implica filtrar todos aquellos mensajes que fueron enviados entre el 15 y el 30 de enero del 2010.

Si quieren más información pueden dirigirse a la web oficial que les mencionaba al principio