martes, octubre 17, 2017

Hola a todos

Como veran hace tiempo que no estoy subiendo nada en este blog y si estan viendo esta entrada les comento que me mude a wordpress.com dado que google no quiere que monetice con este blog empece a escribir en el otro, en este momento estoy aprendiendo a programar en C++ para Linux y dia a dia estoy subiendo algun post explicando lo que voy estudiando, proximamente subire sobre mySQL y seguramente sobre Linux y de a poco ire pasando parte de la informacion que subi aca.en el otro blog. No creo que en el futuro siga subiendo data aca, me da mucha pena pero ya saben si les interesa les dejo el link del blog de Tinchicus asi sin mas que comentar y recuerden mi face esta aca.
Les mando un abrazo bien grande y vere que decido mas adelante....

jueves, febrero 09, 2017

Linux - Comando WALL

Este comando puede ser utilizado para enviar un mensaje de broadcast desde una terminal a todos los usuarios logueados en el equipo.
Se puede enviar un mensaje escrito con el comando o un mensaje desde un archivo, en este ultimo caso se debe ser root para que funcione.

Sintaxis:

wall [-n] [-t tiempo] [-V] [-h] [texto | archivo]

-n -> Suprime el banner de quien envia el mensaje (solo funciona con root)
-t tiempo -> Indica el tiempo en milisegundos que debe esperar antes de dejar intentar de enviar el mensaje a la terminal, por defecto es de 300.

-V (--version) -> Te devuelve la version del programa

-h (--help) -> Te muestra un mensaje de ayuda del comando.

texto -> El texto ha ser enviado en el broadcast
archivo -> Archivo con el texto ha ser enviado por el broadcast (solo funciona con root)

Ejemplos:

-Texto enviado como un usuario comun.

user@srvtest1:~$ wall Prueba de mensaje
Broadcast message from user@srvtest1 (pts/0) (Thu Feb  9 22:31:18 2017):

Prueba de mensaje

user@srvtest1:~$

Como ven en el ejemplo de arriba asi lo veran todos los usuarios logueados.

-Texto enviado desde un archivo con un usuario comun.

user@srvtest1:~$ wall -n mensaje
wall: --nobanner solamente está disponible para root
wall: no se puede leer mensaje - use la entrada estándar.
user@srvtest1:~$

-Texto enviado desde un archivo como root y sin banner

root@srvtest1:/home/user# wall -n mensaje

Este texto sera enviado a todos los usuarios logueados
en el equipo para poder probar el uso del comando WALL
y poder mostrar sus resultados.
Esto podria ser utilizado para notificar un reinicio o
apagado del equipo por ejemplo.

root@srvtest1:/home/user#

Y asi es como les apareceria un texto mas descriptivo desde un archivo.

Linux - Comando WRITE

El comando write es utilizado para enviar un mensaje a otro usuario logueado en el equipo, cuando se ejecuta el mismo le empiezan a aparecer el texto que se escribe en la otra terminal y cuando se interrumpe (utilizando CTRL+C) al usuario destinatario le aparece EOF indicandole que se acabo el mensaje.

Sintaxis

write [tty]

Como se ve, al comando write se le agrega el usuario y como modo opcional se puede especificar el puerto donde esta conectado. Esto se utiliza si el mismo usuario esta logueado en 2 terminales distintas y se deben mensajear entre ellas.

Ejemplo

Terminal emisora

user@srvtest1:~$ write user pts/1
Esto es un mensaje de prueba.
Adios
^Cuser@srvtest1:~$

Terminal receptor

user@srvtest1:~$
Message from user@srvtest1 on pts/0 at 22:01 ...
Esto es un mensaje de prueba.
Adios
EOF

user@srvtest1:~$





Para poder utilizar lo unico necesario es que del otro terminal tenga habilitada la opcion de mesg y.
De otro modo este texto no llegara, salvo que lo haga el root del equipo.

Linux - Comando MESG

El comando mesg es utilizado para permitir (o no) que otros usuarios puedan escribir en tu terminal. Este comando solamente activa o desactiva con los switchs que se pueden utilizar, si se ejecuta solo te devuelve el estado actual del comando. El unico que esta por arriba de este comando es root, si root te envia un mensaje via write o wall, este llega a todos los usuarios con el daemon mesg activado o desactivado.

Switchs:

 Y -> Activa la escritura en tu terminal.
 N -> Desactiva el comando.

Ejemplo de como lo devuelve

user@srvtest1:~$ mesg -> asi muestra el estado actual.
is y
user@srvtest1:~$ mesg n -> con este parametro lo desactiva.
user@srvtest1:~$ mesg -> si lo volvemos a ejecutar nos muestra el cambio efectuado.
is n


miércoles, febrero 08, 2017

Cosas que se pueden y no en Ajax

En este articulo veremos que se puede hacer y que no dentro del entorno de Ajax, como les dije en otros posts, para algunas cosas es muy útil pero en otras resulta incomodo.
Vamos a ver algunos ejemplos:

1°) No se puede ejecutar javascript en el archivo remoto que se llama con Ajax

Como dije, si uds. necesitan que al final del script del servidor se ejecute algun comando de Javascript este fallara, por ejemplo el comando location.href.
Pero se puede solucionar de otra forma, lo que si se puede es llamar funciones de javascript que se declaren en la pagina desde donde se invoca a la funcion Ajax. Estas pueden ser llamadas atraves de eventos de HTML.

2°) Formularios

Los formularios tienen un inconveniente si se hacen atraves de Ajax, se debe enviar toda la data con la funcion y dependiendo la cantidad a veces puede no ser enviada en su totalidad. Otra eventualidad que surge es a la hora de cargar archivos (Sonido, video, fotos).
Y aparte, se complicaria mucho mas el envio de informacion y manipulacion de la data con elementos extras como cookies, campos ocultos, etc. Por eso yo no recomiendo que todo lo que sea formulario y/o cargas de datos.

3°) Una cosa muy buena que se puede hacer es crear funciones para enviar data a la funcion de Ajax, por ejemplo:

<script language="javascript">
function Prueba(A,B){
     runAjax('Layer1','ajax.php?id=prueba&valor=' + A + '&valor2=' + B);
}
</script>

Como veran en este caso, se podria declarar una funcion que recibe 2 valores y despues los envia para su procesamiento via Ajax al server.
Pudiendo mostrar un resultado X en la pantalla.

Por ahora no recuerdo nada mas que les pueda ayudar pero estos son algunso tips de lo que se pueden encontrar y en algunos casos como solucionarlo.

martes, febrero 07, 2017

Ajax un poco mas a fondo...

Bienvenidos a un nuevo post, hoy ahondaremos un poco mas en Ajax, veremos una breve explicación, como lo utilizo habitualmente y para que es una buena opcion y para que no.
Bueno, empecemos. Como dije en la Introduccion de Ajax, basicamente se hace un llamado atraves de Javascript a un script que se ejecuta en un servidor (P.E. PHP) y que el resultado puede ser volcado en un Div, Layer, Celda de tabla, etc. En fin todo aquello que se pueda marcar con un ID.
Sin mas preambulo, vamos a ver como lo hago yo habitualmente:

1°) La funcion de Javascript

function runAjax(objeto,server){
                var xmlHttp;
                xmlHttp=null;

               // Aca se detecta si debe utilizar el XML de la mayoria de los navegadores o el del IE viejo

               if (window.XMLHttpRequest){
                                xmlHttp=new XMLHttpRequest();
                        }
                else if (window.ActiveXObject){
                                xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
                        }
                // Aca es donde se efectua la magia!
                if (xmlHttp!=null){
                        var obj=document.getElementById(objeto);
                        xmlHttp.open("GET",server);
                        xmlHttp.onreadystatechange=function(){
                                                if (xmlHttp.readyState==4 && xmlHttp.status==200) {
                                                                obj.innerHTML=xmlHttp.responseText;
                                                        }
                                }
                        }
                else
                        {
                                alert("Este Browser no soporta AJAX");
                        }
                // Aca se anula el objeto para volverlo a ejecutar y liberar memoria.
                xmlHttp.send(null);
        }

Como veran la funcion es bastante simple, cuando se la llama desde Javascript deberia ser algo asi:

 <script language="Javascript">
   runAjax('< el id del contenedor >','< la pagina que se ejecuta en el server y trae el resultado >');
</script>

Esto recomiendo hacerlo al final de la pagina que esta del lado del cliente y llamar todas instancias que sean necesarias.

2°) Estructura basica de como utilizarlo:

<html>
....
<script language="javscript">
function runAjax(objeto,server){
    < aca va la funcion antes mostrada >
}
</script>
....
<div id="Layer1" style="< aca usan los parametros que deseen >"></div>
....
<script language="javascipt">
    runAjax('Layer1','ajax.php?id=prueba');
</script>
</html>

Como veran, las paginas las hacen como siempre pero les convendria declarar la funcion lo antes posible en la pagina, luego acomodan el receptor de la funcion de Ajax en donde mas les plazca o necesiten y por el ultimo en este ejemplo de estructura, vuelven a crear una instancia de Javascript y ahi si llaman a la funcion antes declarada.
Porque es asi, porque me ha sucedido que si llama antes no encuentra el contenedor y si declaran despues la funcion (en vez del principio) a veces el Ajax falla (no es siempre pero depende de la velocidad del enlace y del navegador).

3°) Invocando a Ajax desde un enlace:

Ahora vamos a ver otro forma de invocar una funcion de Ajax, en las paginas puede ser atraves de un link o un boton. La unica forma es atraves del evento "onclick" y la forma es asi:

Por enlace:
<a href="" onclick="runAjax('Layer1','ajax.php?id=prueba');return false">Prueba</a>

Por boton:
<button onclick="runAjax('Layer1','ajax.php?id=prueba');return false">Prueba</button>

Como veran se deberia tener una funcion runAjax en Javascript, y un Layer1 para visualizarlo, asi como les mostre en el segundo caso. Y lo otro que es fundamental es que despues de llamar a la funcion de Ajax se debe ejecutar un return false, esto es debido a que evita que se recargue la pagina y se pierda la data del Ajax.
El return false es utilizado para los eventos de interaccion del usuario con la pagina, en los casos que se lo invoca desde la pagina como en el segundo caso, no es necesaario.

4|) Ajax unido a un evento de tiempo:

Ajax tambien se puede utilizar con eventos de tiempo para que se autoejecute cada X cantidad de tiempo o despues de cierto tiempo, por ejemplo con la instruccion setInterval o setTimeout.
Por ejemplo, tienes una lista de entradas de un blog pero te gustaria que se actualice solo cada 10 minutos para que en el caso de una nueva entrada aparezca automaticamente, esto se podria hacer con un evento setInterval, un simple ejemplo:

<script language="javascript">
       setInterval(function(){
                  runAjax('Layer1','ajax.php?id=prueba');
           }, 300000);
</script>


Y esto se deberia poner al final de la pagina para que se autoejecute en cada intervalo establecido.

En fin, como veran esto es todo el secreto que tiene Ajax. Hay mas metodos y mas instancias que se pueden llegar a utilizar pero lo basico como para que funcione cualquier tipo de pagina, ya sea de listado, de entradas, de catalogo, etc. Lo ideal con esto es evitar que se refresque la pagina con cada accion que tomamos y le da ilusion de que es algo completamente dinamico.
Es una excelente opcion para evitar el uso de Flash, y esto con HTML5 y las acciones y eventos que se pueden utilizar en celulares permiten una flexibilidad unica.
Espero que les sea util y proximamente subire algunas otras acciones que he encontrado y utilizado para espero a partir de Abril empezar a estudiar C y C++ para despues ir subiendo a medida que vaya estudiando.
Gracias por haber llegado a esta ultima linea y espero que te sea util como lo fue en su momento para mi.

miércoles, enero 04, 2017

Cara de libro

Este post es para comentarles que me pueden encontrar en mi face que es publico y si quieren agregarse y recibir las actualizaciones del blog.

Introduccion a Ajax


Hola, a todos. Este breve articulo es para hacer una leve descripción de, ¿el lenguaje de programación?, Ajax. Basicamente es una fusion entre Javascript y PHP, donde permite ejecutar acciones en el server y que se vean representadas en el cliente como si se ejecutaran localmente, un ejemplo es gmail y la mayoria de las aplicaciones web de google.
En una explicacion muy basica, pero muy basica, cuando se llama atraves de una funcion de javascript a un archivo de PHP y el resultado se puede mostrar en un layer, en una celda de una tabla, en fin todo aquello que permita mostrar el resultado en una pagina web.
De todos los metodos que busque, encontre uno que fue el mas lindo, bonito y barato porque te permite efectuar lo que describi anteriormente a traves de una funcion de javascript que puede ser llamada varias veces.
En fin, tiene sus pros y sus contras, lo mas "pro" para mostrar data "dinamicamente" en una pagina sin tener que andar refrescando la pagina entera y se actualiza lo que se puede especificar, la "contra" es para algunos tipos de paginas, como por ejemplo formularios, puede resultar poco practico o tener que recargar de informacion en las URLs o cookies.
A medida que pueda ire agregando mas informacion para que se vayan dando cuenta que en realidad es una pavada atomica y se pueden hacer cosas muy interesantes.

sábado, agosto 20, 2016

HTML 5 con tutti

Hola, a todos esta nueva es para anunciar que empezare a publicar cosas nuevas que he aprendido en HTML5, sobre todo en lo que es manipulacion de sonido y video.
Por ahora nada mas que anunciar, espero no dejarla tan abandonada como hasta ahora. Tambien voy a empezar a aprender C y C++, mi gran cuco, y a medida que vaya aprendiendo ire subiendo.
Abrazo para todos.

miércoles, enero 06, 2016

Desempolvando el blog

Es como entrar a una casa que no va nadie hace un monton, tantas cosas he aprendido en el camino que me olvide completamente de este blog.
Espero poder volver a ponerle media pila y empezar cosas basicas (y mas avanzadas que he aprendido) asi que esten al tanto que de a poco ire actualizando.
Por ahora, nada mas y feliz año nuevo para los que lean esta entrada.

martes, febrero 05, 2013

HTML5 - abbr

Este tag sirve para poder agregar el significado de una abreviatura que se utiliza en un texto cuando se pone arriba el cursor, no es extraordinariamente util pero sirve para darle un toque mas monono a las paginas. Juas

Sintaxis

<abbr title="texto">[palabra]</abbr>

Ejemplo

<abbr title="International Bussiness Machine">IBM</abbr>

HTML5

Hola, voy a comenzar una serie de nuevas entradas sobre algunos (o la mayor cantidad) tags que se utilizan en HTML5 que creo que puedan parecer interesantes y a su vez que sirva de machete para futuras referencias. Este texto es solamente de introduccion, a partir de aca ire agregando como hice en los casos anteriores.

sábado, septiembre 08, 2012

Todavia estoy con vida

Estuve un poco alejado del blog pero muy pronto pondre nuevas entradas para dejarlo un poco "mas monono". Sin mas novedades, los dejo hasta mi proxima entrada que espero sea bien jugosa.

lunes, enero 25, 2010

PHP - strip_tags

Hola, he vuelto. Aca de utilizar una nueva funcion en PHP que me resulto muy piola, ya que su funcion principal es la de quitar de un texto todas las etiquetas html.
La utilice recientemente en un pseudo blog que estoy programando y me vino muy bien para la vista previa de las entradas. La primera opcion es el texto o la variable que le van a sacar al texto y la segunda opcion es de las etiquetas que van a permitir.

Sintaxis:

strip_tags(<>,[ allow ]);

Ejemplo:

strip_tags("<em>Texto de Prueba</em>");

Salida: Texto de Prueba

Sin la funcion la salida seria asi:

Texto de Prueba

viernes, febrero 01, 2008

Linux - Descomprimidor GZip

El programa GZip es una version GNU del Zip que se utiliza para descomprimir archivos en Linux, mayoritariamente para descomprimir archivos .tar que son para las instalaciones de Linux. (ver instalaciones de Linux)
Aqui va una breve descripcion de la sintaxis y tabla de opciones

Sintaxis:

gzip [opciones] < archivo >

Opciones:



IndicadorNombreDescripcion
-aasciiTexto ASCII; convierte los caracteres de final de linea mediante el uso de convenciones locales
-cstdoutEscribe la salida resultante en formato estandar; no modificar los archivos originales
-ddecompressDescomprime
-fforceFuerza la sobreescritura del archivo resultante y comprime los enlaces
-hhelpProporciona una lista de ayuda
-llistRelaciona los contenidos de archivos comprimidos
-LlicenseMuestra la licencia de Software
-nno nameNo guarda ni restaura el nombre original ni las marcas de tiempo
-NnameGuarda o restaura el nombre original y las marcas de tiempo
-qquietElimina todos los avisos
-S suffixsuffix .sufUtiliza el sufijo .suf en archivos comprimidos
-ttestcoprueba la integridad de los archivos comprimidos
-vverbosePasa la modo de información detallada
-VversionMuestra el numero de version
-1fastAgiliza el modo de comprension
-9bestOptimiza el proceso de comprension

Linux - Comando mkdir

El comando mkdir es utilizado para crear directorios, al igual que su homonimo de DOS es simplemente el comando y el nombre del directorio.

Sintaxis:

mkdir < nombre >

Ejemplo:

mkdir Prueba

Linux - Comando rmdir

El comando rmdir, es utilizado para la eliminacion de directorios. Al igual que su homonimo de DOS si el directorio no esta vacio, a este comando no se le permite borrar el mismo. Entonces por ejemplo, para borrar un sub-directorio dentro de un directorio, primero deberiamos ejecutar el comando "rmdir /home/korn/Documentos/*", el cual borra todos los archivos dentro de la carpeta, y ejecutar el comando "rmdir /home/korn/Documentos" elimina el directorio ya vacio (Documentos).

Sintaxis:

rmdir < directorio o path completo para borrar >

Ejemplo:

rmdir /home/korn/Documentos

Linux - Comando rm

El comando rm, es utilizado para suprimir archivos dentro de un directorio.
Como modificador agregaremos la opcion -i, lo que hace es preguntar si deseamos o no borrar ese archivo.

Sintaxis:

rm [-i] < nombre del archivo >

Ejemplo:

rm /home/korn/Documentos/prueba.txt

Linux - Comando cp

El comando "cp" equivale al comando COPY de DOS, su utilizacion es muy parecida, donde primero se define un origen y luego un destino.

Sintaxis:

cp < origen > < destino >

Ejemplo:

cp prueba.txt /home/korn/Documentos/

lunes, enero 28, 2008

Linux - Comando man

El comando man es utilizado para obtener informacion sobre los comandos que se encuentran dentro del S.O.
En gral. la sintaxis es man y el comando (p.e. finger) este ingresa al manual que esta dentro del S.O. y devuelve la informacion sobre el mismo.
Como opcional tiene la opcion -k que no solamente va a buscar la informacion del comando sino en todas las paginas donde se haga referencia a este comando.

Sintaxis:
  man [-k] <comando>

Sintaxis:
  man finger