General

You are currently browsing the archive for the General category.

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.

Related articles

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).

Related articles

Tags: , ,

Plone 3 CookbookWhen I received a review request for Plone 3 Products Development Cookbook from Packt, the first thing I thought was: How didn’t I know about this book before, and who are the authors? I’d certainly not heard about them (Juan Pablo Giménez and Marcos F. Romero) nor this upcoming book ever before, but it seems there are a lot of Plone books being written behind the scenes by people not hanging at #plone too. :)

The list of reviewers, comprising Martin Aspeli, Alec Mitchell and Emanuel Sartor, being as they are core and very active developers, automatically made me think this was going to be an accurate and up-to-date book.

This is the second book in the market about modern development with Plone, after Martin Aspeli’s Proffessional Plone Development. And after having skimmed through it (if you try to proof-read this kind of books from top to bottom your brain can explode), I can say that it’s probably going to become a classic invaluable reference as PPD already is.

Plone 3 Products Development Cookbook spans over 350 pages full of useful tips, set-up instructions and step-by-step coding approaches to solve specific use-cases (that’s why it’s called “cookbook”). Even if the book title says Plone 3, I think it’s just a Packt policy – one can be sure that most of the contents (if not all them) will be valid for Plone 4 too, and the authors even included some special instructions for Plone 4.

The book show-cases the development of an hypothetical digital newspaper with Plone, covering the whole process: From installing Python and Plone in Linux or Windows (Mac OSX specifics aren”t covered in this book) to preparing the production environment, passing through the installation of useful development tools like ipdb, DocFinderTab or plone.reload, creating content-types using ArchGenXML, paster-aided plain Archetypes or Dexterity, internationalizing and localizing the product, building XML-RPC interaction with other systems, and more (see the full table of contents). All the features coded include automated tests, what is a Very Good Practice and will help devs to be less afraid of writing tests.

The book is organized in a recipe-list fashion, in chapters, every recipe including “getting ready”, “how to do it”, “how it works” and “there is more” sections. Sometimes the separation of concerns between these sections is not very clear, but one can expect a series of short steps in “how to do it”, to use as reference, and some brief explanation in “how it works”.

In my opinion, this is not a book for beginners. Even if there are some explanations in the “how it works” section of each recipe, they are almost always quite brief, and can certainly make you have to re-read and Google for more documentation often, if you really want to understand how the Zope Component Architecture, ZPT, skin layers, z3c.forms, etc. work. I see it more as a reference book for more advanced developers, who can also discover in this book some tricks and approaches they didn’t know before – I certainly did!

Summing up, this is a really useful reference for folks with previous developing experience in Plone. My sincere congratulations to the authors for their hard work to make this happen – I’m sure it will hit the shelves of every active Plone developer!

Related articles

Tags: , ,

Related articles

Tags: , ,

Internet no será otra TV
Este lunes 19 de abril se celebra en España una Reunión Informal de Ministros de Telecomunicaciones y Sociedad de la Información de la UE en la que pretende aprobarse la propuesta Española por una Europa Digital, también denominada Estrategia de Granada (ciudad en la que tiene lugar el evento).

Coincidiendo con este acto, FACUA-Consumidores en Acción, ExGae, Red Sostenible y FCForum, que agrupan, entre otros, a cerca de un centenar de organizaciones nacionales e internacionales defensoras de los derechos ciudadanos, celebrarán a las 11.00h en Sevilla (sede de FACUA, c/ Bécquer, 25A) una rueda de prensa para analizar el contenido de la propuesta española y dar a conocer los graves peligros que implica.

Apoyándose en la campaña INTERNET NO SERÁ OTRA TV diseñada por el conocido dibujante Miguel Brieva, estas entidades muestran su preocupación por las presiones que los lobbies de las industrias de las telecomunicaciones y la cultura vienen ejerciendo sobre Bruselas y los gobiernos de los Estados miembros para lograr el desarrollo de políticas a la medida de sus intereses económicos que perjudican a los ciudadanos y ciudadanas.

En el acto se presentarán las conclusiones de un estudio a nivel mundial sobre las políticas de propiedad intelectual en 34 países realizado por Consumers International, la mayor confederación de asociaciones de consumidores del mundo, de la que forma parte FACUA.

Related articles

Tags: , , , ,

Update: This project has been accepted! Martin Aspeli will be my mentor. :)

For those of you not familiarized with Plone nor web development nor computers: I want to press a lot of buttons to make the pattern of lights shown in a metal rectangle change however I want. (credits to xkcd #722 ;)

For the rest of you, here goes my Google Summer of Code 2010 student proposal!

Core tiles development

Deco is a revolutionary page composition system heavily based on semantic HTML and middleware software (either WSGI or using a post-publication hook), which could probably be shipped by default with Plone 5. The underlying Deco architecture, based on the concepts of panels and tiles, needs a set of core tiles (image, video, navigation tree, content-type field) to be inserted in the page.

What are you studying, and where?

I’m a Physics student from the Universidad Complutense de Madrid, Spain. I’m studying now in Stockholm (Kungligla Tekniska Högskolan) as an Erasmus student, and will study in Barcelona next year within another exchange programme (Séneca).

What is the most interesting programming project you’ve undertaken while at university?

I’ve coded a C++ app to solve the minesweeper game using different chained strategies.

Have you ever contributed to an open source project? If so, give details.

(Remember, filing bug reports and writing documentation are every bit as much contributions as writing code)

I’ve contributed to:

- Flock: Bug reports and translations to Spanish, as well as trying to lead the l10n team for a while.

- Mozilla: Providing help in the Mozilla Hispano (community website) forums, as well as writing some end-user documentation and a localization QA application in Django.

- Alqua: Wrote part of the code to use LaTeX templates written in the Cheetah template language to generate quality documents.

- Plone: Contributed and managed developer documentation. Leaded efforts to write documentation for the upcoming Plone versions. Reported a bunch of bugs, and fixed anohter (coding).

Have you used Plone before? What for?

Yes, for the Alqua website, in my first job (Zassh website), working with the Plone community and in my current job in Webworks.

Have you spoken to anyone in the Plone community about your project? Who?

Yes, Martin Aspeli, Geir Baekholt, Matthew Wilkes, Alexander Limi, David Glick, Rob Gietema and I guess some others I don’t remember right now.

What is your project idea?

This is the most important bit, so be as detailed as you can.

Deco is a new and exciting new way of composing, and I’d say that even theming pages and a website. It allows the user to create flexible grid-based layouts for the contents directly through the web without the limits of portlets and viewlets positioning and unifying these two concepts through the idea of “tile”.

Some sample tiles have been developed as a proof of concept (example.deco), but we need to develop a set of standard core tiles, including the so-called “application” ones like Text, Navigation, Image, Video, Calendar, Login Box, Search Box, Map, RSS Feed or Comments, and the field-type one, which can represent fields like Title, Description or Date. These last one would be probably integrated with Dexterity.

I want to create all these, and I think that we will find and solve a lot of issues underlying the current architectural Deco code in the way. The collective.tinymcetiles product, already usable, will allow us to insert tiles in Rich Fields and therefore test them.

At the same time, most of the infrastructure and API for creating, storing and displaying tiles is already completed (plone.tiles and plone.app.tiles), as well as the system to merge and render panel layouts (plone.app.blocks), but we still lack a system to store and manage site and page-wide layouts. I want to work also on the design and implementation of this system, with the help of my mentor.

Finally, and keeping in mind the radical change of concept Deco involves, I’d like to write quite a lot high and low-level documentation about how the whole system works, ensuring a smooth transition curve for people already used to the old way as long as newcomers.

Please complete the following sentences about how you see the state of the project at different points in the timeline:

At the start of the official coding period (i.e. a month after the accepted projects are announced) my project will be …just about to start after having read the documentation about the different packages involved and played with them, creating some test tiles and some test Dexterity content-types, to understand better how they work.

3 weeks into the official coding period my project will be …having coded an alpha version of most of the application tiles: Image, Video, File, etc. These tiles can work with Archetypes content types and collective.tinymcetiles.

Half-way through the coding period my project will be …having coded an alpha version of a sample field tile. These tiles would extract the data from a Dexterity content-type. example.deco already implements a proof-of-concept for a field tile, but this implementation needs to be rethinked according to M. Aspeli. Field tiles won’t probably work well with with collective.tinymcetiles, but Rob Gietema (from 4Digital) is already working on the plone.app.deco package to support this.

3 weeks from the end of the coding period my project will be …having polished the previous tiles and started working on a Dexterity “Page” content-type to be able to insert field and app tiles in it without collective.tinymcetiles.

At the end of the coding period my project will be …finished working on the Page type and the previous tiles.

3 months after summer of code finishes my project will be …hopefully continued to fix bugs and improve it! It will need to if we want it to make into Plone 5.

Do you have any other commitments during the summer of code period (i.e. between June and August)?

I plan to travel for holidays for at least a week. I also have to move from Madrid to Barcelona, so I’ll need to look for an apartment there and probably will be busy for a week or so till everything settles down again in my life. :)

I’ll also attend the Plone Symposium East 2010 at the end of May.

I also plan to attend the Plone Conference 2010 this Autumn.

Related articles

Tags: , ,

One of the first things you have to keep in mind when considering to get this book is the target audience. If you’re a hard-core developer who keeps Proffessional Plone Development under your pillow, this book might be a bit too “soft” for you. It’s targeted to integrators with little experience in Plone who want to learn about how to perform certain tasks, from publishing an usable events calendar to create an on-line form for visitors’ comments.

Both the author, Erik Rose, and the technical reviewers are well known and respected in the community. I’ve chatted more than once with two of the reviewers, Steve McMahon and Denys Mishunov, and I know they’re quite skillful and competent, so you can expect the book to be correct and well-written.

I must admit that, at first, I was a bit annoyed with the step-by-step recipe-style of the book. Being a Physics student, I’m used to read texts where the main points of the theory are explained, but the step-by-step procedure is often left as an exercise to the reader. Having to follow closely a list of steps makes me feel like a script-kiddie: somebody who executes a series of steps without actually understanding what is she/he really doing.

However, Erik has taken care of providing a lot of contextual explanation about the steps, with comments about the different options you have and why would you prefer to choose one or another. Moreover, the just-follow-these-steps approach is not so heavily used after the two first chapters.

Although the title of the book suggests that people in the educational context are its only target public, you can learn a lot from its suggested approaches even if you aren’t into education. Being very, very practical, it covers a freaking impressive list of tasks/features: making academic courses available on-line, a directory of personnel, setting-up a blog and a forum, publishing audio and video, creating forms easily, theming a site and managing a production system.

I wouldn’t have covered the theming and the sysadmin stuff, since it’s quite technical and there are already (or are coming) good book references on these subjects, including the Plone 3 Theming by Veda Williamson, Practical Plone 3, or the upcoming Plone 3.3 Site Administration by the popular Alex Clark. By the way, Alex, please tell Packt that this title is not attractive at all marketingly-speaking — people will think that the book only applies to 3.3!

Unlike other books, which are quite bare-Plone centered, a lot of interesting add-on products are documented, more or less extensively: FacultyStaffDirectory (of which Erik is an active contributor and therefore even provides tips about future development!), p4a.Calendar, Scrawl, QuillsEnabled, PloneBoard, collective.flowplayer, p4a.video, p4a.audio, PloneFormGen, z3c.jbot and CacheFu, among others.

Erik doesn’t simply provide general technical manager advice, but also tells you about good practices for content editors based on his previous experience and known pitfalls. What is even more impressive, he sometimes points you to some tickets in Trac about open issues! While this would be more suitable for on-line documentation, it reflects the active involvement and time Erik has spent on investigating what he’s writing about. Good work, Erik!

The book is full of evangelism, specially in the first chapter, where it comes in loads. While it shows that Erik (and the reviewers?) is really passionate about Plone, I guess that who bought this book is looking for info about how to use the product, not marketing stuff, and perhaps these pages could have seen better use with some images, more extensive explanation of a certain feature, or just removed and the price of the book lowered. But this is only the opinion of someone who’s already convinced of the coolness of Plone. Erik also takes the opportunity to expose his political view about the issues with buildout, installation and packaging.

The writing style is clear and always fun. Sentences like “Who can resist puppies? They are heart-meltingly cute and loads of fun, but it’s easy to forget, when their wet little noses are in your face, that they come with responsibility. Likewise, add-ons are free to install and use, but they also bring hidden costs.” make you smile and remind you that some people in the Plone community have a good sense of humour and are crazy enough to publish this kind of stuff in a technical book. :)

Kudos to Erik — while I was certainly biased about reading a book for non-developers and just for Education, you managed to make me learn new stuff and enjoy doing so!

I’d like to thank Packt Publishing for providing me a free review copy of the e-book for my reading pleasure. The 2nd chapter, Calendaring, is available from their site free of charge, in the case you want to take a peek before considering to get the book.

Related articles

Tags: , ,

The second day of the Conference was named the “Unconference” and consisted on a series of open workshops proposed by the Conference attendees. The list is quite long and impressive, but at each time there were four or more workshops taking place simultaneuslly, so I wasn’t able to attend them all. ;)

Below you can find some notes on the ones I participated in.

Hacking the Hill

This workshop was about who you should contact if you want to influence the political decisions in your state inside the USA. People usually contact their most local representative, but what is important is to influence the representatives who are part of the committees where the topics you’re interested in are discussed.

The most effective method to influence their decisions is to ask them for a physical appointment and talk to them to explain your point. They don’t directly watch their heavy-loaded mail account nor Facebook (:P), but conversations can change minds!

Opensecrets.org is an amazing website where you can find a lot of data, mainly economic, about politics, politicians and lobbies. Under Politicians & Elections → Congress you can find a list of the current representatives, and if you click on their names, the committees assignments.

On the Spanish side, the Hacktivistas group maintains a very interesting wiki page where who is who in the Copyright politics game is described. Also, they’ve recently published an article about the anatomy of the Special 301 Report lobby.

Charter for Innovation, Creativity and Access to Knowledge

This workshop versed about the already (I hope famous) Charter authored during the 2009 Culture Forum in Barcelona. While we often are tempted to point out the bad and worse stuff of the current legislative initiatives, this Charter aims to be a positive reference document for discussing Copyright, A2K and Net Neutrality topics.

It is the work of more than one hundred experts and it’s always being improved. The current version 2.0 has been endorsed by dozens of individuals and organizations, some of the most popular listed at the end of the Charter.

Michael Johnson pointed out the existence of a similar document, the Libre Society Manifesto, by David M. Berry and Giles Moss. While (IMO) the purpose of this last document is different, I’m sure we can take ideas from it to include in the Charter, and of course welcome the manifesto’s authors to join us.

During the presentation we had a very interesting conversation with one of the attendees, a photographer who was publishing her work under CreativeCommons licenses. She told us that she usually faces problems with her clients since they’re not used to this (new?) way of publishing photos, and they often look for sole rights.

We arrived at the conclusion that this open-licensing is opening a new model of payment orientation: whereas the closed-licensing (all rights reserved, can’t copy nor redistribute, etc.) built the value around the content, the open-licensing is building the value around the work itself. Instead of paying for a piece of content, you pay the people who create this content to create it.

While it can sound rather new, this has been the most natural model in the Free Software world for a long time now. Since most Free Software is provided free of charge, as a consultant you can only charge a client for the work you have to do in order to adapt and customize it to his needs. One usually releases the resulting product, when appropiate, as Free Software, so instead of having to reinvent the wheel over-and-over again, other people can just pick up your work and extend it, which is much more efficient.

For example, I work with Plone, a Content Management System widely used in government-related and NGO sites. The amount of time the Plone contributors have spent on it must be really impressive, but it’s provided free of charge, gratis! This is sustainable because we use Plone to build websites, and the better and more powerful Plone itself is, the easier it is to adapt it to the customer needs, and so the more clients that are willing to hire these skillful developers.

This also encourages a new strategy to develop products: instead of developing the product and hoping to be able to sell it to enough clients to compensate the investment, you wait until customers have commited enough funding for the development. This way you have sold the product before developing it and therefore reduces the risk of supreme failure.

Open Educational Resources tools

The open.michigan team presented the dScribe framework to extract atomic content from existing material, edit its metadata, clear copyright issues and create new material. They told us that the software powering the framework is still a bit hard to install, since it was developed to work in the Michigan University, but they can open an account in their servers for you if you ask them.

One of the problems we’re facing is how to create, maintain and publish the contents in a way they’re easy to comment and contribute to and, at the same time, high quality. One of the most advanced tools to generate high-quality documents is LaTeX, but the way it works makes it a bit hard to be converted to HTML and published in the web, where contributing is much easier and accessible than having to dive into the LaTeX source.

In this sense, Alqua is investigating plasTeX, a modular and very extensible LaTeX document processing framework written in Python. The aim is to be able to publish LaTeX documents in HTML and provide a per-paragraph and per-formula comment system like the one you can see in the Mercurial Book.

Another approach is to use a markup syntax and a wiki-style site to compose and comment the document and make use of some scripts to convert the markup to LaTeX when generating a high-quality and ready-to-print version of the content. The testing/beta veresion of Wikipedia already allows you to generate a beautiful PDF-book from a set of articles of your choice, so it’s clear that this approach is reasonable.

FLOSS in scientific education

The goal of this workshop was to ask the attendees about the approaches to free software taken in their educational environments, related to Science.

A lot of universities are using and teaching their students to use privative scientific software, like Matlab, Maple or Mathematica. These universities often have to spends huge amounts of money on multi-PC licenses for the software, or even encourage students to install non-original copies of the software in their PCs. Moreover, the internals of these software pieces are hidden to the students, in clear contradiction with the scientific spirit.

There already exist quite a lot of Free Software replacements for the privative counterparts, like you can check in the Open Source as Alternative website. One of the most interesting emerging frameworks is Sage. As their developers define it, it is a free open-source mathematics software system that combines the power of many existing open-source packages into a common Python-based interface.

The combination of different packages provides the most efficient way to deal with each type of problem and warrants interoperability. For example, Sage can use Maxima to solve a differential equation symbolically and Matplotlib to plot the results, all under the hood.

Another impressive and very convenient feature of Sage its Through-The-Web interface. You can set-up a web server for some students to use Sage in a collaborative environment from their own homes without installing anything on their computers. Try it and break your jaw at the Sage Notebook website.

Related articles

Tags: ,

Son varias las razones que me llevan a solicitar este intercambio.

La primera de todas es que Barcelona es una ciudad que, desde la primera vez que la visité, me ha resultado tremendamente atractiva. Mis visitas han sido siempre bastante cortas y no he tenido demasiado tiempo para dar vueltas por la ciudad, pero lo poco que he visto me ha parecido llenísima de vida y de gente muy variada. Me encantaría poder disfrutar de casi un año allí.

Además, Barcelona está situada en un lugar estratégico en España, muy cerca del resto de Europa, lo que me permitiría visitar países que aún no conozco bien, como Francia.

El catalán, si bien en un principio puede parecer un problema porque no lo hablo aún, no es si no una oportunidad para aprender un idioma más.

Este año estoy disfrutando de un intercambio Erasmus en Suecia y conociendo gente proveniente de todo el mundo: su cultura, su forma de comportarse, su gastronomía, etc. Esto viene muy bien para abrir la mente, para ampliar el enfoque que uno tiene del mundo. Un intercambio SICUE tiene un ámbito más limitado, pero aún así creo que sería interesante conocer en profundidad cómo es la vida en otra ciudad de España.

Por otra parte, estudiar en otra universidad me da la oportunidad de estudiar asignaturas que no se imparten en mi facultad y conocer formas distintas de exponer un mismo tema, de evaluar, etc. Al igual que con las personas, esto ayuda a darse cuenta de que las cosas se pueden hacer de otro modo, con sus ventajas y sus inconvenientes.

Por último, ésta es una oportunidad única que se me presenta para estudiar fuera de mi cuidad gozando de una beca (Séneca, que tengo intención de solicitar a continuación) que me permitiría vivir cómodamente sin tener que quitar tiempo de mis estudios para trabajar ni que seguir dependiendo de la economía de mi familia.

Related articles

Tags:

I’ve spent some time this weekend updating the Plone Help Center product to work in Plone 4, specifically in Plone 4.0a2. Some reasons/excuses:

  • I had free time.
  • I love coding for fun.
  • I wanted to experience myself how easy/hard can be to updating a Plone 3 product to work in Plone 4.

The changelog will tell you about every change I performed, but a summary of the most important stuff is:

  • The attribute __implements__ of a class cannot be used anymore. Use zope.interface implements and implementsOnly instead.
  • Use mailhost.send instead of mailhost.secureSend. Learn how to upgrade your product accordingly (thanks alecm!).
  • Manually define all needed variables which were formerly globally defined in the famous main_template. This was the most time-consuming step, because I had to fix them one-by-one following a try-error approach. Thanks god PHC has automatic tests, which helped a lot there.
    Perhaps we could come up with a handy find-grep expression to be run in the root of your add-on package to identify all templates where you’re using global expressions (no longer available). find-grep hackers are welcome to comment this post. ;)

Related articles

Tags:

« Older entries § Newer entries »