Mai
09
2010

OS X Spotlight stark beschleunigen

Unter OSX gibt es so etwas wieSpotlight-Blockierliste einStartmenünicht. Wenn man eine Applikation starten will, dann öffnet man mit Finder einfach den /Applications-Ordner und doppelklickt auf die gewünschte Applikation oder man drückt die Tastenkombination ⌘-Leertaste und gibt die ersten paar Buchstaben seiner Applikation ein. Wenn sie sofort gefunden wurde, drückt man nur noch Enter und sie wird gestartet. Das hat sich bei mir so stark zur Gewohnheit gemacht, dass ich teilweise keinen Dateibrowser mehr benutze (für Dateisystem-Operationen ist das Terminal sowieso benutzerfreundlicher), was wiederum erlaubt zu hinterfragen, ob man so etwas als Benutzer in Zukunft überhaupt wirklich braucht wenn solche Konzepte wie Spotlight sich noch etwas weiterentwickeln.

Spotlight holt seine Informationen aus einer Datenbank. Diese Datenbank hält einen Index über alle Dateien auf der Festplatte bereit und wird von Hintergrundprozessen ständig aktuell gehalten.

Allerdings ist Spotlight manchmal langsam. Ich definierelangsam” in diesem Fall mit “die Ergebnisse erscheinen nicht sofort“. Das kommt einerseits daher, dass der Hintergrundprozess, der die Datenbank aktuell hält, bei manchen Ordnern extrem viel zu tun hat, da sich dort ständig vieles ändert. Andererseits kommt es daher, dass Suchen in großen Datenbanken geringfügig länger dauert, als in kleinen. Die Laufzeit steigt zwar nicht linear mit der Datenbankgröße (Datenbanken verfügen über einige sehr ausgeklügelte Suchalgorithmen), aber sie steigt.

Googlen und Ausprobieren hat mir heute die Erkenntnis gebracht, dass es da gewisse Ordner gibt, nach deren Inhalten man eigentlich nie sucht, die sich aber laufend ändern. Wenn man sie von der Indizierung ausschließt, dann lässt Spotlight sich dadurch verblüffend gut beschleunigen.

Man geht folgendermaßen vor: Klick auf  -> Systemeinstellungen -> Spotlight -> Privatsphäre. Mit einem Klick auf “+” kann man nun Ordner hinzufügen, die dann später von Spotlight nicht mehr berücksichtigt werden.

Hier fügt man nun die Ordner “~/Library/Application Support” und “~/Library/Caches” hinzu (~ ist eine Abkürzung für den eigenen Home-Ordner). In diesen Ordnern ändert sich ständig einiges und als normaler Benutzer schaut man sowieso praktisch nie in die dort liegenden Dateien.

Da ich als Software-Entwickler haufenweise SDKs und Frameworks installiert habe, werde ich bei fast jedem Stichwort von Spotlight mit gefundenen Header-Dateien überflutet. Das bleibt aus, wenn man einfach grob “/Library” und unter “/Developer” alles außer “/Developer/Applications” in die Sperrliste hinzufügt.

Wer “Fink” benutzt (Ein Paketmanager für freie Software für OS X), wird “/sw” zur Liste hinzufügen wollen.

Der zur Datenbank gehörende Hintergrundprozess passt sein Vorgehen beim Indizieren nun automatisch daran an. Die Datenbank muss nicht neu aufgebaut werden.

4 Kommentare
Written by Jacek in: Computerstuff | Schlagwörter:,
Dez
29
2009

Ein Weihnachtsgeschenk 2009

Ich hatte mir dieses Jahr eigentlich vorgenommen, zu Weihnachten als Geschenk eine selbstgebaute “Pulsanzeige” zu bauen, deren Schaltung dann noch in einem dekorativen Gehäuse verbaut werden sollte.  Das “Praktikum Elektrotechnik 2″, an dem ich dieses Semester  teilnehme, befasst sich im vierten Versuch mit Funktionsgeneratoren auf Basis von Operationsverstärkern und Grundschaltungen derselbigen. Jedenfalls brachte mich die letzte Aufgabenstellung der Versuchsdurchführung, nämlich das Verstärken des Pulssignals aus einer Fingerklammer, auf die Idee so etwas mal zuhause nachzubauen und es dann noch “Benutzerkompatibel” für die erwähnte Geschenkidee zu machen. Der Benutzer sollte dann einen Finger in eine Klammer stecken, die seinen Puls über das optische Verfahren abnimmt und die Operationsverstärkerschaltung betreibt dann eine dekorative Lampe die so synchron mit seinem Puls aufleuchtet.

Leider hat es mit der Zeit nicht mehr hingehauen, die Schaltung verschenkfertig zu machen. Es gab ein paar batteriespezifische Probleme und so weiter, von daher habe ich mich nach einem Alternativgeschenk umgesehen.

Bei der Suche bin ich auf eine Reihe Klein-Bastelprojekte gestoßen, die aufeinander aufbauen und sich auf interessantem Wege jeweils verbessern:

Phototransistorschaltung von www.evilmadscientist.com (Bild stammt von dort)

Zunächst ist auf www.evilmadscientist.com eine Bastelei aufgetaucht, die auf sehr minimalistischem Wege LEDs nur in dunkler Umgebung leuchten lässt (Link zum Artikel). Ein anderer Bastler hat auf www.instructables.com veröffentlicht, wie er eine kleine LED-Schaltung insofern mit einem Mikrocontroller erweitert hat, dass sie danach flackert wie eine Kerze (Link zur Anleitung).

Ein weiterer Hobbybastler hat dann auf www.hackaday.com veröffentlicht, wie er diese beiden Ideen kombiniert hat, um LEDs nur im Dunklen flackern zu lassen (Link zum Artikel). Die Schaltung bietet auf diesem Stand einen Mikrocontroller, der sich um das Flackern kümmert und einen Fototransistor, der den kompletten Mikrocontroller abschaltet, wenn das Umgebungslicht zu hell ist.

Fototransistor mit Mikrocontroller verschaltet auf www.spritesmod.com (Bild stammt von dort)

Diese Schaltung wiederum hat der Webmaster von www.spritesmods.com aufgegriffen (Link zum Artikel), weil ihm aufgefallen ist, dass die Schaltung auch mit viel weniger Bauteilen funktioniert, wenn man ein interessantes Detail von LEDs ausnutzt:

Wenn man Licht auf eine LED scheinen lässt, dann produziert sie eine Spannung an ihrer Sperrschicht, die in Sperrichtung abfällt. In diesem Moment kann man die LED wie eine kleine Stromquelle, parallel zu einem Kondensator geschaltet, betrachten.
Der Mikrocontroller nutzt diese Tatsache folgendermaßen aus: Er schaltet in gewissen Zeitintervallen die Beleuchtung ab, beschaltet eine LED hochohmig, damit sich eine Spannung anlegen kann, misst sie und entscheidet dann, ob die Lichter danach weiter leuchten sollen oder nicht. Ferner wird der Mikrocontroller nun nicht mehr ausgeschaltet, sondern legt sich einfach “schlafen” und wacht später für die nächste Messung wieder auf. Das ist immer noch extrem sparsam.

Schaltung, die ohne Phototransistor auskommt

Vereinfachte Schaltung von www.spritesmod.com (Bild stammt von dort)

Alex von www.tinkerlog.com hat diese Idee wiederum aufgegriffen und ihr mit einer künstlerisch anmutenden Freiform-Verlötung der Bauteile einen wundervollen Hauch von Eleganz und Ästhetik verpasst. (Link zum Artikel).

Weil mir die Idee so gut gefallen hat, habe ich mich schnell dazu entschieden, sie nachzubauen, zumal man sowas schön verschenken kann.

Allerdings bot die spritesmod.com-Version der Schaltung und Mikrocontroller-Software eine Möglichkeit, die Schwellhelligkeit, bei der die LEDs noch flackern sollen, einzustellen/zu kalibrieren. Die tinkerlog-Version hat darauf verzichtet, um Platz für ein anderes nettes Feature zu bieten: Wenn man den Mikrocontroller resettet, dann leuchtet jeweils eine andere Anzahl an LEDs, was wiederum sehr passend für die verschiedenen Adventswochen ist.

Die Version die ich nachgebaut habe, bot letzteres Feature nicht, zumal die Adventwochen sowieso schon vorbei waren und ich diese Kalibrierung nicht auslassen wollte, zumal der Benutzer meiner Ansicht nach entscheiden sollte, bei welcher Helligkeit er den Kranz schimmern sehen will.

Jedenfalls habe ich mich heute noch einmal hinter den Sourcecode geklemmt, um Helligkeitskalibrierung und Adventskerzenfunktion zu haben.

Das Flackern der Lichter wird  realisiert, indem einfach verschiedene LED-Helligkeiten die in einem Array gespeichert sind, schnell nacheinander auf den LEDs dargestellt werden. Die Werte sind allesamt möglichst zufällig gewählt, um sich dem praktisch zufälligen Flackern einer Kerzenflamme in den ebenso praktisch zufälligen Luftzügen, die man zuhause so hat, anzunähern.

Im Endeffekt lief es darauf hinaus, dass ich so viele Zufallszahlen aus dem Zufallszahlen-Array herausgelöscht habe, dass beide Features auf den Chip passen. Außerdem habe ich die im EEPROM gespeicherten Werte (Kerzen-Anzahl und gespeicherte Schwell-Helligkeit) in eine .eep Datei ausgelagert, die getrennt auf den Chip geflasht werden kann.

Ein Video zeigt ganz gut, dass es keinen deutlichen Unterschied macht, ob es ~150 oder ~250 Zufallswerte sind, die das Flackern erzeugen. Zwei Abschnitte des folgenden Videos sind mit zwei verschieden großen Zufallszahlen-Arrays gemacht. Um ehrlich zu sein, weiß ich selbst nicht mehr, welcher Abschnitt mit welcher Einstellung arbeitet:

Nun ja, besonders verwunderlich ist das nicht, zumal das Kerzenflackern ja schon mit zwei NE556-Bausteinen gut klappt.

Den Sourcecode inklusive dem angepassen Makefile gibt es hier: Download

Video vom fertigen Aufbau:

0 Kommentare
Written by Jacek in: Elektronik | Schlagwörter:, , , , , , , ,
Aug
28
2009

AVR-Programmierung unter OS X

atmelchipAtmel kümmert sich mit kostenloser Software zur komfortableren Entwicklung von Software für die hauseigenen Mikrocontroller ganz gut um seine Kunden. Wenn sie Windows benutzen.

AVR Studio (Homepage, für Windows) kann alles, was das Herz begehrt. Es ist eine Programmierumgebung für C- und Assembler-Programmierer, die zusätzlich das Hochladen und Debugging von Programmcode auf den Chip bietet. Außerdem ist ein Simulator mitgeliefert, der die Analyse des Chips mit dem man arbeitet, stark vereinfacht und veranschaulicht.

Abgesehen davon dass man, nach einer kurzen Phase der Enttäuschung darüber dass Kunden mit anderen Lieblingsbetriebssystemen nicht bedient werden, fast Neid empfindet, stellt sich nach etwas Recherche aber dann doch durchaus heraus, dass das kein Grund ist, auf Windows umzusatteln. Jeder Nicht-User von Windows hat schließlich seine guten Gründe.

Also um überhaupt erst einmal AVR-Mikrocontroller zu programmieren, braucht man Compiler, Bibliotheken, Header-Dateien, Assembler und das Tool zum Hochladen des Codes.

Toolchain

Fink-Nutzer mögen einfach die diversen AVR-Pakete installieren, das geht schnell und einfach. (Mit Paketnamen: avr-binutils, avr-gcc, avr-libc, avrdude). Ich gehe hier nicht weiter auf Fink ein, da diejenigen, die jetzt nicht wissen wie das geht oder was Fink überhaupt ist, sowieso ein paar mehr Seiten an Doku lesen müssten und da ich es selbst nicht so gemacht habe (Beispielsweise deswegen weil der Assembler den ich haben wollte meines Wissens nach nicht per Fink zu erhalten ist).

Objective Development hat ein sehr praktisches Paket herausgebracht: Das Crosspack bietet alle Tools die man braucht. Gleichermaßen für Intel-Macs wie PPC-Macs.

Jetzt steht man zwar noch ohne GUI-Tools da, aber per Konsole kann man schon losprogrammieren. Mit dem Lieblingstexteditor programmiert man drauf los, kompiliert mit “avr-gcc” oder assembliert mit “avra”, lädt das Kompilat mit “avrdude” hoch und mit selbigem Tool ändert man auch die FUSE-Werte. Das ist nicht unkomfortabel, wenn man sich mit Shellscripten und einem guten Texteditor ausrüstet. (Empfehlung: VIM – ist bereits vorinstalliert)

Allerdings fehlen noch Syntax-Highlightning, Code-Completion, Upload-Button, FUSE-Editor, Registerbrowser usw.:

Entwicklungsumgebung

Beim Crosspack sind bereits Xcode-Templates mitgeliefert, aber da ich jene nicht benutze, bleibt das nur nebenbei erwähnt.

Ich kann Eclipse wärmstens empfehlen: Es handelt sich um eine Entwicklungsumgebung, die – da Java-basiert – auf jedem Betriebssystem heimisch ist und Plugins für jede Programmiersprache und beinahe jedes Framework liefert. Sich an dieses sehr umfangreiche Programm zu gewöhnen ist eine gute Idee, da man sich damit nicht an ein Betriebssystem oder Framework oder ähnliches bindet. Die neueste Version für OS X hängt auch nicht mehr vom Carbon-Framework ab, sondern baut die Oberfläche endlich auf Cocoa auf, was viele Vorteile gebracht hat.

Um Eclipse den Umgang mit AVRs beizubringen, braucht man das entsprechende Plugin: AVR-Eclipse. Auf die Installation gehe ich nicht weiter ein, da sie nicht kompliziert ist und eine Anleitung bald ohnehin schnell veraltet sein kann. Das Wiki der Projektseite bietet eine gute Anleitung.

Der praktische Upload-Button!

Als nächstes bringt Eclipse allgemein natürlich den Syntax-Parser, die Code-Completion, Syntax-Highlightning, eine schöne Organisationsstruktur für Projekte, Debuggingmöglichkeiten, Symbolbrowser und so weiter.

AVR-Plugin-spezifischer sind der praktische Upload-Button, der AVR-Device-Explorer, in dem man alle Register, Ports und Interrupts chipspezifisch einsehen kann, die Programmer-Integration (über die man den Typ des Mikrocontrollers übrigens inklusive Taktung automatisch auslesen kann) und die Möglichkeit, alles projektspezifisch einzustellen.

Bilder sagen mehr als tausend Worte:

Der AVR Device ExplorerFUSE-Editorlockbit_editor

Wer die Arbeit mit Eclipse bereits gewohnt ist, der wird dieses Plugin sicher mögen.

Wenn allerdings schnell mal ohne großes Terminal-Bla FUSEs ausgelesen/geändert, Kompilat hochgeladen oder ähnliches getan werden soll, dann ist es übertrieben, extra ein Eclipse-Projekt aufzuziehen.

Das perfekte Tool hierfür heißt AVRFuses. avrfuses_about

Es ist in C#.NET programmiert, was wiederum bedeutet, dass es unter Windows, Linux (mit Mono) und OS X lauffähig ist.

Da es eine Vielzahl von AVR-Chips unterstützt und an sich recht spartanisch ausgestattet (Es kann das was man braucht und mehr nicht) ist, nutzt man es am besten um schnell mal ein paar Bits zu setzen, wenn man fremde Programme in den eigenen Mikrocontroller schicken will oder ähnliches.

Die eigentlichen Features:

  • Programme hochladen/auslesen
  • EEPROM hochladen/auslesen
  • Chip löschen
  • FUSE-Bits setzen/auslesen

Screenshots:

avrfuses_1avrfuses_2

3 Kommentare
Aug
07
2009

O2-Kunden: Verbindungsaufbau beschleunigen

O2-StandardrouterMittlerweile bekommt man kaum noch echte Telefonanschlüsse, sondern eher Telefon über Internet. Die Qualität ist schlechter, der Verbindungsaufbau häufig langsamer, aber es ist billig.

Bei O2 ist es so, dass der Router nach dem Eintippen der Nummer noch fünf Sekunden wartet, bis er loswählt. Vielleicht zögert/überlegt der Benutzer ja noch. Bei früheren Telefonverbindungen war das egal – wenn man über Internet verbunden wird, dann ist das aus technischen Gründen nicht mehr egal.

Als ich letztens auf o2online.de (dort wo man als “Onlinekunde” seine Rechnungen und Verbindungsnachweise nachlesen kann) im Hilfe-Abteil herumgesurft bin, habe ich auch folgenden goldenen Tipp gefunden:

Die fünfsekündige Wartezeit des Routers lässt sich unterbrechen, indem man eine Raute (#) an die Nummer anhängt. Der Router wählt dann sofort los!

Wer also alle Nummern im digitalen Telefonbuch mit einer Raute am Ende ausstattet, der wartet fortan nicht mehr so lange, bis er verbunden ist.

Das sollte nicht nur bei O2-Kunden klappen, sondern allgemein bei jedem, der einen Router von Zyxel benutzt. Allerdings sind alle mir bekannten Geräte dieses Herstellers so schlecht, dass man sowas eigentlich nur dann haben sollte, wenn der Telekommunikationsanbieter es kostenlos mit dem Anschluss ausliefert.

0 Kommentare
Written by Jacek in: Allgemein | Schlagwörter:, , ,
Jun
19
2009

Lösungen zum Praktikum Informatik 1

Dir listingIm zweiten Semester des Bachelor-Studiengangs “Elektrotechnik / Informationstechnik / Technische Informatik” gibt es ein Programmierpraktikum unter dem Titel “Praktikum Informatik 1″.

Ich habe das alles vorgearbeitet um es schnell hinter mir zu haben und hin und wieder Kommilitonen geholfen, wenn sie mich um Hilfe fragten. Auf Dauer lud ich die Sourcecodes einfach aus Bequemlichkeit hoch und durch die bald darauf folgende Verlinkung auf uni.ist.hirnlos.net hat sich die entsprechende Adresse schnell und weit verbreitet. Gerade weil das eher ein Bequemlichkeitsakt war, sind die Sourcecodes auch nicht lehrsam dokumentiert. Ich habe einfach nur programmiert was das Praktikumsskript verlangt um dafür meine Testate zu bekommen und das war’s.

Da mittels Google oft nach “Student im Urlaub Programmierpraktikum Lösungen” o.ä. gesucht wird, dieses Blog hier allerdings nicht darauf verlinkt, verlinke ich die Adresse mal in diesem Artikel, um vielen sonst ins Leere gehenden Suchanfragen doch ein Ziel zu geben.

Alle meine Lösungen sind unter http://www.student-im-urlaub.de/source erreichbar.
Ich übernehme weder Haftung für die Richtigkeit der Sourcecodes, noch für Schäden oder irgendwelche unmittelbare Folgen durch Benutzung dieser Programmcodes. (Schließlich bin ich nur Kommilitone und habe sonst nichts mit dem Praktikum am Hut)

Mittlerweile ist diese Quelle auch den Tutoren aufgefallen. Offenbar ist ihnen auch aufgefallen, dass viele den Code einfach kopieren, aber nicht richtig verstehen. Der Sinn dieses Praktikums ist dadurch natürlich für diejenigen, die sowas tun, gebrochen.

Mit ist das prinzipiell völlig egal, zumal wir alle erwachsen genug sind, um selbst zu entscheiden. Wie gesagt, ich schreibe diesen Artikel hier, um ins Leere gehende Suchanfragen zu verhindern.

Sobald das Praktikum vorbei ist, lade ich die Lösungen auf www.bsetitti.de, das Forum für Kommilitonen dieses Studiengangs, hoch. Das verzögert sich deshalb auf das Ende des Praktikums, weil bis dahin nicht sicher ist, ob noch Änderungen/Korrekturen folgen.

0 Kommentare
Written by Jacek in: Uni | Schlagwörter:, , , ,
Mai
27
2009

Boolesche Ausdrücke vereinfachen

KV-Diagramme vereinfachen war nie leichter!Um boolesche Ausdrücke zu vereinfachen, kann man Karnaugh-Veitch-Diagramme benutzen. Die Problematik gibt es praktisch überall, wo es um Low-Level-Logik geht.

Um mein eigenes Verständnis so tief zu treiben, wie es nur geht, habe ich ein Java-Applet dazu programmiert.

Da sich weit und breit im Internet kaum sinnvolle Sourcecodes zu solchen Anwendungen finden lassen, die auch noch Betriebssystem-unabhängig sind, gebe ich den Sourcecode frei.

Die lauffähige Version findet sich unter student-im-urlaub.de/kvdes

Und der Sourcecode unter student-im-urlaub.de/kvdes/kvdeskiller-2009-05-27.zip

Der Sourcecode darf völlig frei verwendet werden. Meinen Namen bei Weiterverwendung zu erwähnen wäre zwar nett, ist aber nicht nötig.

Viel Spaß damit, falls wer etwas damit anfangen kann. ;)

1 Kommentar
Mai
03
2009

Alle MP3s von einer Webseite holen

MP3s ladenManche Musiker bieten ihre Musik im MP3-Format kostenlos zum Download an. Man kann dann mit 30 Mausklicks 30 neue MP3s runterladen.

Aber es ist nervig, für alle MP3s die Maus zu benutzen. Man kann den Vorgang ja auch automatisieren:

wget $(curl http://www.8bitpeoples.com/discography/by/trash80 | awk '/mp3/{print gensub(/^.*(http:.+\.mp3)".*$/, "\\1", $0)}')

Die URL (http://….) lässt sich natürlich gegen jede andere ersetzen. Das Script sucht im Quellcode nach Adressen von mp3-Dateien.

0 Kommentare
Written by Jacek in: Computerstuff | Schlagwörter:, , , ,
Apr
12
2009

Optimalen WLAN-Kanal ermitteln

Histogramme mit AWK

Wenn man zuhause ein frisches Funknetzwerk aufstellt oder beim bereits laufenden Funknetzwerk Störungen feststellt, dann sollte man sich zunächst zum Konfigurationsdialog des Access Points begeben und sich folgende Frage stellen:

Welchen Kanal stelle ich ein?

Wenn man diese Frage aus dem Bauch heraus beantwortet, dann kann das zur Folge haben, dass man von einem langsamen und störungsbehafteten heimischen Funknetzwerk genervt wird. Die Ursache? Man funkt auf einem Kanal (Bzw. einer Frequenz), die von mehreren verschiedenen Funknetzwerken benutzt wird.

Also sollte man zunächst die umliegenden Funknetzwerke durchscannen und nachsehen, ob es noch freie oder möglichst wenig benutzte Kanäle gibt.

Da ich mich in den letzten Wochen vermehrt mit diesem Problem konfrontiert sah, habe ich ein kleines Einzeilerskript geschrieben, mit dem man dieses Problem effizient lösen kann:

/System/Library/PrivateFrameworks/Apple80211.framework/Versions/A/Resources/airport -s | sed -e 's/^.*-[0-9]\{1,3\} *//g' | awk 'NF > 0{ counts[$1] = counts[$1] + 1; } END { for (word in counts) if (word !~ /SSID/) print "Kanal", word ":", counts[word], "mal"; }' | sort

Wegen des airport-Befehls funktioniert es nur auf OS X Systemen.

Die Frage des Kanals ist nun, wenn man sich einen Alias in der .bashrc, .zshrc oder wie auch immer setzt, innerhalb von einer Sekunde geklärt.

3 Kommentare
Written by Jacek in: Computerstuff | Schlagwörter:, , , , , , ,
Apr
04
2009

Ordentlicher Macbook-Touchpad Support

Ubuntu auf dem MacbookDas Problem mit Linux ist meistens, dass es zwar prinzipiell alles kann, aber die Distributoren sich überfordert damit zeigen, für jedes Computermodell sinnvolle Standard-Einstellungen zu schaffen.

Bei anderen Betriebssystemen wird das entweder so gelöst, dass der Hersteller den Support nur für eine stark begrenzte Hardware-Vielfalt zu pflegen hat oder sich die Hardware-Hersteller selbst darum kümmern.

In den letzten Tagen boote ich, wenn ich gerade nichts wichtiges zu tun habe, mein Macbook mit Linux und versuche, alles zum Rennen zu bekommen, was wichtig für eine komfortable Bedienung ist.

Fundamental wichtig sind natürlich Grafik und Eingabegeräte. Wenn sie nicht oder nur schlecht funktionieren, dann kann man den Computer bedienen, aber es nervt alles einfach nur.

Zwei Dinge habe ich in den letzten Tagen schön zum Arbeiten bekommen. Ich beziehe mich hierbei auf Ubuntu 8.10.

Touchpad

Unter OS X habe ich mich daran gewöhnt, mit einem Finger per Tap einen Mouseclick auslösen zu können. Zwei Finger: Rechtsklick. Drei Finger: Mittelklick. Und das beste Feature an den Apple-Touchpads schlechthin: Mit zwei Fingern scrollen können – egal wo auf dem Touchpad die Scrollbewegung beginnt.

Das funktioniert nicht von alleine, aber HAL ermöglicht eine Konfiguration, so dass alles exakt wie unter OS X läuft.

Wichtig ist zunächst, in der /etc/X11/xorg.conf – falls diese Datei existiert – alle Einträge zu entfernen, die Touchpads betreffen. Geräte, die hier nicht auftauchen, werden von HAL konfiguriert. Dieser Daemon wird von X.org mittlerweile insofern unterstützt, dass er Geräte sofort nach dem Einstecken konfiguriert.

Damit dieser Trick auch mit Apples Touchpads funktioniert, legt man eine Datei /etc/hal/fdi/policy/appletouch.fdi an, die folgenden Inhalt hat:

<?xml version=”1.0″ encoding=”ISO-8859-1″?>
<deviceinfo version=”0.2″>
<device>
<match key=”info.capabilities” contains=”input.touchpad”>
<match key=”info.product” contains=”appletouch”>
<merge key=”input.x11_driver” type=”string”>synaptics</merge>
<merge key=”input.x11_options.SHMConfig” type=”string”>true</merge>

<merge key=”input.x11_options.VertEdgeScroll” type=”string”>false</merge>
<merge key=”input.x11_options.HorizEdgeScroll” type=”string”>false</merge>
<merge key=”input.x11_options.VertTwoFingerScroll” type=”string”>true</merge>
<merge key=”input.x11_options.HorizTwoFingerScroll” type=”string”>false</merge>

<merge key=”input.x11_options.RTCornerButton” type=”string”>false</merge>
<merge key=”input.x11_options.RBCornerButton” type=”string”>false</merge>
<merge key=”input.x11_options.LBCornerButton” type=”string”>false</merge>
<merge key=”input.x11_options.LTCornerButton” type=”string”>false</merge>

<merge key=”input.x11_options.TopEdge” type=”string”>0</merge>
<merge key=”input.x11_options.LeftEdge” type=”string”>0</merge>
<merge key=”input.x11_options.RightEdge” type=”string”>1100</merge>
<merge key=”input.x11_options.BottomEdge” type=”string”>800</merge>

<merge key=”input.x11_options.FingerLow” type=”string”>15</merge>
<merge key=”input.x11_options.FingerHigh” type=”string”>25</merge>

<merge key=”input.x11_options.TapButton1″ type=”string”>1</merge>
<merge key=”input.x11_options.TapButton2″ type=”string”>3</merge>
<merge key=”input.x11_options.TapButton3″ type=”string”>2</merge>

<merge key=”input.x11_options.ClickFinger1″ type=”string”>1</merge>
<merge key=”input.x11_options.ClickFinger2″ type=”string”>3</merge>
<merge key=”input.x11_options.ClickFinger3″ type=”string”>2</merge>

<merge key=”input.x11_options.MinSpeed” type=”string”>0.5</merge>
<merge key=”input.x11_options.MaxSpeed” type=”string”>2.5</merge>
<merge key=”input.x11_options.AccelFactor” type=”string”>0.15</merge>

<merge key=”input.x11_options.PalmDetect” type=”string”>true</merge>

<merge key=”input.x11_options.MaxTapMove” type=”string”>100</merge>
</match>
</match>
</device>
</deviceinfo>

Die Änderung wird sofort umgesetzt, wenn man mit “sudo /etc/init.d/hal restart && sudo modprobe -r appletouch && sudo modprobe appletouch” den HAL-Server neu startet und das Touchpad-Modul neu lädt.

Grafik

Die 3D-Beschleunigung des Desktops ist spürbar schneller und flüssiger, wenn man die folgende Zeile in den Grafikkarten-Teil der /etc/X11/xorg.conf hinzufügt:


Option “AccelMethod” “UXA”

Diese Beschleunigungsmethode ist bei Ubuntu standardmäßig nicht eingeschaltet, da sie offiziell noch nicht stabil ist. Aber auf meinem Macbook2,1 hat das noch keine Probleme verursacht. Im Gegenteil.

0 Kommentare
Written by Jacek in: Computerstuff | Schlagwörter:, , , , ,
Feb
02
2009

Knochenmarkspende für Vollidioten

Wer bei StudiVZ angemeldet ist, bekommt zur Zeit reichlich Spam:

Gesucht 

AB-Rhesus negativ!!! 
wenn ihr nicht helfen könnt, Bitte weitersenden!! 
Wer hat diese Blutgruppe? 
Wegen Leukämieerkrankung dringend gesucht. 
Selber wäre man auch froh wenn’s weitergeleitet werden würde….. 

DRINGEND!!!!!! ! 

Knochenmarkspender Blutgruppe AB Rhfkt. negativ gesucht! 

Es hat einen guten Zweck!” könnte man sagen. Könnte man. Aber wieso habe ich das Gefühl, dass das alles nur Verarschung ist?

Als ich etwa 17 Jahre alt war habe ich eine Probe meines Bluts zur weiteren Untersuchung abgegeben, um in der Deutschen Knochenmarkspenderdatei eingetragen zu werden, so dass man mich kontaktieren kann, falls jemand mein Knochenmark gebrauchen könnte.

Damals informierte ich mich natürlich gründlich über alles, was damit zu tun hat. Die Spende an sich, Krankheiten, die damit geheilt werden können, und – das Stichwort überhaupt – Spenderkriterien!

Wer ist überhaupt als Spender für wen geeignet? Das erste, was man dazu lesen kann oder was dazu gesagt wird, ist, dass die Blutgruppe von Spender/Empfänger nichts miteinander zu tun haben müssen.

Der Empfänger des Knochenmarks nimmt die Blutgruppe des Spenders an. Es geht bei der Suche nach möglichen Spendern also um völlig andere Dinge als die Blutgruppe.

Das wiederum bedeutet, dass der Typ, der über StudiVZ nach einem Knochenmarkspender für seine Freundin sucht, völligen Blödsinn treibt. Kein Arzt würde nach Spendern suchen lassen und dabei den Kreis möglicher Spender durch die Blutgruppe begrenzen.

Ich bitte meine Mitmenschen, die die Kettenmails, die sie verschicken, nicht lesen oder diejenigen, die das schlichtweg nicht wussten, so einen Blödsinn nicht weiterzuschicken. Damit degradiert man die Mails derer, die Hilfegesuche ernst meinen und nervt auch viele Mitmenschen dabei.

3 Kommentare
Written by Jacek in: Allgemein | Schlagwörter:, ,

Powered by WordPress. Theme: TheBuckmaker. Darlehen, Geld verdienen

3.14159