"…mais ce serait peut-être l'une des plus grandes opportunités manquées de notre époque si le logiciel libre ne libérait rien d'autre que du code…"

Archive for the ‘2009’ Category

Python documentation: news sphinx/numpydoc + flexirest + sphinx sourceforge theme/{gsdview,bestgui}

Posted by patrick sur novembre 16, 2009

http://pypi.python.org/pypi/numpydoc/0.3.1 (Sphinx extension to support docstrings in Numpy format)

http://pypi.python.org/pypi/flexirest/ (‘ The medium-featured, flexible reStructuredText utility. Flexirest is a project that was born out of the authors long-running interest for reStructuredText, and the idea of writing everyday documents like letters, invoices and other simple documents in this way. Flexirest tries to strike a middle ground between docutils own command line tool chain (rst2html et al), that I find a little to minimalistic and Sphinx, that I find very nice but a little heavy to use for a quickie document like a random letter or some such. In short, the goal of flexirest is to enable you to use the reST format for everyday documents instead of a word processor or similar with minimal fuzz. Hence you get to stay in the comfy environment of your text editor and tool chain. And you can check in your docs in text format into your version control system of choice. And, if used correctly, you get to reuse a couple of stylings that you only need to create once. There are some modestly advanced tricks you can do too, primarily writing your own docutils roles, but I wouldn’t consider those the major points of flexirest. For more information on how to operate flexirest, see the quick manual.’)

http://groups.google.fr/group/sphinx-dev/browse_thread/thread/8e97570a6321dd8d?hl=fr (‘sphinx theme that could be useful to authors of sourceforge hosted projects. The look is more or less the same of the default theme but there are some facilities that could be useful.
A more detailed description of the theme can be found at:

And, finally, two projects of using it:

  • http://gsdview.sourceforge.net/ (‘GSDView (Geo-Spatial Data Viewer) is a lightweight viewer for geo-spatial data and products. It is written in python and Qt4 and it is mainly intended to be a graphical front-end for the GDAL library and tools. GSDView is modular and has a simple plug-in architecture.’)
  • http://bestgui.sourceforge.net/ (‘BESTGUI is a Graphical User Interface (GUI) for BEST written in Python and GTK+. The Basic Envisat SAR Toolbox (BEST) is a collection of executable software tools that has been designed to facilitate the use of ESA (the European Space Agency) SAR data. It operates according to user-generated parameters files. For more detail you should refer to the BEST Home Page.’)

Publicités

Posted in 2009, Documentation, Génie logiciel, python, reStructuredText | Tagué: , | Leave a Comment »

Python : Distribute 0.6.8 (http://python-distribute.org/) , pip 0.6 , virtualenv 1.4.1 : make the transition today :)

Posted by patrick sur novembre 10, 2009

Source: http://s3.pixane.com/pip_distribute.png

distribute, pip virtualenv
curl  -0 http://python-distribute.org/distribute_setup.py > distribute_setup.py
sudo python distribute_setup.py
sudo easy_install -U pip

http://pypi.python.org/pypi/pip/0.6 (‘pip is a replacement for easy_install. It uses mostly the same techniques for finding packages, so packages that were made easy_installable should be pip-installable as well…The main website for pip is pip.openplans.org. You can also install the in-development version of pip with easy_install pip==dev. ‘)

http://pypi.python.org/pypi/virtualenv/1.4.2 (‘virtualenv is a successor to workingenv, and an extension of virtual-python.’)

More informations


source: http://mail.python.org/pipermail/distutils-sig/2009-November/014229.html 

On behalf of the Distribute team, I am pleased to announce the 0.6.7
release of Distribute.

As usual, availabe at PyPI: http://pypi.python.org/pypi/distribute

Most noticeable changes in 0.6.7 are:

- now the develop command supports the --user option, so it can use
the per-user site packages (PEP 370)
- the generated scripts now wrap their call to the script entry point
in the standard "if name == 'main'"
- better errors handling in PackageIndex when files and pages are
visited by easy_install
- a virtualenv-compatible version, so the next virtualenv release will
be able to provide a --distribute option.

You can visit http://pypi.python.org/pypi/distribute#id2 for a full
CHANGES list.

We are now starting the 0.6.8 work in parallel of 0.7.x development,
with more bugfixes coming up.

http://python-distribute.org/

This is just a placeholder for bootstrap files for Distribute, and nightly builds for Distutils

Useful links:

http://faassen.n–tree.net/blog/view/weblog/2009/11/09/0 (‘A history of Python packaging’)

http://s3.pixane.com/python_comrades.png

guido van rossum

Posted in 2009, distribute, package_management, python | Tagué: , | Leave a Comment »

Des nouvelles de python : Guido Van Rossum et la documentation avec sphinx/rest , numpy, scipy, ipython

Posted by patrick sur novembre 9, 2009

Documentation rest/sphinx

guido_van_rossum

Guido Van Rossum

http://neopythonic.blogspot.com/2009/11/python-in-scientific-world.html (‘...After the meeting, Fernando showed me a little about how NumPy is maintained. They have elaborate docstrings that are marked up with a (very light) variant of Sphynx, and they let the user community edit the docstrings through a structured wiki-like setup. Such changes are then presented to the developers for review, and can be incorporated into the code base with minimal effort.

An important aspect of this approach is that the users who edit the docstrings are often scientists who understand the computation being carried out in its scientific context, and who share their knowledge about the code and its background and limitations with other scientists who might be using the same code. This process, together with the facilities in IPython for quickly calling up the docstring for any object, really improves the value of the docstrings for the community. Maybe we could use something like this for the Python standard library; it might be a way that would allow non-programmers to help contribute to the Python project (one of the ideas also mentioned in the diversity discussions).’)
http://fdoperez.blogspot.com/2009/11/guido-van-rossum-at-uc-berkeleys.html (‘…I wanted both to thank him for creating and shepherding such a high-quality language for us scientists, and to establish a good line of communication with him (and indirectly the core python development group) so that he can understand better what are some of the use patterns, concerns and questions we may have regarding the language.I have the impression that in this we were successful, especially as we had time after the open presentations for a more detailed discussion of how we use and develop our tools. Most of us in scientific computing end up spending an enormous amount of time with open interpreter sessions, typically IPython ones (I started the project in the first place because I wanted a very good interactive environment, beyond Python’s default one), and in this work mode the key source of understanding for code are good docstrings. This is an area where I’ve always been unhappy about the standard library, whose docstrings are typically not very good (and often they are non-existent). We showed Guido the fabulous Numpy/Scipy docstring editor by Pauli Virtanen and Emmanuelle Gouillart, as well as the fact that Numpy has an actual docstring standard that is easy to read yet fairly complete. I hope that this may lead in the future to an increase in the quality of the Python docstrings, and perhaps even to the adoption of a more detailed docstring standard as part of PEP 8, which I think would be very beneficial to the community at large…’)A voir:

http://docs.scipy.org/numpy/Front%20Page/

 

Extensions sphinx

 

Posted in 2009, Documentation, Doc_sphinx, Génie logiciel, python, reStructuredText, Sphinx | Tagué: , , , | Leave a Comment »

fOSSa Conference – Free and Open Source Software Academic Conference, november 17-18, 2009 Grenoble

Posted by patrick sur octobre 29, 2009

Source: http://www.ow2.org/view/Events/fOSSaConferenceGrenobleFrance

fossa-big

fOSSa

 

Date: November 17-18, 2009
Venue: World Trade Center, Grenoble, France
Practical information, detailed program and registration: http://fossa.inrialpes.fr/2009/

Conference overview
The « fOSSa » conference (Free/Open Source Software Academics) is co-organised by INRIA and OW2 Europe Local Chapter. It will review Open Source fundamentals and will present innovating Open Source project as well as communities experiences. fOSSa is the first international Open Source Conference event located in Grenoble! The fOSSa audience mainly focuses on academia and research centres but does not close the door to industrials as in many cases academia needs industrials and vice versa: we believe that Open Source model can improve such kind of collaboration in a much more natural way.

DAY 1 is focusing on the Open Source model basics:

1. OSS and Benefits for Academic projects
2. OSS and Innovation for Academic projects
3. OSS and Business Models for Academic projects
4. OSS and the Law for Academic projects
5. OSS and Communities for Academic projects
6. OSS and European Commission fo Academic projects
7. OSS and Market Needs for Academic projects

DAY 2, practical session including with real life examples of the OSS fundamentals, will address:

1. OSS and Collaboration for Academic projects
2. OSS and Promotion for Academic projects
3. OSS and Governance for Academic projects
4. OSS and Quality for Academic projects
5. OSS and the Law for Academic projects

Day 2, 10-10-10 presentation

In parallel, OW2 academic projects will be presented in a 10-10-10 formula style1. PLUMES/FEATHER community will present scientific Open Source academic projects, and sessions will be booked for Open Source Start-up’s presentation.

(1) 10 minutes presentation -10 minutes demo -10 minutes questions/answers.

Participants
Apache, Eclipse, Engineering, HP Fossology, INRIA, Mandriva, OW2, Sun Microsystem, University Paris VII, University of Milano…

 

 

 

 

Posted in 2009, conference, licence libre, logiciel libre, open source | Tagué: , | Leave a Comment »

fOSSa conférence sur le libre/open-source d’envergure Internationale les 17-18 novembre 2009 à Grenoble

Posted by patrick sur octobre 29, 2009

Source

INRIA Rhone-Alpes / D2T / OW2 Europe Local Chapter
fOSSa Steering Committee / QualiPSo / NESSI OSS WG

fOSSa

fOSSa (Free Open Source Software for Academia) est organisée conjointement par le chapitre local Europe d’OW2 et l’INRIA.

L’histoire du logiciel libre débute dans les années 70 grâce aux universitaires et chercheurs académiques: pour cette communauté, distribuer un code informatique sous une licence permissive était une règle naturelle. Depuis, le monde du logiciel libre connaît un succès extraordinaire à travers, en outre, le monde industriel. Cependant, les objectifs initiaux défini par le monde académique semble, aujourd’hui, être oubliés.

Le programme couvre les aspects fondamentaux du logiciel libre/open-source (modèles économiques, licences, collaboration, communautés, promotion, exploitation) et propose des retours d’expérience ainsi que des présentations de projets innovants.  Elle s’adresse au monde académique/universitaire, mais aussi aux industriels dans la mesure où les relations recherche/industrie sont de plus en plus souvent au coeur de développements collaboratifs libres/open-source: fOSSa propose de repositionner le Libre au centre des collaborations recherche-industrie.

Les intervenants sont, en autre, Clément Escoffier (Apache), Ralph Mueller (Directeur Fondation Eclipse Europe), HP Fossology (Bob Gobeille et Bruno Cornec), INRIA (Luc Grateau et Jean Bernard Stefani), Arnaud Laprévote (Directeur R&D Mandriva), Cédric Thomas (OW2 Consortium CEO), Roberto Di Cosmo (CIRILL & Mancoozi), Plumes (Jean Luc Archimbaud et Teresa Gomez DIaz) …

Date : 17-18 Novembre 2009
Lieu : World Trade Center – Grenoble – France
Programme & Inscription (gratuite): http://www.ow2.org/fossaconference

Posted in 2009, licence libre, logiciel libre, open source | Tagué: , , , | Leave a Comment »

Comment débuter pour documenter un projet python, C, admin, etc… avec le logiciel python sphinx de Georg Brandl

Posted by patrick sur octobre 25, 2009

sphinx

sphinx

Voici quelques liens pour bien débuter une documentation d’un projet avec sphinx. J’ai commencé à écrire une page https://pvergain.wordpress.com/sphinx-doc/ pour rassembler la documentation qui pour moi était la plus intéressante. J’ai inséré ci-dessous la liste des principaux liens.

Je mets à jour une liste des projets utilisant sphinx. Les 3 derniers en date (22 octobre 2009) sont https://wiki.fysik.dtu.dk/ase/https://wiki.fysik.dtu.dk/gpaw/index.html et http://openalea.gforge.inria.fr/doc/openalea/doc/build/html/index.html.

Merci à Georg Brandl alias Birkenfeld (http://twitter.com/birkenfeld, http://pythonic.pocoo.org/ , http://pythonic.pocoo.org/tags/sphinx ) et aussi Uli Fouquet, Andre Roberge, Armin Ronacher,  Tim Golden and Mark Summerfield  pour ce magnifique logiciel.

gb_bigger

Projets utilisant sphinx

Builtin sphinx extensions

These extensions are built in and can be activated by respective entries in the extensions configuration value:

Third-party extensions

There are several extensions that are not (yet) maintained in the Sphinx distribution. The Wiki at BitBucket maintains a list of those.

If you write an extension that you think others will find useful, please write to the project mailing list (sphinx-dev@googlegroups.com) and we’ll find the proper way of including or hosting it for the public.

Utiliser sphinx avec:

Autres  projets utilisant sphinx (non listés sur sphinx.pocoo.org)

  • Projets sphinx concernant des projets non “python”

A lire

Autres liens

A voir

http://en.wikipedia.org/wiki/ReStructuredText (‘reStructuredText is a lightweight markup language intended to be highly readable in source format. Its formal name indicates that it is a « revised, reworked, and reinterpreted StructuredText. »[1] reStructuredText is sometimes abbreviated as RST; while sometimes abbreviated as ReST or reST, this can create confusion with REST, an unrelated technology.’)

Posted in 2009, Années, Documentation, Génie logiciel, python, Sphinx | Tagué: , , , , , , , , , | Leave a Comment »

Python choisi pour l’enseignement de l’algorithmique en classe de seconde pour la rentrée 2009/2010 en France

Posted by patrick sur septembre 20, 2009

serpent2

C’est en lisant le magazine hors série N°37 ‘Tangente (http://www.tangente-education.com, « Les algorithmes au coeur du raisonnement structuré« )  que j’ai appris que le langage python faisait partie des 2 principaux langages de programmation recommandés pour l’apprentissage de l’algorithmique en classe de seconde ! C’est une bonne nouvelle pour les élèves et pour python également :). C’est aussi dans ce même magazine que j’ai appris que l’algorithmique était désormais inscrite dans les programmes de lycées !

http://www.tangente-education.com/articles/tge_10_a2.pdf

Autre source pour cette nouvelle:

Les mathématiques en seconde

Voici quelques liens sur les mathématiques avec python:

  • http://mail.python.org/mailman/listinfo/edu-sig (‘This list is for discussion of Python in education, however (at the request of a majority of readers) explicitly excluding educational politics’)
  • http://wiki.python.org/moin/PythonInEducation
  • http://www.pyromaths.org/ (‘Pyromaths est un programme qui permet de générer des fiches d’exercices de mathématiques de collège ainsi que leur corrigé. Il crée des fichiers au format pdf qui peuvent ensuite être imprimés ou lus sur écran.’)
  • http://www.inforef.be/swi/python.htm
  • http://www.scipy.org/ (‘SciPy (pronounced « Sigh Pie ») is open-source software for mathematics, science, and engineering. It is also the name of a very popular conference on scientific programming with Python. The SciPy library depends on NumPy, which provides convenient and fast N-dimensional array manipulation. The SciPy library is built to work with NumPy arrays, and provides many user-friendly and efficient numerical routines such as routines for numerical integration and optimization. Together, they run on all popular operating systems, are quick to install, and are free of charge. NumPy and SciPy are easy to use, but powerful enough to be depended upon by some of the world’s leading scientists and engineers. If you need to manipulate numbers on a computer and display or publish the results, give SciPy a try!‘)
  • reggie2http://neuroimaging.scipy.org/site/index.html (‘The neuroimaging in python (NIPY) project is an environment for the analysis of structural and functional neuroimaging data. It currently has a full system for general linear modeling of functional magnetic resonance imaging (fMRI).’)
  • http://code.google.com/p/spyderlib/ (Spyder (previously known as Pydee) is a Python development environment providing MATLAB-like features in a simple and light-weighted software, available for Microsoft Windows XP/Vista, GNU/Linux and MacOS X.)
  • http://www.pythonxy.com/foreword_fr.php (‘Python(x,y) est un logiciel libre scientifique de calcul numérique basé sur le langage Python, les interfaces graphiques Qt (et le cadre de développement associé), l’environnement de développement Eclipse et l’environnement de développement scientifique interactif Spyder.’)
  • http://www.sagemath.org/
    • http://www.sagemath.org/fr/tutorial/index.html (‘Sage est un logiciel mathématique libre destiné à la recherche et à l’enseignement en algèbre, géométrie, arithmétique, théorie des nombres, cryptographie, calcul scientifique et dans d’autres domaines apparentés. Le modèle de développement de Sage comme ses caractéristiques techniques se distinguent par un souci extrême d’ouverture, de partage, de coopération et de collaboration : notre but est de construire la voiture, non de réinventer la roue. L’objectif général de Sage est de créer une alternative libre viable à Maple, Mathematica, Magma et MATLAB….le public visé par Sage comprend les étudiants (du lycée au doctorat), les enseignants et les chercheurs en mathématiques. Le but est de fournir un logiciel qui permette d’explorer toutes sortes de constructions mathématiques et de faire des expériences avec, en algèbre, en géométrie, en arithmétique et théorie des nombres, en analyse, en calcul numérique, etc. Sage facilite l’expérimentation interactive avec des objets mathématiques’)

Autres liens sur l’apprentissage de python

  • http://www.openbookproject.net/pybiblio/ (‘ Welcome to the Python Bibliotheca! This site aims to be both a library of educational materials using Python to teach computer programming, and a virtual meeting place for teachers and students engaged in learning and teaching using Python.’)
  • pslytherin

gasp_lessons

Posted in 2009, éducation, Education, enseignement, Lycée, lycéee, python, Python | Tagué: , , , , , , , , , , , , , , , , , , | 5 Comments »

Les projets python de la semaine 37: Tornado (web) , sqlkit (database), HeeChee (mercurial-subversion), sinthgunt (video, ffmpeg)

Posted by patrick sur septembre 12, 2009

  • http://www.tornadoweb.org/ (‘Tornado is an open source version of the scalable, non-blocking web server and tools that power FriendFeed. The FriendFeed application is written using a web framework that looks a bit like web.py or Google’s webapp, but with additional tools and optimizations to take advantage of the underlying non-blocking infrastructure. The framework is distinct from most mainstream web server frameworks (and certainly most Python frameworks) because it is non-blocking and reasonably fast. Because it is non-blocking and uses epoll, it can handle thousands of simultaneous standing connections, which means it is ideal for real-time web services. We built the web server specifically to handle FriendFeed’s real-time features — every active user of FriendFeed maintains an open connection to the FriendFeed servers. (For more information on scaling servers to support thousands of clients, see The C10K problem…Tornado has been tested on Python 2.5 and 2.6. To use all of the features of Tornado, you need to have PycURLsimplejson installed and a JSON library like )’)
  • http://www.aeracode.org/2009/9/10/announcing-heechee/ (…One of the particular issues I have is with svn:externals. A lot of apps – including some we have at work – rely on svn:externals to pull in external dependencies into a libs folder along with the project itself. Externals is one of the few features of subversion that I thought was pretty much perfect, and it was sad to see my move to Mercurial break itOne of the questions led him onto hg-git – the awesome git backend plugin for Mercurial, that the GitHub guys wrote – and how they first investigated the idea of an svn gateway to expose their repositories transparently to subversion users. From what I gathered, subversion’s wire format proved too tricky to deal with, and so they turned elsewhere…After some digging, reading an obscure academic paper and liberal application of Wireshark, I grew confident enough that I could at least implement something. A day later, and I’d like to present the very first version of what I’m calling Heechee (if you get the pun, ten nerd points). Heechee is a transparent mercurial-as-subversion gateway. It serves a Mercurial repository as a Subversion WebDAV-based repository. It’s still in the early stages, but at the moment it will serve its own mercurial repository to subversion in such a way that you can check out the repository, and update to various revisions within it.You can check it out at BitBucket. It’s pretty alpha code, and make sure you have the dependencies mentioned in the README, but it works, which greatly surprises me. I plan to much improve the code to support more ‘advanced’ features, like being able to do more than checkout and update, as well as exposing tags and branches correctly. There’s even the chance I’ll stick Git support in, when I’ve had a play with Dulwich.)
  • http://sqlkit.argolinux.org/ (‘Sqlkit is a mini framework based on pygtk that provides some very powerfull classes to edit databases. It’s meant as a base for database desktop applications. Sqlkit is based on:

Un autre projet similaire est camelot basé sur pyQt (http://pypi.python.org/pypi/Camelot/).

  • http://code.google.com/p/sinthgunt/ (‘Sinthgunt is an open source graphical user interface for ffmpeg, a computer program that can convert digital audio and video into numerous formats. Using pre-configured conversion settings, it makes the task of converting between different media formates very easy.‘)

Posted in 2009, bases de données | Tagué: , , , , , , , , | Leave a Comment »

Traitement d’images avec python: python-magic, pyexiv2, PIL, ReportLab, Motmot, Pythonmagick, magickpy, APLpy

Posted by patrick sur août 10, 2009

Source: Python magazine, june 2009, volume 3, issue 6,  « Image processing with python » by Eugen Winterberger.

This library wrap the FreeImage library functions so a python developer can easy drive FreeImage .dll/.so
For do it I use ctypes and the FreeImage library

Posted in 2009, python, Traitement d'images | Tagué: , , , , , , , , , , , , | Leave a Comment »

Quelques nouvelles de projets python : m2crypto, Django 1.1, pySerial, python-gnupg, pyscard

Posted by patrick sur août 9, 2009

  • http://www.heikkitoivonen.net/blog/2009/07/27/m2crypto-020-beta-cycle-begins/ (‘Better late than never… I am announcing the first beta of M2Crypto 0.20 release. M2Crypto is the most complete Python wrapper for OpenSSL.The 0.20 release has been in development for about nine months. About 30 bugs and new features have been implemented by more than ten people. Unit tests now cover 80% of the code base. Tinderbox is used to automatically test changes on various flavors of Ubuntu, Fedora Core, Redhat and Cygwin. We could use more Tinderbox clients, so please drop me a line if you have some spare machine cycles available.’)
  • http://www.djangoproject.com/weblog/2009/jul/29/1-point-1/ (‘After nearly a year of development, lots of new features and thousands of other improvements, Django 1.1 is here and ready for prime time! For a full rundown of what’s new and what’s changed, consult the release notes; to grab a copy, swing by the Django download page. And for the security-conscious, signed checksums for the release tarball are available. This release also contains the security update rolled out earlier tonight for older release series. Django 1.1 is the result of hard work by hundreds of people who’ve contributed code to Django and many more who’ve donated their time to reporting, triaging, tracking down and helping to fix bugs and develop new features. Django literally would not be able to happen without all of you, so stop and give yourselves (and any other contributors you know) a pat on the back.Thanks once again to everyone who’s helped out, and we hope to see you all at DjangoCon 2009 in Portland, Oregon, and all along the path to Django 1.2‘)
  • http://eli.thegreenplace.net/2009/07/30/setting-up-python-to-work-with-the-serial-port/ (‘The serial port (a.k.a. COM-port, or RS232) is slowly disappearing from desktop and laptop computers, but it’s still a very important tool for embedded engineers and people controlling equipment in general. The reason for this is that the serial port is very simple to set-up and use both from embedded software code (the vast majority of MCUs and controllers have UART ports) and from a PC. Since last year, having moved to Python, I’ve been happily employing the excellent PySerial module to do this. I want to write a couple of posts on combining PySerial with GUIs and dynamic charts, but first I’ll have to explain how to set it up. Installing a COM-port emulator: As I’ve mentioned, it’s hard to come by a PC with real COM ports these days. Although there are many USB to RS-232 adapters on the market, the simplest thing to do if all you have is a single computer is installing an emulator. One that I recommend is called com0com. It is simple to install and works pretty well. So, download com0com and follow the installation instructions carefully to create two virtual COM ports which are connected to each other. For me com0com created ports named CNCA0 and CNCB0 – in future versions the names may be different, but it really doesn’t matter.’)
  • http://groups.google.com/group/comp.lang.python.announce/browse_thread/thread/d2639ec8fff51c14/663833ebf069aea1?show_docid=663833ebf069aea1 (‘I’m happy to announce a release candidate of pySerial: 2.5-rc1 Whats new:
    – Updated documentation (now using Sphinx, see link above).
    Windows implementation uses ctypes (instead of pywin32).
    – Python 3.x compatibility.
    – Using « bytes » type when available.
    – Works together with Pythons new io library
    .’)
  • http://code.google.com/p/python-gnupg/ (‘The GNU Privacy Guard (gpg, or gpg.exe on Windows) is a command-line program which provides support for programmatic access via spawning a separate process to run it and then communicating with that process from your program. This project implements a Python library which takes care of the internal details and allows its users to generate and manage keys, encrypt and decrypt data, and sign and verify messages.’)
  • http://pyscard.sourceforge.net/ (‘pyscard is a python module adding smart cards support to python.’)

Posted in 2009, cryptographie, Sécurité informatique | Tagué: , , , | Leave a Comment »