Bueno, pues heme aquí de regreso después de mi larga ausencia de no escribir nada durante todo el mes de enero, pues apenas ahora me di tiempo de alimentar a mí blog y pues bueno voy a dar un pequeño resumen de lo que he hecho en este mes.
w3schools [xhtml,css,js and xml]
Al comienzo de este año me dí a la tarea de diseñar el sitio del iNodo junto con enviro para darle prisa a esto y no dejar pasar más tiempo, al principio no sabiamos por donde empezar yo tenia la idea de comenzar a armarla en el clasico pure fucking html jajajaja, pero el enviro me hizo ver que habia mejores opciones y más facil, así es que, empezamos a investigar y encontramos que nuestra mejor opción era armarla con xhtml que no es más que la evolución del html clasico, muy practico y convinandolo con las hojas de estilo (css) resulta ser muy sencillo de armar.
Aquí dejo un exelente link por si a alguien le interesa leer un poco al respecto.
Una oportunidad de hablar de Wireless
El pasado sabado 22 de enero yazpik y otro cuate me invitaron a acompañarlos a dar una platica acerca de la inseguridad en las redes inalabrincas para los alumnos de la maestria en TI de la CUHM para la matería de seguridad en computo, todo salio muy chido y aunque yo no iba como orador también meti mi cuchara y en el proceso me di cuenta que me hace mucha falta aprender a hablar en público (tratare de hacerlo más seguido). La platica duro algunas horas pero me agrado que nadie se salio en el receso, al parecer estaban muy entretenidos con el tema, ya que lo expusimos como nos hubiese gustado oirlo a nosotros cuando empezabamos en ese rollo.
Después de la platica nos invitaron muy amablemente a comer, y para mi sorpresa nos llevaron a un lugar muy friskie en verdad, y lo más chido es que porfin pude comer unos mariscos muy respetables en el puerto, porque los que había comido eran una verdadera basura, esperemos regresar muy pronto.
Testeando al Camello
Desde hace ya tiempo he tenido a perl en lugar de respeto a pesar de que nunca lo había utilizado por el simple hecho que varios de los programadores más chidos que conosco lo usan y hablan muy bien de el, en especial que es un exelente sistema para la manipulación de datos, y que su sintaxis a pesar de no ser tan legible pues es muy poderosa se puede hacer mucho con poco codigo. Y hace unos dias mi cuate el yazpik me pidio que le hechara la mano para checar unos codigos que él habia hecho y al irlos leyendo me parecio que efectivamente era un exelente lenguaje y un tanto sencillo para lo que necesitabamos y pues empezamos a reventar otros scripts que necesitaba para su certificacion... aprobecho para felicitar a mi pinche carnalillo el yazpik por haber finalizado su Certificación en Linux/Unix System Administrator todos lo que lo conocemos sabemos que es un exelente Sysadmin y que se le ve futurillo al chavo, aferrado yazpik ... y solo puedo decir que tratere de meterle un poco más aprender Perl. A continuación dejo el codigo del script más perro que armamos por si a alguien le sirve, esta como si lo hubiesen armado unos pinche mandriles pero esta chido.
#!/usr/bin/perl -w opendir (CURRENT,"/var/log"); @list = readdir(CURRENT); closedir(CURRENT); @list = reverse(@list); foreach $item (@list){ #Esta es la maldita expresion regular #que hace todo el trabajo sucio. if ($item =~ /message\.?[0-9]|message/){ if ($item =~ /message\./){ $_ = $item; tr/321/432/; if ($item !~ /message.4/){ system ("mv $item $_"); } }else{ system ("mv $item message.1"); } } } #crea un nuevo message log. system ("touch message");
Este script es muy util para llevar un control de los logs del menssage y para hacerlo més eficient solo tienen que meterlo al crond para que se ejecute cada determinado tiempo. Y para correrlo simplemente ya saben:
$chmod a+x logrotator.pl $./logrotator ó nadamás $perl logrotator.pl
#!/usr/bin/perl -w use strict; $_='ev al("seek\040D ATA,0, 0;");foreach(1..2) {>DATA<;}my @camel1hump;my$camel; my$Camel ;while( >DATA<){$_=sprintf("%-6 9s",$_);my@dromedary 1=split(//);if(defined($ _=>DATA<)){@camel1hum p=split(//);}while(@dromeda ry1){my$camel1hump=0 ;my$CAMEL=3;if(defined($_=shif t(@dromedary1 ))&&/\S/){$camel1hump+=1<<$CAMEL;} $CAMEL--;if(d efined($_=shift(@dromedary1))&&/\S/){ $camel1hump+=1 <<$CAMEL;}$CAMEL--;if(defined($_=shift( @camel1hump))&&/\S/){$camel1hump+=1<<$CAMEL;}$CAMEL--;if( defined($_=shift(@camel1hump))&&/\S/){$camel1hump+=1<<$CAME L;;}$camel.=(split(//,"\040..m`{/J\047\134}L^7FX"))[$camel1h ump];}$camel.="\n";}@camel1hump=split(/\n/,$camel);foreach(@ camel1hump){chomp;$Camel=$_;tr/LJF7\173\175`\047/\061\062\063 45678/;tr/12345678/JL7F\175\173\047`/;$_=reverse;print"$_\040 $Camel\n";}foreach(@camel1hump){chomp;$Camel=$_;y/LJF7\173\17 5`\047/12345678/;tr/12345678/JL7F\175\173\047`/;$_=reverse;p rint"\040$_$Camel\n";}#japh-Erudil';;s;\s*;;g;;eval; eval ("seek\040DATA,0,0;");undef$/;$_=>DATA<;s$\s*$$g;( );;s ;^.*_;;;map{eval"print\"$_\"";}/.{4}/g; __DATA__ \124 \1 50\145\040\165\163\145\040\157\1 46\040\1 41\0 40\143\141 \155\145\1 54\040\1 51\155\ 141 \147\145\0 40\151\156 \040\141 \163\16 3 157\143\ 151\141\16 4\151\1 57\156 \040\167 \151\164\1 50\040\ 120\1 45\162\ 154\040\15 1\163\ 040\14 1\040\1 64\162\1 41\144 \145 155\14 1\162\ 153\04 0\157 \146\ 040\11 7\047\ 122\1 45\15 1\154\1 54\171 \040 \046\ 012\101\16 3\16 3\15 7\143\15 1\14 1\16 4\145\163 \054 \040 \111\156\14 3\056 \040\ 125\163\145\14 4\040 167\1 51\164\1 50\0 40\160 145\162 \155\151 \163\163 \151\1 57\156\056 # camel code, copyright 2000 by Stephen B. Jenkins # The use of a camel image with the topic of Perl # is a trademark of O'Reilly & Associates, Inc. # Used with permission.
Publicar un comentario