July 19th, 2010 / 4 Comments » / by The Doctor
Como algunos de ustedes (sino todos) pueden haber leído en Twitter, desde el viernes soy el feliz poseedor de un Motorola Milestone, un celular con Android al que le tenía ganas hace rato.
Obviamente, de entrada empecé a instalar y probar aplicaciones, entre las que se encontraban algunas de reconocimiento de voz. El problema fue que cuando quería utilizar estas últimas, me salía un aviso diciendo que no tenía instalado Google Voice Recognition. Después de investigar un poco, descubrí que esta utilidad no está disponible en ciertos países, como Alemania, Italia y Argentina (ni por defecto en el celular, ni mediante el market). Por suerte no me tomó mucho tiempo encontrar un foro donde daban la solución.
Lo único que hay que hacer es instalar desde el market una app llamada “Speak n’ send“, la cual al momento de intentar utilizarla nos dirá que no tenemos instalado Google Voice Recognition, luego de lo cual nos dará dos opciones: instalarlo desde el market (cosa que no podemos hacer) o descargarlo directo desde la página. Seleecionamos la segunda opción y tendremos instalado el reconocedor de voz de Google, que funciona muy bien
Espero que les haya servido este “tip” para poder activar el reconocimiento de voz en sus Milestone.
Casi me olvido; una vez que tengan instalaco el voice recognition, no dejen de probar la app TalkToMe Keyboard, les puede facilitar mucho la vida ^^
Posted in: Android
Tags: android, google, Milestone, motorola, tips, trucos, voice recognition
March 9th, 2010 / 5 Comments » / by The Doctor
SlimStat es una aplicación open source de análisis y estadísticas para páginas web.
Está creada con PHP y MySQL, así que se puede integrar fácilmente en nuestros sitios mediante JavaScript (como Google Analytics) o PHP.

Para un determinado período, la aplicación muestra:
- La cantidad de “hits”, visitas y páginas vistas.
- Las URLs y dominios de origen de los links.
- Términos de búsqueda.
- Navegadores, sistemas operativos, países, resoluciones de pantalla.
También hay una opción llamada “paths”, que muestra el camino recorrido por un usuario desde su navegador, página por página.
La gran ventaja de Slimstat ante Google Analitycs es que muestra las estadísticas en vivo, con tan sólo presionar F5.
Hace unos minutos lo he instalado en www.shooteando.com.ar, mediante un proceso extremadamente sencillo que lo dejó funcionando en el acto. Para probarlo “en vivo“, entré varias veces desde esta misma pc y desde una con otra ip [ gracias @rulski =P ] mientras actualizaba con F5 para ver los cambios. Los resultados fueron más que satisfactorios; me mostró la cantidad de “hits” [ 5 en total, 4 desde mi pc ] y las visitas “reales” [ que eran 2 ]. Lo único que le faltaría es permitir que el gráfico se muestre por visitas y no por hits/día, aunque los números en la parte superior sobran para hacerse una idea correcta de la cantidad de visitas “reales”.
Espero que les sea útil y no dejen de comentar si lo probaron o tienen dudas.
Vía WebResourcesDepot
Posted in: Desarrollo Web, Noticias, PHP, Programación, Software Libre
Tags: Desarrollo Web, Diseño Web, herramientas, JavaScript, PHP, Recursos, Software, Software Libre, soluciones
March 5th, 2010 / 4 Comments » / by The Doctor
Aquellos que seguían mi proyecto Una por día, habrán notado que he dejado de publicar fotos ahí hace casi un mes. La razón es simple: no tengo tiempo para sacar una foto por día y que quede copada.
Cuando me di cuenta de esto, surgieron dos posibilidades; bien podría haber seguido posteando una foto cualquiera por día, sin preocuparme por la calidad, o hacer un blog de fotos nuevo, donde publicar sólo las que más me gustaran.
Pero Shooteando va un poco más allá. La idea es que en este blog pueda publicar cualquier fotógrafo/a aficionado/a que quiera mostrar sus fotos, bien como parte constante del blog o como invitado, proyectando la creación de una comunidad donde compartir nuestro trabajo. Cualquiera que quiera formar parte de este proyecto puede enviar un mail a contacto@shooteando.com.ar.
Espero que les guste este nuevo blog y que se sumen más fotógrafos aficionados así lo hacemos copado =).
¡Espero sus comentarios! [ Se aceptan críticas constructivas =P ]
Posted in: Fotografía, Noticias, Personal
February 1st, 2010 / 11 Comments » / by The Doctor
Como algunos de ustedes ya sabrán, hace casi un mes se me rompió mi querida Sony DSC-W120, justo unos días antes de irme de vacaciones y cuando había comenzado con mi proyecto 365: Una por día.
Como no podía estar sin cámara, y mucho menos sin seguir el proyecto, me compré lo más barato y a mano que podía conseguir; una Benq DC C1230. Más allá de describir las características, las cuales pueden ver en el link anterior, dedicaré este post a resaltar los pros y contras en un resumen rápido.
Pros
- Viene con un modo manual muy copado para ser una compacta tan “familiar”. Permite hasta 15″ de exposición, un leve ajuste de la apertura y valores ISO de 50 a 6400.
- Tiene un modo llamado “desplazar foco“, el cual permite mantener el foco quieto mientras se mueve la cámara o el objeto al que se fotografiará, hasta obtener el punto de foco deseado. No siempre funciona bien, pero con las macros que hago con el lentecito me ha dado excelentes resultados [mucho mejores que los de la Sony].
- El flash no “quema” tanto las fotos como lo hacía el de la Sony [no uso mucho flash, pero a veces ayuda].
- El modo “macro” que trae, funciona a 5cm de distancia, a diferencia de los 10cm que me permitía mi anterior cámara.
- La calidad de los videos es bastante buena.
- Usa micro-usb en vez del cable “privativo” de la Sony, aunque cuando quise probar con el de otra cámara no funcionó.
Contras
- Los modos “automáticos” o “preprogramados” en general apestan, por lo cual no es fácil sacar una foto “rápida”, ya que hay que usar el manual sí o sí casi siempre.
- La detección automática de sonrisas no funciona muy bien, y el “detector de parpadeo” ni siquiera anduvo [ nunca los uso, pero tenía que probar =P ].
- La rosca para el trípode está en uno de los bordes inferiores, lo cual la hace muy inestable si el trípode es pequeño [ como el mío ]. El material de esta rosca es muy frágil, ya se me rompió un poco =(.
- Funciona a pilas en vez de a batería [ extraño la Sony en eso =( ], y consume la carga como si fuera el final de los días, incluso cuando está apagada.
- A veces le ataca y no quiere prender, tengo que sacar y poner las pilas de nuevo, me parece que algo hace mal contacto [ obvio que debe ser defecto particular de la que compré yo ].
- Tiene 1X menos de zoom que la Sony [ que tenía 4X ], aunque no me afecta mucho.
- A veces cuesta hacer foco, pero eso me pasaba también con la otra.
Si bien a simple vista parece que ganan los contras, en mi opinión resultó ser una muy buena cámara dado el bajo costo y las cosas que me permite hacer; me dejan muy satisfecho sus resultados. Como “nota particular” me funciona muchísimo mejor para sacar macros con el lentecito que le “adapté“, utilizando el modo manual en conjunción con el trípode y un delay de 2″ para sacar la foto.
Si andan buscando una camarita compacta que les permita tener un modo manual bastante copado y a bajo precio, no duden en comprarla. Ahora, si lo que necesitan es una cámara “familiar”, para sacar fotos rápidas, no se las recomiendo debido al pobre funcionamiento de los modos preestablecidos.
Y ya que estamos, les dejo un par de ejemplos de las fotos que saco con esta cámara.




Si les gustaron las fotos, pueden ver más en: Una por día.
Posted in: Fotografía, Personal
Tags: Fotografía, Opinión, Personal
January 1st, 2010 / 8 Comments » / by The Doctor
Dado que cambiamos de año, de década y esas cosas que nos tientan a empezar cosas nuevas, decidí arrancar con un “proyecto” al que nombré Una por día.
Al contrario de lo que muchos de ustedes estarán pensando, se trata de sacar una foto por cada día del 2010, basado en la idea de los tantos “Project 365” que hay dando vueltas por la internet.
Si bien lo lógico sería subir la foto cuando el día está terminando, la primera la posteé ayer porque me pareció más lógico [y porque tenía ganas, ¡que tanto!]
Como verán al entrar al sitio, pueden dejar sus comentarios, de la misma forma que ya lo hizo el Sr Rulo inaugurando el blog.
Espero que les guste el proyecto y me sigan en mi día a día con las fotos.
¡Que tengan un lindo comienzo de año gente! =D
http://twitter.com/rulski
Posted in: Fotografía, Personal
Tags: Fotografía, Personal, proyectos
December 28th, 2009 / 10 Comments » / by The Doctor
Hace tiempo que no escribo acá, y la verdad, últimamente los posts vienen terriblemente escasos y no pude hacer nada para evitarlo. Intenté darle un poco más de diversidad al blog, intenté incluir gente para que me de una mano en la tarea de “brindarle conocimiento al mundo” (?), intenté ponerme las pilas con temas que me interesaran mucho y a la vez me hicieran investigar un poco, intenté incluso escribiendo sobre cosas que no terminaban de convencerme y haciendo listas de las listas que nunca leo…
Nada funcionó.
Parece ser que estoy inevitablemente destinado a no encontrar temas interesantes tanto para mí como para la gente que me lee, sin caer en escribir sobre lo mismo que el resto de los blogs con contenido orientado exclusivamente a “SEO“. Nunca me verán [ni me volverán a ver =P] hacer ese tipo de posts.
Así que decidí, encuesta mediante, cambiar la orientación del blog. A partir de hoy, dejará de tener un contenido “restringido” u orientado hacia ciertas temáticas, para pasar a ser un blog personal [sí, otro más], en el que seguiré hablando de los mismos temas, pero sumándole lo primero que se me cante publicar.
Así que están advertidos, comenzando con este post, cada vez que entren al blog, se van a encontrar con cualquier cosa que se me cruce por la cabeza y me parezca interesante.
Espero que les guste la nueva onda y me acompañen en esta “nueva etapa” del blog.
PD: También cambié el tema por uno que me copaba más, por si no se dieron cuenta. Ya lo iré retocando para arreglar cosas desacomodadas y traducirlo.
PD2: Ahora hay una nueva categoría, llamada “Personal” [y nada que ver con la empresa, eh!]
PD3: Se aceptan críticas y etc, pero ¡no se hagan los locos bardeando! =P
PD4: Son muchas “PD” ya, ¿No?
¡Comenten! Así le meto onda =D
Posted in: Personal
Tags: blog, diseño, Noticias, Personal, temas
November 24th, 2009 / No Comments » / by The Doctor
Como mencioné en el anterior post, me encantó la simpleza de Haml, así que decidí probar GHRML, el cual tiene una sintaxis muy similar y puede ser utilizado con Django. Si bien fue un vistazo rápido, pude sacar algunas conclusiones interesantes.
Instalación
Instalar GHRML es tan fácil como hacerlo con casi cualquier otra aplicación de Python, vía setuptools (ejemplo en linux):
Y listo! Ya tenemos GHRML instalado en nuestro directorio de paquetes de Python. Ahora sólo resta indicarle a nuestra app de Django dónde buscar los templates cuando los representemos con este lenguaje de markup. En mi caso, como se trataba de una prueba, simplemente le indiqué el mismo directorio donde se encuentran usualmente los templates del sistema de templates de Django. Esto lo hice agregando al archivo settings.py lo siguiente:
GENSHI_TEMPLATE_DIRS = (
os.path.join(os.path.basename(__file__), 'templates'),
)
Con esto nos aseguramos de que al llamar al render_to_response de GHRML, encuentre los templates. De otra forma lanzaría un error.
Usando GHRML
Para poder escribir templates mediante este lenguaje, simplemente importamos lo que necesitemos de ghrml.ghrml_django, por ejemplo, la antes mencionada render_to_response:
from ghrml.ghrml_django import render_to_response as render_ghrml
En mi caso particular le puse un alias a render_to_response, ya que seguía usando su versión original para algunas pruebas.
Una vez importado, simplemente reemplazamos los render_to_response que queramos, por los correspondientes render_ghrml, siempre teniendo en cuenta que el template al que apuntamos esté escrito en este lenguaje.
Ventajas y desventajas
Una ventaja obvia de utilizar GHRML es que se simplifica enormemente la tarea y el tiempo de escribir nuestros templates, ya que no sólo “ahorramos” código, sino que Haml resulta muchísimo más fáciles de leer. A esto tenemos que sumar la facilidad de instalación y el hecho de que podemos usar Haml con otros lenguajes (como Ruby o PHP), de forma que no necesitaremos acostumbrarnos a un sistema de templates diferentes para cada framework o lenguaje.
Por otro lado, GHRML tiene algunas “fallas”; por ejemplo, al querer utilizar el “tag” %ul (y %li), sin haber puesto %html y %body en el template que estamos editando, la lista no se renderizará como debe. Además de esto, me he encontrado con un problema muy grave, para el cual – de momento – no tengo solución: los forms no se generan automáticamente. Por ejemplo, cuando quiero hacer form.as_p, como esto renderiza un form en el lenguaje de templates de Django, GHRML no lo reconoce y pone otra cosa en la página (si no me equivoco, renderiza la representación del objeto). Imagino que existirá alguna solución (que no sea armar los forms a “mano”), sino ya me iré acostumbrando a hacerlos un poco más “artesanales”. Otra falencia grave de este lenguaje es la ausencia casi total de documentación, aunque la sintaxis es casi igual a la de Haml, por lo cual se puede aprender a usarlo en la página de documentación de éste.
Una última aclaración: en la página del Trac de GHRML dicen que tiene dependencia con Genshi, por lo cual supongo que las setuptools se encargaron de instalarlo por mí.
¿Alguno de ustedes ha probado GHRML? ¿Han tenido los mismos problemas que yo? Si alguien encontró cómo hacer funcionar lo de los forms, ¡avise!
Posted in: Desarrollo Web, Django, Python, Tutoriales
Tags: Desarrollo Web, Django, frameworks, GHRML, Haml, Programación, Python, Tutoriales
November 16th, 2009 / 8 Comments » / by The Doctor
Actualmente me encuentro comenzando varios proyectos pequeños basados en diferentes plataformas y/o frameworks (Django, Ruby on Rails, PHP), con lo cual se me “armó” un lío interesante a la hora de recordar las sintaxis que utiliza cada framework/lenguaje para generar el HTML final. RoR usa por defecto ERB, Django tiene su lenguaje para templates y con PHP me alcanzaba con la forma básica de embeberlo en HTML. Con la escasa memoria que tengo, se podrán imaginar que iba a terminar escribiendo cualquier cosa.
Por suerte, y gracias al dios de los lenguajes de programación (?), @eljuanchosf llegó para salvarme con Haml en la mano.
Haml fue ideado para acelerar los tiempos de desarrollo y a la vez lograr un lenguaje de markup agradable a la vista. No por nada de su idea principal es:
Markup should be beautiful.
Luego de ver un ejemplo, se puede comprobar la sencillez y “limpieza” que este lenguaje le puede dar a nuestros templates. El ejemplo siguiente está extraído del tutorial que se puede ver en la página principal de Haml.
ERB
<div id='content'>
<div class='left column'>
<h2>Welcome to our site!</h2>
<p><%= print_information %></p>
</div>
<div>
<%= render :partial => "sidebar" %>
</div>
</div>
Haml
#content
.left.column
%h2 Welcome to our site!
%p= print_information
.right.column
= render :partial => "sidebar"
Si bien en principio (y sobre todo para aquellos que no conozcan ERB) el código pueda parecer un tanto extraño, una mirada más detenida nos demuestra que el increíble ahorro de código y tiempo que este lenguaje de markup nos puede brindar. Además, una vez que nos acostumbramos, el código de Haml es mucho más agradable y legible que el HTML puro, y ni hablar cuando se trata de HTML + algún-lenguaje-de-template.
Pero el hecho de que me gustara tanto Haml traía consigo un nuevo problema; empecé a “odiar” el lenguaje de templates de Django y PHP embebido en HTML (en realidad a éste último ya lo odiaba). Así que puse manos al teclado y busqué implementaciones de Haml para estos lenguajes, encontrando resultados mucho más rápido y fácil de lo que esperaba.
Para poder tener un lenguaje similar a Haml en Django, podemos utilizar GHRML, el cual está basado en Genshi Markup Templates. En el caso de PHP, existe un parser llamado phphaml, el cual nos permite escribir los templates casi de la misma forma que lo hacemos en el Haml original. Pueden ver ejemplos de estos en sus respectivas páginas.
¿Conocen otras implementaciones de Haml para Django o PHP? ¿Son mejores que las encontradas por mi? ¡No duden en dejar sus comentarios recomendándolas!
Posted in: Desarrollo Web, Django, Programación, Python, Tutoriales
Tags: Desarrollo Web, Diseño Web, Django, ERB, frameworks, Haml, herramientas, PHP, Programación, Python, Ruby on Rails, soluciones, templates
November 10th, 2009 / 31 Comments » / by The Doctor
Para aquellos que sólo leen el título y no el post, dejando luego comentarios que no se ajustan al tema tratado, va esta advertencia: ¡lean! Tomen el título como una broma, o quizás como una forma de demostrar mi reacción ante lo que me pareció el nuevo Ubuntu Karmic Koala. Reacción que ya sé es contraria a la de la mayoría. Ahora que ya los introduje en el tema del post, pueden leer.
Después de mucho tiempo usando Ubuntu, y con varias cosas que no funcionaban como uno espera de una distribución tan “importante”,decidí actualizarme a la siguiente versión: la actual Karmic Koala 9.10. Nada resultó como lo preví (o quizás sí lo hizo). Cuando ya había descargado e instalado todo, Ubuntu descubrió un error con un paquete anterior llamado evolution-es y canceló el proceso en medio de la configuración. Lo peor es que ni siquiera usaba ese cliente de correo (Evolution).
El instalador de Ubuntu, al comenzar el proceso, supuestamente se fija que no existan conflictos, pero se ve que en este caso se le pasó por alto. Al producirse el error, lo más lógico hubiera sido que se me de la opción para pasarlo por alto, pero en cambio, apareció un cartel con información y con un solo botón: Cancelar. Siendo que no me quedaba otra opción más que terminar la instalación, lo hice rogando que todo funcionara bien. No fue así.
Al reiniciar la pc para ver si mi SO aún estaba con vida, me aparecieron para elegir todos los kernels que tenía, sumados al nuevo de Karmic Koala, obviamente elegí esta última opción. Se me mostró el nuevo splash (muy copado, por cierto), para luego quedarse colgado mostrando sólo un guión bajo titilando frenéticamente en la pantalla. Hiciera lo que hiciera (Ctrl+Alt+F1, etc), todo titilaba frenéticamente. Botón de reset FTW.
La segunda vez que lo inicié, elegí un kernel algo más viejo, el cual sabía que funcionaba. En este caso inició bien, pero con un comportamiento extraño: mostraba el nuevo splash y luego mostraba el viejo, para pasar después a gdm. Al entrar en gnome todo pareció funcionar bien, se conectaba a internet, y el estilo era el mismo que tenía antes de la “instalación”. Pero había muchas cosas mal.
En el área de notificación de la barra (sí, ahí donde están los iconitos), se veían como “trabados” los iconos de los programas, y no respondían a los clics. Varios programas lanzaban error al intentar ejecutarlos. Y por sobre todas las cosas, el sonido había dejado de funcionar y no hubo forma de lograr que volviera a hacerlo.
Ya sé que visto con tranquilidad y saliendo un rato a tomar aire, en realidad los problemas que me causó son muy pocos… siempre y cuando no tenga en cuenta que con el último kernel ni siquiera corría y que no podía escuchar nada en mi pc.
También sé que serán varios los que no estarán de acuerdo con mi visión de esta nueva versión de Ubuntu, pero así fue como a mí me funcionó todo (o mejor dicho, no me funcionó todo). Creo que una distribución tan importante como esta, tiene que cuidar este tipo de detalles, para no caer en problemas con los paquetes al instalar, o en dilemas como los que tienen con pulseaudio por no hacer las cosas como deben. Piensen este post más como una “crítica constructiva” y una advertencia acerca de las cosas que pueden ir mal al actualizar Ubuntu.
De todos modos, estos problemas que tuve con Karmic Koala resultaron en algo positivo, ya que me decidí a instalar Arch (utilizando Kahel), una distro muy buena, con la cual (de momento) estoy más que satisfecho. Ya escribiré en otro post sobre mis impresiones de esta distribución.
Por último, y para cerrar el post, cabe aclarar que éste no guarda ninguna relación con el “recién salido del horno” Ubuntu Karmic Rocks, del blog de Halle, ya que me encontraba escribiéndolo mientras el otro veía la luz.
Posted in: Linux, Software Libre, Ubuntu
Tags: Linux, Opinión, Software Libre, Ubuntu
October 9th, 2009 / No Comments » / by The Doctor
Vía Web Resources Depot me enteré de la existencia de gRaphaël, una librería para la creación de gráficos, escrita en JavaScript y totalmente open source, basada en la librería gráfica Raphaël.
gRaphaël es capaz de crear gráficos de torta, barra, líneas y puntos, tanto estáticos como interactivos. Estos gráficos son generados mediante VML y soporta los browsers más populares, como Firefox 3.0+, Safari 3.0+, Opera 9.5+ e Internet Explorer 6.0+.
Como pueden ver en el siguiente código (extraído de la página de gRaphaël), es extremadamente sencillo de usar:
// Creates canvas 640 × 480 at 10, 50
var paper = Raphael(10, 50, 640, 480);
// Creates pie chart at with center at 320, 200, radius 100
// and data: [55, 20, 13, 32, 5, 1, 2, 10]
r.g.piechart(320, 240, 100, [55, 20, 13, 32, 5, 1, 2, 10]);
Pueden ver excelentes demos, como el gráfico de torta interactivo y el de puntos en la misma página de gRaphaël.
Posted in: Desarrollo Web, JavaScript
Tags: Desarrollo Web, gráficos, JavaScript, open source, soluciones