domingo, febrero 14, 2010
domingo, noviembre 08, 2009
Con la salida de la versión beta de SharePoint 2010, empieza la oleada de información y se empieza a tejer una red mas para este producto.
http://msdn.microsoft.com/es-mx/sharepoint/ee513147(en-us).aspx
Sharop.
martes, marzo 17, 2009
La referencia del algoritmo la pueden encontrar en la siguiente ruta
http://en.wikipedia.org/wiki/Levenshtein_distance, es muy ejemplificante y
los links te llevan a algunas modificaciones que existen sobre el mismo algoritmo.
Un poco de teoria:
La distancia de levenshtein permite calcular diferenciala entre 2 cadenas de caracteres, es decir el minimo numero de
operaciones necesarias para que una palabra s se transforme en una palabra t.
La operaciones que necesarias para que esto ocurra son las siguientes:
Td
aba --------->aa eliminacion
Ti
aa ---------->aba inserccion
Ts
aba ---------> ada sustitucion
¿Que es esto? bueno si tienes la palabra:
1. PERRO ---> PERROS : La distancia es 1 por que la diferencia entre perro y perros es 1 que es (s) la operacion es insercción
2. MOTO ----> FOTO : La distancia es 1 por que la diferencia entre MOTO y FOTO es F la operacion es sustitución
1: public int LevenshteinDistance(string s, string t)
2: {
3: // d is a table with m+1 rows and n+1 columns
4: int costo = 0;
5: int m = s.Length;
6: int n = t.Length;
7: int[,] d = new int[m + 1, n + 1];
8:
9: // Verifica que exista algo que comparar
10: if (n == 0) return m;
11: if (m == 0) return n;
12:
13: // Llena la primera columna y la primera fila.
14: for (int i = 0; i <= m; d[i, 0] = i++) ;
15: for (int j = 0; j <= n; d[0, j] = j++) ;
16:
17:
18: /// recorre la matriz llenando cada unos de los pesos.
19: /// i columnas, j renglones
20: for (int i = 1; i <= m; i++)
21: {
22: // recorre para j
23: for (int j = 1; j <= n; j++)
24: {
25: /// si son iguales en posiciones equidistantes el peso es 0
26: /// de lo contrario el peso suma a uno.
27: ///
28: costo = (s[i - 1] == t[j - 1]) ? 0 : 1;
29: d[i, j] = System.Math.Min(System.Math.Min(d[i - 1, j] + 1, //Eliminacion
30: d[i, j - 1] + 1), //Inserccion
31: d[i - 1, j - 1] + costo); //Sustitucion
32:
33: }
34: }
35: /// Calculamos el porcentaje de cambios en la palabra.
36: if (s.Length > t.Length)
37: porcentaje = ((double)d[m, n] / (double)s.Length);
38: else
39: porcentaje = ((double)d[m, n] / (double)t.Length);
40: return d[m, n];
41: }
42:
43: double _porcentaje = 0;
44:
45:
miércoles, abril 30, 2008
Aun no me he ido,
sigo aqui esperando regreses por mi,
esta vez no me rehusare a irme de aqui,
espero pacientemente mi partida por el
obscuro tunel al que me has de llevar,
en medio de esa hermosa luna y grandes
catedrales soy yo quien ahora desea irse
espero pacientemente tu arrivo por mi.
Me han dicho, y he escuchado asi como lo he
sentido,
el dolor jamas pasara ,
solo lo asimilaras.
Formo parte neutral entre el bien y el mal, que tu raza ha creado. En
donde, en tu mundo dicen que la luz es la vida y la obscuridad es prohibida.
Soy yo quien a cada paso que tu das le temes, tu sabes que llegare por ti, pero
niegas tu partida de este lugar.
Solo soy el jinete que te ha de llevar al lugar donde perteneces.
Cuando me presente no te niegues, tu ya sabras a que he venido...
martes, septiembre 25, 2007
Hace unos dias estaba haciendo unas pruebas de como subir y bajar datos desde MSQL 2005 con C#, utilizando SQLDMO, y bueno después de un rato lo conseguí.
aquí la reseña.
using SQLDMO;
1: public void PaJuera()
2: {
3: SQLServer server = new SQLServerClass();
4: _BulkCopy bcp = new BulkCopyClass();
5: _Database db = new DatabaseClass();
6: _Table table = new TableClass();
7: server.EnableBcp = true; // Abusados si no ponen esto no pifa.
8: server.Connect(ServInstance, "usr", "****");
9: bcp.DataFileType = AQLDMO_DATAFILE_TYPE.SQLDMODataFile_CommaDelimitedChar;
10: bcp.RowDelimiter = @"\n";
11: bcp.UseExistingConnection = true;
12: bcp.MaximumErrorsBeforeAbort = 1000;
13: bcp.UseBulkCopyOption = true;
14: bcp.IncludeIdentityValues = true;
15: bcp.UseServerSideBCP = false;
16: bcp.DataFilePath = "archivo.txt";
17: table = server.Databases.Item("BD_YY", "dbo").Tables.Item("TBLXX", "dbo");
18: table.ExportData(bcp);
19: server.DisConnect();
20:
21: }
No se olviden de cerrar la conexion y vaciar los objetos que ya no van a ocupar.
table.ImportData(bcp)
y eso es todo.
Saludos y espero les sirva.
domingo, diciembre 04, 2005
domingo, septiembre 11, 2005

Bastante bien la "Feria de las Enchiladas" en cuanto al paladar se refiere, pero en cuanto a organizacion y distribucion era bastante dificil poder caminar por ahi e insuficientes los lugares para sentarse a comer y escasos los botes de basura para depositar los rastros del delito, de hecho la gente preferia comer en sus vehiculos y algunos aprovechaban las banquillas del quiosco para hechar diente a las enchilada. En mi caso terminamos pidiendo para llevar la comida, ya en el calor de la casa, la tarde lluviosa del domingo y un poco de musica se consumieron esos platos de enchiladas en Nogada, Toluqueñas , Jarochas y Tricolores.
lunes, septiembre 05, 2005
Por favor, no me veas así, posiblemente esta noche no me vaya.
-¿por que?
-Por que si volteo y no te veo, me asusta el hecho de que te has ido, y me da miedo equivocarme y por eso te pido que te quedes.
-Solo déjame, que cierre mis ojos, será por un instante, te prometo que cuando los haya abierto, te tendré una respuesta, mientras tanto tómame de la mano y no me sueltes, que quien habrá de soltártela seré yo.
Hoy como te veo, cada vez te siento mas distante pero, me da miedo por que ya no soy yo quien se aleja…
El dolor ya paso, únicamente quedan las cenizas y la yagas que se han de cerrar en cuanto vuelvas tú, o tu lugar sea ocupado.