SQLite: Como acelerar firefox en Mac

Firefox utiliza como base de datos para guardar los favoritos, configuraciones, etc, etc…., SQLite y pues como toda base de datos cada cierto tiempo necesita ser optimizada, en Mac OSx al igual que otros sistemas operativos (Linux, Windows) tenemos un comando llamado sqlite3, y en el caso de la mac solo es cosa de ejecutar las siguientes instrucciones.

cd ~/Library/Application Support/Firefox/Profiles/*.default/
ls -lh places.*
sqlite3 places.sqlite “vacuum;”
ls -lh places.*

Y listo, a navegar agusto en nuestro flamante Firefox ya optimizado.

Public NTP Secondary (stratum 2) Time Servers

A continuación se mostrará la lista de servidores NTP (Network Time Protocol) públicos de stratum 2

Estan clasificados en dos tipos basicamente (Por nivel de precision):

  • Stratum 1: sincronizan con fuentes de tiempo externas (relojes atómicos o radio-antenas).
  • Stratum 2: sincronizan con los Stratum 1.
  • Stratum n: Sincronizan con Stratum n-1 (siendo “n” 3 en el caso de sincronizar con un Stratum 2).

Continue reading

Public NTP Primary (stratum 1) Time Servers

A continuación se mostrará la lista de servidores NTP (Network Time Protocol) públicos de stratum 1

Estan clasificados en dos tipos basicamente (Por nivel de precision):

  • Stratum 1: sincronizan con fuentes de tiempo externas (relojes atómicos o radio-antenas).
  • Stratum 2: sincronizan con los Stratum 1.
  • Stratum n: Sincronizan con Stratum n-1 (siendo “n” 3 en el caso de sincronizar con un Stratum 2).

Continue reading

Servidores NTP públicos

A continuación se mostrará una lista de servidores NTP (Network Time Protocol) públicos.

Estan clasificados en dos tipos basicamente (Por nivel de precision):

  • Stratum 1: sincronizan con fuentes de tiempo externas (relojes atómicos o radio-antenas).
  • Stratum 2: sincronizan con los Stratum 1.
  • Stratum n: Sincronizan con Stratum n-1 (siendo “n” 3 en el caso de sincronizar con un Stratum 2).

Esta estructura gerárquica existe para no sobrecargar a los Stratum 1. Posiblemente sea mas preciso, un Stratum 2 cercano que un Stratum 1 lejano. Desde aqui yo te recomiendo un Stratum 2, si vas a trabajar con ellos solo de cliente. (deja los Stratum 1 para los que monten un Stratum 2.)

La lista fue extraida de http://kopernix.com/?q=ntp la cual fue extraida de http://www.eecis.udel.edu/~mills/ntp/clock2a.html jeje, otro respaldo más para internet.

Aquí las ligas para ver los Stratum 1 y los Stratum 2

Linux: Actualizar el horario automaticamente

Como ya sabrán el día de hoy se tiene que adelantar el reloj 1 hora por el “horario de verano”, pero que pasa si lo queremos hacer automaticamente y ademas siempre tener la hora exacta, la solución es NTP (Network Time Protocol), lo bueno que linux (y todos los sistemas operativos, lease Windows y Mac) tienen este protocolo.

Primero debemos de ver que hora es la actual, ejecutando el comando:

#date
Sun Apr 3 14:14:04 UTC 2011

Si se fijan me dice que la hora es del tipo UTC, pero nosotros la ocupamos especificamente de nuestro lugar, México.

para hacer ejecutamos el comando tzdata, en este caso lo vamos a reconfigurar:

# dpkg-reconfigure tzdata

1.- Nos pregunta el área geografica: America
2.- Buscamos Mexico_City

y listooo!.., al final nos aparece el cambio:

Current default time zone: ‘America/Mexico_City’
Local time is now: Sun Apr 3 09:14:53 CDT 2011.
Universal Time is now: Sun Apr 3 14:14:53 UTC 2011.

Si se fijan ahora dice CDT y no el horario universal, si vuelven a ejecutar date les aparecerá correcta la hora.

Ahora bien sigue la automatización de la hora, como les decia esta el protocolo NTP, y en linux existe un comando llamando ntp, para instalarlo sencillo:

#apt-get install ntp

y en el archivo /etc/ntp.conf buscamos la linea donde dice server, por default dice: server ntp.ubuntu.com (o depende de su distribución)

Podemos agregar algun servidor NTP que este cerca fisicamente de nuestra computadora.

# You do need to talk to an NTP server or two (or three).
server cronos.cenam.mx
server ntp.ubuntu.com

En este caso estamos utilizando el del Centro de Meteorología Nacional en México., en esta página podemos ver un listado de varios servidores, se recomienda utilizar el stratum 2 o stratum 1 http://kopernix.com/?q=ntp

Y listo! todo debe de funcionar al 100

PHP: la función imagefilter no es reconocida en PHP5

Estaba probando la creación de mapas de calor (heat map) con PHP y en mi maquina local todo funciona correcto para al pasarla al servidor saaz, error de PHP.

Fatal error: Call to undefined function imagefilter()

revisando la documentación de la función imagefilter dice que viene en la librería GD y PHP5, los 2 programas ya los tenia instalados, pero aún así no reconocía la función, e investigando dice que se ocupa instalar la libreria PHP5-GD Bundled (embedida o empaquetada), ya que la versión original fue desarrollada por Boutell.

Ahora al grano! a instalar la nueva librería, para eso la vamos a compilar todo a mano, jejeje:

apt-get update
apt-get install build-essential debhelper fakeroot
cd /usr/src
apt-get source php5
apt-get build-dep php5
cd php5-5.2.4

Recuerden cambiar la versión del PHP descargada, despues a modificar el archivo debian/rules

nano ./debian/rules

Buscamos la línea que diga:

–with-gd=shared,/usr –enable-gd-native-ttf \

Y la cambiamos por esta:

–with-gd=shared –enable-gd-native-ttf \

Ahora viene la parte tardadaaaaaa!!! a compilar todo,

dpkg-buildpackage -rfakeroot
cd ..
apt-get remove php5-gd
dpkg -i php5-gd_5.2.4-2ubuntu5.14_i386.deb

Reiniciamos apache y listo! la librería php5-gd debe de quedar OK!..

/etc/init.d/apache2 restart

Aca una imagen de como quedo el mapa de calor:

Solución: Error 504 Gateway Timeout – Cherokee PHP

Después de varios problemas con el mentado error 504 Gateway Timeout y algunas soluciones temporales como matar procesos de PHP CGI por fin he dado con la solución (por lo menos lleva semanas sin fallar).

Efectivamente el error es provocado por el interprete de PHP-CGI ya que tenia poco tiempo para procesar la solicitud y pues a veces se quedaba colgado el proceso.

Antes que nada tenemos que verificar que este correctamente configurado el interprete de PHP para FastCGI (PHP_FCGI), entramos al panel de control con el comando cherokee-admin y despues nos dirigimos a Origenes > PHP

Y verificamos que este en conexión: 127.0.0.1:47990 (el puerto pueden ponerle cualquiera que este libre)
Y también en interprete: /usr/bin/php-cgi -b 127.0.0.1:47990

Despues nos vamos a donde se especifica el tiempo máximo para cada respuesta del PHP FCGI, para eso nos pasamos a la consola y como root nos metemos al archivo /etc/cherokee/cherokee.conf

Y agregamos/modificamos el siguiente parámetro: PHP_FCGI_MAX_REQUESTS = 300

source!1!env!PHP_FCGI_CHILDREN = 5
source!1!env!PHP_FCGI_MAX_REQUESTS = 300
source!1!env_inherited = 1
source!1!host = 127.0.0.1:47990
source!1!interpreter = /usr/bin/php-cgi -b 127.0.0.1:47990
source!1!nick = PHP Interpreter
source!1!type = interpreter

Recordemos que si tenemos varios interpretes puede cambiar el parámetro después de source! por algún otro número.

Y listo! reiniciamos cherokee y en teoría no debería de fallar.

Error al montar NTFS, necesita un chkdsk /f

Si tienes problemas para montar un disco duro ó unidad USB formateada con NTFS ya que te dice que necesita reparación del sistema de archivo, porque se apago sin desmontar la unidad y que debemos de utilizar el comando chkdsk /f (que es un comando de Windows), tenemos la solución sin salir de nuestra sistema operativo Linux, en este caso Ubuntu.

El comando que nos ayuda a solucionar este problema de reparación del sistema de archivos se llama ntfsfix, aunque no pretende ser un chkdsk, pero ayuda a reparar algunas inconsistencias del NTFS.

Simplemente como Root lo ejecutamos de esta forma, donde /dev/sdb1 es nuestro disco duro USB.

[email protected]:~# ntfsfix /dev/sdb1
Mounting volume… FAILED
Attempting to correct errors…
Processing $MFT and $MFTMirr…
Reading $MFT… OK
Reading $MFTMirr… OK
Comparing $MFTMirr to $MFT… FAILED
Correcting differences in $MFTMirr record 0…OK
Processing of $MFT and $MFTMirr completed successfully.
Setting required flags on partition… OK
Going to empty the journal ($LogFile)… OK
NTFS volume version is 3.1.
NTFS partition /dev/sdb1 was processed successfully.

Despues de esto, solo nos resta montar la unidad,

[email protected]:~# mkdir /media/DISCO_MONTADO
[email protected]:~# mount -t ntfs-3g /dev/sdb1 /media/DISCO_MONTADO -o force

y listo, para la proxima no hay que olvidar desmontar correctamente la unidad externa.

Resetear la contraseña del usuario Root en MySql

Si por alguna razón se les olvido la contraseña del usuario ROOT en MySQL existe una opción sencilla para cambiarla, el unico requisito es claro tener privilegios de root en su distribución de linux favorita, ya sea ubuntu, debian, centos, etc… en estos ejemplos usaremos Ubuntu (ó Debian debe de jalar igual)

El paso 1 es detener el servidor MySQL,

/etc/init.d/mysql stop

Despues iniciar MySQL saltando la autentificación y deshabilitando la escucha de la red, digo por aquello de los hackers, con el siguiente comando tambien habilitamos el servicio en background (con el amperson se indica eso)

mysqld –skip-grant-tables –skip-networking &

Ahora si, nos conectamos al servidor de MySQL, especificamente la tabla mysql

mysql mysql -u root

Y pues a ejecutar el siguiente comando:

UPDATE user SET password=PASSWORD(‘mi_nueva_clave’) WHERE user=”root”;
quit;

Y listo!, matamos el proceso y reiniciamos mysql normalmente., para ver el proceso cuando lo lanzamos en background nos aparecio un número del proceso.

kill -9 NUMERO

Y listo!, a iniciar el servicio (quizas con el restart mata el proceso, pero mejor el kill para estar seguros):

/etc/init.d/mysql restart

A disfrutar del MySQL y claro! no olvidar la clave! jeje.

ERROR: -bash: /bin/rm: La lista de argumentos es demasiado larga

He tratado de eliminar muchisimos archivos temporales, pero al ejecutar el comando: rm * me da el error que los argumentos son demasiados largos.

El problema radica que sustituye el * por los nombres de archivos, y bash solamente soporta 4000 parámetros.

La solución es buscar cada archivo y después eliminarlo, quedando el comando como sigue:

find /tmp/ -name “cache_*” -exec rm {} \;

Substituyendo /tmp/ por la carpeta donde estan los archivos, y cache_* por el nombre del archivo a buscar.