Truñoweb de la semana: alsa.es

Update: a 28 de abril de 2008, la página alsa.es parece bastante mejorada. Sigue sin funcionarme bien, pero ahora la han modernizado (al menos en apariencia).

Cuando uno quiere hacer un viaje en autobús, ¿qué hace? Pues consultar horarios y tarifas en la página web de una compañía que haga el trayecto deseado, ¿no? En este caso deseaba hacer un viaje que la compañía ALSA cubre, así que ni corto ni perezoso me dirigí a su página web: http://www.alsa.es.

Como primer contacto, el hecho de que se te redirija a http://www2.alsa.es/portal/index.asp ya es bastante malo. Ninguna web seria te reescribe la [[URL]], sobre todo la de la página principal. Además, el añadido de la palabra “portal” es superfluo y molesto, y el fichero “index.asp” podría haberse omitido también (añadiendo “index.asp” a una línea en apache2.conf, httpd.conf o mods-enabled/dir.conf, si usan [[Apache HTTP Server|Apache]]). El cutre “www2” en vez de “www” al comienzo de la URL es también para nota, y el hecho de usar [[Active Server Pages|ASP]] ya ni lo comento.

Seguimos con que hay que aceptar [[JavaScript]] (si usamos el recomendable plugin de Firefox NoScript) de dos direcciones: www.alsa.es y www2.alsa.es. Doble molestia para nula ventaja sobre una sola dirección de origen.

Como queremos consultar una ruta y su horario, hacemos click en “Rutas y Horarios”, ¿no? Esto nos lleva a una página donde se nos pide elegir país de orígen de una lista desplegable. Elijo “España”, y me dispongo a elegir ciudad de orígen de la correspondiente lista desplegable a la derecha. Uno se espera que esta segunda lista desplegable esté conectada con la primera (que solo salgan las ciudades del pais que has seleccionado). Pues bien, está conectada: si eliges España, la única ciudad de orígen disponible es “Error”. Esto puede ser muy útil a quien quiera hacer un viaje de Error de Arriba (España), a Error de Abajo (España), pero poco más.

Con la única función vital de la página inutilizada, me puedo dedicar a comentar más fallos de estos ineptos. Por ejemplo, eso de “Web optimizada para 800×600” me llega al alma. Lo que quiere decir es que han hecho la página con un ancho fijo de 800 píxels. Por eso con cualquier pantalla a más resolución (todas las de después de la Guerra Civil) se ve una columna central con contenido (por llamarlo de alguna manera), y dos franjas grises a los lados. Franjas que serán mayores cuanto más resolución tengamos. Y si tuvieramos MENOR resolución o usásemos una ventana pequeña, sería aún peor: tendríamos que usar barras de desplazamiento lateral para ver toda la página. La verdad, se me hace difícil comprender qué clase de inútil hace páginas de resolución fija hoy en día, pero por lo visto haberlos hailos.

Si intentamos comprar billetes, accedemos a una página en la que, además de toda la basura de imágenes y anuncios de la página de inicio, tenemos un recuadro donde nos salen los pasos que vamos tomando para comprar billetes. Hete aquí que el primer paso es elegir ruta, y por tanto en el recuadro nos aparece una copia de la página de “Rutas y Horarios” que menciono arriba (con su error idéntico y todo). Ahora bien, la página de compra es de 800 píxels de ancho, y la de Rutas y Horarios también. ¿Cómo meter la segunda en un recuadro que es parte de la primera? Fácil: con [[scrollbar|barras de desplazamiento]] o “scrollbars”. Simplemente lamentable.

Comments

Project BHS

As outlined in some previous posts[1,2,3,4], I have been playing around with a piece of Python code to process some log files. The log files to process were actually host.gz files from some [[BOINC]] projects, and the data I want to extract from them is quite simple: the Windows, Linux and Mac shares in the number of computers contributing to them (and the [[BOINC Credit System|work they do]]). By logging this processed data myself, I can see the time evolution of this share, and hopefully show the slow but steady rise of GNU/Linux :^)

I figured out that the contribution to distributed computing projects could be a reasonable indicator of the Windows predominance status. There are many other indicators (for example the number of visits to a web site, e.g. this very one), and I don’t claim that this one is “better”. I just want to add it to the reference list for the reader.

There is a problem with “Windows vs. Linux” figures, and it is that they are not really “competing” products. When cars or soft drinks are the subject, one can figure out the [[market share]], looking at the number of items sold. Linux being [[free software]], one can hardly measure the amount of “sold copies”, and with Windows being pre-installed in most new computers, one can not really trust the “number of computers sold = number of Windows copies sold”, because some users even remove the Windows partition and install Linux on top of it.

Counting the visits to some sites is not without problems, either. Any web site will have a particular audience, and the result will be biased by that fact. When my blog was in WordPress.com, I had roughly as many visits from Windows users as from Linux users, and almost all of them used Firefox as a browser. Obviously this data is not an accurate reflection of the world at large. It so happened that free software users are more likely to surf to sites like mine, hence the bias.

So, without further ado, let me introduce the “BOINC Host Statistics” program (BHS). Here you are a link to its home page. You can find results I have harvested so far in the Screenshots section. For example, the SETI@home credit generation rate statistics follows:

What the plot tells us is that (at the time of writing this) 500 million [[BOINC Credit System|cobblestones]] are being granted to contributors each day. Of them, around 82% are being given to Windows computers, 9-10% to Mac, 8% to GNU/Linux, and the rest to computers running other OSs.

Comments

New version of Sociable WP plugin

Another reason to love FLOSS: developers are close to the users, and they LISTEN.

I recently started using the Sociable WordPress plugin for this blog. This wonderful plugin by Joost de Valk, lets you put some links to social bookmarking/news/recommendation sites on the web at the bottom of each post, so a reader can send your post to such a site with a single click.

There are many WP plugins that do this, but I liked the looks of Joost’s, and the pleasant way of managing it. I chose Digg, Reddit, del.icio.us, Technorati and Slashdot, but I felt that at least two sites that I liked were missing from the available sites list: Menéame and Barrapunto.

So I boldly decided to contact the developer, Joost de Valk, and ask for them:

Hi Joost,

I have just discovered your “Sociable” WordPress plugin, and I like it a lot.

However, there is always room for improvement, and as such I would like to suggest you to add links to the following sites:

Menéame (http://meneame.net/)
Barrapunto (http://barrapunto.com/)

Both are Spanish “versions” of popular sites: Digg and Slashdot, respectively.

I mainly write in English, but I think that blogs with a Spanish audience could benefit a lot from these links.

Now I realize I even forgot to say “thanks in advance” or anything… I was a bit unpolite, I fear. Anyway, his answer came a couple of days later:

I’ll add them in the next version, coming out… tonight I guess :)

Can I trust upon you to promote it a bit there? :)

Cheers,
Joost

It is actually true that a new version of Sociable has been released, and it includes Menéame and Barrapunto as available sites. So here it goes your promotion, Joost ;^)

Isn’t it great when people collaborate and are generally nice to each other? Isn’t everyone tired of a society where people don’t do anything unless they get money or power in return?

Thanks Joost and other bona fide developers for your great work.

Comments (4)

Tips for creating Web content

From my own site at ehu.es/isilanes.

Comply with the standards

Much like in spoken languages, Internet information exchange requires a common language, understood by everyone. In this case, our browsers will be the ones making the translation from that language (HTML) into images, colors and human-readable text. Much like spoken languages, there is an “Academy” taking care of what is and what is not correct. In this case, the academy is the World Wide Web Consortium (W3C).

Much like in spoken languages, HTML evolves and changes, but when changes are not incorporated in the standards, misunderstandings happen. To assure a Web page is correctly displayed by any browser, first standards are encouraged (I wish they could be enforced), then standard-compliant browsers are made. The Web should not be designed for a specific browser, rather browsers should be made to comply with openly known standards. For a discussion on that, jump to the Viewable with any browser site.

If you want to make your site as widely viewable as possible, and keep your visitors happy, you should really follow the W3C standards, because this way you really know that any standard-complying browser will display the page correctly. Is making a standard-compliant page difficult? Not really. First, you could follow the Accessible design guide at the Viewable with any browser site. Then, learning some HTML programming could help. Finally, you are encouraged to put a “W3C correct HTML” button on the product page, as you can see I have done on my ehu.es/isilanes page (orange buttons on the left hand side above). This page, for example, has been correctly coded in HTML, and its CSS is also correct, as you can test clicking the aforementioned buttons.

The code for the HTML-correctness verification:

<a href="http://validator.w3.org/check?uri=referer"><img
    src="http://www.w3.org/Icons/valid-html401"
    alt="Valid HTML 4.01 Transitional" height="31" width="88"></a>

The CSS button:

<a href="http://jigsaw.w3.org/css-validator/">
  <img style="border:0;width:88px;height:31px"
         src="http://jigsaw.w3.org/css-validator/images/vcss"
         alt="Valid CSS!"></a>

Recall that you can put the above buttons in your pages at early stages of page creation (when they are still incorrect), and use them yourself to see if what you have done so far is W3C-compliant. The resulting validation page (saying “OK” or “Not OK”), usually explains the errors you might have done rather understandably, and help in fixing them.

Minimize the size

Every time a web page is visited, the client (the browser of the visiting person) has to download the contents of the page to be able to display them. The more fancy pictures there are in your page, the longer it’ll take to load. The more crap that the client has to download, the slower the visiting experience for that person. If a page takes too long to load in your browser, what do you do? Exactly, you quit and go somewhere else. Human attention time span is short, and more so in the Internet, so don’t ask your visitors for the patience you didn’t have when making the page in first place.

Avoid Java, JavaScript and Flash

The problem here is dual: size and accessibility. The problem of the size is summarized in the previous section.

The issue with the accessibility is related to the fact that you should ask your visitors for as few resources as possible to view your content. If they need to get and install some fancy software to access your functionality, then this fact might discourage them and make them go away.

Remember always that it is your task to make it easy to access your content, not the visitors’ to find the suitable tools for that. Use JS or Flash if you absolutely need to, but only if you absolutely need to. Usually a clever use of plain HTML resources will give satisfactory results, and will be much more visitor-friendly.

Avoid proprietary formats

Innocuous as they might look, formats like MP3 and GIF are patent-encumbered, which means that their use should/could be restricted by the patent holders. Also, using them forces the browser (in the case of GIFs) and MP3 player makers to comply with restrictive patent requirements (like e.g. paying royalties).

The best way to eliminate software patents is to dump patented material altogether. Use Ogg Vorbis format to encode your music, and substitute your GIFs for PNGs. Recall that patented software is illegal to modify, improve or have security holes/bugs patched by third parties, without permission of patent holders, which makes the openly developed formats evolve much faster, and eventually become better.

For specific reasons to dump MP3s and GIFs, see the Wikipedia pages for PNG and Ogg Vorbis. In short: CompuServe developed the GIF format without knowing that the LZW compression algorithm it used was patented (by Unisys). Later, after GIF became popular, Unisys announced that they’d start enforcing the patent (charge royalties) to commercial programs capable of displaying GIFs. Something similar happened to MP3 and the Fraunhofer Society.

With Open formats you’ll never have any such problem, and the visitors to your page will never have to pay royalties for programs capable of displaying the contents of your site.

Comments

e-mail howto

When we send e-mails (specially mass forwards) we might not be aware that on the other side of the wire there is some person that could be annoyed by some of our acts. We could help others behave nicely with us if we started behaving correctly with others. This post tries to help you with that.

All the following is my opinion, but I’m not asking you to do it because it’s my opinion. I think that, besides, it’s also sensible. Judge yourself.

Avoid HTML messages at all costs

In fact, only plain text e-mails should ever be sent (and anything else as an attachment). Sophocles, Shakespeare, Cervantes… they all used plain text, and managed to get their message through, didn’t they?

The reason to use plain text is dual. Firstly, it merely adds bloat. The e-mail will be unnecessarily fat, without adding the slightest actual content. Secondly, and maybe even more importantly, HTML is used in e-mails by spammers and crackers to force the receiver to execute unwanted actions, including: visiting unsolicited web pages, sending private data (as, e.g., the confirmation of the actual existence of the receiver, something very valuable for a spammer), and, if the HTML includes malicious Java, JavaScript or ActiveX code and the receiver is not correctly protected (*cough* Windows users *cough*), anything from crashing the mail client to setting your screen on fire and killing the little puppy you got yesterday.

For the second reason in the previous paragraph, any knowledgeable user will abhor receiving HTML e-mails (I do), and will have it completely deactivated (the mail client will not interpret the HTML code, and will display it literally instead, which is 100% safe, except if ugly symbols hurt your eyeballs). Thus, your pretty HTML message will not be correctly read by the receiver, and will at least charge him with the annoyance of either activating the HTML back, or reading the source code. And in this day and age, even allowing HTML e-mails in a per-sender basis is risky as can be, since anyone can forge anyone else’s e-mail address.

So, don’t ever send HTML messages, and also deactivate the rendering of HTML messages you receive altogether. The first thing will make your receivers happier, and the second one will keep you safer.

Use care if sending mass forwards

Can you name something more unpleasant than those silly mass forwards of 2MB PowerPoints with “witty” sentences, and almost always ending in “send it to 1000 friends or die a slow and painful death”?

For me, there are two kinds of forwards: the ones I name above, and the ones with funny, interesting and/or useful data. The first one: avoid them like the plague. Don’t ever send/answer/forward them. The only use they can have is negative: they clutter the net, they slow down the download of other (possibly important) e-mails for the receiver, they waste bandwidth and connection time for those who have either or both limited, and they don’t actually add anything to the life of the receiver, except anger towards a sob who pretends to be her “friend”, and then blackmails her to spread the same message or “suffer consequences”.

For the (veeery few) contents you want to spread to legitimately help/amuse/enlighten the receivers: choose a suitable format! If the content is a joke or similar, send it in plain text. It works all the same! Don’t send a huge PowerPoint just for the sake of it. If the content is a (presumably big) file (a movie file, a presentation that is amusing in itself, an article with images and links…), put it online and send a link instead! Sending just a link is much more comfortable for the receiver, since the size of the e-mail is tiny, and she can choose whether or not to download the file, after all. Not everyone has a personal web page, but at times it proves invaluable… look for online storage solutions, as there are many free ones.

Also take into account that mass forwards can be used by spammers to get a list of valid addresses to bomb with their mails. The more “evil” a spammer, the more friendly she’ll pretend to be, to be included in the more people’s distribution lists, so that she’ll be sent all their mass forwards, along with the addresses of maybe hundreds of victims.

To avoid that, try to send your forwards only to people you actually know, and think are not spammers. Even safer: DO NOT DISCLOSE the addresses of all the receivers of your e-mails to every other receiver. It’s easy: with any half-decent e-mail client (KMail, Thunderbird and even Outlook can) you can chose to make any receiver “To:”, “CC: or “BCC:” (“Para:”, “CC” and “CCO” in the Spanish version of Outlook Express). Send all your forwards with BCC to be on the safe side.

Trim the excess

Whenever you answer to or forward an e-mail, depending on the configuration of your e-mail client it will automatically attach the original message, quoted. Now, if the receiver answers to your answer, she’ll quote your text AND your quotation of her original message. Then you answer and… you get the picture: e-mails flying around with hundreds of lines that only add: a) superfluous size excess and b) confusion, since sometimes it is not easy to find exactly the new material (coloring quotations helps, though).

Quoting the e-mail we answer to can be useful, but when answering to an answer, be nice an take the ten seconds you need to properly delete what is not needed.

Also remember that blindly forwarding messages can make you disclose to third parties information that the original sender wanted just you to read. Watch out for that!

Don’t overspread e-mail addresses

Don’t make spammers’ day by providing them with your e-mail, much less with mine!

Spammers are out there, like the truth in The X-Files. They never sleep. They have no mercy. They will relentlessly go on an on, harvesting e-mail addresses to prey upon. You have to understand that the most valuable thing for a spammer is a list of valid e-mail addresses. Valid e-mails are those that will be actually read, or at least received.

The ways in which spammers build their lists include:

* Unprotected addresses publicly amenable on the Web
* Being included in a “mass forward” (see above)
* Random spam

Unprotected public addresses include valid e-mail addresses that appear literally in a web page, or sent to USENET or other discussion forums. For that reason, if you want to protect your address, while still making it possible for others to contact you, don’t ever put your address on the web like that:

myname@mydomain.com

Instead, put something like:

myname AT mydomain DOT com

or:

mynameIHATESPAMMERS@mydomain.com

Or any other combination that makes the literal e-mail completely invalid, but a human reader can realize how to handle to get the correct address. You have to understand that the spammers use robots to harvest e-mails from the web, that is, there are computer programs looking for e-mails, not human beings (even stretching the meaning of “human being” to include scum like spammers). An address that needs human “logic” to be read will not be parsed correctly by robots.

In that regard, beware that both “protected” addresses above are far from perfect. It’s trivial to write a robot program that translates every “AT” with an “@”, and any “DOT” with a “.”, and/or eliminates spaces, capital letters or words like “SPAMMER(S)” etc. So be colorful, and think like a robot can’t think :^)

A second approach to protecting your e-mail could be to use a specific anti-spam address. There are companies like Bluebottle who provide such a service. As you can see, the e-mail I provide in this Web site belongs to that category, and is a completely free account (they offer further services, that I do not need, for a fee).

These “anti-spam” e-mail accounts basically contact the sender each time they receive an e-mail. Then the sender has to perform some kind of basic action (click a button or similar) to assure that they are valid senders, and if they fail to, the e-mail is filtered. The validation action has the sole actual purpose of making sure that the sender is human. ANY human sender is let through, but the spam robots normally don’t have the wit to answer properly when prompted by the Bluebottle server. Yes, this might piss off the legitimate senders, because they are required to click a silly button before their message goes through. However, this is done only once. After the first authentication, all the e-mails coming from that address will be automatically accepted.

Being included in a mass forward is discussed above, and random spam messages are those offering medicines or pornography. If you answer to one of them, you might not get infected with a virus or anything, but the sender might secretly know that you actually exist (because she is notified when you answer or click the link), and remember: valid addresses are what spammers seek.

Comments

5000 spammers stopped by my Bluebottle account

My public Bluebottle e-mail account (isilanes@bluebottle.com) has stopped 5k spammers so far (since 05/31/2005).

Every e-mail sent to that e-mail is checked for a human sending it, and senders that correctly identify themselves are permitted through. Any other is filtered out to a “Pending” list. I periodically visit that list, and check the non-spamm ones (a few, if any). The rest is put in to a “Blocked” list, and any further e-mail from these senders is quietly dropped (any time I connect to Bluebottle I see a message saying “213 messages thrashed” or something like this, meaning that since the last visit, these many messages were received (and dropped) from the already Blocked addresses (I guess).

So it is this “Blocked” list that has reached a count of 5004 addresses on it. Obviously, many more spam messages were received (more than one from each address). My first spammer in Bluebottle:

Kendra L. Brown
4chien@abacom.com
05/31/2005

Long time no see, Kendra!

Comments

Hello, WordPress

So this is my first post in WordPress. I just moved here from my Blogger account, for no special reason. It is not even clear that I will continue posting here (maybe I’ll go back to Blogger, who knows?), but my intention is to stay.

Time will tell if the choice was right.

Comments (2)

Wikipedia fundraising

The Wikimedia Foundation is raising funds again. You can read an appeal from the Board Chair, Florence Devouard, and the corresponding press release.

To contribute, click the banner below, and follow the instructions you’ll find in the page you’ll arrive to.

Click here to donate!

Comments

Basque ads with Ubuntu on them

The Diputación Foral de Gipuzkoa (local government of the province of Gipuzkoa in Spain) has a series of advertisings on TV for their i-gipuzkoa.net web site, within a campaign to promote the use of the Internet among the citizens.

The ads depict a family learning to use the net for different tasks, such as finding information or purchasing plane tickets. The remarkable thing is that the computer that the family is seen using boasts a GNOME desktop, apparently running under Ubuntu.

Below I show some screenshots of the videos, that are available for download in the “Videos” section of the i-gipuzkoa.net site. Underneath each picture there is a legend with the video it appears in, and the time (in minutes:seconds format) the image appears in the video.

Image 1 clearly shows that the desktop is GNOME, with its default top and bottom taskbars (only the top one can be seen in that pic), and the Ubuntu logo showing in the top-left corner. The windowing theme seems to be the default Ubuntu “Human” look. It is also apparent that the browser they use is Firefox.



1 – Video 2 (00:52)

Images 2 and 3 show that the browser window has been resized horizontally, so that the Ubuntu logo of the default background can be seen. It is hard to believe that the resizing of that window is casual. The resizing of the browser window (to show the Ubuntu logo) can even be seen in more than one video: e.g. video 8 (image 8).



2 – Video 1 (01:01)



3 – Video 1 (01:11)

The second video of the series shows the father and the son creating a web page for the father’s shop. To do so, they use Quanta+, as can be seen in image 4.



4 – Video 2 (00:42.36)

In some clips MS Windows is used (see image 5), but even there they use Firefox (see image 6).



5 – Video 3 (00:39.88)



6 – Video 3 (01:08.64)

Finally image 7 shows that in one clip OpenOffice.org is used to fill in some online document.



7 – Video 4 (00:50.64)



8 – Video 8 (01:05.44)

I find it highly significant that some official ads display such a prominent use of free software, to the extent of the window resizing for showing the Ubuntu logo, as I mention above. The simple fact that someone in the (ignorant) politic class has ever heard about Linux is a great step forward, I believe.

Comments

Euskaltel y sus tarifas

Da gusto ver anuncios de empresas que te cuentan que se preocupan por tí. Que mejoran contínuamente por tí. Que avanzan por tí.

Euskaltel es una de esas empresas. Una empresa que ofrece cosas nuevas constantemente, y que no para de mejorar el servicio y abaratar las facturas. Como muestra un botón. He encontrado un papel con las tarifas de Euskaltel a fecha de 11 de octubre de 2005, cuando acudía a un distribuidor oficial para contratar banda ancha en casa. Pues bien, me ha entrado curiosidad por compararla con las tarifas actuales, y los resultados los resumo en la tabla que sigue. Todos los precios están en euros (mensuales, excepto “Recarga”, que son por 4h), y sin IVA.

Servicio Tarifa a 11/10/2005 Tarifa a 07/10/2007
Tarifa plana 56kbps 15.03 17.54
Despega 300 23 23
Despega 3M 39 39
Despega 6M 75
Despega 8M 120
Despega 12M 75
Despega 24M 120
Por Volumen 1M 19.5 19.5
Recarga 300 5 5
Recarga 1M 7.5
Recarga 3M 7.5
Recarga 4M 14.5
Recarga 6M 14.5

Los servicios “Despega” son tarifas planas (desde 300kbps hasta 24Mbps). Los servicios “Recarga” se cobran por bonos de 4, 8 o 12 horas (que cuestan x, 2x o 3x. No hay ningún beneficio por adquirir bonos de mayor duración. La tabla muestra el valor de “x”). El servicio “Por Volumen” implica un tráfico total (download+upload) de menos de 4GB/més. Mencionar también (aunque la tabla no lo incluye) que Euskaltel ofrece ahora (y hace dos años no), un servicio de “Contrato”, en el que el consumo de banda ancha se paga por horas (¡menudo avance!).

Un análisis crítico de la tabla nos muestra lo siguiente: en “Despega”, los servicios de menor ancho de banda cuestan lo mismo que hace dos años. Los servicios más caros han mantenido el precio, pero aumentando la velocidad de la conexión. Esto es, en principio, positivo. Pero me gustaría saber cuántos particulares (estas tarifas son para particulares. Las empresas tienen otras tarifas), contratan una banda ancha de 24Mbps, pagando ciento veinte eurazos al mes (más IVA). El cliente medio (por ejemplo, yo), quiere una banda ancha digna (300kbps apenas puede llamarse digno en el año 2007), lo más barata posible. Por ejemplo, 1M a 20 euros/més. Pero esto no lo ofrecerán nunca; no porque nadie lo quiera, sino precisamente porque todo el mundo lo quiere, y por tanto dejarían de pagar más por otras opciones que no quieren, pero son “lo que hay”. Ahora mismo, Euskaltel ofrece unos lamentables 300kbps por 23 euros (más IVA). Si uno quiere más de 0.3Mbps, tiene que irse a 3Mbps y pagar 39 euros más IVA. Yo me conformaría con la mitad de velocidad (1.5Mbps) y la mitad de precio… pero no lo hay!

Más kafkiano aún es el análisis del servicio “Recarga”. Los precios siguen siendo los mismos que hace 2 años, también. Pero lo brutalmente irónico es que ahora te cobran por 1Mbps/4Mbps lo que hace 2 años te cobraban por 3Mbps/6Mbps. Han tenido el morro de bajar la velocidad del servicio, manteniendo el precio.

El que dijo que el capitalismo y el mercado libre hacen que las empresas mejoren sus productos y bajen sus precios que venga y me explique esto, porque yo no lo entiendo.

Comments

« Previous Page« Previous entries « Previous Page · Next Page » Next entries »Next Page »