25 novembre 2007

Ubuntu, OpenOffice et NFS sont sur un bateau

...et hop, tous les documents OpenOffice présents sur les partages NFS ne s'ouvrent plus qu'en lecture seule.

La solution est la suivante:

Editer le fichier
/etc/openoffice/soffice.sh

Et remplacer la ligne
10 FILE_LOCKING=auto

Par
10 FILE_LOCKING=no

Editer le fichier
/usr/lib/openoffice/program/sofficeetc/openoffice/soffice.sh

Et remplacer les lignes
109 SAL_ENABLE_FILE_LOCKING=0
110 export SAL_ENABLE_FILE_LOCKING

Par
109 SAL_ENABLE_FILE_LOCKING=0
110 unset SAL_ENABLE_FILE_LOCKING

(source: https://bugs.launchpad.net/openoffice/+bug/109265/comments/2)

Libellés : ,


21 novembre 2007

Grèves


(source: http://www.rue89.com/2007/11/21/dans-la-manif-des-buralistes-des-gerants-de-bars-a-chicha)

14 novembre 2007

Quelques photos qui passaient par là





... et il y en a plein d'autres sur cet album Flickr. Merci netvibes!


Description
Vintage Japanese ink and wash calligraphy art on hard-backed shikishi rectangular paper. This form of art is also sometimes called simply 'wash' painting and in Japanese is called sumi-e or suibokuga painting. Using only brush-applied black ink on paper this type of painting was introduced into Japan in the 14th century by Zen Buddhist monks visiting from China. This type of art is especially well suited to Japanese tastes which tend toward subtle depictions of life and nature often accented with poetry written in beautiful calligraphy.

Libellés : , ,


11 novembre 2007

Comment ça trop de vent?

D'aucuns prétendent que sur un blog, on doit raconter sa vie. Alors, c'est parti.

Depuis un certain moment, l'idée me chatouillait de redécouvrir la voile, après tant d'années. Cependant, l'haleine de soûlard qu'avait dès 14h00 la personne qui semblait diriger le club de voile valentinois a eu dans un premier temps raison de ma motivation.

Heureusement, un séjour très agréable à Toulon m'a permis de remettre les pieds dans le plat et de découvrir la voile en équipe grâce à un superbe Soling (merci Olivier :-D). Alors, autant faire les choses en grand et chercher du côté de la Méditerranée, me suis-je dit.



Voici donc les Class 8 du club marseillais dans lequel j'ai atterri dernièrement. Malheureusement, il y avait trop de vent ce dimanche pour pouvoir sortir. Qu'à cela ne tienne, voici donc quelques photos du vieux port de Marseille et de ses alentours.











Libellés : , ,


09 novembre 2007

A la découverte de Lazarus

Présentation

Lazarus est un environnement de développement rapide open source largement inspiré par Delphi, et basé sur Free Pascal, une implémentation orientée objet du langage Pascal. Cependant, il possède un atout supplémentaire non négligeable: la portabilité. Bien que le langage soit compilé, il n'y a pas à se soucier des plateformes cibles dans le code.



L'un des principes de Lazarus est de "coder une fois, puis compiler n'importe où" (en opposition à Java où l'on "code une fois" , puis on "exécute n'importe où"). Le souci d'optimisation et la rapidité d'exécution sont nettement palpables lorsqu'on utilise Lazarus, par rapport à du Java ou du Dot Net. Pas besoin non plus de machine virtuelle.


Exemple

Voici maintenant un exemple de mini paintbrush fait avec Lazarus à télécharger ici (je n'en ai pas trouvé en farfouillant sur internet).



Son principe est relativement simple. L'ardoise magique est représentée par un composant TImage dans lequel on peut dessiner de manière persistante. Pour éviter les clignotements, il faut activer le mode Double Buffered :

procedure TFrmMain.FormCreate(Sender: TObject);
begin
  Inherited;
  self.DoubleBuffered := true;
  (* ... *)
end;


On détermine si le crayon est levé ou non en utilisant les événements OnMouseDown (click souris) et OnMouseUp (fin du click souris) de l'image.

procedure TFrmMain.ImgWhiteBoardMouseDown(Sender: TOBject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
  self.ImgWhiteBoard.Canvas.MoveTo(X, Y);
  self._draw := true;
end;

procedure TFrmMain.ImgWhiteBoardMouseUp(Sender: TOBject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
  self._draw := false;
end;

Ensuite, lors du déplacement de la souris sur l'ardoise (événement OnMouseMove), on dessine une ligne si le bouton est appuyé.

procedure TFrmMain.ImgWhiteBoardMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
begin
  if (self._draw) then begin
    self.ImgWhiteBoard.Canvas.LineTo(X,Y);
  end;
end;

Voilà. Dans mon souvenir, faire la même chose en Java Swing est un tantinet plus compliqué...

Libellés : , , ,


This page is powered by Blogger. Isn't yours?