viernes, 25 de noviembre de 2016

[Anotaciones] Como montar carpeta remota entre dos equipos linux

1.- Se instala sshfs en el equipo local
2.- Se crea la carpeta en el equipo local donde se montará la carpeta remota (sudo mkdir /mnt/nombrelocal)
3.- sudo sshfs -o allow_other usuarioremoto@equiporemoto:/carpeta/remota /mnt/nombrelocal/

Listo, si hay alguna otra cosa que hacer, lo pongo después! :D

martes, 8 de noviembre de 2016

[Anotaciones] Shortcut para ajustar word wrap en sublime text

Key bindings - User

Entre los [] poner> { "keys": ["ctrl+shift+w"], "command": "toggle_setting", "args": {"setting": "word_wrap"}}

[
{ "keys": ["ctrl+shift+w"], "command": "toggle_setting", "args": {"setting": "word_wrap"}}
]

lunes, 17 de octubre de 2016

[Anotaciones] Cambiar tiempo de espera en sesión de phpmyadmin

En la carpeta de phpMyAdmin, editar el archivo libraries/config.default.php


1
$cfg['LoginCookieValidity'] = 1440;
3600 equivale a una hora
1
$cfg['LoginCookieValidity'] = 3600;

También aumentar en php.ini el tiempo de la sesión

1
session.gc_maxlifetime = 1440


1
session.gc_maxlifetime = 3600

Al terminar, reiniciar apache

martes, 27 de octubre de 2015

Entre música nos alegremos y en datos lo convertiremos... Spotify y Play Music

Hace poco tiempo, un amigo hacía una pregunta en su perfil de facebook sobre Spotify, que si convenía comprar el premium y sobre el uso de datos de la misma aplicación, en ese tiempo lo usaba y pensaba que era bueno, de hecho es cómodo no escuchar los anuncios entre una y otra canción, al terminar mis 3 meses de promoción, decidí probar Play Music (de google), no llevo ni un mes y realmente ya puedo decir los pros y contras de cada una.

Spotify es un buen servicio, tienen mucha música y es excelente la integración que tiene con Shazam y en las cards de google, por lástima, Spotify no genera playlists (radio) buenos, simplemente son playlists, pero no llena mis expectativas musicales al generarlos.

Lo que es bueno es el uso de datos, en los 3 meses de uso, nunca usó más de 2.5gb por mes.

Y lo que es excelente, es que tienen un reproductor nativo multiplataforma, es decir, puedes usar Spotify desde tu escritorio, sin tener que gastar los miles de gb en ram al abrirlo en chrome o firefox.

Por otra parte, Play Music es bueno, mucho muy bueno, es un servicio de google y creo que google nos conoce más de lo que nosotros podemos llegar a conocernos, por lo que la generación de playlists (radio), es excelente, simplemente toda la música que quieres escuchar basado en una sola canción, solo hay una cosa mala con este servicio: El uso de datos.

En un mes (menos de un mes en realidad) que llevo usándolo, se acabo 4.2 gb de datos en tan solo 18 días!!!

Esto es por la forma en que Play Music funciona, al generar radio de una canción, empieza a descargar miles y miles de canciones (bueno, como 10 para no exagerar tanto), para guardarlas en caché, así que si genero radio de 4 canciones, en realidad estará descargando 40! (no, no es factorial eh, -ñoños riéndose ahora-).

El otro punto malo (muy malo) que se lleva Play Music, es que no tienen un reproductor nativo, por lo que al usar la aplicación durante 8 godinezcas horas en chrome o firefox, el consumo de tu ram se vuelve exponencial, hasta el punto que algunas veces es mejor reiniciar el equipo (16gb en ram, y aún así pasa, se da un buen agarrón con firefox, pero esa es harina de otro costal).

A final de cuentas, Spotify es un buen servicio con excelentes herramientas, así nada más, y Play Music es un excelente servicio con horribles herramientas, si mejoran pronto las herramientas de éste último, seguro que tendrán clientes de por vida.

Saludos! :D

Alfonso Cuevas aka Komtec1  ( :P


miércoles, 14 de octubre de 2015

Mantras mentales, programacion, fractales y Marths

En la busqueda para el desarrollo de fractales, generé este código para poder hacer imágenes de forma aleatoria, se toman dos circulos y se van uniendo los puntos a partir de diferentes grados. 

Si quieren jugar con el código, las variables que tendrán que modificar para ver diferentes resultados son las siguientes: 

$tamanioX - Define el tamaño completo de X en la imagen
$tamanioY - Define el tamaño completo de Y en la imagen

$radioG - Define el radio para obtener los puntos en la circunferencia
$radioPG - Define el radio para obtener los puntos en la circunferencia

En el segundo for: 

for ($b=0; $b<=360; $b=$b+10)

Podemos cambiar el +10 por algún otro ángulo, en esa parte indica que cada 10° genere un punto. 

En el tercer for: 

        for ($a=0; $a<=360; $a=$a+$b1)

Podemos cambiar el valor de $b1 por algún otro, para que se vaya determinando un ángulo diferente al generarse el segundo punto. 

Se calculan los puntos determinados de la elipse grande y de la pequeña, y se traza una línea entre los dos, como se detalla en la siguiente imagen: 





El primer ciclo, genera un aumento de la imagen que se está dibujando, con un mayor tamaño que se define en el aumento de $radioG y $radioPG. 

Les dejo el código con valores predefinidos que generan una grandiosa imagen, como siempre aquí y en pastebin y al final adjunto varias imágenes generadas con diferentes valores. 



///////Alfonso Cuevas/////////////////////////
///////komtec1 [ at ] gmail [ dot ] com///////
///////komtec1.blogspot.com///////////////////

$tamanioX = 3600;
$tamanioY = 3600;

$img = imagecreatetruecolor($tamanioX, $tamanioY);

$x = $tamanioX/2;
$y = $tamanioY/2;

$radioG = 120;
$radioP = 5;
$radioPG = 250;

$blanco = imagecolorallocate($img, 255, 255, 255);
$rojo   = imagecolorallocate($img, 255,   0,   0);
$verde = imagecolorallocate($img,   0, 255,   0);
$azul  = imagecolorallocate($img,   255,   0, 255);

// dibujar el circulo grande
#imagearc($img, $x, $y, $x+$radioG, $y+$radioG,  0, 360, $rojo);
// dibujar el circulo pequenio
#imagearc($img, $x, $y, $x+$radioP, $y+$radioP,  0, 360, $rojo);

$b1 = 20;
$b2 = 10;

for ($c=0; $c<=11; $c++)
{
for ($b=0; $b<=360; $b=$b+10)
{
$color = imagecolorallocate($img, rand(0,255), rand(0,255), rand(0,255));
for ($a=0; $a<=360; $a=$a+$b1)
{
$puntoxG1 = $x +$radioG* cos(deg2rad($a)+(pi()/180));
//Para que sea una elipse, comentar arriba y quitar el comentario abajo
//$puntoxG1 = $x +$radioG* 2*(cos(deg2rad($a)+(pi()/180)));
$puntoyG1 = $y +$radioG* sin(deg2rad($a)+(pi()/180));
#imagesetpixel($img, round($puntoxG1),round($puntoyG1), $verde);

$puntoxP1 = $x +$radioPG* cos(deg2rad($b)+(pi()/180));
//Para que sea una elipse, comentar arriba y quitar el comentario abajo
//$puntoxP1 = $x +$radioPG* 2*(cos(deg2rad($b)+(pi()/180)));
$puntoyP1 = $y +$radioPG* sin(deg2rad($b)+(pi()/180));
#imagesetpixel($img, round($puntoxP1),round($puntoyP1), $blanco);Mantras mentales, programacion y Marths

imageline($img, $puntoxG1, $puntoyG1, $puntoxP1, $puntoyP1, $blanco);

}
#imagestring($img, 5, $puntoxP1, $puntoyP1, " $puntoxG1 $puntoyG1", $rojo);
}
$b1=$b1+15;
$b2++;
$radioG = $radioG+100;
$radioPG = $radioPG+100;
}

// imprimir la imagen en el navegador
header("Content-type: image/png");
imagepng($img);

// liberar memoria
imagedestroy($img);

?>

Link en pastebin: 

http://pastebin.com/09QDjpQh






















Por cierto, el término Marths lo pensé cuando Alejandro Hernandez (nitr0us) me dijo: maths+arts! 

Pasé el mismo código a Javascript, corre genial en navegador también, aunque ese lo quiero hacer interactivo con interrupciones. 

De vez en cuando es necesaria la distracción mental del mundo actual. 

PD. Si generan imágenes con este código, muéstrenla en los comentarios o por twitter @Komtec1 

PD2. Si modifican o mejoran el code, les agradecería me enseñaran para ver que genera con las modificaciones! :D 

PD3. En el código dejé comentado para que lo puedan hacer con elipses, en vez de que sean con círculos, aunque a mi me gustó mucho más el como se genera con círculos, por eso lo dejo así. 

Saludos

Alfonso Cuevas aka Komtec1 

domingo, 9 de agosto de 2015

Arris TG862 default secondary password

El día de ayer, probando algunas cosas en varios routers arris, encontré una contraseña secundaria por default, como se sabe, la contraseña predeterminada para estos routers es usuario: admin contraseña: password, pero buscando un poco dentro de sus tripas de telnet, di con la contraseña secundaria que es la siguiente: 

user: technician
pass: technician


Fue probado en varios routers, y se pudo ingresar sin problema alguno con el principal y el secundario, los detalles son estos: 

Bootcode Version
Hardware Version
Firmware Version
 ______________________________________________________

Bootcode Version
Hardware Version
Firmware Version

Product Type: 00000000 0AAC4D52
Hardware ModelTG862G
Hardware InfoARRIS DOCSIS 3.0 / PacketCable 1.5 Touchstone Telephony Gateway


Hay mucha información interesante dentro de su telnet, y toda en texto plano, después veré que más se puede sacar de provecho y publicar aquí en el blog.


martes, 4 de agosto de 2015

Generar gráfico a partir de fibonacci con PHP

Hola,

De ves en cuando me pongo a programar cosas que no sirvan para nada, o que solo sirvan para mi distracción (sí, trabajo programando y me distraigo del trabajo programando :P),  y hace tiempo pensé en hacer un código que generara fractales.

Se que hay varias formulas ya hechas para los fractales, pero yo pensaba idear algo más, entonces me pareció oportuno empezar con la generación y graficación de la serie fibonacci.

Les dejo el código y la imagen de ejemplo que se genera, ustedes pueden modificar en el código las iteraciones que quieran, para que sea más grande o más pequeño, eso directamente en el for.

Pueden también seleccionar que los rectangulos sean rellenados o solo el contorno.

Pueden ajustar el tamaño del lienzo, en este caso lo dejé muy grande (12000x6150), pero eso lo ajustan directo en las primeras opciones.

Les dejo el código pegado aquí y también en pastebin, por que Blogger no tiene gestión para code (creo yo).

 Clic derecho, abrir en nueva pestaña la imagen para ver a tamaño completo :D
http://kaguamedia.com/fibonacci.jpg -> enlace a tamaño completo (blogger la redimensiona)

Enlace Pastebin: http://pastebin.com/ZTaeYk2a

//Tamaño del lienzo
$a=12000;
$b=6150;

//Tamaño del cuadro inicial
$cuadroInicial = 10;

//definimos el lienzo
$lienzo = imagecreatetruecolor($a, $b);

//se definen los valores iniciales de la posición, se toma el centro
$x1Inicial = $a/2-($cuadroInicial/2);
$y1Inicial = $b/2-($cuadroInicial/2);
$x2Inicial = $a/2+($cuadroInicial/2);
$y2Inicial = $b/2+($cuadroInicial/2);

//para inicializar la secuencia de fibonacci
$n1=1;
$n2=0;

$espaciado = 10;


//Asignamos el sentido inicial
$sentido = 'inicial';

for($i=0;$i<=13;$i++)
{
$suma = $n1+$n2;
$n1=$n2;
$n2=$suma;
#echo $suma . " ";

$ti = $cuadroInicial*$suma; //Esta variable lleva de forma correcta el tamaño del cuadrado que se genera
$tiValores[$i] = $cuadroInicial*$suma;
$color = imagecolorallocate($lienzo, rand(10,210), rand(10,210), rand(10,210));


$x1anterior = $x1Inicial;
$x2anterior = $x2Inicial;
$y1anterior = $y1Inicial;
$y2anterior = $y2Inicial;

///*
// para definir en que sentido aumenta el cuadrado
if ($sentido == 'derecha' && $i<2 p="">
{
$x1Inicial = $x1Inicial+$ti; //caso derecha primer iteración
$x2Inicial = $x1Inicial+$ti; //caso derecha primer iteración
}
else
{
if ($sentido == 'derecha')
{
$x1Inicial = $x2anterior;
$x2Inicial = $x1Inicial+$ti;
$y1Inicial = $y2anterior;
$y2Inicial = $y1Inicial-$ti;
}
elseif ($sentido == 'arriba')
{
//reacomodando una variable para que vuelva a ser el eje guía
if ($i>3)
$y1anterior=$y2anterior;

$x1Inicial = $x2anterior;
$x2Inicial = $x1Inicial-$ti;
$y1Inicial = $y1anterior;
$y2Inicial = $y1Inicial-$ti;
}
elseif ($sentido == 'izquierda')
{
$x1Inicial = $x2anterior;
$x2Inicial = $x1Inicial-$ti;
$y1Inicial = $y2anterior;
$y2Inicial = $y1Inicial+$ti;
}
elseif ($sentido == 'abajo')
{
$x1Inicial = $x2anterior;
$x2Inicial = $x1Inicial+$ti;
$y1Inicial = $y2anterior;
$y2Inicial = $y1Inicial+$ti;
}
}

imagefilledrectangle($lienzo, $x1Inicial, $y1Inicial, $x2Inicial, $y2Inicial, $color);
#imagerectangle($lienzo, $x1Inicial, $y1Inicial, $x2Inicial, $y2Inicial, $color);

imagestring($lienzo, 5, 5, $espaciado,  "Iteracion $i - x1: $x1Inicial, x2: $x2Inicial, y1: $y1Inicial, y2: $y2Inicial $sentido suma: $suma cuadroinicial: $ti", $color);
$espaciado = $espaciado+20;
//Para definir el sentido de la imagen
if ($sentido=='inicial')
$sentido = 'derecha';
elseif ($sentido=='derecha')
$sentido = 'arriba';
elseif ($sentido=='arriba')
$sentido = 'izquierda';
elseif ($sentido == 'izquierda')
$sentido = 'abajo';
else
$sentido = 'derecha';


// Imprimir y liberar memoria

}
header('Content-Type: image/jpeg');

imagejpeg($lienzo);
imagedestroy($lienzo);

?>

PD. Si, hay programas que hacen esto y facilitan la vida con un solo clic, pero yo quería programarlo :P

PD2, Espero pronto pueda hacer el código para la generación de fractales, serán "personalizados", la idea que tengo está buena! :D

miércoles, 25 de marzo de 2015

Solución [fix] a hamachi Logging in .. failed, busy

Hola!

Aquí con una pequeña entrada, pero que a más de uno le será útil.

Tengo hamachi instalado en varias máquinas, pero en una precisamente al reiniciar, algunas veces me da este problema:

usuarioserver@server:~$ sudo hamachi login
[sudo] password for usuarioserver:
Logging in .. failed, busy

Lo busqué en internet y la "solución" que dan, es reinstalar hamachi, y para los que han instalado hamachi en ubuntu, saben que no es una opción, pues se tendrían que hacer estos pasos: 

sudo apt-get remove logmein-hamachi
sudo dpkg -i logmein-hamachixxx.deb
sudo apt-get install -f

Para lo cual (siempre) es molesto hacer esos pasos, y algunas veces la configuración se llega a perder. 

Para solucionar ese problema, basta con hacer un: 

sudo /etc/init.d/logmein-hamachi force-reload

Esto forzará el reinicio de hamachi, y así después hacen: 

sudo hamachi login

Y listo, el problema de failed busy desaparece y los deja loguear bien en la red de hamachi. 

Espero les sirva! :D 

Saludos 

Komtec1