Posts Tagged “software”

Automate Dependency Updates with Renovate

Software ages

The Renovate Logo: a paint roller, rolling from top left to bottom right inside a blue circle.
Renovate Logo
Keeping your dependencies up-to-date is a chore. Updating dependencies often gets neglected while working on new features and busy improving your application. But it is necessary to keep your application safe and secure. Renovate reminds you of new dependency releases and makes upgrading a bliss.

Renovate is a standalone node application. It scans your repositories for dependencies and creates Pull Requests (aka. Merge Requests) for the dependency updates. It supports a wide range of “package managers”, including Maven, Gradle, and npm, but also Dockerfile and bitbucket-pipelines.yml. Each update is proposed in a separate Pull Request containing information like Changelogs of the dependency and Renovate’s instructions on how to work with the PR. Your build pipeline with your automated tests will automatically verify if your application still works with the updated dependency. If you have enough confidence in your build pipeline, you can configure Renovate to auto-merge the PRs. Otherwise, you can merge the PRs yourself.

Read More

SVG-Datei aus Gnuplot in Inkscape nachbearbeiten

Im Programm „Inkscape“ ist das Menü „Effects“ geöffnet und der Menüpunkt „Fix Gnuplot SVG File...“ ausgewählt.

Wer schonmal eine SVG-Datei aus Gnuplot in der aktuelle Inkscape-Version 0.46 geöffnet hat wird einige Linien vermisst haben. Die Linien sind nicht weg - Inkscape stellt sie nur nicht dar.

In der aktuellen SVN-Version von Inkscape soll das Problem zwar behoben sein, aber es gibt auch einen Workaround für die 0.46er-Version. Eine Möglichkeit ist von Hand in der SVG-Datei nach stroke:currentColor; suchen und currentColor durch den Wert von color, das direkt davor steht, zu ersetzen. Die andere - vor allem bei mehreren Dateien praktischere - Möglichkeit ist es die svgfix-Extension für Inkscape herunterzuladen, nach ${HOME}/.inkscape/extensions (Linux) oder c:/Program Files/Inkscape/share/extensions (Windows) zu entpacken und nach dem Öffnen der SVG-Datei im Menü „Effects“ „Fix Gnuplot SVG file…“ auszuwählen.

Read More

S60 Werkzeuge

Der Karlsruher Verkehrsverbund bietet einen Handyfahrplan an. Zur Auswahl steht eine Online- und eine Offlinevariante. Ich habe mich für etwas mehr Daten auf dem Telefon und gegen Verbindungsgebühren entschieden und den Offlinefahrplan installiert. In der von mir gewählten Installation (Bus1-Datenpaket) sind alle Straßenbahnen im KVV-Netz sowie die Busverbindungen für die Region Karlsruhe enthalten. Für mich reichen die Busverbindungen aus Karlsruhe zwar aus aber trotzdem ist es schade, dass man die Pakete nicht miteinander kombinieren kann.

Screenshot der Anwendung MrLock. Es sind die Einstellungen für „Automatische Sperre in“, „Zeitvorgabe“ und „Tastatur sperren“ auswählbar.

Da ich beim E50 keine Funktion gefunden habe die Tastatur automatisch nach einer bestimmten Zeit sperren zu lassen, hab ich mich auf die Suche nach einem Werkzeug umgeschaut. Fündig geworden bin ich bei MobiFun Software: das kostenlose Programm MrLock erlaubt sogar eine profilabhängige Konfiguration und lässt sich einstellen in welchen Programmen die Tastatur gar nicht gesperrt werden soll.

Um diese Programme (und hoffentlich weitere Informationen) besser dokumentieren zu können musste natürlich noch ein Tool zum Erstellen von Bildschirmfotos (Screenshots) her. Das Freeware-Tool von Antony Pranata leistet dabei hervorragende Dienste.

Read More

Redirects für Wordpress-Migration

Um möglichst wenige Links zu brechen (denn: Cool URIs don’t change), habe ich per .htaccess einige Weiterleitungen eingerichtet. Zum einen Mal für die umgezogenen Artikel statische Regeln, da mir dafür kein passender Algorithmus eingefallen ist. Da ich jetzt keine Kategorien mehr habe, sondern Tags, werden die Kategorieseiten auf Tagseiten abgebildet, die Archive und Montatsübersichten könnten dagegen ja 1 zu 1 weitergeleitet werden.

RedirectMatch permanent ^/kategorien/([^\/]*)/$ /plugin/tag/$1
RedirectMatch permanent ^/kategorien/([^\/]*)/page/([0-9]+)/$ /plugin/tag/$1/P$2.html
RedirectMatch permanent ^/([0-9]{4})/([0-9]{2})/$ /archives/$1/$2.html
RedirectMatch permanent ^/page/([0-9]+)/$ /archives/P$1.html
RedirectMatch permanent ^/wp-content/upload/thumb-(.*)\.(png|gif|jpg|jpeg)$ /uploads/$1.serendipityThumb.$2
RedirectMatch permanent ^/wp-content/upload/(.*)$ /uploads/$1
RedirectMatch permanent ^/wp-content/uploads/([0-9]{4})/([0-9]{2})/(.*)\.thumbnail\.(png|gif|jpg|jpeg)$ /uploads/$3.serendipityThumb.$4
RedirectMatch permanent ^/wp-content/uploads/([0-9]{4})/([0-9]{2})/(.*)$ /uploads/$3
.htaccess

Jetzt muss ich nur noch warten, bis Google die Seiten neu indiziert und dabei die Regeln (hoffentlich) befolgt ;-)

Read More

Migration von WordPress auf Serendipity

Ich habe sie installiert: die Blog-Software mit dem unaussprechnlichen Namen: Serendipity. Und weil der Name so kompliziert ist, lautet die URL schlicht und einfach s9y.org. Der Vorteil gegenüber Wordpress ist in meinen Augen, dass die Software einfach um eine vielen schlanker wirkt als das hochgerüstete Wordpress. Durch Plugins lässt sich (fast) jede fehldende Funktionalität nachträglich installieren und damit reicht das für meine paar Einträge im Jahr auch gut aus. Der automatische Assistent zum Importieren der WordPress-Einträge hat sich leider an den Umlauten verschluckt und da ich mein Blog eh schon länger mal entrümplen wollte, habe ich ein paar Einträge von Hand migriert und der Rest verschwindet einfach im Nirvana ;-)

Erfahrungen mit Webcalendar/Lightning

Inzwischen habe ich erste Erfahrungen mit meinem Kalendergespann gesammelt. Erstmal ist es natürlich sehr praktisch seinen Kalender von überall mit Internetzugang oder vom Notebook über Thunderbird aus im Griff zu haben. Allerdings funktioniert bei mir die Synchronisation noch nicht einfwandfrei. Lightning stellt zwar alle Termine aus Webcalendar anstandslos dar, doch beim Eintragen hakt es. Trage ich in Lightning einen Termin ein verdoppeln sich auf seltsame Weise alle anderen Termine. Zum Glück setzt sich das (bis jetzt) nicht endlos fort, sondern es wird einfach von jedem Termin genau eine Kopie in den Kalender eingetragen. Anfangs habe ich vermutet, dass es mit der Sommerzeit zusammenhängt (weil die beiden Termine nach dem unfreiwilligen kopieren eine Stunde auseinander lagen) aber das fällt inzwischen ja auch weg. Gefunden habe ich bisher jedenfalls nichts. Und beim Eintragen in Webcalender stört, dass ich bisher nicht rausgefeunden habe, wie man mehrtägigen Termine eintragen kann.* Hat jemand ähnliche Probleme/Erfahrungen?

* Man kann im Webcalendar keine mehrtägigen Termine "für den GANZEN Tag" anlegen. Wenn man die Termine mit Zeitangabe anlegt, und die Dauer entsprechend hoch einstellt geht's...

Lightning und WebCalendar synchronisieren

Um die Synchronisationsfunktion nutzen zu können, muss mindestens WebCalendar 1.1 verwendet werden! Der 1.1er-Zweig ist momentan noch in der Entwicklung, was man an einigen Stellen auch noch deutlich merkt. So ist bei mir zuerst das Update der Datenbank (PostgreSQL) mit SQL-Fehlermeldungen abgebrochen. Ein Schritt-für-Schritt-ausführen der Statements von Hand konnte ich dann einige Fehler beheben: An einer Stelle steht DEFALT (statt DEFAULT), an anderer Stelle wurde das SET vor DEFAULT vergessen und woanders wird versucht dem Datentyp INT einen Wert (INT(1)) mitzugeben, was bei PostgreSQL nicht erlaubt ist (hier sollte stattdessen der NUMERIC-Datentyp verwendet werden). Trotz allem war nach dem Update meine Datenbank kaputt und da ich bisher nur ein paar Testtermine angelegt hatte, habe ich den WebCalendar neu aufgesetzt (Installationsbeschreibung).

So, und nun zur Synchronisation:

  1. Datei > Neu > Kalender
  2. "Im Netzwerk" auswählen.
  3. URL der WebCalendar-Installation angeben: https://example.com/webcalendar/icalclient.php

Die Termine aus WebCalendar wurden bei mir problemlos übernommen, doch wenn ich in Thunderbird einen Termin aktualisiert oder gelöscht habe, wurde bei meinen kurzen Tests nicht immer korrekt an WebCalendar übermittelt. Mal schauen, ob ich da noch was einstellen kann, oder ob ich doch weiter suche nach einer anderen Lösung... Eine Alternative hätte ich da schon ^^ *

Remote Publishing with Apple iCal

* PHP iCalendar stellt iCals nur dar und bietet keine Bearbeitungsmöglichkeiten.

Read More

WebCalendar auf Debian Etch

Ich bin schon seit einiger Zeit auf der Suche nach einer Kalenderlösung die mich an meine Termine erinnert und möglichst zentral abrufbar ist. Ich habe schon ein paar Groupwarelösungen ausprobiert, aber irgendwie war das nie so das richtige. Groupware ist ja auch ein bisschen Overkill für eine Person :-D Heute bin ich dann auf einen Artikel im Linux-Magazin (Ausgabe 11/07, Seite 77) auf einen Artikel gestoßen, der genau das behandelt. Den Hauptbestandteil bildet dabei WebCalendar als Webapplikation mit Im- und Exportfunktion, sowie das Lightning-Plugin für Thunderbird. Die Synchronisation mit dem Handy kann dann via SyncML erfolgen, doch darüber mache ich mir Gedanken, wenn ich mal ein neues Handy habe ^^

Nachtrag: Für die Synchronisation mit Lightning/Sunbird/iCalendar/... via iCal-Format ist Version >= 1.1 erforderlich! Mehr zur Synchronisation in diesem Beitrag.

Nachfolgend eine knappe Dokumentation meiner Installation (Apache mit PHP5 ist bereits installiert):

  1. Paket von herunterladen und nach /var/www entpacken
  2. Ordner umbenennen: mv /var/www/WebCalendar-?.?.? /var/www/webcalendar
  3. Da ich normalerweise magic_quotes_gpc = off verwende, WebCalender den Wert aber auf on will, braucht es eine kleine Konfiguration für den Apache in /etc/apache2/conf.d/webcalendar:
    <Directory "/var/www/webcalendar">
            <IfModule mod_php5.c>
                    php_flag magic_quotes_gpc on
            </IfModule>
    </Directory>
    
  4. Bei der Datenbank habe ich mich für PostgreSQL entscheiden. Um die Webapplikation sauber zu kapseln wird ein separater DB-Benutzer mir Datenbank angelegt: sudo su postgres -c "createuser -P webcalendar && createdb webcalendar"
  5. Anschließend werden die Tabellen importiert: psql -U webcalendar -W -h localhost < /var/www/webcalendar/tables-postgres.sql
  6. Falls die pgsql-Erweiterung für PHP noch nicht installiert ist: sudo aptitude install php5-pgsql
  7. Nach dem Einrichten der Datenbank kann die Installationanleitung weiter verfolgt werden: http://localhost/webcalendar/docs/WebCalendar-SysAdmin.html#appsetup
  8. Für den Crontab zur Terminerinnerung ist muss das Paket php5-cli installiert sein: sudo aptitude install php5-cli und der Pfad zum PHP-Interpreter in /var/www/webcalendar/tools/send_reminders.php angepasst werden.

PostgreSQL Quickstart

Read More

Verschlüsseltes Ubuntu

Wer schon mal mit dem Gedanken einer verschlüsselten Festplatte gespielt hat, dem wird dieser Wiki-Eintrag gefallen. Die Anleitung erklärt ausführlich und anfängerfreundlich wie man sich sein installiertes System mit LUKS verschlüsselt. Ich habe gestern noch ein paar Hinweise eingefügt mit denen auch eine Neuinstallation nach dieser Anleitung problemlos funktionieren sollte. In meiner VM hat's jedenfalls einwandfrei funktioniert :-)

Allen Windowsbenutzern kann ich an dieser Stelle nur nochmals TrueCrypt an's Herz legen. Ich bin mir zwar nicht sicher ob man damit auch die Systempartition verschlüsseln kann, aber mit einer Datenpartition geht's auf jeden Fall!

Falls jetzt jemand kommt mit: "Ich habe doch nichts zu verbergen..." Ich finde es jedenfalls beruhigender zu wissen, dass, falls mein Notebook geklaut wird, der Dieb wenigstens nicht an die Daten ran kommt und in Ruhe meine privaten Sachen durchschnüffeln kann oder das gespeicherte Online-Banking-Passwort weiß (Ok, wer das speichert ist eigentlich selber schuld, aber is ja auch nur n Beispiel *g).

Read More

Kostenloses Werkzeug zum PDF erstellen

Das Problem, dass man ein Dokument an eine andere Person weitergeben möchte, sich aber nicht sicher ist, ob der andere das entsprechende Programm besitzt, hat bestimmt jeder schon einmal gehabt. In vielen Fällen bietet es sich hier an ein PDF zu erstellen. Das Format ist zwar nicht offen, aber doch weit verbreitet und es gibt etliche Programme zum erstellen und betrachten der Dateien. Wenn das nicht der behäbige AdobeReader sein soll, zum Beispiel den schlanken Foxit PDF Reader (auch wenn er manchmal ein paar Macken hat).

Zum erstellen von PDF Dateien schwören viele auf das kostenlos erhältliche FreePDF, dass allerdings unter einer eigenen Lizenz steht und auch nicht quelloffen ist. Ich verwende daher seit einigem das Werkzeug PDFCreator, das die Aufgabe ebensogut erfüllt und unter der GPL lizenziert ist.

Hat jemand andere Erfahrungen gemacht? Oder kennt jemand noch andere Werkzeuge zum erstellen/betrachten von PDF?

Übersetzung der FreeMind Doku

Das freie Mindmapping-Tool FreeMind hat bisher nur eine englische Dokumentation. Da einer unserer Professoren am nächsten Dienstag einen Vortrag über das Programm halten will (natürlich vor deutschem Publikum) wäre es toll, wenn bis dahin auch eine deutsche Dokumentation verfügbar wäre!

Die Übersetzungsarbeit wird von zwei Studenten der HS Karlsruhe auf einer eigens dafür eingerichteten Webseite koordiniert. Das Englisch ist nicht allzu schwer - also sollte die Übersetzung für die meisten kein Problem darstellen!

Danke für die Mithilfe!

Funktionen zeichnen

Der Mathe-Vorkurs hat begonnen, und wieder einmal dreht es sich um Funktionen. Eine Zeichnung hilft dabei oft, doch von Hand kann es lange dauern und ist zudem noch ungenau. Einen grafischen Taschenrechner will man sich dafür auch nicht unbedingt anschaffen, da die Teile ja auch nicht ganz billig sind. Aber der PC kann sowas doch sicher auch?! Und er kann…

Für Windows XP enthalten die Microsoft PowerToys den Power Calculator, der mit zweidimensionalen Funktionen eigentlich alles Notwendige beherrscht.

Das viel mächtigere gnuplot ist für UNIX, IBM OS/2, MS Windows, DOS, Macintosh, VMS, Atari und viele andere Plattformen verfügbar. Die Bedienung erfolgt hier über die Kommandozeile. Hier die wichtigsten Befehle:

set terminal svg
set output "output.svg"

set xrange [-10:10] # setzt den zu zeichnenden Bereich der X-Achse von -10 bis 10
set yrange [-10:10] # setzt den zu zeichnenden Bereich der Y-Achse von -10 bis 10
plot -0,5*x**-2*x+2 # zeichnet die Funktion -0,5x²-2x+2
Befehle um eine Funktion als SVG zu zeichnen
Gnuplot Produced by GNUPLOT 5.4 patchlevel 6 -10 -5 0 5 10 -10 -5 0 5 10 -0 -0 5*x**-2*x+2 5*x**-2*x+2
-0,5x²-2x+2

Weitere Grundlagen gibt es im Gnuplot-Grundkurs oder einfach mal Google fragen.

Read More