Enlaces en linux

Existen dos tipos de enlaces, los enlaces simbólicos y los enlaces duros (fuertes).

Cuando creamos un enlace simbólico significa que creamos un puntero a dicho fichero o directorio. Si borrases dicho fichero o directorio el enlace quedaría apuntando a la nada.

Por otra parte si creas un enlace duro, lo que hace es crear una copia del fichero o directorio, la ventaja de este tipo de enlace es que si modificas alguno de los dos siempre se modificaran los dos y si borras uno el otro no se perdería.
Normalmente no se hacen enlaces duros ya que implica tener duplicada la información ocupando espacio de manera innecesaria, por esta razón solo el root tiene permisos para hacer este tipo de enlaces.
Otra desventaja de los enlaces duros es que sólo se pueden hacer entre ficheros o directorios de una misma unidad.

El comando para crear enlaces es el siguiente:
ln -parámetro rutadirectorio nombre_enlace

Parámetros:
-s Para enlaces simbólicos
Si no ponemos ningún parámetro se crearía un enlace duro (fuerte).

NICEDIT: Editor de contenido en Ajax y Javascript muy ligero. Solo 35kb

No cabe duda de que las formas de publicación de contenidos de textos ha cambiado a mejor gracias a los editores wysiwyg, permitiéndonos la edición visual de los propios contenidos casi como si estuviésemos escribiendo un texto formateado en un procesador de textos convencional.Y por suerte, a estos editores wysiwyg se le añaden otros nuevos con características más que interesantes. Y es que a los editores wysiwg conocidos, como puedan ser FCKEditor y TinyMCE, éste lo conocemos por su incorporación como editor visual en WordPress, tenemos NicEdit.

NicEdit viene a ser una alternativa eficiente, flexible y ligera frente a los otros pesos pesados. De hecho, sólo nos facilitan un archivo javascript más los iconos, ocupando en total unos 35 KB de peso, mucho menor que otras soluciones existentes, integrándose perfectamente en nuestros sitios web manteniendo nuestro look&feel.

Pero para aquellos que no puedan añadir estas librerías en los servidores que usan para sus sitios web, y siempre que puedan editar sus códigos, NicEdit facilita un script para que puedan ser añadidos en estos sitios web, usando las librerías desde su propio servidor.

Bastará con poner:

<html xmlns=”http://www.w3.org/1999/xhtml&#8221; xml:lang=”es” lang=”es”>

<head>
<title>sin título</title>
<meta http-equiv=”content-type” content=”text/html;charset=utf-8″ />
<meta name=”generator” content=”Geany 0.11″ />
<script src=”http://js.nicedit.com/nicEdit.js&#8221; type=”text/javascript”></script>
<script type=”text/javascript”>
bkLib.onDomLoaded(nicEditors.allTextAreas);
</script>
</head>

<body>
<textarea></textarea>
</body>
</html>

Y ya lo tendremos funcionando:

Su página oficial és: http://www.nicedit.com/

HowTo: Trabajar con ficheros desde Oracle

Para el tratamiento de ficheros de texto desde un procedimiento de Oracle, hay que usar las funciones que proporciona el package UTL_FILE.

Más info sobre este package puede obtenerse de:
http://download-uk.oracle.com/docs/cd/B10501_01/appdev.920/a96612/u_file.htm

La relación exacta de funciones y sus parámetros puede obtenerse de:
http://download-uk.oracle.com/docs/cd/B10501_01/appdev.920/a96612/u_file2.htm#1000703

Para trabajar con ficheros, previamente se debe haber creado un “directorio”. Un directorio es un objeto lógico que Oracle utiliza como intermediario entre el PL/SQL y el directorio físico.

Sólo los usuarios de sistema pueden crear directorios y conceder derechos al resto de los mortales. Por lo tanto, hay que solicitar a Centro de Información, Administrador si es el caso o sino crearlo con un usuario de sistema, la creación de dicho directorio, con sentencias como estas:

CREATE DIRECTORY DGQ_OFICINES AS ‘\\asf2\public\mi_directorio’;
GRANT READ ON DIRECTORY DGQ_OFICINES TO SIRA;
GRANT WRITE ON DIRECTORY DGQ_OFICINES TO SIRA;
(por supuesto, el usuario Oracle ha de tener acceso a dicho recurso físico, o éste debe tener acceso público)

Después, hay que usar DGQ_OFICINES, en las llamadas de las funciones (por ejemplo, en el FOPEN). Se ha de poner en mayúsculas.

Ejemplo de código que crea un fichero y escribe una línea:

procedure file_test as
ft utl_file.file_type;
begin
ft := utl_file.fopen(‘DGQ_OFICINES’,’test.txt’,’w’,500);
utl_file.put_line(ft,’hola’,false);
utl_file.fclose(ft);
end;

En este caso, este código abre un fichero (lo crea si no existe y lo machaca si existe).
FT es el handle al fichero. Se asigna con FOPEN y se usa en posteriores operaciones.

FOPEN recibe el nombre del directorio, el nombre del fichero, el modo (read, write o append), y el tamaño máximo de linea a escribir o leer del fichero.

PUT_LINE escribe un texto, añadiendo un separador de línea (hay otra función que no lo añade). Finalmente, el fichero se cierra con FCLOSE.

Lotus Script y java con LS2J

Este código pertenece a un agente LotusScript, en el se crea una JAVASESSION y una JAVACLASS. En este ejemplo se obtiene la clase “pruebaJava” y creamos un objeto de la clase, (equivalente a un set c1 = new c1()), los parámetros del CreateObject son los parámetros que recibira el constructor por defecto. (*Ver anexo)

Una vez tenemos la instancia del objeto ya podemos trabajar con el como si de java se tratase.

 

Sub Initialize

                On Error Goto errutina

                Dim js As JAVASESSION

                Dim pruebaJava As JAVACLASS

                Dim pruebaJavaObject As JavaObject

                Dim returnCode As String

                Dim ses As New notesSession                       

                Dim db As NotesDatabase

 

                Set js = New JAVASESSION

                Set pruebaJava = js.GetClass(“pruebaJava”)

                Set pruebaJavaObject = pruebaJava.CreateObject(“(ILjava/lang/String;)V”,10,”ELOY”)

                Set db = ses.CurrentDatabase         

                Messagebox (“NOMBRE DEFAULT: “ & pruebaJavaObject.getNombre())

                pruebaJavaObject.nombre = “ELOY RODRIGUEZ”    

                Messagebox (“VARIABLE NOMBRE: ” & pruebaJavaObject.nombre &_

 ” METODO getNombre(): ” & pruebaJavaObject.getNombre())

                pruebajavaObject.push(2)

                pruebajavaObject.push(5)

                pruebajavaObject.push(12)

                pruebajavaObject.push(34)              

                Msgbox pruebajavaobject.getStringCajas()

                Dim a As Variant

                a =  pruebaJavaObject.getArrayCajas()         

               Msgbox Lbound(a) & ” – ” & Ubound(a)

                Dim i As Integer

                For i = 0 To Ubound(a)

                               Msgbox a(i)

                Next       

                Exit Sub

errutina:

                Msgbox “Error in line ” & Erl & “: ” & Error                 

End Sub

Poner varias páginas de inicio al Firefox

Seguro que cuando arrancas el navegador Firefox, normalmente debes visitar las mismas webs almenos al principio. Si quieres poner tus páginas preferidas para que se inicien al empezar debes hacer lo siguiente.

Para hacerlo solo debes de dejar las web que quieres abrir en diferentes pestañas y una vez que las tengas todas escogidas, seguir la siguiente ruta de opciones

Herramientas -> Preferencias -> Pgina de inicio -> Usar páginas actuales

Ya está. Es un truco bastante sencillo pero quizas le sirva de ayuda a alguien

Navega por las fotos de Badongo con esta sencilla página

Código sencillo en Javascript y Html para navegar por las fotos de badongo. Es muy sencilla, sin ningún css de estilo que lo dejo a gusto de cada uno. Solo contiene lo minimo. Para hacerla servir crear un archivo html con este código.

<html>
<head>
<meta http-equiv=”Content-Type” content=”text/html; charset=UTF-8″>

<script type=”text/javascript”>

var i;

function nextImage(){

document.getElementById(“ibadongo”).src=”http://www.badongo.com/pix/&#8221; + i;

i++;
document.getElementById(“numimage”).value = i;

}

function prevImage(){

document.getElementById(“ibadongo”).src=”http://www.badongo.com/pix/&#8221; + i;

i–;
document.getElementById(“numimage”).value = i;

}

function randomImage(){

random(3000000);
document.getElementById(“ibadongo”).src=”http://www.badongo.com/pix/&#8221; + i;
document.getElementById(“numimage”).value = i;

}

function loadPage(){

random(3000000);
document.getElementById(“ibadongo”).src=”http://www.badongo.com/pix/&#8221; + i;

document.getElementById(“numimage”).value = i;

}

function random(num){

i = Math.round(num*Math.random())

}
function nav2image(){

i=document.getElementById(“numimage”).value
document.getElementById(“ibadongo”).src=”http://www.badongo.com/pix/&#8221; + i;
document.getElementById(“numimage”).value = i;

}

</script>

</head>
<body onload=”loadPage();”>
<input id=”btn_prev” type=”button” value=”Previo” name=”btn_previo” onclick=”prevImage();” />
<input id=”btn_next” type=”button” value=”Siguiente” name=”btn_next” onclick=”nextImage();” />
<input id=”btn_random” type=”button” value=”Random” name=”btn_next” onclick=”randomImage();” />
<input type=”text” id=”numimage” name=”numimage” value=”1″ /><input type=”submit” value=”Buscar” onclick=”nav2image();” />
<br>
<iframe id=”ibadongo” width=”1024″ height=”700″ name=”ibadongo”></iframe>
</body>
</html>

Esta página esta hecha con Geany, editor de textos GNU, desde linux Ubuntu 7.10

Crear informes del sistema en formato .txt de forma fácil

Los usuarios de Linux tenemos una gran fuerte de información en los foros. La mayoría creo que los usamos con regularidad almenos para buscar información y aclarar alguna duda. Yo por mi parte los visito con frequencia y contesto siempre que puedo intentando si es el caso resolver problemas y dudas del usuario. Algunas veces la información aportada para resolver las incidéncias es escueta e insuficiente para poder resolverlo. Un forma fàcil de tener abundante información de forma fácilmente exportable es usando comandos desde el Terminal:lspci >sistema.txt

dmesg >sistema.txt

lshw >sistema.txt

lsusb>sistema.txt

Donde sistema es un nombre que hemos elegida al azar y que sera con el que se va a guardar. Por defecto en el espacio personal del usuario que con el que estemos trabajando

Lshw nos da información muy abundante del sistema y sus dispositivos. Muy útil.

Podeis encontrar más información sobre comandos de Debian en esta página.