On how to argue

mise-en-abymeHere’s an interesting cite dealing with how to argue constructively. These words are attributed to the mathematical psychologist Anatol Rapoport and I discovered them thanks to the brilliant Bryan O’Sullivan blog, of Mercurial fame:

Serious argument depends on mutual respect, and this is often hard to engender when disagreements turn vehement.

The social psychologist and game theorist Anatol Rapoport (creator of the winning Tit-for-Tat strategy in Robert Axelrod’s legendary prisoner’s dilemma tournament) once promulgated a list of rules for how to write a successful critical commentary on an opponent’s work.

First, he said, you must attempt to re-express your opponent’s position so clearly, vividly and fairly that your opponent says “Thanks, I wish I’d thought of putting it that way.” Then, you should list any points of agreement (especially if they are not matters of general or widespread agreement), and third, you should mention anything you have learned from your opponent. Only then are you permitted to say so much as a word of rebuttal or criticism. I have found this a salutary discipline to follow–or, since it is challenging, to attempt to follow. When it succeeds, the results are gratifying: your opponent is in a mood to be enlightened and eagerly attentive.

It looks like a good advice to keep oneself honest and being able to learn as much as you can from others’ points of view.

Update: two interesting blog posts on the topic are how to win friends and influence people, by D.Berkholz and how to disagree, by P.Graham

Yay Planet Gnome!

Pygtk splash screenshotThis is my first post after being added to the planet.gnome.org feed, so, thanks to Jeff Waugh for it and to Alberto Ruiz for putting his hackergotchi skills to my service! :).

For those that don’t use to hang on the #pygtk IRC channel, I’ll briefly introduce myself.

My GNOME related activities are mainly tied to the PyGTK project the Python bindings to GTK+, working mostly on keeping the site up-to-date, and give some help on IRC, besides contributing translations and documentation to the project. Thanks to Johan, Gustavo, Kiko and Finlay for helping to get into it and make PyGTK rock.

Besides that, I’m a young architect living in Madrid which some years ago got deeply in love with free software as a hobbyist programmer who was eager to learn.

As Alberto Ruiz already posted and you may already know, we are trying to refactor a bit the www.pygtk.org website, so as to make it easier to find and navigate its contents and keep a bit more focused.

We’d like to help new contributors to get involved in keeping the project rolling. So these are some of the tasks we’d like to slowly achieve, and, as always, any help is much appreciated:

  • Choose the right words for the website key navigational categories.

    The key points here, IMHO, are using simple words, avoid technical terms, being descriptive but terse, concise and precise. Suggestions are welcome :).

    Ideally, we’d like to simplify it, dividing the information into the ‘Know about PyGTK’, ‘Get PyGTK’, ‘Learn’, ‘Participate’ categories, and finally use them as the four entry points for the site contents, similarly to what the RoR folks are doing.

  • Publish the PyGTK FAQ on HTML and PDF formats.

    Now that the PyGTK FAQ lives in the gnome.org wiki, we’d like to have scripts to fetch those contents and generate static HTML and PDF versions from them. It would serve also as a backup measure.

    It’s already possible to get a docbook version from MoinMoin pages, and a docbook to HTML and PDF is already in place for the PyGTK reference and PyGTK tutorial, but it has not been tested for this purpose, and we still miss a (python) script to fetch the FAQ pages and drive the static HTML and PDF generation.

  • Get a small screenshot (200x150px) for each of the apps in the PyGTK application list.

    This is all about writing GUI apps, but we still don’t show what they look like!.

  • Take screenshots for our the introductory pages.

    Besides explaining what PyGTK can do, we should show an attractive bunch of PyGTK apps running on various platforms (win32, OSX and other less common platform screenshots are specially welcome), as being multiplatform, the easy to take language and powerful toolkit are PyGTK’s strong points.

  • Build and document how to create pygtk installers for the win32 platform

    Most people using the website to get PyGTK are using that platform, as ,on GNU/Linux, distros do a great job and interpreted or compiled languages are equally hard to install, but the problem gets harder on platforms without a sensible packaging system that almost exclusively rely on unmanaged installation of disperse binaries. An this last is what Woe32, as the gettext crew calls it, is doing.

    Alberto is doing a incredibly great and superb job to achieve easy distribution of PyGTK (and GTK+) apps, but further help would be very welcome. Work out a gtk+pygtk+py2exe toolchain is something that could be interestng.

  • Write/collect PyGTK articles to cover all skill levels.

    IMHO, we excel in covering basic and advanced skills, but we lack intermediate level documentation. There’s not too much information about application design patterns, model/presentation decoupling, how to write custom widgets or extending GTK+/Gnome using PyGTK… Probably these are hard to explain, as they’re not very detailed or very general concepts, but a mix of subtle criteria and making it all fit, but we shouldn’t avoid trying to get them explained. Some of the articles in the Gnome Journal were great in that respect, and the applications list tries to fill this gap showing examples that may help understand how other programmers do it.

If you feel like giving a shot to any of these, just show up on the #pygtk IRC channel on gimpnet and introduce yourself :).

E-Leo – Are now Leonardo’s works avaliable on the world wide web?

Leonardo da Vinci’s self portraitThis should be great news. For everyone’s good, the e-Leo digital library has announced that a whole lot of very interesting content is now available on the World Wide Web. Around 6000 drawings and writings from Leonardo da Vinci should be accessible now.

However, when enter the site you’re faced to the need to register. This means providing a whole lot of personal information (name, surname, address, ID number…). Furthermore, you must agree to inform about any changes in your personal information and inform them about any publication (paper ones? digital ones too?) including any of those contents they provide.

I decided not to register, and the library’s policy bothered me greatly for the following reasons:
Continuar leyendo «E-Leo – Are now Leonardo’s works avaliable on the world wide web?»

Gnome Foundation Membership

Gnome logoWoohoo! I received this mail some days ago:

Dear Rafael Villar Burke,

We are pleased to inform you that you are now part of the GNOME
Foundation Membership. You are now eligible to become a candidate
for election and to vote in the annual Board of Directors elections
held each November.

[…]

For more information about the GNOME Foundation, visit the GNOME
Foundation’s web page at:
http://foundation.gnome.org

Thanks for your contributions to GNOME.

Sincerely,

The GNOME Foundation Membership Committee

Some years ago I would have dreamt about this, but never thought it could become true. I’m really happy both for the membership and for what it means :).

Repository formats matter a lot in Mercurial

Keith Packard discusses why robust repository formats are important for any version control software. This is really an important point when evaluating the robustness of any version control system, as you want to avoid the corruption of all your data due to a disk failure and an unfortunate way to store the tracked information.

One sad point, as he’s a person I certainly admire for his work on free software, is that, while praising the way git faces that problem, he unfairly bashes Mercurial (besides other VCSs). The fact is that the comparison done is not correct. While the comparison used to measure store size is between packed git and standard Mercurial, the robustness of the repository format comparison uses the unpacked git and standard Mercurial.

I believe this is more of a handwaving issue than any real concern about how git or Mercurial are doing the job.
Continuar leyendo «Repository formats matter a lot in Mercurial»

Tweaking msys and cygwin

I’ve been using msys and cygwin to have a sane command line environment when working in windows. Something I didn’t know how to fix until today was the lack of input and display support for accented characters and the weird behaviour of the del key. I finally got it all working as I want it tweaking some configuration files.

With this, openssh, gvim you can feel a bit more like at home :).
Continuar leyendo «Tweaking msys and cygwin»

Christopher Alexander on Architecture and Science

Christopher AlexanderGoogling around trying to find some texts about design patterns and computer programming I could find this interesting cite from Christopher Alexander, in a website devoted to his book The Nature of Order:

In the past century, architecture has always been a minor science – if it has been a science at all. Present day architects who want to be scientific, try to incorporate the ideas of physics, psychology, anthropology . . . in their work . . . in the hope of keeping in tune with the «scientific» times. – Christopher Alexander, Berkeley, 1983

I believe we are on the threshold of a new era, when this relation between architecture and the physical sciences may be reversed – when the proper understanding of the deep questions of space, as they are embodied in architecture . . . will play a revolutionary role in the way we see the world . . . and will perhaps play the role for the world view of the 21st and 22nd centuries, that physics has played in shaping the world view of the 19th and 20th. – Christopher Alexander, Berkeley, 1983

This could have been the reverse of the text intro in my website www.rvburke.com; the other side of the coin. Both reflect the wish of a more comprehensive view of the world, but, in my view of it, while architecture still holds a more syntetic point of view than the analythic nature of science, it’s still this last one where new knowledge is being generated nowadays.

Architecture has lived upon formal experimentation for a lot of years now, but taking some push from ecology, sociology, complex systems science or other science fields can be a powerful source of new knowledge to integrate.

Some interesting comments to the book can be found in a different web, listing some of the key observations C.Alexander states in the book:

  • A range of sizes is pleasing and beautiful.
  • Good design has areas of focus and weight.
  • Outlines focus attention to the center.
  • Repeating elements give order and harmony.
  • The background should not detract from the center.
  • Simple forms create an intense, powerful center.
  • Small symmetries are better than overall symmetry.
  • Looping, connected elements give unity and grace.
  • Unity is achieved with visible opposites.
  • Texture and imperfections give uniqueness and life.
  • Similarities should repeat throughout a design.
  • Empty spaces offer calm and contrast.
  • Use only essentials; avoid extraneous elements.
  • Designs should be interconnected, not isolated.
  • Scale and echo create positive emotions.