Cuando pases por el kiosko este mes, estate atento a la revista Sólo Programadores.
En el número de marzo, esta revista sobre programación dedica un artículo de 4 páginas a nuestra aplicación PageRankAlert.com.
Y nos hace mucha ilusión.
Cuando pases por el kiosko este mes, estate atento a la revista Sólo Programadores.
En el número de marzo, esta revista sobre programación dedica un artículo de 4 páginas a nuestra aplicación PageRankAlert.com.
Y nos hace mucha ilusión.
Y finalmente, aquí está la esperada Beta 4 de PageRankAlert.com, que trae la funcionalidad que le faltaba a la aplicación para hacer honor completo a su nombre: alertas por e-mail.
Ahora, los usuarios registrados recibirán alertas por e-mail avisándoles de que ha cambiado el PageRank de las páginas que están en su lista. Estas alertas se pueden activar o desactivar individualmente para cada una de las páginas, pulsando en el iconito del sobre.
Otra de las novedades son las gráficas de históricos en la ficha de las páginas. Pulsando sobre ellas podéis ver en un bonito gráfico generado por Gruff el historial de cambios del PageRank. Es interesante observar algunos patrones curiosos, por ejemplo son muy típicas las oscilaciones entre dos valores como en el caso de www.railes.net.Finalmente, entre otras novedades hemos metido un nuevo icono junto al PageRank de cada página que muestra si el valor
sube o
baja, como si de la cotización en bolsa se tratara.
Además, hemos inaugurado la sección “Help!” para ir escribiendo aquí la solución a todas vuestras dudas.
Creo que eso es todo por esta versión… En breve, PageRankAlert.com en su buzón de correo.
ACTUALIZACIÓN: Dreamhost está teniendo problemas eléctricos, lo que origina fallos en el sitio… esperemos que lo arreglen pronto.
Acabamos de publicar la beta 3 de PageRankAlert.com, uno de los proyectos propios de Railes.net. Os animamos a apuntaros y testearla un poquito, todos los comentarios y sugerencias serán bien recibidos.
Las novedades de esta versión incluyen:
Si, ya sabemos que la beta 2 salió en agosto… pero hemos estado muy ocupados.
El otro día, reescribiendo parte de mi juguete on Rails Pagerankalert.com, una aplicación muy sencilla con la que llevo meses sin avanzar por falta de tiempo
, me encontré con un error muy raro, de esos que el mensaje de error no te aclara nada sino que te quedas con cara de perdido…
Repasando el código con Juanjo Bazán, de KFLink, no encontrábamos dónde estaba el problema y llegamos a la conclusión de que quizá Rails se estuviera haciendo un lío porque el modelo que estaba manejando se llamaba Page, y por ejemplo cosas como la paginación podían resultar confusas… eso de paginar páginas roza lo metafísico…
Total, que probé a renombrar el modelo Page como Pagina, algo que me daba pereza ya que estamos hablando del modelo principal de esta aplicación dedicada a almacenar la evolución en el pagerank de las páginas… pero con una sencilla migración y cambios de código en las pocas líneas que componen la aplicación, media hora después ya lo tenía…
Efectivamente, tras este cambio, todo volvió a funcionar, como en el anuncio de 3 en 1. Sin duda, fué una mala elección usar Page como nombre de modelo. Y yo que en su día me sentí muy listo por usar address en lugar de URL para el campo…
Es este un tema a tener en cuenta a la hora de programar en Rails. Si bien se suele aconsejar usar nombres en inglés para aprovecharnos del tema de la pluralización automática, a veces podemos caer en trampas como ésta en la que coincida el nombre del modelo con alguna palabra reservada. Conviene pues, conocerlas, aunque en lo que he buscado hasta el momento no he visto que oficialmente, “Page” sea una palabra reservada a evitar:
Ruby on Rails wiki: Reserved Words
En esta última web, se aconseja ejecutar desde la aplicación Rails la siguiente línea para ver las palabras reservadas… tampoco allí aparece “Page”…
$ ./script/runner ‘print Object.constants.sort.join(”, “)’
ARGF, ARGV, ActionController, ActionMailer, ActionView, ActionWebService, ActiveRecord, ActiveSupport, ArgumentError, Array, BREAKPOINT_SERVER_PORT, Base64, BasicSocket, Benchmark, Bignum, Binding, Builder, CGI, CGIMethods, CROSS_COMPILING, Class, ClassInheritableAttributes, Comparable, ConditionVariable, Config, Continuation, DRb, DRbIdConv, DRbObject, DRbUndumped, Data, Date, DateTime, Delegater, Delegator, Dependencies, Deprecated, Digest, Dir, ENV, EOFError, ERB, Enumerable, Errno, Etc, Exception, FALSE, FalseClass, Fcntl, File, FileTest, FileUtils, FireRuby, Fixnum, Float, FloatDomainError, Forwardable, GC, Gem, HTML, Hash, HashWithIndifferentAccess, IO, IOError, IPSocket, IPsocket, Iconv, IndexError, Inflector, Integer, Interrupt, Kconv, Kernel, LoadError, LocalJumpError, Logger, MailHelper, Marshal, MatchData, MatchingData, Math, Method, Mime, MissingSourceFile, Module, Monitor, MonitorMixin, Mutex, Mutex_m, NIL, NKF, NQXML, NameError, Net, NilClass, NoMemoryError, NoMethodError, NotImplementedError, Numeric, Object, ObjectSpace, Observable, OpenSSL, OptionParser, OrderedHash, OrderedOptions, PLATFORM, PStore, ParseDate, ParseError, Pathname, Precision, Proc, Process, Queue, RAILS_CONNECTION_ADAPTERS, RAILS_DEFAULT_LOGGER, RAILS_ENV, RAILS_GEM_VERSION, RAILS_ROOT, RAILTIES_PATH, RELEASE_DATE, REXML, RUBY_PLATFORM, RUBY_RELEASE_DATE, RUBY_VERSION, Racc, Rails, Range, RangeError, Rational, RbConfig, Regexp, RegexpError, Reloadable, RuntimeError, SOAP, STDERR, STDIN, STDOUT, ScanError, ScriptError, SecurityError, Set, Signal, SignalException, SimpleDelegater, SimpleDelegator, SingleForwardable, Singleton, SizedQueue, Socket, SocketError, SortedSet, StandardError, String, StringIO, StringInput, StringOutput, StringScanner, Struct, Symbol, SyntaxError, SystemCallError, SystemExit, SystemStackError, TCPServer, TCPSocket, TCPserver, TCPsocket, TMail, TOPLEVEL_BINDING, TRUE, Text, Thread, ThreadError, ThreadGroup, Time, TimeZone, Timeout, TimeoutError, Transaction, TrueClass, TypeError, UDPSocket, UDPsocket, UNIXServer, UNIXSocket, UNIXserver, UNIXsocket, URI, UnboundMethod, VERSION, XMLRPC, XSD, XmlNode, XmlNodeList, XmlSimple, YAML, ZeroDivisionError, Zlib
Interesante herramienta online gratuita para hacer pantallazos de webs indicando la URL y tamaño deseado: WebSnapr.com.
La hemos incorporado a los listados y ficha de Pagerankalert.com.
He aprovechado este fin de semana para ponerme al día con un proyecto Ruby on Rails que tenía en standby: PageRankAlert.
La mayoría de vosotros ya lo conocéis: se trata de una herramienta online que permite consultar y almacenar el PageRank de las URLs, creándose un histórico de los cambios en este valor, para poder evaluar el éxito de nuestras páginas.
Las novedades de la Beta 2:
Y eso es todo por ahora… mientras rediseñaba la aplicación he ido tomando notas para un próximo tutorial en el que liberaré parte del código como GPL. Pero como ando liado seguramente hasta después del verano no habrá ningún tutorial preparado… o si… quién sabe
Espero vuestros comentarios, reporte de bugs, sugerencias…
Ayer, aprovechando una pausa entre un par de cursos de las jornadas del GUL de la Carlos III, avancé un poquito con pagerankalert.com:
Por último, me dí una alegría al ver que la entrada de Railes.net en el PageRank ha sido muy satisfactoria… ha pasado de no tener PageRank, a tener PR 3 para la web principal (actualmente sin apenas contenidos), PR 4 para el foro y PR 5 para el blog.
Lo siguiente que tengo en mente es mostrar el historial de PageRank en forma de gráfica, empleando CSS, y una gestión de usuarios para poderse dar de alta y así recibir alertas por email cuando cambien las URLs que te interesa vigilar.
Acabo de hacer pública mi primera aplicación RoR, o más bien, la primera versión alfa de pagerankalert.com. La aplicación está lejos de estar madura, desde luego… pero tenía ganas de ir probando qué tal tira.
La idea es muy sencilla: introduces una URL y, si la aplicación no conoce ya su Google PageRank asociado, lo consulta, lo muestra y se lo apunta. En caso de que ya tuviera este dato, te muestra lo que sabe sobre la URL.
Para las siguientes veces que se le pregunte, si ya tiene una URL en la base de datos pero ha pasado un tiempo prudencial (más de 24 horas) , vuelve a comprobar automáticamente el PR. En caso de que haya cambiado, se apunta su nuevo valor y la fecha de éste. Así, se va guardando un historial.
Por medio del código JavaScript que se ofrece, se puede mostrar un mini-contador que muestra el PR y, de paso, se encarga de que se vayan realizando estas comprobaciones en pagerankalert.
Más adelante iré metiendo gráficas, alertas por email, y lo que se me vaya ocurriendo. Por ahora podeis ir probando con vuestras páginas…