Categoría: Programacion
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
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 Vivir de los blogs es para unos pocos elegidos, no me toca
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.
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.
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

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.
Feliz día del programador
Feliz dia a todos los programadores que cada tanto pasan por acá somos una raza extraña pero no en decadencia!
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
. El día es hoy, el 256° del año
5 reglas para programadores


- Second-system effect
- Inner-platform effect
- Greenspun's Tenth Rule
- Not Invented Here
- Zawinski's Law of Software Envelopment
Sumado a esto la que pasó GFer en el tag board, lo había leído el otro día y es recomendable no sólo leerlo si no agendarlo, Why Free Software has poor usability, and how to improve it y les sumo otra que es un mailing de un developer y como quiere cambiar el criterio de desarrollo de Gallery
Post Revolution 0.7.0 RC 4
Algunos todavía recuerdan que significa ese símbolo de un "postre", si, el PostRev, luego de un año, tiene actualización oficial si, ya se, mátenme
pero ahí está, listo para ser descargado y denigrado, código del peor, pero como todo PHP, funciona
Click aquí para ir al sitio y, para aquellos suicidas, descargarlo...
Ruby on Fails
No quiero sonar malo con una tecnología nueva y en pleno crecimiento, esto es algo totalmente subjetivo, pero noto que todo lo que se haga en Ruby On Rails tiende a fallar cuando la demanda es grande. O no escala bien o no saben hacerlo escalar por ser, justamente, muy nuevo.

Entre los que fallan cuando tienen demanda y usan Ruby está Twitter, al punto de querer decididamente abandonarlo, y hay varias opiniones que dicen algo parecido sobre la escalabilidad de RoR y otras que dicen lo opuesto, lo claro está en que falta mucho y está muy verde, a mi parecer, claro, pero a otros con más conocimiento también les ha hecho volver atrás la idea de hacer cosas en Ruby.
Para mi es una impresión, algo subjetivo, pero no es la primera vez que noto que algo en Ruby tiene "problemitas" y me suena sospechoso.
Pero el principal perdedor en esto de hacer cosas grandes online fue, para mi, siempre Java ¿culpa de la plataforma? no creo, me pareció siempre que el mayor problema no es Java si no que la mayoría de los proyectos online que usan la máquina virtual quedan abandonados y fueron hechos a pedido de un jefe molesto. Es así que hasta el buscador de noticias de Clarín siempre falla

Acá no faltarán los que digan "pero si XX es mucho mejor!", bleh!, más allá del lenguaje de programación y la plataformas está claro que con todos se puede hacer todo, la cosa es, ¿vale la pena probar algo nuevo en producción cuando está todavía verde? y si ya no está verde ¿sirve de algo aprenderlo por el mero hecho de que es nuevo aunque haga lo mismo que lo que ya conocemos? En mi caso dejar PHP por Ruby no me brinda nada, pero, por ahí a otro sí. Desde ya que se puede hacer buen y mal software con CUALQUIER lenguaje, eso no está en discusión.
Ahora bien, a tu cliente, le sirve tener un developer en Ruby a 8000$ inconseguible o tener 2 de PHP a 3500$?

El truco Creative Commons
Una cosa muy común en esta boludósfera es que te "roben" contenido, claro, no es que te lo roban, la licencia Creative Commons que muchos usamos permite copiar contenido, usarlo, reusarlo, reconvertirlo, bah, hacer un montón de cosas.
No todos usan la misma licencia, pero en mi caso personal es así y lo seguiré manteniendo "si algo está en internet, se puede copiar", y así será.
Pero una cosa es que tomen tu contenido bajo licencias CC y otra es que no la respeten. Para respetarla simplemente basta con citar la fuente de una forma correcta. Pero pocos lo hacen. Hay, sin embargo, un truco divertido para "jugar" con los copypasteros inescrupulosos que, a duras penas, controlan lo que se roban.
Como habitualmente lo hacen para obtener "fama" o "prestigio" en otro tipo de redes sociales o en sus blogs personales está bueno hacerles esto como "regalito".
Es bien simple, crear un área de texto invisible que al copiar y pegar se "mude" al sitio nuevo y no lo noten digo, no lo van a notar si son muy nabos, si son vivos y releen todo no servirá de mucho, pero algo es algo.
¿como hacerlo? fácil, en medio del texto agregar cosas como:
<div style="display:none;">
Copyleft 2008 Fabio Baccaglioni, www.fabio.com.ar
</div>
el "display:none;" hará que ese div no se muestre, pero en browsers como Firefox, al seleccionar y copiar el texto, pasará el contenido de ese div. Es un truco chancho, también se puede hacer con texto del mismo color que el fondo.
Lo que tiene de bueno este div es que, jugando con CSS, se puede hacer no sólo invisible (de mejor manera que lo que propongo aquí) si no que se note menos todavía. Además, podemos ir agregando el tag en medio de nuestro texto, no sólo en una punta.

Expertos de CSS, están invitados para dar sus ideas

Aprendiendo JQuery con Dmitri
No se si le voy a entender todo, va muy rápido para mí, jejejeje, pendejo de mieeeerrrr... Dmitri Gaskin, 12 años y mirá como da charlas de JQuery para Google... por dió,
Dmitri Gaskin drinks code with his cereal for breakfast every
morning. He's a jQuery whiz and a Drupal know-it-all. He
contributes patches for both Open Source projects. In the Drupal
world, he maintains many modules, is on the security team, and is
involved in the upcoming Summer of Code as a mentor and
administrator. Dmitri has given many talks on Drupal and jQuery, in
such places as Logitech, Drupalcon and live on a radio show out of
L.A. When Dmitri isn't coding, a very rare occurrence, he is playing
and composing contemporary music. And attending classes in the 6th
grade. (He's only 12.)
El día que este pibe aprenda un poco de oratoria, listo, perdimos todos los chantas