internet

You are currently browsing articles tagged internet.

Hace unos días estuve hablando con unos colegas sobre el cine y las descargas y cómo podríamos remunerar a los autores de una forma medianamente justa y que a la vez la oferta sea atractiva tanto en comodidad como económicamente para la gente.

Ante todo, lo primero es que los títulos estén disponibles en streaming HD a través de la Red, con capacidad para varios idiomas de audio y subtítulos (igual que un DVD) y sin DRMs que te impidan verlo cómodamente en cualquier dispositivo. Si empiezas a ponerle restricciones incómodas a la gente que paga por el contenido, lo que consigues es que pase de pagar y se baje el DVDRip que al menos lo puede reproducir sin hacer malabares. Siempre diré que la clave para que la gente pague por algo gustosa es hacerlo más atractivo que la oferta gratuita – y si no, que se lo pregunten a los editores de libros de cocina.

A la hora de pagar, la idea la saqué de Flattr. A la gente generalmente le resulta poco atractivo tener que pagar un precio por cada contenido descargado, porque parece que poquito a poquito al final la factura se va a hacer enorme. Por ejemplo, si tuviésemos que pagar la conexión a Internet por MBs descargados o subidos, estaríamos continuamente pendientes de lo que gastamos y nuestra experiencia sería mucho más negativa. Ya no seguiríamos enlaces de la Wikipedia ansiosamente, no enseñaríamos a nuestros amigos esos vídeos de YouTube tan graciosos… Un rollo.

Si ponemos un precio fijo a pagar por película, aunque fuese bajo, pasaría algo parecido: trataríamos de ver sólo aquellas películas que tenemos alguna seguridad de que nos van a gustar, las que gozan de mayor y mejor promoción en los medios, y al final el pastel se repartiría entre menos gente, y sobre todo sufrirían los contenidos menos populares, los alternativos, lo que no ayuda nada a “la cultura” en mi opinión. En su lugar, una tarifa plana, aunque tenga un precio medianamente alto, es mucho más atractiva: ya no tienes miedo a ver pelis aunque no sepas si te van a gustar.

La manera de repartir el dinero de la tarifa plana es igual a la de Flattr: por cada contenido que ves, se destina una parte de lo que pagaste a ese autor. De esta manera, si pagaste, digamos, 20 euros y viste 10 pelis este mes, irían 2€ para cada peli. Además, para poder premiar las pelis que te han gustado más, o que pienses que se merecen mayor valoración por lo que sea, puedes aumentar el número de “particiones” que destinas a esa película (una por defecto), o incluso realizar una donación extra de tanto dinero como quieras.

Muchos pensarán que al final lo que irá a parar de cada usuario por película será una miseria, pero también hay que pensar en el potencial aumento del número de contribuidores que antes no pagaba por la peli. Ley de oferta y demanda, vaya.

Por otra parte, soy consciente de que seguirá existiendo gente que consiga el contenido por otras vías y no le dé un duro a los autores, pero, como digo muchas veces, de lo que se trata es de que una parte de la gente que ahora disfruta del contenido sin pagar lo acabe haciendo pagando porque considere que merece la pena.

Tags: ,

If you have ever tried to play Starcraft on Linux (using Wine) over Battle.net you must have seen that the interface looks very bad and the text is very hard to read. In my case, I was even unable to sucessfully start a game. So I and my friend decided to try a “local” game using the Hamachi tunneling tool.

How does this work? Starcraft is an ancient game (1998!) that only allows multiplayer gaming over Battle.net, Direct Cable Connection (who has ever used this?) and a Local Area Network. What Hamachi does is to establish a (virtual?) link between computers on the Internet so they appear to be on the same local area network. This is what is called a Virtual Private Network: “virtual” because the computers are not really into the same local network, but they appear to be, and “private” because you can configure (using a password and encryption) who can connect to the network.

Why Hamachi? Because it’s easy to configure and use. The drawback is that the Linux support is a bit limited and they bug you to buy the premium version everywhere; but it works. Let’s go to the meat. Since I use Debian, I will describe the process for Debian-like systems here.

  1. Download and install the Hamachi² Beta client for Linux. Before being able to install it, you’ll need to have the LSB package installed on your machine. On Debian Squeeze, “aptitude install lsb” will work. Once you have LSB installed, you can do “dpkg -i logmein-hamachi_2.0.1.13-1_i386.deb” (or any greater version) to install the client.
  2. (Optional, you can use Hamachi without it). Install the Haguichi graphical frontend. The Hamachi² client for Linux is command-line only (see this page for instructions about how to use the command-line client), so Haguichi can make our life easier. Go to its download page and choose the option you prefer. I used the Ubuntu deb package and “dpkg -i <package-name>”. I’ve personally found Haguichi quite sluggy.
  3. Create a LogMeIn account from this page. You will need it to create and manage your own virtual networks. Reply to the confirmation email and such.
  4. Create a LogMeIn network using the web interface. Once you’re logged in (in https://secure.logmein.com), select “Networks” in the left-hand menu, then “Add network”. Enter a cool network name and select “Mesh” as network type. Edit the network and copy (or write down) the network ID you’ll find under the “Members” tab. Under “Settings” select either “Must be approved” if you didn’t specify a password to join the network, or “Accept automatically” if you decided to do so.
  5. Tell all your mates to join the network you created using the cited network ID, and do so yourself too. Through the command-line, it would be something like “hamachi join <XXX-XXX-XXX> <password>”, and straightforward using the Haguichi graphical interface. If you have set the join requests policy to “Must be approved”, you will have to get to the network edit page and approve all the join requests.
  6. Once you’re sucesfully connected to your mates, you’ll see a green icon next to their nicknames, or them listed under the appropiate network, with an asterisk to their left after “hamachi list”.

You’re now all connected using a (virtual) network interface usually named “ham0″. If you do “ifconfig” (as root), you’ll see this interface is listed and there’s an IP like 5.171.180.167 associated to it. There’s still one thing left to do. To find games, Starcraft sends what is called a “broadcast” message to all the clients connected to the network. The problem is that it doesn’t send the broadcast over all interfaces, but only over the first one available, which is usually the one you use to connect to the Internet. In Windows, this is solved by moving the (virtual) interface Hamachi uses (ham0 in Linux) to the top of a list (I’m not sure what it exactly does), or using a wrapping software called ForceBindIP. In Linux, I solved it doing the following.

In Linux, the way the system decides which network interface to use is via the so-called routing table. How does this work? Depending on the format of the IP address you’re trying to get to, it uses one interface or the other. This is called subnet masking, and it’s like using prefixes in phone numbers. If you have a home network, which means simply computers connected to the router used to access the Internet, you’ll have an internal IP of the type 192.168.1.34. The first part, “192.168.1″ is the prefix that the system will use to determine that the IP is local and thus don’t try to send it over the Internet, but keep it local.

You can inspect your current routing table typing “route -n” as root. What Starcraft does to find games is to send a broadcast packet to the address “255.255.255.255″, so what we have to do is to route this (broadcast) address to our Hamachi interface. As root:

route add -host 255.255.255.255 dev ham0

Done! Fire up Starcraft and enjoy. The routing table is not kept after restarts by default, so you’ll have to add the previous route every time you restart your system and want to play, or place it in some configuration file read on startup (see your distro documentation).

Tags: , ,

The Free Culture X Conference and Unconference took place the past 13th and 14th of February at the George Washington University, in Washington, DC. I had the privilege to attend thanks to a travel grant from the generosity of Google, Mozilla and Shareable.

As they define it, its vision is to bring together student activists and free culture luminaries to discuss free software and open standards, open access scholarship, open educational resources, network neutrality, and university patent policy, especially in the context of higher education.

Below there is a summary of the notes I took during the conference. It doesn’t aim to be complete nor precise, but I hope it will provide an idea of what did we discuss about.

During the different keynotes and panels, we used, apart from the classical hand-up, the backchan.nl tool for audience intervention during conferences. Better than a massive Twitter, IMO.

After a short introduction, we started discussing about the politics of open networks. It was pointed out that we need to come up with a clear definition of net neutrality and push the ISPs to implement the policies we want. The politics-related meetings about net neutrality often include a lot of industry representation, but seldom people from other sectors of the population, which are also affected, as university campuses or consumers’ groups.

The three-strikes law to cut the access to the Internet can become extremely harmful in contexts where it’s being used as a platform for services like VoIP or TV, disconnecting the affected user completely, unable to make even emergency calls.

In general, the existence of a competitive market of ISPs, like the one in England, contributes to the natural enforcement of the net neutrality.

Controversely, one of the panelists, Timothy B. Lee, exposed his ideas about how to preserve the net neutrality without law regulations. You can read more about his ideas, and a quite long and in-deep paper, in his blog.

I’ve recently read bad news about net neutrality in Spain. Some of the major ISPs operating in the country, like Telefónica or Vodafone, claim a monetary compensation from companies that use their infrastructures for their business, like search engines, mobile apps distributors, or VoIP companies. I personally oppose the Internet to become another TV.

Next, Pat Aufderheide directed a keynote about the concept of fair use to reuse and remix existing culture. Fair use is perfectly legal in the US and should be encouraged, even enlarging or modifying non-copying policies for homework in schools. There’s a lot of interesting material about fair use in the Center for Social Media website.

Moving on to the topic of Open Access and Access to Knowledge, it was pointed out that Open Access in public universities is low-hanging fruit and we should contact these universities to encourage them to adopt this model. The Open University Campaign, a Students For Free Culture project, contains valuable information about this. Also, the Right to Reseach Coalition is an excellent source of info about how to demand the research work paid with our taxes to come back to us without having to pay additional unfair fees.

Unfortunately, some countries lack from copyright exceptions for libraries and universities, and the changes in the law, usually promoted by the industry, always tend to make it more restrictive.

We need to take the discussion about Access to Knowledge from experts to the “family dinner”, explaining current common behaviour that is or would be illegal under the current laws, to make the public aware of how are they affected and take part in the legal discussions about copyright laws.

Also, it was pointed out that personal meetings, faxes and phone calls are much more effective than emails or Facebook campaigns to make the politicians hear our opinion.

The next panel was about Open Educational Resources (OER). Eric Frank, from Flat World Knowledge (FWK), told us that textbooks are a major portion of the tuition costs in some countries. Flat World Knowledge provides a platform to create, publish and distribute quality, peer-reviewed, customizable and flexible-licensing books that are freely accesible online and affordable as printed copies. The people from FWK have observed that, even when there’s a free printable copy of the book available, some students prefer to buy the book, which makes this publishing model presumably sustainable.

The Michigan University OER Team (Open.Michigan) is working on an impressive list of projects to enable groups and individuals to openly share their work. These are mostly collaboration tools, supporting the idea of that the knowledge is not just “transferred” from teachers to students, but something socially constructed. Some of the most interesting are dScribe, a framework to help faculty staff to gather available educational material, clear possible copyright restrictions over it (so it can be published legally under certain circumstances) and reuse it to create and publish new OERs; or OERca, the free software platform that powers most of the dScribe framework.

Finally, Timothy Vollmer, from ccLearn, told us about how CreativeCommons is helping to the development of OERs, the available tools for adequately tag content for further indexing and discovery.

Tags: , , ,

Update! I’ve extended and polished the library and published it as pyyahoofinance at github. Feel free to critizise my coding style and laugh at me, and of course to use it and/or contribute.

I’m working on a project where I need to analyze the ups and downs of different stock values along the history and find correlations between the contraction and expansion of the market, the evolution of the indexes and simulate certain trading strategies to become rich and famous. ;)

Yahoo! Finance lets you download historical financial data in CSV, but only provides data for one stock at a time. Clicking, saving, cutting and pasting is always tedious, error-prone and a waste of time in general, so I’ve taken advantage of my good friend Python to write a script to plunder (yeah, I’m a pirate, you know ;) Yahoo!’s Standard & Poor’s 500 index in a couple of minutes and save it in a space-separated-values file named “results.txt”.

You can then generate beautiful charts like this one:

Code follows:

#!/usr/bin/python

import urllib2

CLOSE_COLUMN = 4 # the index of the column containing the close value
TICKER_COLUMN = 0 # the index of the column containing the ticker name

# get the Standard & Poor stock tickers
tickers = []
for n in range(0, 500, 50):
    url = urllib2.urlopen("http://download.finance.yahoo.com/d/quotes.csv?s=@%5EGSPC&f=sl1d1t1c1ohgv&e=.csv&h=PAGE".replace('PAGE', str(n)))
    data = url.read()
    stocks = data.split('\r\n')
    for stock in stocks:
        try:
            ticker = stock.split(',')[TICKER_COLUMN]
            ticker = ticker.replace('"', '') # remove surrounding quotes
            if ticker: # not empty ticker
                tickers.append(ticker)
        except IndexError: # empty row
            pass

global_closes = {}

for ticker in tickers:
    print "getting data from ticker: %s" % ticker
    url = urllib2.urlopen("http://ichart.finance.yahoo.com/table.csv?s=%s&a=00&b=1&c=2000&d=00&e=1&f=2009&g=m&ignore=.csv" % ticker)

    history = url.read()

    measures = history.split('\n')
    measures = measures[1:-1] # the last row is empty and the first
                              # one contains the labels

    closes = [measure.split(',')[CLOSE_COLUMN] for measure in measures]

    global_closes[ticker] = closes

columns = [[ticker] + global_closes[ticker] for ticker in global_closes.keys()]

rows = zip(*columns)
out = open('results.txt', 'w')
for row in rows:
    out.write(' '.join(row))
    out.write('\n')
out.close()

Tags: , , ,

Bulletproof Web DesignWhen I bought that book I didn’t know it was going to be so good. In less than 300 pages, Dan Cederholm shows you how to build bulletproof websites by replacing old-style (tables, spacer gifs and so) messy code with clean and meaningful XHTML and CSS. Bulletproof means flexible design and content easily readable by any device, including assistants for visually impaired people.

It’s not a book for newbies nor a CSS reference, but if you already know the basics and want to get some advanced skills, that’s your book. Each chapter starts with an unbulletproof approach to do something, explaining why it’s not bulletproof, and then a bunch of ways to accomplish the same design using bulletproof approaches, explaining their pros and cons and why are them bulletproof.

In eight chapters you can learn how to design and implement flexible text, scalable navigation, expandable rows, creative floating, indestructible boxes, meaningful structure without CSS or images, stylish tables, fluid and elastic layouts, and sum it all up in a final master chapter. Dan also gives useful references to online articles for further reading.

What I’ve personally learned is that you don’t need a lot of markup to create really good-looking designs. Forget about tons of divs and spans and start styling your pages like the pros!

Tags: , , ,

These days I’m continously hearing complaints about lack of privacy on the Internet due to social networks, collaborative bookmarking, mail scanning and more.

People are often afraid of putting their sensitive data online because they don’t trust the sites’ policies. They might think these hosting companies are going to sell their data to the spammers, track their web searches, and run to their homes to arrest them.

Well, I don’t have any problem at all with publishing my bookmarks online, sharing what I’m doing with my friends on the social networks or, why not, speaking my mind on this blog, because I don’t want to hide all that, I would love everybody interested to read it and be happy. Of course, if I had something to hide, the last place where I would put it is a social network or any other public site on the Internet: I’d encrypt it in a piece of paper, or better, in my brain.

Feel free to share your thoughts in the comments… if you don’t worry about being indexed by Google! ;-)

Tags: ,

Last week I started working (earning money :-P) for Zassh.com, a dot-com company which develops a social networking website with the same name about sports. It looks like my future is bound to the social web… or perhaps the Internet is what is bound to the social web.

The site is powered by Plone, IMHO, the most powerful CMS available in the open source world today. My role inside the company as a Junior Programmer is to develop and code the different parts of the website. There’s a lot of work to do, and when I say a lot, I mean a lot. We’re currently finishing the code of the 2nd stage of the site, which will allow users to surf the site without signing up, rating photos, and much more features I don’t remember right now.

I’m really happy about working with a tool I like, and I feel I’m going to learn a lot from that. Happy ploning!

Tags: , ,

This is one of the web apps you wonder why nobody has invented it before. Have you ever tried to arrange a party or work dinner for a lot of people? It’s so difficult to find a day when everybody can attend…

Doodle has come to help you! It provides you a easy-to-use schedule and poll utility for free. Steps are easy:

  1. Go to Doodle.
  2. Click create poll under Schedule an event…
  3. Enter the poll title, description, your name/alias and, optionally, your mail to be notified whenever somebody participates in your poll.
  4. Select and enter which dates and times would you like to be available.

That’s all! Doodle will provide you two (private) hashed links: one you can mail the potential participants for them to enter their preferred dates for this event, and one to edit and delete the poll if you need it.

Tags: ,



¿Alguna vez se han preguntado como se decía Mozilla? ¿O lo raro que era pronunciar “weird”? ¿No entiendes el alfabeto fonético? Pues hay gente que ya se ha dado cuenta de que hay un pozo (de desarrollo o de dinero) en este tema y por eso han creado Forvo.

¿Qué es Forvo? Pues un diccionario colaborativo que, en vez de almacenar definiciones de los distintos términos, incluyendo nombres, almacena grabaciones de su pronunciación, en el idioma original y en todos los que salgan.

Personalmente, me parece una idea genial. La interfaz es comodísima, al estilo 2.0, y no hace falta registrarse ni para enviar grabaciones ni para escucharlas, aunque si lo haces puedes recibir notificaciones cuando la gente escucha lo que grabaste. Los términos se agrupan por categorías y por idiomas, de forma que podemos incluso dedicarnos a escuchar las palabras de un determinado idioma que no sepamos como se pronuncian, para aprenderlas. Un campo arriba a la derecha te permite realizar búsquedas en toda la base de datos.

Grabar no puede ser más sencillo. No hace falta instalar ningún programa. Simplemente seleccionas la palabra que quieres pronunciar, o la introduces como nueva tú mismo, y luego la grabas a través de una interfaz en Flash, en la que puedes repetir todas las veces que quieras hasta que creas que te ha quedado bien.

Como nota agradable, cuando te conectas puedes ver una lista de palabras que necesitan pronunciarse en tu idioma principal, de forma que el portal puede llegar a ser muy útil para pedir conseguir ayuda a la hora de aprender la pronunciación de un idioma. Añades las palabras que no sepas como se pronuncian, y esperas a que alguien se anime.

En definitiva, una nueva muestra de lo que la Web 2.0 puede dar de sí.

Tags: , ,

CC by nc sa de Ron Schott en Flickr

Llevaba tiempo intentando no soltarlo, porque no me gusta (mentira) ir contando por ahí cada cosita que me pasa pero… ¡Ya es oficial! He entrado a formar parte del equipo de gestión de internacionalización y localización de Flock, lo que se traduce en que voy a ocuparme de:

  • Mejorar la comunicación entre Flock y los equipos de localización.
  • Ayudar a estos equipos a resolver los problemas que se planteen.
  • Buscar gente que traduzca a nuevos idiomas.
  • Promocionar las versiones traducidas de Flock.
  • Intentar hacer más cómodo el proceso de localización.

En definitiva, conseguir que Flock sea un éxito en los países no angloparlantes. Estoy muy contento de entrar a formar parte de un proyecto tan ambicioso, y espero aprender mucho a lo largo de mis múltiples tropiezos.

Me gustaría dar las gracias, aunque no me lean ni me entiendan, a Mike Dosik, por ayudarme a llegar donde estoy y ser siempre un tipo tan amable y atento, a Zbigniew Braniecki (aka Gandalf), por ocuparse del trabajo duro tanto tiempo, y a toda la gente que se esfuerza día a día para que Flock salga adelante, especialmente a los amables personajillos que alegran el ambiente en #flock.

¡Nos vemos en la bandada!

Tags: , , ,

« Older entries