lunes, 25 de agosto de 2008

Uruguay en Google

uruguayind08

Muy lindo esto de que Google haya puesto este logo para Google.com.uy (visto en español).

Lástima que al hacer click sobre el logo el primer resultado que aparece es un sitio argentino que arranca hablando sobre una polémica sobre la fecha de independencia de Uruguay :(

Existe realmente esa polémica y yo no me enteré? No tenemos ningún sitio en Uruguay que pueda por lo menos contar la parte que a todos nos contaron en la escuela?
Porque ese sitio aparece antes que la mismísima Wikipedia, o sea, que es el sitio mas visitado o referenciado cuando alguien quiere saber sobre la “Independencia de Uruguay”.

Lamentable…

Seguir Leyendo

viernes, 15 de agosto de 2008

Acceso a Internet en Uruguay (II)

Ya comenté algo sobre esto antes, pero acabo de leer un artículo que bien vale la pena volver a hablar del tema.

Haciéndola corta, la cosa es que EEUU está preocupado porque están en la 15ta posición mundial en velocidad de acceso a internet, con una media de bajada de 2.30mbps y una media de subida de 435kbps. Pero de qué se quejan?, podrá pensar un uruguayito que tiene un acceso que le “dicen” que anda a 1mbps y nunca lo vió llegar a 700kbps. Lo que pasa es que en Japón, la media, y repito, la media, es de 63mbps! (no me lo puedo imaginar)

A mi, hoy Viernes de noche, me dió 547 de bajada y 100 de subida.

Artículo completo

Seguir Leyendo

sábado, 9 de agosto de 2008

Easy Remover

EasyRemover Todo empezó por una crítica a la usabilidad de algunas funcionalidades de Windows, en particular el Agregar/Quitar Programas.

 

Un par de cosas
- Por qué demora tanto en cargar la lista de programas?
- Por qué no puedo hacer una búsqueda sobre los programas que tengo instalados?

Así que empecé a buscar. Obviamente en la registry tiene que haber algún lugar donde se guarde la información que se despliega en esa ventana. Y efectivamente lo hay.

Luego de un par de pruebas y verificaciones hice el Easy Remover. Un programita que simplemente lee esa parte de la registry y permite hacer búsquedas sobre la misma. Al ejecutar este programa automáticamente se cargan todos los programas encontrados e increiblemente, es mucho mas rápido que el componente de Windows. Por qué? Creo que por la sencilla razón de que no toda la info que Windows muestra está en ese lugar. Por ejemplo, el aplicativo de Windows muestra cuanto pesa el programa instalado y que tan seguido es ejecutado (alguien alguna vez le dio pelota a eso?). El mio obviamente no muestra eso, y creo que el no hacer ese JOIN a quien sabe donde es lo que lo hace mucho mas rápido.

Cómo siempre, este programa se libera bajo licencia “works on my machine”. Bajarlo de aquí

works-on-my-machine-starburst_3

Seguir Leyendo

lunes, 9 de junio de 2008

Uruguay nomá!

UruguayApple

El iPhone 3G llegará a Uruguay. Por lo menos eso es lo anunciado por Steve Jobs, y ya la página de Apple lo confirma.

Aún no se sabe nada sobre fechas... pero es bueno saber que nos tuvieron en cuenta y que somos parte de la selecta lista de 70 paises :)

Seguir Leyendo

viernes, 30 de mayo de 2008

Acceso a internet en Uruguay

Como bien dice Mini, Estamos lejos, Muuy lejos...

Seguir Leyendo

lunes, 19 de mayo de 2008

Ya soy socialmente completo (creo)

<postpelotudo>
Cuando se trata de probar cosas nuevas en internet, soy como mono con revolver. Dicen que la curiosidad mató al gato, a mi me llenó de cuentas en sitios que rara vez entro.

Es así que tengo cuentas en Google y en Live. En Orkut (porque es de Google y pensé que iba a ser "EL" sitio a tener bajo el radar), en Twitter (porque Rorro lo recomendó), en Facebook (no se por qué), en MySpace (porque tengo familiares en EEUU que es lo único que usan), en Yahoo! (por Flickr) y en Flickr (de antes que la comprara Yahoo!). En YouTube estuve hábil, esperé a poder hacer sign on con la Google account :). En Joost (porque parecía prometedor), en Mozy (porque era útil y gratis), en Assembla (misma razón que Mozy), en Remeber the Milk (por buena publicidad), en Protopage (porque antes de iGoogle era lo mejorcito), en 30boxes (porque me lo recomendó APC), en GoDaddy (también por la buena publicidad), en StatCounter (porque antes de tener Google Analytics era lo que usaba). Y ojo que no estoy contando los innumerables sitios de productos que te piden una cuenta para bajarte el software.

Obviamente de todo esto uso muy poco diariamente. Facebook me sirvió para encontrar gente que hacía mas de diez años había perdido contacto. También me gustaba el cosito ese donde una pone su estado de ánimo. Así por ejemplo mis contactos se enteraron que la seman pasada estuve enfermo (utilísimo). Pero la clara contra de eso es tener que entrar a la página a escribir cada vez que quiero declarar una nueva "actividad".

Pero todo eso ahora cambió, porque anoche, volviendo a abrir mi cuenta de Twitter (la cual tuve olvidada durante 7 meses) ví que podía cambiar mi mensaje vía GTalk. El cual junto con MSN Live los tengo en uno solo cliente (Pidgin). La idea es agregar un contacto al cual le mando un IM y este es publicado como mi mensaje en twitter. Qué bueno! el Pidgin si lo tengo siempre abierto y es más fácil que tener que abrir una página cada vez que quiero escribir algo.
Pero lo mejor de todo esto, es que twitter tiene una app en facebook que permite que tu estado de ánimo en facebook sea el que ingresaste en twitter.

Entonces, desde Pidgin mando un IM, que twitter toma como mi "lo que estoy haciendo ahora" y es compartido con facebook.
</postpelotudo>

Seguir Leyendo

lunes, 17 de marzo de 2008

StringBuilder vs. concatenación de String

Trabajando para la última versión de GeneXus (Rocha) me tocó escribir algunas sentencias SQL. Como hasta ahora hice siempre, empecé declarando una variable string con la sentencia y a esta le concatenaba los parámetros que fuera necesario*.
Pero en determinado momento, Milano me recomendó como buena práctica, utilizar StringBuilder para concatenar strings, en lugar de la fácil y práctica forma de concatenación con el '+'.

Pero por qué? "se supone que es mas eficiente" me dijo... "no es que esa concatenación vaya a significar una demora en el proceso, pero es una práctica recomendable utilizar StringBuilder".

No es que desconfíe de el :) pero me interesó hacer una prueba para ver que tan eficiente era, y los resultados de esa prueba me motivaron este post asique acá están.

Primero voy a mostrar la prueba que hice. El main es el siguiente:

 

string text = "First text";
int i = 100000;

DateTime start;
DateTime end;
TimeSpan duration;

start = DateTime.Now;
InsertString(text, i);
end = DateTime.Now;
duration = end - start;
Console.WriteLine(string.Format("InsertString took {0}:{1} seconds", duration.Seconds, duration.Milliseconds));

start = DateTime.Now;
InsertStringBuilder(text, i);
end = DateTime.Now;
duration = end - start;
Console.WriteLine(string.Format("InsertStringBuilder took {0}:{1} seconds", duration.Seconds, duration.Milliseconds));

Como verán, simplemente tomo el tiempo antes y después de cada llamada y luego imprimo la diferencia en segundos y milisegundos para saber cuanto demoró cada función. La funciones InsertString e InsertStringBuilder son muy básicas pero también las pegaré acá:

private static void InsertString(string text, int i)
{
for (int j = 0; i >= j; j++)
text += " new text";
}

private static void InsertStringBuilder(string text, int i)
{
StringBuilder builder = new StringBuilder(text);
for (int j = 0; i >= j; j++)
builder.Append(" new text");
}

Dije que eran básicas :)
Pues bien, ahora el resultado...


StringBuilder


Bastante increible no? por lo menos a mi me llamó enormemente la atención, más de 20 segundos contra menos de 1!. Obviamente esta diferencia se hace muy notoria por la cantidad de iteraciones que tiene la concatenación, si solo es concatenar un string con otro una única vez, posiblemente no valga la pena utilizar el StringBuilder.


*Nota: si los parámetros son ingresados por el usuario final de la aplicación esta no es una buena práctica. Podemos llegar a ser víctimas de SQL Injection.

Seguir Leyendo

miércoles, 5 de marzo de 2008

Assembla: Que tul!

También en español porque justamente la idea de este blog fué agregar contenido en español al web.

Hace tiempo que quiero eliminar mi manejo de versiones locales con VSS. Aparte desde que entré a Artech he estado utilizando SVN con Tortoise el cual tiene una integración con el Windows Explorer que me pareció bárbara. Por esto es que me puse a buscar sitios con soporte SVN (gratis obviamente) y encontré uno que me encantó. Se llama Assembla y esta es una lista de las funcionalidades que provee:

  • Equipo de trabajo ilimitado
  • Espacios públicos o privados
  • SVN (es lo que yo buscaba)
  • Trac
  • Wiki
  • Hitos, tareas y discuciones
  • Alertas: email en tiempo real, batch o RSS (muy bueno)
  • Repositorio de archivos
  • Chat
  • Reportes de "scrum"
  • Notas sobre imágenes
  • Seguimiento y reportes de tiempo
  • Postulaciones para trabajos, etc

Todo eso con 500 MB de espacio en disco, lo cual está bastante bien para guardar código fuente, en una cuenta grátis.

Una "feature" muy interesante es la posibilidad de cerrar tickes directamente desde el Tortoise poniendo por ejemplo, Fix #2, lo cual cierra el ticket 2. Muy recomendable!

Seguir Leyendo

sábado, 1 de marzo de 2008

Arquitectura de Software (hasta donde ir?)

Hace un tiempo me encontraba con amigos y ex compañeros de clase, (son los mismos) discutiendo sobre hasta donde es necesario meter cabeza en la arquitectura de un producto de software. Todos recordábamos los clásicos e imprácticos "obligatorios" de facultad donde justamente se calificaba si uno había aprendido patrones y daba la sensación, que cuanto mas compleja la arquitectura, mejor te iba a ir.

El tema es que ahora, con experiencia laboral en nuestras espaldas, no parecía tan obvia como antes la necesidad de un diseño detallado de la aplicación a desarrollar. Antes de proseguir quiero aclarar que el nivel alcoholico de la noche era bueno muy bueno, o sea, después de arreglar el hambre en el mundo, el calentamiento global y admirar el iPhone de Mateo (y tirarlo al suelo), es que nos pusimos a payar del asunto.

Por eso, y siguiendo con la discución, es que quiero compartir una experiencia de vida que me tocó vivir (?) hace poco. Resulta que allá por el 2002 empezamos con Carlitos un sistema para un cliente. En ese momento recién habíamos salido de facultad, por lo que metimos cabeza en el diseño y arquitectura como locos (nunca mas volví a invertir tanto tiempo en eso). Que la capa de presentación, que solo se comunica con la capa de lógica, que se comunica con la de persistencia que es la única que accede a la base, que la capa de "dominio" con objetos que pasaban la información entre las capas... en fin.

Pero resulta que la semana pasada tuve que separar esa aplicación que era un gran exe porque iba a necesita lógica de esa aplicación para hacer otra. Eso me llevó a tomar la desición de crear una dll con la lógica y que el exe mantuviera solo la capa de presntación (pantallas). Y acá es donde viene la "magia", después de tomar la desición, en 2 hrs tuve la aplicación andando nuevamente, esta vez accediendo a la lógica encapsulada en la dll. No sé, tal vez no sea nada del otro mundo, pero quedé muy contento con el resultado y sé que se debió a dos cosas fundamentales. Un excelente diseño inicial y un desarrollo acorde a este, que aunque parezca obvio, es algo que a veces tienden a alejarse.

En definitiva, contestando la pregunta incial... hasta donde ir? lo mas posible, y cuando ya estés podrido de diseñar y quieras empezar a picar código, dedícale un poco mas al diseño.

Salud Gastón!

Seguir Leyendo

jueves, 10 de enero de 2008

.tk

dottk_logo Recientemente encontré este sitio y me pareció muy bueno.

No se la cantidad de veces que les he tenido que pasar las urls de mis sitios con fotos, videos o blogs a parientes y amigos porque obviamente no se acuerdan y no manejan bookmarks (que sería lo mejor).

Por eso, el concepto de .tk me pareció muy útil. Para acceder a este sitio, uno tuvo que escribir en el browser sebaespanol.blogspot.com, pero aun mas facil sería escribir elblogdeseba.tk, no?

Por ahora vengo registrando elblogdeseba.tk, sebagomez.tk y betapadre.tk, pero pienso hacer lo mismo con los videos de youtube, las fotos de picassa y algún otro sitio que tenga alguna url "complicada".

Una "trampa" que tiene es que los registros hay que renovarlos mensualmente, por lo menos en la version gratuita, asique quien sabe si estos dominios que mencioné mas arriba siguen estando vigentes el mes que viene ;)

Seguir Leyendo