viernes, 16 de octubre de 2009

3 años Systemico Software


Queria comentarles que el 17 de octubre Systemico Software cumple 3 años de ser fundada, de brindar soluciones informaticas, y soporte outsourcing, quiero compartir con ustedes esta celebración y de alguna manera hacerlos participe de ella, el resultado de ello se debe a la labor realizada por todos y cada uno de los miembros que componen la familia Systemico, a todos ellos ¡¡¡Gracias!!!.

Atentamente,

Diego Quintero
Lider de Proyecto
Systemico Software

miércoles, 14 de octubre de 2009

sábado, 26 de septiembre de 2009

Gestor de Archivos de Carpeta Liberado!!!!

Hola a todos he cargado el componente para que todos lo puedan usar, [Click para ver DEMO], espero que les sea util, cualquier duda o sugerencia que tengan me la pueden comunicar, para descargar el componente [Click Aqui], anexo un documento en pdf que explica cada propiedade de este componente para que sea de facil entendimiento, para descargarlo [Click Aqui].

"El conocimiento Humano le pertenece al Mundo".
NOTA:Probado en IE 8 y Firefox 3.x

viernes, 25 de septiembre de 2009

Componente JAVASCRIPT

En los proximos dias estare liberando un componente desarrollado en JavaScript para el manejo de archivos GAC (Gestor de Archivo de Carpeta) utiliza tecnologia AJAX y trabaja para cualquier lenguaje servidor, actualmente esta desarrollado para PERL y PHP, la idea es que la persona lo descargue y lo modifique a su antojo, solo me gustaria saber los cambios pues para implementar las mejoras que crea correspondientes al codigo, y asi entregar un codigo mas completo, la idea del componente principal es un administrador de archivos en modo web, la persona puede cargar archivos via AJAX y verlos en la lista, asi mismo puede buscar un archivo determinado para una carpeta establecida aplicando AJAX, y las propiedades de cara archivo son ver, descargar y eliminar el archivo de la carpeta, quiero devolver algo a la comunidad de software libre que tanto me a dado, pues de no ser por ellos no podria generar ese componente, un agradecimiento especial a www.webtoolkit.info del cual utilize el codigo para cargar archivos por AJAX ;)

jueves, 3 de septiembre de 2009

Experiencia en Google Code Jam 2009

La ronda de clasificacion fue dura y realmente interesante, pone a prueba la capacidad de enfrentar problemas, no me fue muy bien realmente aun que es mi primera vez que participo, amigos y compañeros me ayudaron en analisis del segundo y tercer problema aunque no con resultados exitosos :( pero bueno fue un momento para compartir conocimiento con ellos ,ver la forma como ellos trataban de solucionar y de dar aportes, a pesar del resultado logre desarrollar el punto 1 (Alien Language) y la verdad fue facil, al principio me enrrede en una solucion recursiva pero me inspire y pude descartarla, de no haberlo hecho no hubiera completado ese punto, les cuento como solucione ese punto al final.

Problem A: Alien Language
Category: Brute Force, String Manipulation
URL: http://code.google.com/codejam/contest/dashboard?c=90101#s=p0

la idea principal es dada una serie de palabras N de longitud L, buscar en los D casos todas las palabras y encontrar similitud en ellos , los casos estaban dados por (abc..z) donde cada caracter dentro de los () podia ser , es decir o a, b, .. etc, un ejemplo mas claro es:
abc como palabra a encontrar en el caso y el caso es (ab)(bc)c la solucion seria que pueden encontrarse las siguientes soluciones para este caso, [abc,acc,bbc,bcc] y abc esta una sola ves asi la respuesta seria 1, pense haciendo una fucion que me generara n vectores posibles para sacar las combinaciones posibles, pero realizar esta funcion me tomaria mucho tiempo y en este momento analizando todo lo que paso no creo que me hubiese servido de mucha ayuda :P, la forma como enfrente este problema fue, en vez de crear una funcion que realizara los n vectores de combinaciones, use expresiones regulares en perl, asi primero convertia los () en [] para poder evaluarlas por medio de =~/Expresion/ entonces asi sabria si existia la palabra en el caso.

Esta es mi solucion para ese problema, funciona de igual manera para el set de dato pequeño y el grande (aprox 5000 palabras, 500 casos :P)

my ($L,$D,$N,$caso)="";
my (@lineas,@cabecera,@palabras,@respuesta)=();
open(Entrada,"A-large.in");

@lineas=< Entrada>;
@cabecera=split(" ",$lineas[0]);
close(Entrada);

$L=$cabecera[0];
$D=$cabecera[1];
$N=$cabecera[2];
for(my $i=1;$i<=$D;$i++){
$palabras[@palabras]=$lineas[$i];
}
for(my $i=($D+1);$i<@lineas;$i++){
my $contador=0;
$caso=$lineas[$i];
$caso=~s/\(/\[/g;
$caso=~s/\)/\]/g;
for(my $j=0;$j<@palabras;$j++){
if($palabras[$j]=~$caso){
$contador++;
}
}
$respuesta[@respuesta]=$contador;
}
open(Salida,">output-large");
for(my $i=0;$i<@respuesta;$i++){
print Salida "Case #".($i+1).": ".$respuesta[$i]."\n";
}
close(Salida);

En fin obtuve 33 puntos de 99 posibles :P es mi primera vez que participo , pero no sera la ultima, quiero agradecerles a mis amigos (colegas con quien trabajo) por el apoyo brindado