Continuous improvement for Yapsy

yapsy We really can't speak of kaizen for such a small project that only develops from by small strokes twice a year, but to take into account users' feedback I've started trying new tools to improve Yapsy's quality and make interactions with users a little smoother:
  • for a few months now, the sources (originally in a mercurial repository on sourceforge) have been maintained in sync with a github repository. This should simplify the process of improvement proposals from the contributors, many of whom seem to like github a lot and will now be able to do pull requests.
  • since the  latest release, yapsy is also linked to the continuous integration service Travis CI so that each new commit triggers a full run of all unit-tests.
Now for those that may be interested the following are my impressions about these tools.

Read more…

Of war, crosses and stitches

A shameless plug for another blog written by my mother and with a weird mix of subjects since, up until now, there has been  posts about:

  • war: with the transcription of a notebook belonging to one of my ancestors who took part in World War I
  • cross-stitch that my mother pratices from time to time
If you read french, go have a look at the byalog

Review: Great civilizations

LivreGrandescivilisationsThis review is about a book I've received as a gift this year. It's the transcript of a series of conferences given in French around the theme of civilization and organized by Carlo Ossola, Jack Ralite and several professors of the College de France: Great Civilizations[fr]. It's quite easy to read and pretty interesting. The impression I got after reading it is that it supports the fact that civilization have in common at least two main characteristics two points quickly summarized in the rest of this article (not meaning to be original here).

Read more…

Dr Who paranoïa

"Silence force" ... "powerful on the inside,  silent on the outside". From the marketing tag line off my new vacuum cleaner I have the feeling that dr who fan are well entrenched at Rowenta. And if you think this is too far fetched,  have a look at the dust filter... You already know what it does to dust, right ? E-X-T-E-R-M-I-N-A-T-E ;)Blue box

Review: Storytelling for User Experience

To change my mind and also because I'm curious about all things related to ergonomics and user experience, I decided to investigate a little more seriously the field of UX which is quite trendy nowadays. This is how I came to read the book Storytelling for User Experience by Whitney Quesenbery et Kevin Brooks about which I will make a brief review here (and which I came across in a mysterious way, maybe via an O'Reilly promotion). I find the book well written and informational with some lengthiness though that are certainly due to the fact that I'm not exactly part of the targeted audience and also to quite a lot of redundancies from chapter to chapter (maybe on purpose, in order to make sure that some ideas remains on the reader's mind). Actually the most interesting feature of this book is that the author committed to eating their own dog food by illustrating each of their ideas with a story and also by making sure that the book is easily "browse-able" with a clear structure and concise summaries at the end of each chapters allowing a reader to jump over the ones that he's not interested in.

Read more…

Review: Individuals and interactions

In my recent exploration of software project management literature, I decided to look for answers to a question about Agile methodologies that has been bothering me for some time: the Agile Manifesto struck and somehow seduced me first and foremost because of its first statement: "Individuals and interactions over processes and tools" but all bits and pieces that I could read about Agile methodologies revolved around test-harnesses, continuous integration, sprints, iterations, daily scrums, kanban, stand-up meetings, etc. In short: it seemed to me that all agile-related resources were centered on processes and tools !

There's an easy explanation for this situations: obviously processes are easier to describe, criticize and refine for the technical crowd I'm part of and, after all, the "agile processes" are designed to encourage interactions and relieve people from the inevitable dark side of software developments (bugs, requirement changes etc).

But still this puts "processes first" assuming that people will benefit from it in the second place, and that's this kind of contradiction that motivated me to look for an "agile" book dedicated to the "human" aspects of agile methods, and ultimately to read: Individuals and interactions: An Agile Guide by Ken Howard, Barry Rogers.

Read more…

Review: The Mythical "Mythical Man Month"

This is a long overdue review of a long overdue read of the famous software project management book: The Mythical Man Month by Fed. P. Brooks, 1995 (1st ed. 1975). I've heard about it several years ago, about how relevant it still was to current projects and more precisely how well it described what is systematically going wrong in software development. And all of that is true, impressively so ! Despite the vintage touch you can expect from a software-related book written at the dawn of software development (1975 !), the permanent disbelief of even the best educated developers toward the unavoidable occurrence of bugs and schedule slippage and managers' natural tendency to look for manpower and neglect the productivity gains that could come from improving the information and tools available to a team, all of this is finely described and analyzed in this book. Interestingly the author extended the book in 1995 to add more information and jeopardize his own previous assessments: answering some of his critics and reckoning some of his mistakes. This book embeds its own review ! This book is obviously a must read for anybody interested in project management and yet the first thing that struck me is how well the author characterizes the pleasure of programming, listing:
  • the joy of makingblack-24645_150
  • the joy of being useful
  • the fascination for puzzles and minutes mechanics
  • the joy of always learning
  • the joy of working on "pure thought" stuff
In the following, I will try to categorize a selection of the main other arguments that struck me, into three categories: Planning, Development and Organization.

Read more…

Python packaging subtleties

Recently while working on yapsy, I fell on a few subtleties related to the creation of Python packages. I use distutils obviously and the generated packages are uploaded on, but I was struggling with the following problems:

  • the data files used by my unit-tests were not packaged
  • I couldn't get pypi to understand that one of the source package was for Python2 installations while the other was for Python3 so that only one of them was displayed on the package page, and of course the few users yapsy has kept complaining that the code didn't work for obvious reasons like importing 'configparser' whereas this module is spelled 'ConfigParser' in Python2
The solutions to both problems now seem obvious to me, but were strangely difficult to come across on the web.

Read more…

Yapsy-1.10 release

Another release of yapsy, my little do-it-yourself plugin library, just before the end of the year, and maybe also the end of the world ;)

This year has brought even more ideas and important features to yapsy via user contributions and stackoverflow questions than previously.

The details of all changes can be found in the release note on sourceforge, but I'd like here to give again all my thanks to this year's main contributors:

  • Mathieu Havel
  • Mathieu Clabaut
  • Mark Fickett
I'm also proud to say that this year, yapsy has been adopted by the following renown project:
  • Nikola, the static blog generator that I heard of on planet Python long before being contacted by its author about yapsy
  • err chatbot who has had its own FLOSS Weekly episode not so long ago
A more complete list of project using yapsy is available on the online documentation. Seeing this small piece of code being adopted by other projects in the wild is a great motivation to maintain it and to make sure it is still relevant !