CoRank público
Me equivoqué, siempre me pasa lo mismo. Me parece que hablar bien de los proyectos que me agradan, de amigos, cuñados, saludados o “competencia” es como lamer el culo o muy blogocósico, y luego quedo como un cerdo envidioso o cínico. Así que esta vez no cometeré el error.
CoRank, de RBA, ya está en estado público. Está muy bien, el diseño es ligero, limpio y carga rápido. Tiene opciones muy interesantes, y parece todo desarrollado desde cero –aunque RBA me comentó que estudió el código del menéame–, como tengo un poco de idea de lo que cuesta un peine, allí hay miles de horas de trabajo y un huevo de know how de programación y web. Se nota, además es otro proyecto surgido de la cabeza y llevado a cabo por una o pocas personas. No es el típico con dinero inicial y pagando a programadores que no saben muy bien cuál es la idea del proyecto.
Así que RBA, muy buena la idea y excepcional el curro, felicitaciones. Para los “usuarios”, si no les gusta el menéame, ya saben qué probar (y viceversa
).
Mucha suerte (aunque espero tener un poquito más :-P).
Ahora las pequeñas pegas. El diseño da 90 errores de validación, la mayoría de ellos chorras como secciones P y SPAN vacías. La página principal muestra un par de rankings que cuando haya más noticias, usuarios y votos puede cargar la bbdd, a menos que ya use tablas resumen precalculadas o sistemas de cache.
Y la última, pero esta no es técnica, sino ética-filosófica. El software no es libre, en principio no hay enormes pegas porque CoRank es un servicio público, no un programa que se distribuye, pero Rogelio pudo estudiar al detalle todo lo que hay en el menéame, así posiblemente aprendió bastante o al menos le ayudó a tomar decisiones. En cambio yo no puedo hacer lo mismo, tengo que aguantarme y dejar que otros puedan usar, analizar o estudiar mis programas para al menos no cometer los mismos errores, mientras yo sólo puedo poner cara de “¡oh!”. Eso no es fair. El software privativo no es fair para nadie, salvo para sus programadores ;-(
Senkiu y ahora las aclaraciones de turno:
1.- parece todo desarrollado desde cero
Completamente. Además es todo en C, y hoy por hoy, pocas aplicaciones web hay por ahí en C de las que se pueda “chupar” inspiración. Bueno, mentira, el MD5 que usa para descuajeringar las passwords no lo escribí yo
2.- RBA me comentó que estudió el código del menéame
Solo miré el algoritmo de promoción. No entendí un carajo (cosa mía) y aparte, de lo poco que entendí, me di cuenta que no podia reusarlo ni siquiera conceptualmente porque varias variables cambiaban (no hay karma, hay negativos, etc) y me puse a hacer el mío propio, el cual, dicho sea de paso, estoy convencido que en los próximos 3 meses pasará como 7 revisiones por lo menos.
Donde sí que hice copy&paste descarado es en el css para la plantilla “estilo Meneame”, pero eso era más en plan experimento que otra cosa.
3.– como tengo un poco de idea de lo que cuesta un peine, allí hay miles de horas de trabajo
Hay unas cuantas.
4.- llevado a cabo por una o pocas personas.
Una sola. Aunque sí tengo que agradecer UN HUEVO a la gente que me ha ayudado a testearlo porque me han ayudado de una manera que ni me imaginaba y cuyo valor es incalculable.
5.- No es el típico con dinero inicial y pagando a programadores que no saben muy bien cuál es la idea del proyecto.
¿Dinero?
coRank no ha costado dinero (asumiendo que el tiempo que lleva no tiene valor), pero años creo que he envejecido unos cuantos. No habia dormido tan poco desarrollando un proyecto en mi vida. Me he hecho un junkie de la cafeina y ahora a ver lo que me cuesta desengancharme.
6.- El diseño da 90 errores de validación
¿Solo? Soy el primero en admitir que no me he preocupado de respetar XHTML en absoluto. No me parece un mal mayor aparte del que pueda causar en determinados entornos. Es algo en cualquier caso corregible, cuando las prioridades cambien un poco.
7.- La página principal muestra un par de rankings que cuando haya más noticias, usuarios y votos puede cargar la bbdd, a menos que ya use tablas resumen precalculadas o sistemas de cache.
Crontab al rescate. Lo que se carga en los bloques que dibujan esos rankings en la pagina principal es texto estático que se crea cada hora, por lo que lo unico que lleva es cargar un fichero, nada mas. Más aún, el ranking de los usuarios es calculado solo cada 24 horas. De hecho, el trabjo de mantener una portada para cada persona puede ser una monstruosidad si hay muchos datos, por lo que eso también es cacheado y actualizado cada X tiempo según el volumen de actividad en la BBDD.
Desconozco el límite de escalabilidad del proyecto, pero he procurado no descuidar ese tema por lo que pudiera pasar, incluso habiendo “matado” algunas ‘features’ por miedo a que no escalen bien.
8.- aprendió bastante o al menos le ayudó a tomar decisiones
He estudiado meneame, digg, reddit, fresqui, delicious y otros, pero por fuera, como usuario, y sí, eso me ha ayudado a tomar algunas decisiones, por supuesto. El código de meneame me lo bajé en su día y fui directo a buscar el algoritmo de promoción, y ya he dicho en el punto 2 lo que pasó. Eso no responde a tu cuestión ético-filosófica pero al menos lo digo para que lo sepas. La programación de algo así yo no la veo excesivamente complicada. La cosa se complica en los detalles - y hay muchos - no en el código que te dibuje o gestione tal o cual cosa, pienso yo.
Piensa ademas que yo vengo de haber desarrollado un servicio de listas de correo (que aunque el diseño sea de la época del Trumpet Winsock, el backend tiene su curro), un servicio de blogs, uno de redes sociales, un intento de Meneame para videos, y unos cuantos más. De donde he chupado muchísimo es del propio código que he ido desarrollando durante todos estos años, cosa normal ya que me lo conozco como la palma de mi mano. ¿Para qué liarme con el de otro, que además está en PHP que es algo que se me da mucho peor que el C/C++)?
9.- El software privativo no es fair para nadie, salvo para sus programadores ;-(
Coñe, Ricardo. Se ha escrito mucho sobre el tema y mejor no lo reescribimos tú y yo ahora. El SL tiene muchas ventajas y lo sabes. Mientras no libere coRank, dependo de mí solo. Nadie me hace audits del software, ni me corrige bugs mientras estoy durmiendo ni nada. No me hago el martir porque joder, es mi decisión, al menos por ahora, pero como ya dije por ahí, nadie me ha hecho firmar un contrato que me obligue a no liberar nunca nada. De hecho, si he lanzado coRank independiente de mi empresa, es porque tengo planes para el proyecto y ‘necesito’ que esté desligado de cualquier empresa que no controle yo al 100% para poder hacer lo que me de la real gana.
Comment by RBA — Saturday 3/3/2007 @ 1:41
Rogelio, sabes que el tema del software libre es mi “obsesión” y que no puedo entender cómo los programadores no disfrutas sabiendo que otros miran (y quizás mejoran) su prorgamas, para un escritor es como tener lectores
Hay preguntas retóricas, lo mío es sólo un reclamo retórico. Claro que no me molesta que no liberes _tú_ código, pero estoy convencido que sería mejor para todos (y sobre todo para CoRank) que fuese así. Pero cada uno es dueño de hacer de su culo en florero, siempre que no joda a los demás (por eso matizaba lo de _servicio_).
Así que… lo de que liberes tu código te lo diré siempre, no deberías hacerme mucho caso
Comment by gallir — Saturday 3/3/2007 @ 1:59
Gallir, eres un Quijote. Me alegro. Gracias por tu Meneame, hay genate para hacer caminos y gente para andarlos.
Comment by Tron — Saturday 3/3/2007 @ 2:35
Ricardo, también se disfruta cuando tu software sirve para algo, y si encima toca a la gente más allá del mero uso del servicio, más aún. Lo que me parece una gilipollez (y aqui me voy a ganar algun enemigo pero me da igual) es que alguien diga sin dar mas explicaciones “si no lo libera, no pienso usarlo”. Pues no lo uses hombre
Al final del dia uno ofrece un servicio gratuito (libre o no), y sabes que la cosa no es moco de pavo, como para que el primer dia que lanzas algo que te ha costado un huevo sacar y cuyo futuro es incierto y está todavia por escribir, te salgan los “expertos” dandote lecciones, y no lo digo por tí, sino por otros donde seguro algunos no han leido una linea de codigo - liberado o no - en su puta vida pero son mas papistas que el papa. Llevo dandole hostias a los teclados desde finales de los 80, algunas historias puedo contar, y tú imagino que también (no sé si tan oscuras como las mías
Tron, pues aunque no seré yo quien le quite méritos a Ricardo Y Benjami por lo que han hecho y conseguido (¿Quien es Quijote y quien es Sancho Panza? :-), que no es poco, en cuanto a funcionalidad se refiere, creo que la parte del camino que coRank ha “andado” que es común a Meneame, es igualmente común a Digg, que es el camino que Ricardo “anduvo” al desarrollar Meneame (es ahora cuando parece que Ricardo empieza a despegarse bastante, y me alegro), y si te digo la verdad, no considero a Kevin Rose como un Quijote (asumo que sabes quien es Rose). Sí te puedo decir que para sacar un clon que no aporte nada nuevo, yo no habria sacado nada. Ese aspecto se podrá discutir, pero yo lo tengo muy claro.
Comment by RBA — Saturday 3/3/2007 @ 5:43
Ricardo, no hay psicologos cerca de tu pueblo ?
Podrias poner un aviso en tu pagina “Busco psicologo con experiencia para persona con graves y muchos complejos”, seguramente alguien podr’a hechar una mano, eso si, que este certificado en GPL…
(no lo digo para mi….)
Le hubieras escrito directamente a RBA y no poner un post como este, casi acusador… Al final parece que las cosas no eran como tu “pensabas”…
Comment by Daniel Cialdella — Saturday 3/3/2007 @ 11:17
manteniendo crítica constructiva y respeto, valores tan poco en alza… así es como hay que hacer las cosas
Comment by uno que pasaba — Saturday 3/3/2007 @ 12:08
#5
¡Ha vuelto mi fanboy! (pensé que se había perdido en las profundidades de FON).
Sí, me escribo bastante con RBA, mucho más de lo que piensas. Hasta creo que somos bastante amigos.
Además de dedicarse a los negocios, es una caña programando el tío, por eso lo respeto mucho. Cosa que no puedo decir de tí, del que solamente conozco tus críticas pero ningún programa útil.
Así que creo que otra vez –como casi siempre– tu bilis te ha hecho decir tonterías (como tantas otras veces).
Por otro lado en mi blog escribo lo que me da la gana, y cómo me da la gana. Si no te agrada, au, fuera, cuida la úlcera.
Comment by gallir — Saturday 3/3/2007 @ 12:10
Vaya par, si os decidís a colaborar lo mismo sale un menearank.
Comment by corsaria — Saturday 3/3/2007 @ 16:26
#8 Pero… ¿no ibamos a trabajar tú y yo y llamarlo corsank o algo así?
Comment by RBA — Saturday 3/3/2007 @ 21:58
Ojo al “Alex Galli” de http://es.corank.com/about.html ¿es un “homenaje” o algo?
Comment by Marcos Ramírez — Sunday 4/3/2007 @ 16:07
Hola y disculpen la estupidez y completa ignorancia que tengo en el tema por la pregunta que haré. ¿CoRank esta hecho en C? ¿Y eso como corre en la web? ¿C es como PHP?
Comment by RoQ — Monday 5/3/2007 @ 2:02
#11 No sólo los lenguajes de script saben escupir HTML.
Cuando un navegador hace la petición el programa en C se ejecuta y todo lo que tira pa afuera es el html que le llega al navegador.
El problema según dicen es que es un coñaso recompilar los programas cuando quieres hacer cambios, en php o en otros lenguajes que no suelen compilarse en aplicaciones web, puedes hacer modificarlos sin recompilar nada.
También supongo que hay que dominar muy bien C, para no meter la pata manejando tanto string.
Con respecto a CoRank lo estoy probando y se ve bien en el konqueror, q es un puntazo
saludos.
Comment by marito — Monday 5/3/2007 @ 5:05
#9. Claro que sí, pero al final te me fuiste por libre. Eres incorregible.
Comment by corsaria — Monday 5/3/2007 @ 14:23
#10 - es una parida, no sabria definirlo de otra manera, y la verdad, es facil que lo cambie a Juan Perez.
#11 - ya te ha respondido marito (#12) muy bien. La diferencia con otros lenguages más populares en el desarrollo de aplicaciones web es que hay que compilarlo. Por otro lado, se puede debatir que un programa en C compilado puede ser optimizado muchísimo más (si lo programas bien, claro), aunque cada cosa tiene sus ventajas y desventajas. También, como apunta marito, es conveniente tener una buena librería para el manejo de cadenas/strings, ya que las típicas del C estandar son una castaña, no permiten internacionalización, y a la mínima que te descuides te sale un punterazo que te deja el programa colgado.
Comment by RBA — Monday 5/3/2007 @ 19:06
Una pregunta RBA, ¿al ser CGI, i.e. fork()+exec(), no te consume más recurosos del servidor que un módulo de Apache (como el PHP)? ¿Lo has medido?
Comment by gallir — Monday 5/3/2007 @ 19:09
“Claro que no me molesta que no liberes _tú_ código, pero estoy convencido que sería mejor para todos (y sobre todo para CoRank) que fuese así.”
Deberían de liberar también el código de Google, de Yahoo y de Youtube, sería mejor para todos (y sobre todo para Google, Yahoo y Youtube).
Comment by Oscar — Monday 5/3/2007 @ 20:12
Ricardo, levantar el cgi cuesta, efectivamente, sobre todo si el cgi es “pesado”, ya que aparte del fork, toca la carga del disco (si el cgi ocupa 300kb, son 300kb a leer del disco en cada llamada), “allocación” (o como se diga) de memoria, etc. Por otro lado, si la aplicacion es muy modular (muchos cgis pequeños para tareas concretas en lugar de 2-3 cgis grandotes que hacen de todo), el “overhead” no lo es tanto. Al final realmente los problemas a la hora de escalar encuentran su embudo en otras partes, como un esquema para la BBDD mal diseñado, etc.
Por eso dije que “se puede debatir”, porque no es blanco ni negro.
Comment by RBA — Monday 5/3/2007 @ 20:25
También deberías de liberar el código de güindows vista, sería merjo para todos
Comment by Javier Aroche — Monday 5/3/2007 @ 20:26
Si antes lo tenia en negro ahora esta mas plomo, gracias por la respuesta
Comment by RoQ — Monday 5/3/2007 @ 21:21
#17 y #15 ¿cómo es que no optaste en vez de hacer un cgi en un filtro ISAPI o un módulo de Apache? Tenía entendido que antiguamente era el método de desarrollo de eBay. Además así no hay escusas de que un programa en C sea más lento que otras alternativas.
(Gracias, muy instructiva la conversación)
Comment by DN — Tuesday 6/3/2007 @ 9:54
Yo no pienso que un cgi compilado sea más lento que otras alternativas. Sobre ISAPI, si no me equivoco es dependente del IS de Microsoft. ¿Modulos de Apache? Hay muchas maneras de optimizar la carga de CGIs. Recordemos, los CGIs compilados son inherentemente mucho más rápidos en su ejecución (salvo que programes haciendo burradas), y donde hay que ahorrar es en los tiempos de carga. Por eso decia que un diseño modular (contra un diseño monolítico) favorece mucho la ejecución y el uso de recursos. Bien hecho, yo lo veo una ventaja. Y bueno, si uno es muy valiente, siempre tiene el código del Apache (o de otros) a su disposición para “incrustar” su aplicación de forma nativa/estática si le apetece, sin necesidad de módulos o forks. No es lo que hago yo, por cierto, y eso también se puede hacer con otros lenguajes, etc. pero puestos a optimizar, todo es posible
Comment by RBA — Tuesday 6/3/2007 @ 19:02
CoRank público (consideraciones de Ricardo Galli)
Ricardo Galli opina sobre esta plataforma y algunos aspectos más sobre el software libre y/o privado…si te interesa saber algo más no pierdas detalle y atiende a los comentarios. Vía (por qué no) es.corank.com/tech/story/opinin-de-ricardo-galli-sobre…
Trackback by meneame.net — Thursday 8/3/2007 @ 19:54
Donde sí que hice copy&paste descarado es en el css para la plantilla “estilo Meneame”, pero eso era más en plan experimento que otra cosa.
No es por ser tocapelotas, pero si coRank es codigo cerrado, esto estaría infringiendo la Affero GPL.
Comment by Clapp! — Thursday 8/3/2007 @ 20:48
#23 - Si a Ricardo le molesta, quito esa plantilla, aunque me parece que lo que dices es extremadamente drástico, pero bueno. Yo creo que la cosa es que coRank, como servicio, no hace uso ni ha tomado ni necesita nada del código de Meneame, y como dije, lo de ofrecer una “skin” con apariencia meneística era más un experimento (o un homenaje, como quieras verlo) al Meneame. Yo no creo que infringe nada, pero es mi opinión, sujeta a debate por supuesto.
Conste que aunque dije “copy & paste” tampoco hice eso exactamente. Los estilos son diferentes y si alguien está lo suficientemente interesado (o aburrido) puede comprobarlo, pero sí calqué los colores y algunas definiciones de los estilos: que si “solid 1px dotted” aquí o “font: blablabla” acá.
Comment by RBA — Thursday 8/3/2007 @ 22:18
> #23 - Si a Ricardo le molesta, quito esa plantilla,
Definitivamente no, sabes que a la mínima molestia te lo hubiese dicho
Y felicidades por lo de techcrunch (¡y los 20 millones de usuarios de elistas! no sabía que había tantos, qué crack).
Comment by gallir — Thursday 8/3/2007 @ 22:56
eListas tiene unos 22 millones de usuarios registrados, pero activos lo que se dice activos hoy hay como la mitad, que no está nada mal por supuesto, pero me gusta aclararlo (si fuese la decima parte igual no me gustaria tanto aclararlo :-). Hay que tener en cuenta que es un servicio que viene funcionando desde hace 7 años durante los cuales, excepto por los grandes (Yahoo y Google) le ha salido muy poca competencia. Y eso que dicen que las listas de correo son de la web de hace 3 años. Pues menos mal
Lo de Techcrunch, es bonito salir, pero la ‘review’ que hizo Mike se puede ir a cagar el pollo…
Comment by RBA — Friday 9/3/2007 @ 23:10