Home / Community / Blog

To manage my photos I've used F-spot, but it's quite old (2010) and when number of files coming to 30000 importing new files was painful.

I ponder two applications: Shotwell and piwigo.org. There third option is to use both of them with piwigoshotwell as connector.
While Shotwell is desktop application (can import F-spot database), the Piwigo (formerly PhpWebGallery) is web based software.

Darktable could also be good, but CentOS isn't supported...

Preparation:

yum install java-1.7.0-openjdk graphviz

Downloaded wiki_external_filter:

wget "https://github.com/luckval/wiki_external_filter/archive/master.zip" \
-O /tmp/redmine_wiki_external_filter-commitdce52f32c5-2014-04-12.zip

Downloaded PlanUML jar file into /usr/local/bin.

Installation Redmine Wiki External Filter plugin

Unpack into redmine plugins directory and copy config file info main:

cd /var/www/redmine/plugins
unzip /tmp/redmine_wiki_external_filter-commitdce52f32c5-2014-04-12.zip
mv wiki_external_filter-master wiki_external_filter
cd ..
cp plugins/wiki_external_filter/config/wiki_external_filter.yml config/

renaming directory in necessary.

Standard plug in installation procedure (and restart httpd in the end):

cd /var/www/redmine
bundle install
/etc/init.d/httpd graceful

I have to run bundle install to install missing open4 gem.

Then you have to configure cache settings using Administration -> Plugins -> Wiki External Filter Plugin: Configure. I've set Cache expiration time to 2 second because my server is rather slow.

Testing graphs

I've added two lines (prolog and epilog) in config/wiki_external_filter.yml

  graphviz:
    description: "Constructs graph image from its textual description in DOT language, see http://www.graphviz.org"
    template: image
    outputs:
      - command: "/usr/bin/dot -Tsvg"
        content_type: "image/svg+xml"
    #  - command: "/usr/bin/dot -Tpng"
    #    content_type: "image/png"
        prolog: "digraph G {"
        epilog: "}"

and then put:

{{graphviz
A->B
}}

in Redmine wiki page and it was pretty rendered.

Testing UML diagrams

I've created /usr/local/bin/plantuml.bash file:

#!/bin/bash

/usr/bin/java -Djava.awt.headless=true -Djava.io.tmpdir=/var/tmp -jar /opt/PlantUML/plantuml.jar -charset UTF-8 ${@}

set to executable

chmod a+x /usr/local/bin/plantuml.bash

and then correct path in wiki_external_filter.yml file

  plantuml:
    description: "Constructs UML diagram image from its textual description in PlantUML language, see http://plantuml.sourceforge.net"
    template: image
    outputs:
      - command: "/usr/local/bin/plantuml.bash -pipe"
        content_type: "image/png"
        prolog: "@startuml"
        epilog: "@enduml"

and then put:

{{plantuml
A->B
}}

in Redmine wiki page and UML diagram should be shown.

"Should" - in my case - VPS with a little amount of RAM - I can see only

Error occurred during initialization of VM
Could not reserve enough space for object heap
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.

but it's well known lack of memory problem and even -Xmx64m doesn't help.

For some simple diagrams adding -Xmx8m in /usr/local/bin/plantuml.bash fix that problem.

Po sieci krążą obrazy płyt (tym razem Lego Mindstorms Robotics Invention System 2.0) w różnych dziwnych formatach (BIN, MDF, PDI, CDI, NRG itp.). Na szczęście istnieje narzędzie iat (Iso9660 Analyzer Tool​) które potrafi je konwertować do ISO. W moim przypadku wystarczyło polecenie:

iat -i RIS2.mdf --iso -o RIS2.iso

Podczas drukowania (przez PDF Generator z pakietu Samba czyli ps2pdf) dostawałem uszkodzony plik. Pierwsza strona była pusta a na drugiej był komunikat

ERROR: undefined
OFFENDING COMMAND: eexec
STACK:
/quit
-dictionary-
-mark

problem istniał już wcześniej i jest na niego rozwiązanie.

Żeby to sprawdzić trzeba przestawić skrypt print-pdf (u mnie był w katalogu /usr/share/samba/scripts/), żeby nie kasował pośredniego pliku *.ps. Najłatwiej dodać opcję

KEEP_PS=1

w pliku /etc/samba/print-pdf.conf. Potem wycięcie linii z wygenerowanego pliku (u mnie Remote Downlevel Document.ps) pomiędzy

%ADOBeginClientInjection: DocumentSetup Start "No Re-Distill"
%% Removing the following eleven lines is illegal, subject to the Digital Copyright Act of 1998.
mark currentfile eexec

i

cleartomark
%ADOEndClientInjection: DocumentSetup Start "No Re-Distill"

(łącznie z tymi które pokazałem) powoduje, że polecenie

ps2pdf13 -dAutoFilterColorImages=false -sColorImageFilter=FlateEncode \
Remote\ Downlevel\ Document.ps Remote\ Downlevel\ Document.pdf

produkuje prawidłowy plik PDF (u mnie Samba domyślnie nazywa plik Remote Downlevel Document.pdf).

Oczywiście rozwiązanie to jest podane wyłącznie w celach edukacyjnych i nie zalecam jego stosowania.

Chciałem przetestować edytor filmów OpenShot , ale zgłaszał dziwny błąd:

Error:  OpenShot has not been installed in the Python path.
(Both the site-packages and /usr/share/openshot folders were checked)

Use the following command to install OpenShot:
  $ sudo python setup.py install

jakby były źle skonfigurowane ścieżki. Przeszukałem pliki (rpm -ql openshot) i spróbowałem uruchomić inną metodą

cd /usr/lib/python2.6/site-packages/openshot
python openshot.py

i dostałem inny błąd

ImportError: No module named xdg.IconTheme

, który już łatwiej było naprawić:

urpmi pyxdg

Potem jeszcze jeden błąd:

ImportError: No module named httplib2

i kolejna "poprawka"

urpmi python-httplib2

Teraz działa bez problemów. Co prawda chciałby jeszcze bibliotekę frei0r (frei0r-plugins), ale to "tylko" dodatkowe efekty.

Do rysowania grafów można użyć Dia ale to oznacza męki jeżeli później trzeba dodać dużo elementów gdzieś w środku lub ... napisać co ma być połączone z czym i go wygenerować programem Graphviz. Co prawda wtedy mamy inny problem - przy wstawianiu nowych elementów kolejne generowane grafy będą się różnić nie tylko ilością elementów, ale także ich rozmieszczeniem (tak Graphviz sam rozmieszcza elementy).

Najprostszym grafem jest oczywiście Hello world który wygląda tak:

digraph G {Hello->World}

Program zawiera GUI w którym można potrenować, a gotowy obrazek można wyprodukować np. tak:

cat hello.gv | dot -Tpng -o hello.png

jeżeli plik hello.gv zawiera treść jak w przykładzie powyżej to plik hello.png będzie zawierał taki obrazek:

Oczywiście ręczne generowanie plików może być uciążliwe, ale przecież nie o to chodzi. Program sprawdzi się najlepiej na danych które wygenerujemy z zewnętrznego źródła. Czasem jeden obraz wart jest tysiąca słów.

Żeby obejrzeć pliki CDR użyłem programu uniconvertor (jest w repozytorium programów dystrybucji Mandriva i pewnie innych też) którym zamieniłem je na PostScript oraz WMF i edytowałem w GIMP'ie i OpenOffice Draw.

Nie jest to rozwiązanie idealne, bo nie cała grafika została zaimportowana. Być może Inkscape lub Scribus by sobie lepiej poradził z którymś innym formatem do którego potrafi eksportować uniconvertor.

Do konwertowania plików audio używam SoundConverter (aktualnie w wersji 1.4.4) lub konsolowego sox.

Podczas tworzenia płyty za pomocą DVD Styler 1.8 z podziałem na epizody okazało się, że przycisk "Odtwórz całość" (Play all) i wszytkie inne także muszą zawierać odwołania typu:

if (g0==1) { jump title 5; } else { call vmgm menu 2; }
if (g0==1) { call vmgm menu 1; } else { call vmgm menu 2; }

a nie jak podano

if (g0==1) { jump title 5; } else { call menu 2; }
if (g0==1) { call menu 1; } else { call menu 2; }

Błąd zgłaszany przez program jest dość enigmatyczny i wcale na to nie wskazuje ;-)

Just my blog...

Mon Tue Wed Thu Fri Sat Sun
          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31