Categoría: Programacion

Blog para móviles

Una horita de código, un poco de rebusque y ya tengo la versión de este blog para móviles. No es gran cosa todavía y apenas permite leer los posts, loguearse, comentar y no mucho más.



Pero le agregué un "toque" de programador a la cuestión y es el resize vía servidor de las imagenes que posteo. Así, para aquellos que no pagan un gran paquete de datos (ej: 200Mb en vez de ilimitado) en sus teléfonos ahora pueden consumir menos recursos al entrar al blog.

No lo testeé con muchos celulares, tan sólo creo que funcionará con BlackBerry, iPhone y los teléfonos Nokia, el resto afuera todavía pero me van avisando si no ven la versión "móvil" (mobile suena más cheto, no?) y listo, los agrego.

La resolución que le dejé a la versión "capada" es de 320 pixeles de ancho, supongo que en la mayoría de los fonos se verá bien, ustedes dirán. También achiqué el tamaño de la letra un poco y ajusté el header a una mini-versión.

Más adelante le agregaré un botoncito para poder pasar a dicha versión de forma manual para quien quiera y volver a la "completa", eso saldrá más tarde, hasta ahora es tan sólo una prueba de concepto y parece funcionar.



¿que no es flexible el PostRev? pero papito! :D igual quedó medio engendro mutante en algunos lugares, pero casi no hubo hardcodeo, me faltó eso sí regular el tamaño de los videos en flash, ni idea como hacerlo todavía pero veremos.

Seguir leyendo el post »

MySQL Query Cache para todos

Servidores
Un básico para los que tienen servidores, obviamente para hostings es esencial tener el caché de MySQL activo, pero algunos no lo tienen, me sorprende.

Pero no sólo para proveedores sirve, para desarrolladores "in house" es muy importante tenerlo activo. Sucede que la versión "community" del MySQL no tiene activo el Query Caché y, entonces, la respuesta del servidor local no es la misma que el de nuestro hosting.

Lo que hace esta opción del MySQL es conservar las consultas más comunes y así no tener que repetir resultados. Por ejemplo la portada de este blog, cada minuto varias personas entran y es exactamente la misma. Uno podría guardar en caché todo el HTML y servirlo a gusto, pero si hay cambios en algunas secciones... es complicado, ahora bien, si guardamos cada query a la base de datos y si no hubo cambios... es mucho más fácil!

El ambiente ideal sería donde todo lo cacheable sea cacheado :D (que palabrerío) ya que el Query Cache, como su nombre indica, sólo se encarga de Querys a la base de datos, específicamente SELECTS sin subselects, sólo cuando son exactamente las mismas consultas y un largo etcétera de pros y contras que pueden leer en este excelente artículo recomendable para todo DBA novato en MySQL.

Hay que tener cuidado con el tamaño, algunos creen que un caché enorme es mejor, pero no es así. Una caché muy grande provocaría que al ser invalidada se bloquee todo un query, se tenga que limpiar, volver a cargar, etc. Es ideal para manejar querys repetitivos e iguales, por eso daba como ejemplo la portada del blog.

Chequeando si tenemos Query Cache activado:
mysql> SHOW VARIABLES LIKE 'have_query_cache';
+------------------+-------+
| Variable_name    | Value |
+------------------+-------+
| have_query_cache | YES   |
+------------------+-------+

Verificando el tamaño:
mysql> SHOW VARIABLES LIKE 'query_cache_size';
+------------------+----------+
| Variable_name    | Value    |
+------------------+----------+
| query_cache_size | 67108864 |
+------------------+----------+
1 row in set (0.00 sec)


Si queremos modificar las opciones hay que editar el archivo my.conf

query-cache-type = 1

esta opción habilita el caché, el 2 sería "on demand" (en el query se especifica que se usa caché) y el 0 es apagado

query_cache_size=32M

el tamaño en Megabytes, yo uso hasta 64Mb o 32Mb

Luego se reinicia el servidor y listo, ya está el caché. Hagan la prueba en un servidor local, instalen un Wordpress o un PHP BB, si tienen una base llena mejor, y hacen la prueba, la diferencia de velocidad es gigante.

Más info en la web oficial, también para configurarlo

Seguir leyendo el post »

Reboot mental

Estoy tratando de entender un poco de JQuery y pasar el tag board del blog a ese framework para aprender un poco :P por dios, hace tanto que no escribo nada de javascript que se me pudrió el cerebro, asssssshuuudaaa! bienvenida :P

Contest super rápido, aquél que logre traducir la porquería del tagboard a JQuery se gana un premio, todavía tengo el calentador USB y se suma una bolsita del Señor de los Anillos que me dieron en la Avant de la primer película, jeje :P no se, algo invento, una botella de vino, vemos pero todo sea para aprender bien sobre esto, quiero usarlo luego para el Links de Viernes multitudinario que estoy diseñando :P

Update: ya lo hice, mi dura cabeza y mezclar un poco de tutoriales me permitió solucionarlo! en estos días actualizo y tendré tag board con jquery!

Seguir leyendo el post »

Esos lectores spammeros

Son lectores que dejan su link no sólo en el campo dedicado a la url si no también en el cuerpo del comment. Una práctica lamentable, algunos han sido avisados por una gran cantidad de bloggers y aun así reinciden.

Para estos reincidentes hay un antídoto, bah, es tan sólo un método para paliar su estúpido comportamiento: cagarles el link :P

Un poquito de MySQL y le dejamos el comentario, por ahí dijo algo interesante, pero se lo limpiamos un poquito de forma masiva.

UPDATE `comentarios` SET COMMENT = REPLACE( COMMENT , 'url', '' ) WHERE COMMENT LIKE 'url%'

Reemplazando el texto url por la url a eliminar le borramos todos los links a su sitio del orto y a cantarle a Gardel.

Esto funciona así en PostRev, pero para Wordpress es más o menos lo mismo:

UPDATE `wp_comments` SET comment_content = REPLACE( comment_content, 'url', '' ) WHERE comment_content LIKE 'url%'

No es que sean mala gente estos lectores-escritores, es que algunos tienen esa maña spammera y no se dan cuenta que afectan negativamente su relación con el resto de la blogósfera.

Seguir leyendo el post »

Pregunta tech, para quienes sepan de OLAP

Estimados lectores, seguro entre alguno de uds hay alguno con más experiencia que yo sobre OLAP, Cubos y Data Mining. Necesito una aplicación que me permita hacer una publicación web de un cubo o datos relacionales en forma de cubo, vistas, etc.

El contenido de datos está en un cubo de SQL Analysis Services y el servicio web ideal sería usando Apache Tomcat. Si, también puede ser PHP o lo que venga, pero no se programar en .NET (todavía, cosa de practicar) como para hacerlo yo mismo y no quiero pagar por el sistema, es decir, vale una versión de prueba (no es ideal) y prefiero software libre.

Ya encontré algunos, pero lamentablemente las aplicaciones java que encuentro siempre son una poronga para configurar :P La idea es sencilla, poder brindarle el cubo a un usuario fuera del sistema, que pueda consultar los datos.

Seguramente la mayoría de los lectores no entenderán de que hablo, jeje, pero bueno, recuerden que de algo trabajo y nadie dijo que mi laburo era fácil o comprensible :D

Seguir leyendo el post »

Unicode Fail, la letra prohibida

Hay algunos caracteres que no se pueden usar en programación, culpa de la "yankinización" de los lenguajes de programación, nada grave, simplemente no usás tildes, eñes, símbolos locales, se escribe código en ASCII y nada puede fallar.

Nada hasta que te caga la costumbre idiomática, porque muchos escribimos como hablamos y, mejor aun, como corresponde, pero eso nos trae problemas si lo escribimos en el código fuente como mi querido amigo Silvio:



Aaaaaaaaaagh!

Estuve yendo tres días seguidos al cliente por una bizarra (bizarro como en inglés/francés) razón, el maldito sistema funcionaba bien en la mitad de las PCs y en la otra mitad fallaba ¿WTF? si, un gran WTF, por alguna razón las PCs que no tenían instalados los paquetes de caracteres de otros idiomas pinchaban, ahora bien, los otros funcionaban perfectamente!, si se usaba desde Firefox también andaba perfectamente, sólo fallaba en algunas máquinas con IE 6.

En fin, mereció un "tuneo" de escritorio ad-hoc:



Lo que me sorprendió fue no encontrar en la googlera nada al respecto de esto, de la prohibición tácita a no usar caracteres fuera del ASCII para escribir código, aunque algunos lenguajes y compiladores se lo banquen perfectamente, la mayoría no, menos si va por web y menos que menos si no se está usando todo en UTF-8

Seguir leyendo el post »

Adsense a la carta de google

Es sólo una línea, no los voy a volver locos, pero una forma de generar ingresos en un blog que discutía con Guillermo Bracciaforte de Google en el pasado Wordcamp era la de anuncios sólo para los que entran por google. (anuncios más grandes, agresivos, wooo)

En mi blog más o menos el 55% entra por el buscador más famoso, son visitantes ocasionales, más de la mitad no vuelve, ¿que tal si le ponés un banner ahí? me dijo. OK, estoy haciendo la prueba y con sólo una línea de código se puede hacer:
if (stripos ( $_SERVER["HTTP_REFERER"] , "google.") <> 0) {}
Este "truco" se elevó un 15% la facturación de hoy, no es que sea mucho en el valor absoluto, pero en el proporcional es enorme por tan simple truco. Obviamente no vivo de lo que deja el blog porque es muy poco, marginal, pero cada tanto un chequecito ayuda para juntar para las vacaciones Guiño Vivir de los blogs es para unos pocos elegidos, no me toca :P tampoco hago prácticas SEO para juntar visitas a lo pavo, pero a nadie le vienen mal unos pesos extra! y si eso se puede optimizar con tan poco...

Si quieren ver como funciona el experimento sólo busquen alguna nota de aquí en la googlera y entren desde allí. El HTTP_REFERER será google y lo identificará, luego, si uno pasa a una segunda nota el anuncio no aparece más, eso está bueno porque no lo obliga al usuario a comerse ese banner invasivo a cada rato, un click a cualquier parte del blog y desaparece. Hay algunos que utilizan tácticas demasiado agresivas, si, ganan más con banners de google, pero espantan al público fiel, al que yo llamo "el lector posta", ese se pudre de ver que le enchufás cosas en medio de la cara, quiere contenido, no un banner en el medio.

Seguir leyendo el post »

View source en Firefox 3.1



Una de las mejoras para developers que tendrá Firefox 3.1 (que saldrá en poco tiempo, espero, hay bugs por resolver y temas para mejorar!) viene de la mano de la corrección de un viejo bug. Esto permitirá ver en el código fuente los links a cada archivo, poder avanzar, volver atrás, y abrir el código fuente en un tab (ya existía una extensión para eso).

¿de que sirve esto? para desarrolladores es poder ver exactamente que código fuente nos está entregando el servidor, qué javascripts se nos estan metiendo por ahí y que está fallando. Es otra herramienta más aunque sigo sugiriendo FireBug que es, lejos, una de las mejores extensiones que han creado para Firefox desarrolladores independientes. Ah, otro tip para los que usan PHP, FirePHP!

Más detalles del view source en meandering wildly de donde saqué esa info.

Seguir leyendo el post »

Volviendo a lo básico

Post para programadores melancólicos que todavía quieran volver al pasado o crear algo nuevo. Microsoft tiene un BASIC como el viejo pero mezclado con el nuevo, el Small Basic. No es que sea muy útil para nada, pero tiene varias cositas simples y útiles para aprender a escribir unas líneas de código. BASIC sigue siendo una porquería para aprender a programar y te llena de mañas difíciles de sacar.

Mi primer contacto con el lenguaje fue por 1988 y era el BASIC que incluía mi TRS-80 CoCo, pero era extremadamente limitado y nunca dejó de serlo. Ni en las épocas de QBasic 4.5 podía hacer lo que otros lenguajes y el Visual Basic siempre ha sido una bosta. Recién con VB.Net lograron levantarle un poco el perfil, pero para ese entonces, si llegaste a .NET, te conviene C# y a la merd.

Pero para los que no saben programar nada o sólo quieren "probar", siempre fue una oportunidad. Antes de Windows XP, el QBasic venía incluído en el sistema operativo, no era muy útil, pero estaba ahí, tenías la posibilidad de aprender "algo". El problema con Microsoft es que nunca les terminó de cerrar la idea de proveer el sistema operativo con la posibilidad de aprender y crear, para eso, pagá. Así que por más Small Basic que ahora ofrezcan tienen que tener en cuenta que nada les será gratuito ni libre. Prueben, prueben, luego paguen licencia :P



Existen alternativas, por ejemplo en Linux está GAMBAS que ofrece un entorno de desarrollo muy a lo "Visual Basic" pero para Linux y con varios beneficios que no ofrece el entorno de desarrollo privado. Con muchas cosas resueltas de fábrica tanto para programar para Gnome (GTK+) y KDE (QT) como con bases de datos (MySQL) y 3D (OpenGL).

Pero hay cosas interesantes para otros developers, los que vengan del ambiente web podrán, en no mucho tiempo, hacer algunas apps de escritorio para Gnome con Seed que permite usar el motor de Javascript para ello. Es decir, sólo sabés javascript? ok, vas a poder hacer aplicaciones de escritorio también, no sólo web. Esto igualmente es una porquería en rendimiento, pero para pequeñas apps que resuelvan tareas simples, siempre viene bien.

Del lado de Fedora hay una noticia mucho más interesante, hacer aplicaciones completas y compilarlas para Linux y Windows en un mismo paso, sin tener que recompilar el código en el otro S.O. De esta forma se puede crear software en Linux y compilarlo, enviarlo a quien lo necesite y éste ejecutarlo en Windows sin problemas. Un mismo código para dos plataformas permite tener una mejor capacidad de correción de bugs, en vez de tener que atender dos códigos separados, es todo uno.

Seguir leyendo el post »

Feliz día del programador

Feliz dia a todos los programadores que cada tanto pasan por acá Guiño somos una raza extraña pero no en decadencia! :D cada día hay más que disfrutan escribiendo algunas líneas de código aunque el resto nos mire con cara fea y un "get a life", pobres, perdónalos, no saben lo que dicen :D. El día es hoy, el 256° del año :P

125 Noticias (13 páginas, 10 por página)