Archive for May, 2008

  • Un Poco de AWK

    0

    La verdad no tenia idea de esta tool en Linux hasta que hace un tiempo Alejandro, un companiero de laburo me conto que la usaba para obtener data de websites. Aca un script muy simple para el cual Griselda me ayudo un poco.

    Hoy necesitaba obtener cada valor de un archivo y agregar usuarios con folders y passwords. Que hice ? Bueno una simple combinacion con el anterior script

    #!/bin/bash#b is the user#c is the pass#d is the foldercat users.txt | while read line;
            do a=`echo $line | awk ''{print "b="$1,"c="$2,"d="$3}''`;        eval $a;myadduser $b $c $d
    done

    No es muy complicado, pero la verdad no lo sabia. Me encanta aprender cosas nuevas!

  • Agregar un User a Linux Con Password Por Command Line

    0

    Un requerimiento que tuve era agregar usuarios a un linux mediante un shell script. La verdad es que dije “listo”, piece of cake, pero al final estuve todo un dia investigando como poder hacerlo hasta que di con la solucion. Aca el problema y su final.

    Para agregar un usuario al linux simplemente usamos

    $ useradd rodrigo

    Esto agrega un usuario rodrigo al sistema pero sin password asignada, o sea, el usuario no esta habilitado aun para loguearse. Debemos a continuacion hacer esto.

    $ passwd rodrigo
    Enter new UNIX password:

    OK, no pude de ninguna manera simular el input del usuario en un script (no porque no se pueda, solo no encontre como) entonces empece a leer y encontre que useradd puede obtener un parametro -p <ENCRYPTED PASS>. OK ahora lo ultimo era como carajo encryptar una password. Bueno, leyendo otro poco mas hizo que me baje un programa para hacerlo y termine con el siguente script.

    $ apt-get install makepasswd

    Este es el encryptador y debajo el script final

    #This script will be used to add users to the system
    # usage ./myadduser.sh USERNAME PASSWORD
    useradd -m $1
    echo $2 >> passfile
    ph=$(makepasswd --clearfrom=passfile --crypt | awk '{print $2}')
    usermod -p $ph $1
    rm passfile

     

    Para usar este script solo tenemos que hacer lo siguiente:

    $ ./myadduser.sh rodrigo mipasswd
  • Lo Que Viene – Web 2.5 o 3.0

    0

    Ya venimos escuchando muchisimo acerca de la web 2.0 y para resumir vamos a decir que la web 2.0 simplemente describe una tendencia de tecnicas y diseño para los websites. Las mayorias de estas tecnicas han sido desarrolladas por weblogs, wikis, networks sociales y servicios web tal como remember the milk.

    Pero que es la web 2.5 o 3.0 ? Aca un poco de lo que se viene.

    Hay varias versiones de lo que es la web 2.5 y la 3.0. Yo voy a dar la mia aca.

    Web 2.5

    Muchos de ustedes ya conocen Facebook, bueno, este gigante ademas de ser una social network hizo algo que revoluciono su tipo y pocos o nadie pudo igualarlo. Facebook API. Esta API permite a third party developers crear applicaciones para Facebook pudiendo acceder a sus contactos, otras aplicaciones y al perfil del usuario de la misma. Orkut esta siguiendo sus pasos, pero la verdad es que esta a un largo trecho de alcanzarlo.

    Pasamos del ejemplo a la explicacion teorica de que es la Web 2.5. Esta nueva “version” alcanza a las network sociales intercomunicandose entre si proveyendo a sus usuarios interconectividad entre diferentes vendors y aplicaciones permitiendo enviar y recibir informacion cross services a traves de Web Services.

    Integracion de aplicaciones

    Por su lado Google sigue asi como Microsoft tienen integrados todos sus servicios. Al hacer login con una cuenta Passport en algun servicio Microsoft (digamos hotmail) tenemos acceso a un vasto numero de aplicaciones tales como SkyDrive, MSN Spaces, MSN Messenger, etc. Google tiene lo suyo con Google Pages, Orkut, Analytics, AdSense, AdWords, etc. Toda esta tecnologia nos lleva a lo que yo creo va a ser la Web 3.0. Como ? Por que ?

    La Web 3.0 para mi tendra la forma de SOA (Services Oriented Architecture) donde podemos definir esta sigla como un estilo de arquitectura de sistemas para crear y usar procesos de negocio empaquetados en forma de servicios. La idea de SOA es comunicar software usando un standard a traves de las redes sin tener en cuenta sistemas operativos o lenguajes de programacion.

    La explicacion para mortales seria algo como Empresa A Cliente contrata a Empresa B Proveedor para que le lleve su liquidacion de sueldos. Empresa A necesita saber datos estadisticos acerca de retenciones y en vez de contar manualmente los datos en los recibos de sueldo hacen un proyecto en comun con Empresa B para desarrollar un Web Service el cual Empresa A pueda conectarse en manera segura a Empresa B y obtener esa data y asi ser procesada por su centro de computos.

    Esto no es nada innovador hoy en dia, ya que lo vemos a diarios y quienes trabajamos en esto hemos quiza tenido la oportunidad de desarrollar algun proyecto de este tipo. Que es lo que va a aportar SOA a la Web 3.0 ? MASHUPS. Que palabra tan linda. En un futuro muy cercano vamos a poder crear nuestras propias aplicaciones basadas en Mashups de WebServices donde por ejemplo voy a hacer un Mashup de un webservice de American Airlines con Google Calendar donde me puedo enterar de arribos y partidas en mi Propio outlook ya que tambien inclui un mashup con mi Cliente de Email / Agenda. Esto va a ser la Web 3.0. Donde un don nadie (no developer =D  ) va a poder crear aplicaciones facilmente combinando diferentes servicios expuestos publicos o privados.

    Algunos links de interes

     

  • Un Tooltip Javascript

    0

    Siguiendo con los tutoriales javascript aca muestro como hacer un tooltip en Javascript y usarlo facilmente como objecto en tu codigo. Reaccionando con variantes al click y mouseover.


    Basicamente la idea es generar un objeto tan simple que nos permita con una sola linea tener un tooltip vistoso. Comencemos con el Javascript que define tal objeto. Primero creamos un objeto javascript. Vamos a decir que de esta manera creamos un objeto javascript por si no lo sabian

    Tooltip = function(target, text, event) 

    . Lo que hacemos en este constructor del objeto es obtener el target por ID y colocarle segun el evento elegido (click o over por default) una funcion para mostrar el tooltip en la pantalla. En la parte final hacemos append del objeto al elemento BODY. Como ven se agregan 2 metodos a los eventos onmouseover y onmouseout. Estos metodos seran ejecutados cuando algun evento en el cliente se dispare.

    Seguimos con el metodo del objeto Tooltip llamado

    show()

    . Este metodo que fue agregado en al listener onmouseover va a ser quien definitivamente muestre el tooltip.

    Y finalmente tenemos un metodo hide que simplemente oculta el tooltip y este fue asociado al evento onmouseout. Importante: necesitamos una porcion de CSS asociado tambien a este script (se muestra abajo)

             function get(id) {
                    return document.getElementById(id);
             }
    
             Tooltip = function(target, text, event) {
    		var thisObj = this;
    		if (event == null) {
    			get(target).onmouseover = function(e) {thisObj.show(e);};
    		} else if (event == "click") {
    			get(target).onclick = function(e) {thisObj.show(e);};
    		}
    		get(target).onmouseout = function(e) {thisObj.hide(e);};
    		this.tooltip = div();
    		this.tooltip.className = "tooltip";
    		this.tooltip.innerHTML = text;
    		appendElement(this.tooltip);
    		var func = function() {thisObj.hide()};
    		setTimeout(func, 10000);
    	}
    
    	Tooltip.prototype.show = function(e) {
    		var tempX, tempY;
    	  if (isIE()) { // grab the x-y pos.s if browser is IE
    	    tempX = event.clientX   document.body.scrollLeft;
    	    tempY = event.clientY   document.body.scrollTop;
    	  } else {  // grab the x-y pos.s if browser is NS
    	    tempX = e.pageX;
    	    tempY = e.pageY;
    	  }
    	  this.tooltip.style.top = tempY   5   "px";
    	  this.tooltip.style.left = tempX   5   "px";
    		this.tooltip.style.display = "block";
    	}
    
    	Tooltip.prototype.hide = function() {
    		this.tooltip.style.display = "none";
    	}
    

    El CSS asociado

    .tooltip {
    	background-color: #FFFFCC;
    	border: 1px solid #DDDDDD;
    	padding: 10px;
    	z-index:9999;
    	-moz-opacity:90%;
    	filter:alpha(opacity=90);
    	display:none;
    	position: absolute;
    }
    
  • Mi Desktop hoy

    0

    Para no aburrirme… aca mi desktop

    Mi desktop

Page 1 of 3123»