• START
  • SOFTWARE
    • IOSpeed
    • Photoname
    • Cacher
  • OPENSOURCE
  • BILDER-GALERIE
  • KONTAKT





Ext2/Ext3 Dateisystem-Checks (fsck) unter Linux
Mai 24, 2013 Linux

Bei den Partitionstypen Ext2/Ext3 sind regelmässige Systemchecks vorgesehen. Ob und wann so eine Prüfung stattfindet hängt unter anderem von folgenden Faktoren ab:

  • Wie oft das Dateisystem ohne Check gemounted werden darf.
  • In welchen Zeiträumen (Intervallen) Checks passieren sollen.

Beide Faktoren sind mit dem Befehl tune2fs individuell konfigurierbar (und auch abschaltbar), so kann zB. mittels des Kommando’s

tune2fs -c 20 /dev/hda2

die Anzahl der maximal erlaubten Mount’s auf 20 gesetzt werden. Bei jeden 20. Mount wird somit eine Dateisystemprüfung forciert. Zusätzlich kann der oben erwähnte Zeitraum mit dem Befehl

tune2fs -i 30 /dev/hda2

auf 30 Tage gesetzt werden. Der Check findet statt, sobald, wie in diesem Falle, eine 30-Tages Frist abgelaufen ist.

Diese automatisierten Check’s werden allerdings immer nur nach einem Neustart direkt beim Bootvorgang ausgeführt. Zu diesem Zeitpunkt sind noch keine Partitionen gemounted was wiederum eine Voraussetzung für die Prüfungen mittels fsck ist (Manuelles Mounten von Partitionen führt keine automatischen Prüfungen durch!)

Um lange Wartezeiten beim Hochfahren des System’s zu vermeiden, können die Checks auch komplett abgeschalten werden. Dies geschieht indem man den obigen Befehlen als Parameter den Wert 0 übergibt (zB. tune2fs -c 0 /dev/hda2)

Ohne Checks läuft man aber in die Gefahr korrupter Daten, deshalb sollte man sich gut überlegen wie wichtig einem die auf den Partitionen befindlichen Daten sind.

Man kann die Checks auch manuell anstoßen. Dazu legt man im Root-Dateisystem einfach die Datei “forcefsck” an (touch /forcefsck) Beim nächsten Bootvorgang werden dann alle Partitionen geprüft welche in der fstab (/etc/fstab) eingetragen sind und als 6. Parameter eine Zahl höher als 0 eingetragen haben.

Firefox: URL-Eingabe springt automatisch auf https (SSL)
Februar 7, 2013 Bugfix

Bei der direkten URL-Eingabe im Firefox wird seit neustem das https-Protokoll verwendet. Sobald man eine URL eingibt versucht Firefox die SSL-Version (https) zu öffnen und erst wenn diese nicht vorhanden ist wird der Standardport (http) verwendet. Zwecks Security macht dies natürlich auch Sinn, jedoch nicht in allen Fällen. Verantwortlich für dieses Verhalten ist die Autofill-Funktion (Dies betrifft scheinbar nur die neuesten Versionen von Firefox)

Um diese Funktion zu deaktivieren gibt man in der URL-Leiste von Firefox den Text about:config ein. Firefox fragt ob man das wirklich möchte, dies bestätigt man. Im darauf erscheinenden Suchfeld gibt man nun den Text autofill ein. Der betreffende Schlüssel nennt sich browser.urlbar.autoFill. Autofill wird deaktiviert sobald der Wert dieses Keys auf false gestellt wird.

Linux: Port-Forwarding mit rinetd
Dezember 19, 2012 Linux

Mit dem rinted-Package können Netzwerk-Ports auf einfache Art und Weise umgeleitet bzw. gemappt werden. Als Konfiguration wird, zumindest unter Debian, das File /etc/rinetd.conf verwendet.

Der Aufbau der Konfiguration ist relativ einfach:

0.0.0.0 25 mailserver.com 25
0.0.0.0 110 mailserver.com 110
0.0.0.0 995 mailserver.com 995

Die erste Spalte gibt an auf welcher IP-Adresse der rinetd-Daemon aktiv sein soll. 0.0.0.0 bedeutet das alle Interfaces dazu verwendet werden. Die nächste Spalte gibt den Quellport an. Die 3. und 4. Spalte sind der Zielhost und der Ziel-Port (Die Ports sind für einfache Weiterleitungen identisch)

Nähere Informationen dazu sind hier zu finden: http://www.debian-administration.org/articles/601

WordPress 3.5 und NextGen Gallery – Bugfix
Dezember 12, 2012 Bugfix

Seit dem Upgrade auf die WordPress Version 3.5 gab es auf diversen Portalen Darstellungsprobleme in Verbindung mit der NextGen-Gallery. Nach der Aktualisierung erschien plötzlich folgende störende Meldung im Browser:

Warning: Missing argument 2 for wpdb::prepare()

Um den Fehler zu beseitigen ist es notwendig direkt in den Code der NextGen-Gallery einzugreifen. Dazu muss lediglich in der Datei htdocs/wp-content/plugins/nextgen-gallery/lib/tags.php in der Zeile 318 folgender Text stehen:

$term_ids = $wpdb->get_col( $wpdb->prepare("SELECT term_id FROM $wpdb->terms WHERE slug IN ($sluglist) ORDER BY term_id ASC ", null));

Der bestehende Eintrag sollte sich nur durch den String “, null” am Ende der Zeile unterscheiden. Möglicherweise wird sich dieser Fix demnächst auch in einer neuen Version der NextGen-Gallery wiederfinden.

 

Photoname 0.0.2
Juli 13, 2012 Software

Die neue Version von Photoname enthält zwar keine neuen Features allerdings zahlreiche Updates welche die Stabilität und Performance erhöhen.

Mehr Informationen zu Photoname sind unter http://www.wittnet.at/photoname zu finden.

iospeed

IOSpeed – Messen von Festplattengeschwindigkeiten
Mai 27, 2012 Software

IOSpeed kann aber mehr als nur das einfache Messen der Festplattengeschwindigkeit. Es operiert im aktuellen Verzeichnis eines beliebigen Massenspeicher-Mediums, d.h. egal ob Festplatten, Ram-Disks oder Netzwerkfreigaben – IOSpeed arbeitet auf jedem Datenträger sofern ein Laufwerksbuchstabe vorhanden ist.

IOSpeed ist eine Windows-Applikation (32Bit), allerdings erfolgt die komplette Ausgabe auf Kommandozeilen-Ebene. Aus diesem Grund gibt es auch eine Reihe an verschiedenen Kommando-Parametern. IOSpeed kann aber auch ohne Parameter aufgerufen werden. In diesem Fall werden Standard-Werte verwendet.

Neben der umfangreichen Bildschirmausgabe wird auch eine Protokoll-Datei erzeugt. In dieser wird lediglich die Messung (samt Workstation-ID) gespeichert. Die Verwendung der Protokoll-Datei ist vor allem im Netzwerk interessant da zB. unterschiedliche Clients eine Netzwerk-Freigabe “testen” können und die Ergebnisse zentral in der Protokoll-Datei gespeichert werden.

Das Tool kann unter den Projekten heruntergeladen werden. Ein direkter Link folgt noch. Nach dem Downloaden die ZIP-Datei entpacken und in dem zu testenden Verzeichnis/Laufwerk abspeichern. Die Datei anschließend aufrufen und schon werden die Testergebnisse angezeigt.

Für eine vollständige Anzeige aller Funktionen am besten das Kommandozeilen Programm “cmd” unter Windows aufrufen und IOSpeed mittels “iospeed -h” starten.

gnu

GNU gdb (Debugger), MinGW, Eclipse und wxWidgets
Februar 26, 2012 Entwicklung

Debuggen unter Eclipse (C++/CDT) ist eine feine Sache sofern man es mit einfachen Datentypen wie Long, Char* usw. zu tun hat. Komplexere Datenstrukturen wie zB. ein wxString von wxWidgets spucken allerdings nur in sehr mühsamer Weise wertvolle Informationen aus. Zwar kann man sich über Expressions (wxString::ToAscii().m_str) ein wenig “retten” doch ein effizientes Debuggen ist damit nicht möglich.

Abhilfe schafft hier der PrettyPrint Modus von GDB. Anhand dieser Funktionen können Variablen in der unterschiedlichsten Art und Weise dargestellt werden. Kleiner Nachteil: Der GNU Debugger gdb muss Python-Scripts ausführen können (gdb-python27.exe) und Python selbst soll natürlich auch installiert sein. Mehr ist allerdings dann nicht mehr notwendig.

Idealerweise erstellt man ein gdbinit-File welches ungefähr folgenden Inhalt hat:

set print pretty on
set print object on
set print static-members on
set print vtbl on
set print demangle on
set demangle-style gnu-v3
set print sevenbit-strings off
source c:\dev\python\wxwidgets.gdb

Entscheidend ist hier allerdings nur die letzte Zeile welche eine Datei namens wxwidgets.gdb einbindet. Diese Datei hier downloaden und im Dateisystem ablegen (Die source Direktive dem Pfad entsprechend anpassen!) Den Code von wxwidgets.gdb habe ich größtenteils aus dem Internet, allerdings ein wenig modifiziert damit er auch direkt mittels source von GDB aufgerufen werden kann.

In Eclipse stellt man in den Debugging Settings nun noch einen Verweise auf die gerade erstellte gdbinit ein und – Fertig! Schon kann ein wxString direkt in der Debugging-View sichtbar gemacht werden.

Zeiger werden allerdings keine berücksichtigt und so wird anstatt eines dereferenzierten wxString* lediglich die Speicheradresse angezeigt. Deshalb gibt es von wxwidgets.gdb eine zweite Version welche auch den Inhalt eines wxString* berücksichtigt. Nachdem ich kein Python-Profi bin ist es möglich das dieser Code eventuell nicht optimal ist, jedenfalls funktioniert er bei mir wunderbar.

Hier kann diese erweiterte Version heruntergeladen werden: wxwidgets1.gdb (mit Pointer)

Weiterführende links:
http://forums.codeblocks.org/index.php/topic,12747.0.html
http://svn.wxwidgets.org/viewvc/wx/wxWidgets/trunk/misc/gdb/print.py
http://forums.codeblocks.org/index.php/topic,15050.msg101768.html

uml

UML Diagramme mit OpenSource
Februar 12, 2012 Allgemein

OpenSource-Tools zur Generierung von UML-Grafiken gibt es zahlreiche. Angefangen von ArgoUML, Graphviz bis hin zu StarUML uvm. Entweder sind diese Tools total veraltet, haben merkwürdige Gui’s, benötigen Jahre an Einarbeitungszeit oder kranken an wichtigen Features.

Doch Letztens war es soweit. Nach intensiver Recherche ist mir ein Tool aufgefallen welches komplett simpel aber doch auch sehr leistungsfähig ist. Dabei ging es mir nur um die Darstellung von UML und auch anderen Diagrammen ohne irgendwelcher Source-Generatoren.

Dieses Tool nennt sich Umlet. Es kann entweder Standalone oder als Eclipse Plugin verwendet werden (Java-Source inklusive) Die Webseite mag auf den ersten Blick vielleicht ein wenig abschrecken, aber es lohnt sich diesem Werkzeug eine Chance zu geben.

Die damit erstellten Dateien haben die Extension “.uxf” und sind einfache Text-Dateien im XML-Format. Somit kann der Inhalt auch von externen Programmen/Skripte bzw. auch manuell verändert werden.

Link: Umlet

virtualdub

Photoname
Februar 5, 2012 Software

Digitalkamera’s produzieren mehr oder weniger sinnvolle Dateinamen für die erstellten Fotos. Photoname benennt diese Fotos anhand des Aufnahmedatum’s und einer eindeutigen Prüfsumme um. Somit ist eine eindeutige Identifizierung der Fotos problemlos möglich (Vor allem Galerie-Benutzer mit Tausenden-Fotos wissen dieses Schema zu schätzen!)

Sicher ist diese Applikation nicht für jedermann geeignet da man vor allem den Inhalt der jeweiligen Fotos nicht aus dem Dateinamen ablesen kann. Dies ist in vielen Fällen aber gar nicht notwendig da bei den meisten Digialkermas entsprechende Programme zur Katalogisierung beiliegen.

Die von Photoname erzeugten Dateinamen beginnen mit dem Aufnahmedatum des Fotos. Fotos können damit problemlos in Jahr, Monat, Tag, … unterteilt und auch archiviert werden.

Näheres zu dieser Applikation ist unter Photoname zu finden.

virtualdub

Verwackelte Videos/Filme nachträglich stabilisieren
Dezember 5, 2011 Allgemein

Das beste Rezept um verwackelte Aufnahmen zu vermeiden ist natürlich ein Stativ zu verwenden. Doch selbst mit Stativ gibt es manchmal Situationen wo störende externe Einflüsse das Bild zum Vibrieren bringen. Was tun? Das Video wurde gedreht und ist auch nicht mehr reproduzierbar, bleibt also nur mehr der Weg der Nachbearbeitung am PC.

Es gibt genügend kommerzielle Software-Produkte welche einem dabei unterstützen, doch man kann auch mit Freeware/OpenSource-Applikationen das Problem in den Griff bekommen.

Konkret verwende ich dabei das Programm VirtualDub. VirtualDub ist eine tolle Bildbearbeitung-Software mit einigen Features, jedoch ist der Bildstabilisierungs-Filter namens Deshaker noch nicht integriert. Beide Komponenten müssen downgeloadet und entsprechend installiert werden (32-Bit Version verwenden, bei der 64-Bit Version kann der Filter nicht geladen werden)

Eine Anleitung zur genauen Konfiguration ist unter http://www.sundancemediagroup.com/articles/deshaker_guide.htm zu finden. Im Prinzip können die dortigen Einstellungen laut Screenshot übernommen werden und für eine anfängliche “Spielerei” genügt dies auch. Um die besten Ergebnisse zu erzielen empfiehlt es sich aber die Original-Dokumentation von Deshaker zu studieren (zu finden auf der Homepage) und sich mit den einzelnen Parameter auseinander zu setzen.

Hier eine kurze Vorschau auf die möglichen Resultate:

Vor der Bearbeitung:

Nach der Bearbeitung:

Elektronik Spiele Bugfix Linux Allgemein Software Entwicklung
SDL Dokumentationen AVR Spiele Wordpress Elektronik SDL_Mixer Videos DirectX Minesweeper NextGen Gallery ATMega8 Sound
Archive
  • Mai 2013 (1)
  • Februar 2013 (1)
  • Dezember 2012 (2)
  • Juli 2012 (1)
  • Mai 2012 (1)
  • Februar 2012 (3)
  • Dezember 2011 (3)
  • November 2011 (2)
WittNet powered by WordPress and The Clear Line Theme - Impressum