Vi el diagrama en Linux and Open Source Blog y me hizo gracia, así que decidí traducilo.
Dicen algunos que la comunidad Linux peca de soberbia y muchos critican si es que alguna distribución hace las cosas demasiado fáciles al usuario (ya saben, se rememora los viejos tiempos donde se tenía que configurar todo por línea de comandos). Por cierto, hay un post interesante en Linux Music sobre las fraternas discusiones entre miembros de la comunidad Debian y Ubuntu.
Click para ver el diagrama a tamaño completo. Por favor tomarlo como lo que es: un post en plan de broma.

Entradas Relacionadas:
Instalación de Linux a domicilioCurso de Administración de Sistemas en GNU / LinuxJoost en Linux
Si tenemos un teclado multimedia o simplemente deseamos asociar una tecla a alguna aplicación en KDE, podemos hacerlo en forma sencilla. En este ejemplo asociaremos la tecla “Imprimir pantalla” a la aplicación KSnapshot, que justamente hace eso: capturar la pantalla (permite seleccionar un área de captura, una ventana en particular y asignar un retardo). Me parece que KSnapshot viene instalado por defecto, pero si no pueden buscarla en Adept o en consola:
sudo apt-get install ksnapshot
Asignar tecla a aplicación
Navegamos por Menú K / Preferencias del Sistema / Teclado y ratón / Accesos rápidos de teclado
. Desde ahi podremos configurar los atajos para las aplicaciones (cerrar ventana con ALT+F4, copiar con CTRL+C, etc.) o revisar las teclas modificadoras. Pero lo que nos interesa en esta oportunidad es la pestaña Atajos de Ordenes.

En esta pantalla seleccionamos la aplicación a la que queremos asignarle una tecla (en este ejemplo KSnapshot que se encuentra bajo Gráficos) y en la parte inferior (sección Atajo para la orden seleccionada) escogemos Personalizar. Se nos abrirá un diálogo y en ese momento debemos pulsar la tecla (o combinación de teclas) deseadas, en el ejemplo la tecla de “Imprimir pantalla”.

Aplicamos los cambios y listo, la próxima vez que pulsemos la combinación de teclas configuradas se lanzará la aplicación seleccionada.
Entradas Relacionadas:
Solución al crash de Kopete al conectar a MSN (KDE 3.5.8)Activar BloqNum o NumLock al inicioTeclado Geek
Leyendo Smashing Magazine me topé con uno de los más originales diseños de blog que he visto: el de Chris Contolini, integrado con Google Maps. Den click a la imagen para verla a mayor tamaño (en caso el autor decida cambiar de diseño), pero para apreciarlo mejor es visitar su blog.

Entradas Relacionadas:
Planet UbuntuTipos de Comentaristas en BlogsDiseño Gráfico Publicitario
Imaginen este caso: están en un loop en PL-SQL y quieren que, bajo ciertas condiciones, no continúe su ejecución sino que vuelva al inicio y siga con la siguiente "vuelta". Por ejemplo, un Loop en el que se muestra en consola un valor del 1 al 10 y se quiere que no se muestre el valor 5. Esto sería sencillo:
DECLARE
i NUMBER := 0;
BEGIN
LOOP
i := i + 1;
EXIT WHEN i > 10;
IF i != 5 THEN
dbms_output.put_line('i: '||i);
END IF;
END LOOP;
END;
Hay casos en los que evaluar mediante un IF THEN no es la mejor solución. Imaginen que dentro del Loop se llama a varios stored procedures que pueden arrojar un error y sólo continuar en caso no ocurra. Se podría hacer algo así, pero no se vería muy bien:
DECLARE
i NUMBER := 0;
bError BOOLEAN := FALSE;
BEGIN
LOOP
i := i + 1;
EXIT WHEN i >10 10;
SP_QUE_PUEDE_ARROJAR_ERROR(bError);
IF NOT bError THEN
--(...código)
SP_QUE_PUEDE_ARROJAR_ERROR(bError);
IF NOT bError THEN
--(...código)
SP_QUE_PUEDE_ARROJAR_ERROR(bError);
IF NOT bError THEN
--(...código)
END IF;
END IF;
END IF;
END LOOP;
END;
Como se puede apreciar, con sólo 3 llamadas a procedimientos almacenados, se va formando una "escalera" y el programa se puede hace difícil de seguir (imaginen llamar a 10 procedimientos)
¿Qué hacer?
La solución pasaría por usar una instrucción que detenga la ejecución del loop y vuelva al inicio (como el continue de Java). En Oracle 11, existe una instrucción CONTINUE, así que sería cuestión de hacer:
PLSQL:
-
-
--(...)
-
-
CONTINUE;
-
-
--(...)
-
El problema viene si es que usamos una versión anterior de Oracle, en estos casos podemos usar un truco que consiste en encerrar en dentro de un BEGIN END el código dentro del bucle y lanzar una excepción cuando se produzca un error.
PLSQL:
-
-
-
-
-
-
-
i := i + 1;
-
-
-
SP_QUE_PUEDE_ARROJAR_ERROR(bError);
-
-
RAISE CONTINUE_EXCEPTION;
-
-
--(...código)
-
SP_QUE_PUEDE_ARROJAR_ERROR(bError);
-
-
RAISE CONTINUE_EXCEPTION;
-
-
--(...código)
-
SP_QUE_PUEDE_ARROJAR_ERROR(bError);
-
-
RAISE CONTINUE_EXCEPTION;
-
-
--(...código)
-
-
-
-
-
-
El primer ejemplo (el de imprimir números del 1 al 10 exceptuando el 5, quedaría así):
PLSQL:
-
-
-
-
-
-
i := i + 1;
-
-
-
-
RAISE CONTINUE_EXCEPTION;
-
-
-
-
-
-
-
-
Espero les sea de utilidad.
Entradas Relacionadas:
Cursores con parámetros en PL SQLCursores en PL SQL (1)Malditos programas
Una vez más bloquearon Gmail en el trabajo. Supongo que quieren evitar que la gente pierda el tiempo en cosas no relacionadas al trabajo (aunque creo que yo pierdo más tiempo buscando formas para acceder a Gmail cuando lo bloquean).
Después de cansarme de buscar proxys y diversos métodos (incluso probé el ) que no siempre funcionan (bloquean las webs de los proxys al poco tiempo, algunos proxys después de un tiempo ya no funcionan, etc, etc.) decidí seguir el consejo del buen RedWarrior e instalé mi propio web proxy en mi servidor de hosting.
¿Las ventajas?
Puedes configurarlo a tu gusto, es libre de publicidad, da mayor seguridad (si uno usa un proxy público no sabe qué uso se le da a la información) y ofrece algo de anonimato/privacidad (por ejemplo si es que queremos conectarnos desde una cabina/cibercafé)
Yo estoy utilizando PHProxy, que es muy sencillo de instalar (en realidad sólo es necesario subir los archivos a nuestro servidor), se puede configurar editando un simple archivo de texto y ha funcionado muy bien.
Otra opción es utilizar Privoxy, que al parecer ofrece mayores posibilidades de configuración, pero no lo he probado pues es necesario instalar el programa (compilando las fuentes o instalándolo alguno de los paquetes) en el servidor (algo que no se puede hacer si uno usa un shared-hosting).
¿Desventajas?
El contenido con javascript no siempre funciona bien (por ejemplo, se tiene que usar la versión básica de Gmail), si pierde un poco de velocidad y el contenido flash no se ve (olvídense de YouTube).
Entradas Relacionadas:
Cómo acceder a un sitio bloqueadoSolución al problema de registro en War Rock usando un proxyBe Funky - Web de la semana
Comentarios