Categoría: Programacion

5 reglas para programadores

Son cinco que si sos programador o desarrollador de sistemas no deberías dejar de leer, :P algunas medio en joda, otras bastante más serias, pero lo que es seguro es que en muchos casos te vas a encontrar con éstas en el mundo real, ya me pasó, le pasa a cualquiera.

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

Seguir leyendo el post »

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 :D si, ya se, mátenme :D 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...

Seguir leyendo el post »

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.

Cada proyecto realmente grande y exitoso que veo está hecho en Python o en PHP, si, el que más odian los "puristas" pero el más efectivo a la hora de hacer algo GRANDE, que escale y que funcione, Digg, Google, Wikipedia, Facebook, Youtube Wordpress, PHPBB y una larga lista.

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 :P Curiosamente Yellowpages.com pasó el año pasado de Java a Rails.

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$? :P y que no te van a dejar en banda tan fácil.

Seguir leyendo el post »

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 :P 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.

Copyleft 2008 Fabio Baccaglioni, www.fabio.com.ar
Es sólo un "easter egg" para las notas, igualmente las robarán como siempre y citarán al autor en una letra super pequeña y casi desmereciendo al autor, pero de eso se trata esto y es parte de la filosofía de "la interné", no cambiará el mundo, pero cada tanto se podrán cagar un poco de risa, si el texto dice "este post fue robado de..." y buscan esa cadena en Google, cada tanto encontrarán un copypastero con el cual reírse un rato :D

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

Seguir leyendo el post »

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 :D

Seguir leyendo el post »

Turista del software

Interesante post de Russell Ball donde compara a los programadores de .NET con los turistas norteamericanos en el mundo:

1. You will not speak their language even though they will probably speak English.
(no hablas su idioma aún cuando ellos probablemente hablen inglés)

2. You will not be able to locate their country on a map even though they could probably name all 50 states.
(no podrías ubicar su país en el mapa aunque ellos probablemente puedan nombrar los 50 estados)

3. You won’t know who their national leader is even though they will not only tell you the name of our President, but also give you a nice summary of his foreign policy exploits over his last two terms in office.

(no conoces a su presidente aunque ellos no sólo te diran el nombre de tu presidente si no que harán un lindo resumen de tu política internacional durante los dos últimos gobiernos)


Y según él les pasa lo mismo cuando son developers de .NET y ven al resto de los lenguajes y sistemas desde una total ignorancia. Y lo dice siendo él el programador de .NET y norteamericano, es decir, que se ofendan sus propios compañeros en tal caso.

Lo interesante del caso es que él quiere empezar a conocer todo el resto del ecosistema y piensa cambiar esa forma de ver el mundo. Interesante y positiva, pero a mi me divirtió la comparación. Hace poco había discutido con uno fanático de .NET y él decía "para mi no hay nada que se tenga que hacer con otra cosa que no sea .NET" y yo le repliqué "me acabás de demostrar que sos un mal programador", se ofendió (Si Manu, fuiste vos! :D), bah, no se ofendió, si no que le pegué duro con eso, jejeje. Ahora tengo un argumento más :D Y me recuerda a mi argumento de mercenarios :D Si en esta profesión no sos un mercenario del código, al final sos como un turista.

Después Russell tiene un post como turista en Ruby On Rails, interesante para ver desde su punto de vista

Seguir leyendo el post »

PHP Cheat Sheet

Completo cheat sheet de referencias para programadores de PHP bastante útil a la hora de querer recordar cómo trabaja alguna función, etc.

Importar una base UTF-8

Resulta que la mayoría de los hostings no tienen ni idea de lo que hacen con sus bases de datos, yo digo que el problema lo generaron los cambios de codificación de caracteres más que los ISP, pero si hay responsabilidad, probablemente está en no leer los changelog.txt

En mi caso la migración ni se sintió salvo por el tema de las fechas, servidores con una fecha pasando a otro con otra fecha, generó un poco de conflicto, pero fue todo "sin grandes problemas"
Ahora bien, el tema de la codificación es un martirio, unas fechas se arreglan, pero que te rompan todas las tildes y eñes es un dolor de huevo (si, literal), y noto que cada vez que alguien quiere migrar algo, revienta.

Posibles causas: MySQL Server, MySQL Client, Phpmyadmin

Cuando uno exporta una base de datos, habitualmente comprimida para que no pese mucho y la quiere subir a otro server, la codificación es lo que complicará las cosas.

Lo que descrubrí es muchos servers que tienen estas tres aplicaciones configuradas distinto, ejemplo. El server por default utf-8, el cliente latin1 (ISO), listo, cóctel para el desastre.

En el caso de anoche, ayudando a un amigo con su blog, teniendo la base creada en UTF 8 volvía una y otra vez a reventar los caracteres. Resulta que el cliente de mysql estaba en Latin1, así que por SSH más o menos logré cargar la base así:

gunzip < archivo.sql.gz | mysql -u usuario -p --default-character-set=utf8 base_destino
(el Gunzip es porque lo estaba sacando desde un archivo comprimido)

La cuestión está en --default-character-set=utf8 , esto le obliga a usar una codificación que queramos y no la que tiene por default.

Esto no te lo explican casi en ningún lado, jeje, pero está bueno saberlo, te puede salvar el día y ahorrarte horas y horas de dolor de cabeza.

El PHP My Admin tiene el problema que exporta como dice el cliente de MySQL y confunde como dice el server de MySQL, así que es muy factible exportar el archivo .sql con errores o, lo que es peor, ya sin una codificación correcta, una conversión de conversión que directamente arruina TODOS los caracteres y no hay forma de resolverlo. Así que primero revisen bien el archivo generado (sea ISO o UTF-8), que lo puedan abrir en alguno de esos modos y recién después lo importan.

Otro detalle: no hay ningún encabezado que nos diga si un tipo de caracteres es uno o el otro, se van a dar cuenta por los erroes agregados :P

Y para completar: en estos días migran mi base de datos también :D pero ya está todo en UTF-8, espero que no hagan cagadas, jajaja

PS: post auspiciado por el famoso gato

Seguir leyendo el post »

Pequeña actualización del blog

Esta vez le toca a la relegada parte de información del usuario y en modo experimental, una extensión de la info que tengan en la red. ¿cual es la idea? bueno, que cada usuario del blog tenga su "centro" donde puedan publicar sus links y demás referencias, msn, google talk, etc.

Editando el perfil se pueden agregar algunas cosas más como también una pequeña descripción de ustedes mismos, la idea es, con el tiempo, ir armando una pantallita donde cada usuario pueda compartir la información de sí mísmo que considere interesante o pertinente. Probablemente no les sirva demasiado si no son de frecuentar el blog o si no tienen usuario registrado, pero para los que postean aquí o los que pasan muy seguido, puede servirles de "conector" entre sus trabajos-vidas sociales habituales y otros lectores del blog.

Sigue funcionando el visor de usuarios online (medio como el culo :D) y ya surgirán nuevas funcionalidades, ni idea cuales, pero seguro se me ocurre algo :D

Es un condimento "social" en un blog, no se si hay muchos que hagan lo mismo, pero aquí está a elección de ustedes usarlo. También agregué un detalle para los comentarios que dejan los usuarios registrados, es decir, un pequeño inconito para ir exactamente a esa pantalla de información y así uno cuando quiere saber más de quien escribió tal o cual comentario, puede enterarse. Tampoco creo que esté inventando la rueda y no, no hay plugin para Wordpress... no tengo idea de cómo programarlo ahí pero no dudo que si alguno lo hace se atribuirá la idea y dirá que yo me copié :D

Los mails aparecerán solamente para otros usuarios registrados y logueados, esto veré si lo modifico en algún momento, pero por ahora está así "oculto" sólo logueado se pueden ver. Lo mismo para el listado de usuarios. Es que no creo que todos quieran que los anónimos visitantes vean que estan registrados aquí, así que sólo usuarios logueados pueden ver el listado de miembros.

¿y que pasó con el registro? ¿porqué está cerrado? lamentablemente no me venía funcionando el sendmail (la función que envía mails del servidor) así que deshabilité el sistema de registro por un rato, ya le daré más foco a ello, pero si alguno está desesperado y cree que la solución del alargamiento peneano está en registrarse en este blog, bienvenido sea, me envía un e-mail y armamos su cuenta :P

Es tan sólo experimental y para que lo use quien quiera, se aceptan sugerencias de que otros sistemas linkear (hasta ahora sólo puse a Flickr como ejemplo), total... como mucho me lleva 20 años programando resolver todos los caprichos :D, na, se aceptan también "soluciones", no sólo pedidos, jeje.

Y no, esto tampoco entra en el PostRev 0.7 que durante esta semana sale la versión final luego de los últimos detalles que me pasaron Zurdito y GFer, mis "betatesters"

Ahora bien, da un blog para ser un nodo de una red social? pregunta para bloggers 2.0, yo sigo siendo 1.0, pero esa es ya otra historia :D

Seguir leyendo el post »

Salida a producción a destiempo

Artículo techie-programador-nerd, no se quejen que hace rato que no sale uno de estos Guiño



Un caso muy particular está sucediendo con KDE4 y es que los desarrolladores estan por lanzarlo en una semana sin haberlo terminado. La excusa es "KDE4 no es KDE 4.0", como queriendo decir que cambia de versión pero todavía falta mucho para ser lanzado.

Esto puede sorprender a muchos que no son usuarios típicos de software libre, donde cada versión es un misterio si funcionará como queremos salvo en casos puntuales como Apache, Tomcat, MySQL, PHP y Firefox, el resto tiene esa tendencia de lanzar versiones que no estan al 100%. Otros dicen que no existe software terminado, que nunca se termina.

Pero esta tendencia, muy conocida por los que se instalan un Windows "nuevo", la tendencia del Service Pack es, a esta altura, algo negativo que sólo confunde a los usuarios. ¿Necesitamos que algo llegue al mercado incompleto? considerando que Firefox lanza betas y betas hasta llegar a la final y cuando sale el producto final no hay grandes bugs que impidan su uso, ¿es necesario lanzar KDE 4 sin terminarlo? recuerden que en el soft libre no siempre hay calendarios estrictos a seguir (el software pago si, el gratuito no tanto, el libre puede que si, etc.).

Microsoft lanzó Windows Vista y se habló desde un principio que todos los problemas estarían resueltos en el primer SP1 (Service Pack), es decir, comprás un software de 400u$s para enterarte que no está terminado y en un año lo verás funcionar correctamente. No es precisamente algo que el público quiere oír, ni menos hacer, instalar un parche gigante para algo que hoy debería funcionar bien.

"Release often and release early!" -Eric S. Raymond/Cathedral Bazaar

Para el "usuario final" no hay diferencias entre KDE4 y KDE 4.0, para los developers si, y es un error importante el no poder mirar desde el punto de vista del usuario final. Si creaste tantas expectativas con un proyecto y una fecha, o cumplís o admitís que no estas a la altura de dicha fecha/promesas, pero lanzarlo igual "total, que puede pasar...", es casi una burla a su propio trabajo... ¿o no?

Puede que no, dependiendo el objetivo de cada uno, si para ellos KDE es simplemente software y como nadie está obligado a usarlo, que no se quejen, bueno, podría ser, pero por algo se vienen atajando de "no hagan reviews de esto como si fuese un producto final". ¿Tanto costaba agregarle el "Beta 3" al costado? de esta forma nadie se quejaría, ya sabríamos que es software a medio cocinar, nadie se queja, hasta usar "Release Candidate" sirve, pero no, lo lanzan como 4.0 esperando que recién la 4.1 tenga las funcionalidades esperadas y 4.2 pulidas. No me gusta ese concepto. Pero muchos desarrolladores (tanto de soft libre como privativo, todos) tienen esa tendencia.

Está el ejemplo de Valve que lanzó su plataforma Steam cuando era un desastre y la fue emparchando hasta que más o menos estuvo pulida, para ese entonces Half Life 2 estaba siendo desarrollado y lanzaron esta plataforma para forzar a los jugadores de Counter Strike, Half Life y Day of Defeat a comprar licencias y dejar de usar los "truchos". Estuvieron meses lanzando parches que, para colmo, debían ser bajados por el mismo sistema y se tomaba todo el tiempo del mundo.

Al lanzamiento del Half Life 2, cualquier error en el soft, se bajaba otro parche enorme, es decir, ni el mismo juego era un release final, era un beta eterno.

Casi como Google que acostumbra lanzar todo en beta, ellos te dicen eso y se libran del problema de que el software esté incompleto o falle, es beta, jodete. Pero KDE4 no es beta, es KDE4, que no es 4.0, pero para la mayoría eso no es una diferencia.

Hay un escenario donde no se debe fallar y es, para mí, este mismo, los desarrolladores de software para consolas de videojuegos lo tienen bien claro, una vez que salió el DVD ya no pueden volver atrás, debe estar todo probado y testeado a la perfección, si no, no sirve, no hay vuelta atrás. Pero los desarrolladores de PC tienen una ventaja extra, no estan tan atados al medio físico y pueden, cuando quieren, lanzar parches y parches infinitos que dan soluciones más rápidas. Es un problema-virtud, un paradigma distinto y aplicado de distinta manera.

Por otra parte, y volviendo al caso de KDE 4, parece que la presión de SUSE es la que obligó a estas fechas, en vez de aplazar una vez más el lanzamiento, algo razonable debido al estado de algunas partes del software, hay que cumplir con una fecha específica, algo que no suena muy coherente en, justamente, el ambiente del software libre.

Por mi parte saben muchos que soy usuario de KDE, así que no escribo esto de criticón, se que los usuarios de Gnome dejarán comentarios diciendo lo maravilloso que es y un largo etcétera de cosas que no tendrán nada que ver con el artículo, la cuestión aquí es otra y mucho más importante. ¿cuanto está afectando al software libre o abierto esta tendencia de lanzamientos incompletos? porque pocos se salvan de semejante problema y falta de QA a la hora de lanzar versiones y, peor, utilizando excusas constantemente para deslindar responsabilidades.

¿No es más fácil decir que está incompleto y ya?

Seguir leyendo el post »

145 Noticias (15 páginas, 10 por página)