Archiv der Kategorie: Allgemein

Merkhilfe für gutes Design

1) Switch-Konstrukte oder nicht-elementare if-Statements (alles, was nicht mit <,>=,==,|| etc geprüft wird)
weisen auf einen Design-Fehler hin, den man durch Polymorphismus lösen kann. Bsp: Methode male() vor und nach Benutzung von abstrakten Methoden
2) Vererbte Dinge sind immer in den Unterklassen da, aber nur public v/m sind echt “sichtbar”
3) Man verwendet immer private für Attribute einer Klasse und macht sich Getter/Setter um in Unterklassen (und evtl auch aus anderen Klassen) darauf zugreifen zu können
4) Vererben tut man, wenn verschiedene Objekte in Teilen gleich sind und sich gleich Verhalten
5) Abstrakte Klassen nutzt man, wenn es die Oberklasse an sich gar nicht gibt
6) Abstrakte Methoden nutzt man dann, wenn man vererben möchte, die Funktionalitäten aber in jeder Unterklasse anders implementiert werden müssen, und nicht gleich sind.
7) die Implementierung eines Interfaces ist sowas wie das Implementieren von abstrakten Methoden einer Superklasse, nur besser!

Gefunden hier:
Quelle: http://www.java-forum.org/einfuehrungen-erste-schritte/76834-vererbung-polymorphie.html

Usbplatte an Fritzbox mit Ubuntu mounten

Folgendes Konstellation.

1x Dreamplug Computer mit Ubuntu 2.6.33.6 drauf.
1x Fritzbox mit angeschlossener Usbplatte

Ziel: auf dem Dreamplug ist git installiert und auf dem Usbplatte an der Fritzbox soll das entfernte Repository liegen.

Fehlermeldungen wie diese brachten mit zur Weißglut.

tec-ireschke:ingo-reschke ingoreschke$ ingo@dreamplug password: 
Counting objects: 5, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (3/3), done.
Writing objects: 100% (3/3), 331 bytes, done.
Total 3 (delta 2), reused 0 (delta 0)
error: insufficient permission for adding an object to repository database ./objects
 
fatal: failed to write object
error: unpack failed: unpacker exited with error code
To ingo@dreamplug:/mnt/fritz/mediaplatte/git/websites/ingo-reschke.git/
 ! [remote rejected] master -> master (n/a (unpacker error))
error: failed to push some refs to 'ingo@dreamplug:/mnt/fritz/mediaplatte/git/websites/ingo-reschke.git/'

Schaut man sich die Dateirechte an scheint alles in Ordung zu sein.

ls -la
drwxrwxrwx 2 root root

Allerdings arbeiten Unix Rechte und Windows Rechte nicht zusammen.

1. The UNIX permissions of a directory onto which you mount a Windows filesystem can’t be changed while the fileystem is mounted. Unmount the Windows partition; you should then be able to chmod the permissions of /mnt/Windows. You will need to set the appropriate Linux rwx permissions on the /mnt/fat folder and set the permissions for the FAT partition (as described below) in order to grant everyone write access.

2. Windows doesn’t support UNIX-style permissions, and you can only apply permissions to the entire filesystem, not to individual Windows files/folders. This is done with the “umask” option of the mount command. In /etc/fstab, change the mount entry for your Windows partition to this:

/dev/hda6 /mnt/fat vfat users,defaults,umask=000 0 0

http://www.daniweb.com/hardware-and-software/linux-and-unix/threads/22358/mounting-a-fat32-drive-in-linux

Folgender Eintrag in die /etc/fstab bringt die erwünschten Schreib und Lese Rechte auf der Fat32 Platte.

<file system>                         <mount point>           <type>  <options>                       <dump>  <pass>
# Einbinden der Usbplatte an der Fritzbox ohne Password
//fritz.box/WD-10EAVSExternal-01        /mnt/fritz/mediaplatte  cifs    password=                       0       0

Gefunden hier:http://wiki.ubuntuusers.de/Samba_Client_cifs#Festes-Einbinden

Wird keine Authentifikationsdatei (credentials) und kein Benutzername angegeben, gilt der jeweils eingeloggte Benutzer. Das Passwort wird dann beim Einbinden interaktiv erfragt. Dies unterbleibt, wenn man die Option guest oder ein leeres Passwort einträgt.

    # Beispiel ohne Passwort (sinnvoll z.B. für USB Speicher ohne Passwort an einer Fritzbox)
    //192.168.178.1/Backup /media/Backup cifs password=  0 0

Simulierte Dateirechte: Die Simulation von Dateirechten mit den Optionen uid, gid, dir_mode und file_mode ist nur dann von Bedeutung, wenn die cifs-UNIX-Erweiterungen nicht aktiv sind. Sie wird weiter unten erklärt.

Weitere nützliche Quellen:
http://wiki.ubuntuusers.de/fstab
http://wiki.ubuntuusers.de/Rechte#Standard-Einstellung-und-Maskierung
http://wiki.ubuntuusers.de/mount#Optionen
http://progit.org/book/ch4-2.html

regex

To master regular expressions is to master your data.

Regular expressions are the key to powerful, flexible, and efficient text processing. Regular expressions themselves, with a general pattern notation almost like a mini programming language, allow you to describe and parse text. With additional support provided by the particular tool being used, regular expressions can add, remove, isolate, and generally fold, spindle, and mutilate all kinds of text and data.

Quelle: Mastering Regular Expressions 3rd Edition

Auch ein Team von Idioten kann nach Scrum arbeiten

Es liefert am Ende jedes Sprints zuverlässig Produktinkremente, hält alle Meetings ab, und verteilt die Rollen nach Scrum. Wenn aber das Scrum-Team die Ergebnisse nicht nutzt, um anders zu arbeiten und Anpassungen vorzunehmen, wird auch das Produkt nicht besser oder früher fertig sein.

Quelle: http://de.wikipedia.org/wiki/Scrum

Android eigene Klingeltöne, Alarms, Benachrichtigungstöne etc.

Anleitung für eigene Klingeltöne.

Auf der SD Karte folgende Ordner anlegen

media/audio/music
media/audio/ringtones
media/audio/notifications
... weitere wenn erwünscht.

Dann einfach die gewünschten Töne in die entsprechenden Ordner kopieren.
Danach werden die Töne in den Auswahllisten für Klingeltöne und Benachrichtigungstöne angezeigt.

Anlegen und kopieren entweder über den angeschlossenen Computer (USB-Kabel oder Bluetooth) oder
einen Fileexplore – zum Beispiel ASTRO – installieren
Dort dann unter sd die Ordner anlegen
Per Mail oder Download die Töne aufs Handy und in die entsprechenden Ordner kopieren.

Siehe
http://developer.android.com/guide/topics/data/data-storage.html#filesExternal

Music/ – Media scanner classifies all media found here as user music.
Podcasts/ – Media scanner classifies all media found here as a podcast.
Ringtones/ – Media scanner classifies all media found here as a ringtone.
Alarms/ – Media scanner classifies all media found here as an alarm sound.
Notifications/ – Media scanner classifies all media found here as a notification sound.
Pictures/ – All photos (excluding those taken with the camera).
Movies/ – All movies (excluding those taken with the camcorder).
Download/ – Miscellaneous downloads.

Siehe auch hier http://www.android-hilfe.de/t-mobile-g1-forum/482-klingeltoene.html