18 enero 2009

Ceiling y Floor en VB6

Dado que Visual Basic 6 carece de estos dos métodos que en algún momento pueden resultar útiles. Una forma de obtener el resultado deseado es con dos pequeñas funciones.

'Devuelve el entero más pequeño no menor que X.
'Ejemplo: Ceiling(1.23) = 2, Ceiling(-1.23) = -1
Private Function Ceiling(ByVal X As Double) As Long
Ceiling = -Int(X * (-1))
End Function

'Devuelve el entero más grande no mayor que X.
'Ejemplo: Floor(1.23) = 1, Floor(-1.23) = -2
Private Function Floor(ByVal X As Double) As Long
Floor = (-Int(X) * (-1))
End Function

13 enero 2009

Script para respaldar una base de datos de MySQL en Linux

Existen varias opciones para respaldar una base de datos en un equipo con Linux, pero no siempre tenemos a la mano las mismas herramientas dependiendo del sabor de Linux que nos veamos obligados a utilizas.

Hasta ahora la forma más cómoda que he encontrado para respaldar una base de datos es un simple Script que extrae la base de datos y la empaqueta en un archivo Zip.

Por ejemplo, si tenemos el archivo Respaldo.sh con el siguiente contenido:

F=$(date +"%Y%m%d")
mysqldump --opt -u root -p MiBase > MiBase.sql
zip -r Copia-$F.zip MiBase.sql
rm MiBase.sql


Al ejecutarse el archivo extraerá la base de datos al archivo MiBase.sql para luego comprimirla en el archivo nombrado como Copia seguido de la fecha y la extensión Zip.

Cabe mencionar que el archivo en cuestión debe tener privilegios de ejecución, y que al momento de ejecutarse pedirá la contraseña (lo cual se evita agregando la misma seguido del parámetro -p aunque ello implique una disminución de la seguridad).

12 enero 2009

Deshabilitar detección de intruciones en un enrutador SpeedTouch 585

Ya que la interfaz web de dicho dispositivo no permite configurar (habilitar/deshabilitar) dicha característica del enrutador, la única forma de hacerlo es acceder al dispositivo desde Telnet.

Para ello iniciamos una sesión Telenet y luego escribimos:

>open 192.168.1.254


Luego de ello tendremos que proporcionar el usuario y la contraseña. El usuario por defecto es "admin" y la contraseña se encuentra en blanco (a menos que la hayan cambiado).

Cuando hayamos ingresado bastará escribir:

>ids config state=disabled

...et voilà!

29 diciembre 2008

Como obtener la dirección MAC en un Windows

A menudo para uno u otro fin deseamos obtener la dirección MAC de los dispositivos de red de nuestro equipo que corre el sistema operativo de las ventanitas.

Pues bien, la cosa no es tan difícil...

Procedemos a abrir la consola del sistema (opción ejecutar en el menú inicio, escribimos cmd y presionamos la tecla Intro/Enter) para luego escribir lo siguiente:

ipconfig /all

Presionamos nuevamente la tecla Intro y ya tendremos disponible la dirección MAC de todos los dispositivos de red en nuestro equipo.

...otra forma de hacerlo es con el comando

getmac

CAST(field AS DECIMAL) en MySQL 4.1

El tipo DECIMAL para la función CAST de MySQL en 4.1 no está implementado por lo que no disponemos de esta útil función al momento de querer convertir un dato a decimal. Empero, luego de darle vueltas al asunto, me encontré con que utilizando la función ROUND le podemos jugar la vuelta al MySQL.

SELECT ROUND(IFNULL(campo_de_texto,0),2) resultado FROM mi_tabla


...et voilà!

La función IFNULL es utilizada sólo para no tener sorpresas con campos que pudieran almacenar datos nulos, pues la función ROUND al igual que muchas al encontrar un dato nulo devuelve como resultado también nulo.