Excel 2007: Diagrammflächen schraffieren

Schraffuren für Diagramme gibt es in Excel 2007 offenbar leider nicht mehr. Abhilfe schafft jedoch ein Add-In.

Am besten, das Add-In nach C:Dokumente und Einstellungen[Benutzername]AnwendungsdatenMicrosoftAddIns kopieren und dann der Installationsanleitung folgen:

  • Excel-Button drücken (der große runde button oben links)
  • letzte Zeile: Excel-Optionen
  • Add-Ins
  • fast ganz unten: “Gehe zu”
  • Durchsuchen
  • PatternFills.xlam anklicken und fertig

Anwendung

  • Diagramm anklicken
  • Diagrammtools > Format > ganz rechts gibt es jetzt eine “Patterns” Schaltfläche
blank

GoogleMail: Dateianhänge aus E-Mails löschen

Google ist der Meinung, dass es unnötig sei Anhänge/Attachments aus eMails zu löschen. Dummerweise bin ich anderer Meinung. Trotz mittlerweile mehr als 7.5 GB potentiellem Speicherplatz bei Google Mail, will ich nicht jeden Mist an den Mails kleben lassen.

Da ich per IMAP und Thunderbird auf meine Mails zugreife, kann ich die Anhänge wenigstens im Thunderbird löschen. Gesagt getan – nur wird der belegte Speicher dadurch nicht weniger sondern mehr. Das Problem ist, dass bei jedem Löschen eines Anhangs, eine Kopie der Nachricht (inklusive dem Anhang!) im Ordner “Alle Nachrichten” verbleibt und zusätzlich eine Mail ohne Anhang erstellt wird.

Die Lösung ist folgendermaßen:

  • Thunderbird per IMAP mit Google verbinden (Anleitung von Google)
  • Die unerwünschten Anhänge löschen – dabei werden unerwünschte Mailduplikate erstellt.
  • Das Thunderbird Addon Remove Duplicate Messages installieren und so konfigurieren:
  • Extras > Add-ons > “Remove Duplicate Messages” Einstellungen > Lösche bevorzugt “größere” E-Mail
  • Anhänge löschen nicht vergessen (z.B. den Ordner “Alle Nachrichten” nach Größe sortieren und dann die Mails durchsehen)
  • Rechts Klick auf den Ordner “Alle Nachrichten” > “Doppelte Nachrichten entfernen”
  • Dort noch schnell die Ausgabe kontrollieren, bestätigen und fertig.

Die gelöschten Duplikate sollten jetzt im Papierkorb sein, den man bei Bedarf noch löschen kann. Kurz darauf sollte man die Änderung auch in der GoogleMail Oberfläche sehen.

Epson Perfection 1240U mit Windows7 64bit und Windows 10

Epson stellt für den relativ alten Scanner “Epson Perfection 1240U” (aus dem Jahr 2001) keine 64bit Treiber für Windows 7 oder Windows 10 bereit.

Anstatt einen neuen Scanner zu kaufen scheint es mindestens 3 Lösungen zu geben:

Kauf zusätzlicher Software (bei Win 7)

  1. Die Empfehlung von Epson ist, die Software VueScan von Hamrick zuinstallieren. Vorteil: es geht! Nachteil: Die Software kostet ca. 30€
  2. In einem Windows 7-Forum wird ein modifizierter Treiber zum Download angeboten. Aber ehrlich gesagt habe ich Skrupel irgendwelche modifizierten Treiber aus nicht absolut vertrauenswürdigen Quellen zu installieren.
  3. Einen original Epson-Treiber eines anderen Scanners verwenden. Der Tip kommt übrigens aus dem selben Forum – da ich den Beitrag in einigen Monaten / Jahren nicht mehr wiederfinden werde, wenn ich es brauche: hier nochmal eine Beschreibung:

Epson Perfection 1240U mit Windows7 64bit:

  1. Scanner abstecken
  2. Epson Perfection 2400 Treiber für Windows 7 von Epson runterladen (EPSON Scan 3.0.4 vom 17. Juli 2009 / 20,68 MB)  Download
  3. Treiber installieren
  4. Scanner anstecken (findet keine Treiber)
  5. Start > Systemsteuerung > Gerätemanager: dort sollte jetzt ein neues Gerät mit gelbem Icon sein (der Scanner)
  6. Rechtsklick > Eigenschaften > Treiber > Treiber aktualisieren
  7. “Auf dem Computer nach Treibersoftware suchen”
  8. “Aus einer Liste von Gerätetreibern auf dem Computer Auswählen” > “Bildverarbeitungsgeräte”
  9. Hersteller: Epson, Modell: Epson Perfection 2400 auswählen und bestätigen

Mit IrvanView kann man nun scannen!

Zeitaufwand: minimal

Epson Perfection 1240U mit Windows10

Ich habe den Scanner mittlerweile entsorgt, aber er scheint auch unter Windows 10 noch seinen Dienst zu tun. Wie mir in einem Kommentar mitgeteilt wurde könnte es ungefähr wie folgt gehen:

  1. Start
  2. Einstellungen
  3. Geräte unter „Verwandte Einstellungen“ (rechts unten) „Geräte und Drucker“ auswählen.
  4. Den Scanner auswählen (Windows 10 schlägt erst mal nur vor das Gerät zu entfernen, da kein passender Treiber verfügbar ist.)
  5. Rechtsklick > Eigenschaften
  6. Hardware > Eigenschaften
  7. Einstellungen ändern > Treiber > Treiber aktualisieren.

TeXnicCenter: PDF vor Compilierung schließen

Sollte TeXnicCenter einen Fehler melden wie “Beim Öffnen dieses Dokuments ist ein Fehler aufgetreten”, liegt es evtl. daran, dass das PDF noch offen ist.

TeXnicCenter-Ausgabeprofile
TeXnicCenter-Ausgabeprofile

Zum automatischen Schließen des PDFs definiert man das “LaTeX => PDF”-Profil derart (siehe Screenshot rechts):

  1. Ausgabe > Ausgabeprofile definieren > Profil links wählen, rechts den Reiter  “Viewer”
  2. Projektausgabe betrachten: [x] DDE Komando, Kommando: [DocOpen(“%bm.pdf”)], Server: acroview, Thema: control
  3. Suche in Ausgabe: [x] DDE Komando, Kommando: [DocOpen(“%bm.pdf”)], Server: acroview, Thema: control
  4. Vor Compilierung Ausgabe schließen: [x] DDE Komando, Kommando: [DocClose(“%bm.pdf”)], Server: acroview, Thema: control

Alternativ kann man sich eine der folgenden Profile runterladen und importieren. Einmal mit und einmal ohne die Pfade zu Acrobat.

“Latex => PDF”-Profil ohne Pfad (sollte bei den meisten funktionieren)
“Latex => PDF”-Profil mit Pfad (wird nicht funktionieren, falls Acrobat nicht im exakt selben Verzeichnis wie bei mir installiert ist)

Links zum Thema:

Impact of Flash SSDs on Spatial Indexing

Neben Paros war ich auf der SigMod 2010 auch mit einer Veröffentlichung auf dem DaMoN Workshop (Data Management On new Hardware) vertreten. Der Titel der Veröffentlichung war “On the Impact of Flash SSDs on Spatial Indexing“.

Dass SSDs schnell und cool sind, ist ja mittlerweile allseits bekannt. Leider sind sie noch etwas teuer – nichts desto trotz haben sie den unglaublichen Vorteil, dass die Zugriffszeiten bei wahlfreien Lesezugriffen deutlich kleiner sind, da sie nahezu keine Seek-Zeiten aufweisen (also die Zeit in der der Lesearm der regulären Festplatte erst zur richtigen Position gefahren werden muss, bevor gelesen oder geschrieben werden kann). Diese Seek-Zeiten sind gerade bei Datenbankindices einer der bremsenden Faktoren. Da unser Lehrstuhl auf Datenbanken, DataMining und Indexing spezialisiert ist, haben wir uns daher angesehen, wie sich der R*-Baum (einer der Standard-Indices für mehrdimensionale Daten) auf SSDs im Vergleich zu HDDs verhält. Insbesondere, wie die Indices skalieren und wie es mit der Performanz aussieht, wenn höher dimensionale Daten ( > 10 Dimensionen bzw. Spalten) mit einem R*-Baum indexiert werden sollen und wie es sich mit dem Fluch der Dimensionalität verhält.

Fazit: War eine doch recht spannende und vor allem recht praktische Arbeit , da wir nicht einfach nur Modelle durchrechnen wollten, sondern wirklich die Zugriffe auf die Platte sehen und messen wollten – was die Tests auch sehr zeitaufwändig gemacht hat, da Ram und Platte eben doch einen “kleinen” Geschwindigkeitsunterschied haben.

Abstract:

Similarity queries are an important query type in multimedia databases. To implement these types of queries, database systems often use spatial index structures like the R*-Tree. However, the majority of performance evaluations for spatial index structures rely on a conventional background storage layer based on conventional hard drives. Since newer devices like solid-state-disks (SSD) have a completely different performance characteristic, it is an interesting question how far existing index structures proft from these modern storage devices. In this paper, we therefore examine the performance behaviour of the R*-Tree on an SSD compared to a conventional hard drive. Testing various in uencing factors like system load, dimensionality and page size of the index our evaluation leads to interesting insights into the performance of spatial index structures on modern background storage layers.

Die Veröffentlichung kann man auf unserer Website herunterladen: On the Impact of Flash SSDs on Spatial Indexing

BASE: Mailbox deaktivieren

Schritt 1

Schritt 2

Schritt 3

Schritt 4

Schritt 5

Neuer Anbieter, neues Glück! Vor kurzem bin ich zu BASE gewechselt, habe aber nicht daran gedacht, die Mailbox gleich deaktivieren zu lassen.

Kein Problem, Mailbox erst mal initialisiert – und gemerkt, dass man sie über die Mailboxnummer nicht deaktivieren kann. Blöd. – Google wird’s schon richten: Eine kurze Suche bietet auch diverse Treffer. Ergebnis – Hotline anrufen oder Mail schreiben. Öh? Kann doch nicht sein, die machen sich damit doch nur selbst viel Arbeit (=Kosten).

Vielleicht doch erst mal in den Kundenbereich einloggen, und siehe da – Base hat das echt kompliziert gemacht:

  1. Einloggen, “Meine Daten ändern”
  2. oben auf “Mein Tarif” (oder auch “Meine Mutlimedia Dienste”)
  3. unter “Übersicht Dienste” bei “Comfort Mailbox” auf “Details” klicken
  4. unten rechts auf “Ändern”
  5. das Häckchen neben “Aktivieren” weg und unten auf “Bestätigen”
  6. fertig

Ohne Mail und ohne Anruf. 😉

Fazit: Der Einstiegslink über “Meine Daten ändern” ist ja wohl arg uninituitiv!! Unter https://www.base.de/Service/Kontakt kann man das Base auch gleich mitteilen 😉

PS: wer von E-Plus zu Base wechseln will, sollte einfach nur die E-Plus Kundenhotline anrufen und NICHT wie ich, bei E-Plus kündigen und bei Base einen neuen Vertrag mit Rufnummernportierung machen. Geht zwar auch, wäre aber wohl deutlich einfacher gegangen.

Windows 7 (64bit) Druckerfreigabe mit XP Client (Canon i250)

Szenario:
An einem Windows 7, 64 Bit, soll der angeschlossenem Drucker über das Netz freigegeben werden.
Ein Windows XP, 32Bit, soll die Freigabe in Anspruch nehmen.

Problem:
Beim Verbinden des Druckers wird auf Windows XP-Seite eine Warnung ausgegeben, dass der Server keine Treiber zur Verfügung stellt.

Lösung:
Wie erwartet war ich nicht der einzige mit dem Problem. Die Lösung fand ich dann im computerbase-Forum.
Im Prinzip muss man Windows 7 “nur” beibringen, dass es auch einen 32Bit-Treiber anbieten soll.  Das funktioniert so, dass man den Windows 32bit-Treiber vom Druckerhersteller herunterlädt und am Drucker registriert: “Geräte und Drucker – *Druckername* – Druckereigenschaften – Freigabe – Zusätzliche Treiber”.

In der Praxis kommt es dann ab und an vor, dass genau das nicht funktioniert, weil der Drucker dann nicht gefunden werden kann und man eine Meldung erhält, dass kein Treiber für <Druckername> gefunden werden konnte. Wie im computerbase-Forum beschrieben, ist hier Handarbeit nötig. Die entpackten Treiber enthalten eine .inf-Datei. Diese muss man im Texteditor öffnen und den Druckernamen so abändern, dass der Name identisch mit dem Windows7-Druckernamen ist (also genau der Name, der in der Fehlermeldung genannt ist).

Im Falle meines Canon i250 sehen die betreffenden Zeilen der .inf-Datei dann so aus:

;WindowsXP
[Canon.NTx86.5.1]
"Canon Inkjet i250" = CNMI250XP, LPTENUMCanoni250F027, Canoni250
"Canon Inkjet i250" = CNMI250XP, USBPRINTCanoni250F027, Canoni250

“Canon Inkjet i250” ist dabei der Name des Druckers in Windows 7. Datei speichern und nochmal via “Geräte und Drucker – *Druckername* – Druckereigenschaften – Freigabe – Zusätzliche Treiber” installieren. Sofern das funktioniert, kann man den Drucker dann (sofern die Freigabe richtig eingestellt wurde) von Windows XP aus nutzen.

Sinn und Unsinn von E-Mail- und Link-Disclaimern

Wieder eine Mail erhalten mit dem zweifelhaften Text

Diese E-Mail und alle angehängten Dateien enthalten streng vertrauliche Informationen und sind lediglich für den/die in der Adressleiste genannte(n) Person(en) bestimmt. Sollte diese E-Mail bzw. deren Anhänge an Dritte und/oder nicht in der Adressleiste genannte Personen gelangen,  […]

Ich hab’ diesem Disclaimern ja noch nie wirklich vertraut. Ein Artikel bei heise (Disclaimer: Unnötiger Ballast für E-Mails) bestätigt die Vermutung, dass diese Disclaimer bei uns in Deutschland nicht wirksam sind. – Ebenso wie diese widersinnigen Distanzierungen von Links:

Mit Urteil vom 12. Mai 1998 hat das Landgericht Hamburg entschieden, daß man durch die Ausbringung eines Links […]

Auch hier gibt es eigentlich diverse Seiten, die erklären, dass das Urteil vom LG Hamburg eben genau das nicht tut, was die Links versprechen: und zwar den Seitenbetreiber schützen. Mehr Informationen gibt es unter anderem auf diesen Seiten:

PHP BibTex-Parser

Nachdem ich derzeit BibTex-Einträge verarbeiten muss darf, habe ich doch gleich mal die Komplexität von BibTex unterschätzt und bin dem NIH-Syndrom verfallen und wollte mal schnell selbst einen Parser schreiben. “Mal schnell” widerspricht dabei dem Drang nach Vollständigkeit – also: etwas Freizeit für die Erkenntnis geopfert, nächstes mal gleich länger zu suchen.

Nach einigen Missgriffen habe ich dann doch noch einen viel versprechenden Link gefunden: Bibliophile.

Der BibTex-Parser scheint doch vollständiger zu sein, als alles was ich bisher angesehen habe. Ist zwar seit 2006 nicht mehr aktualisiert, aber seither hat sich an BibTex (glaube ich) auch nichts Wesentliches getan.

Zum Download geht’s übrigens hier > bibtexParse > bibtexParse-2.2 > bibtexParse2.2.zip

PS: Mittlerweile gibt es die zugehörige MediaWiki Extension auch online 🙂

Autostitch: Format der pano.txt

Gerade Autostitch ausprobiert. Und siehe da: die Panos sind besser als die von meiner alten Canon Stitch-Software.

Aber: Der Ram-Verbrauch von autostitch ist brachial. Ich wollte 5 Fotos à 4592*3056 Pixel zusammenstitchen. Natürlich sollte das Ausgabefoto auch ca 3000Pixel hoch sein. Nur reichten dazu die mir zur Verfügung stehenden 2GB leider nicht aus(?!). 2500px Höhe gingen dann gerade noch.

Da autostitch ja netterweise eine pano.txt anlegt, in der die Transformationsdaten stehen, ist die Versuchung gerade groß, das selbst auszuprobieren. – Wenn mal Zeit ist vielleicht …

Dokumentation der pano.txt:

The format of pano.txt is:

filename
width height
T (3 x 3)
R (3 x 3)
f

so that the projection matrix for each image (original size) is:

P = T * K(f) * R

where K(f) = [ f 0 0; 0 f 0; 0 0 1]

The homography between a pair of images is

s * [r_2, c_2, 1] = P_2 * inv(P_1) * [r_1, c_1, 1]

where r is the row coordinate and c is the column.

The demo version renders panoramas in spherical coordinates theta VS
phi (longitude/latitude). You can get the theta/phi ranges from
Edit->Options after stitching. The relationships between theta/phi and
image coordinates are:

s * [r, c, 1] = P * X

where

X = [ -sin(phi); cos(phi)sin(theta); cos(phi)cos(theta) ]