Archiv ‘IT’

Montag, 2. April 2012

Einen Amazon S3-Bucket leeren und dann löschen

Vor einiger Zeit bin ich von JungleDisk auf tarsnap migriert. Als sozusagen „letzte“ Amtshandlung gehört nun dazu, dass ich den Amazon S3-Bucket lösche. Dies ist gar nicht so einfach, weil nur leere Buckets gelöscht werden können — das heisst, alle darin gespeicherten Objekte müssen zuerst entfernt werden.

Da mir die Sache mit Cyberduck zu langwierig erschien (und gelegentlich zu komischen Fehlermeldungen führte), habe ich mich nach einem Kommandozeilen-Tool umgesehen.

s3sync

Fündig wurde ich mit s3sync. Diese Sammlung von Ruby-Scripts erlaubt es, mit Amazon S3 zu kommunizieren.

Nachdem ich die Script-Sammlung heruntergeladen und entpackt hatte, musste ich zuerst die zwingend benötigte Konfigurationsdatei unter $HOME/.s3conf/s3config.yml ablegen. Deren Inhalt:

AWS_ACCESS_KEY_ID: ...
AWS_SECRET_ACCESS_KEY: ...

AWS_CALLING_FORMAT: SUBDOMAIN

Der Kommandozeilenbefehl zum Löschen der Dateien im Bucket lautete folgendermassen:

./s3cmd.rb -v deleteall jd2-5d95f837098760279d8c32d215671111-eu

Quelle: How to delete an Amazon S3 bucket with lots of files in it

Zeichensatz-Problem

Leider gab es — wohl auf Grund der Herkunft meiner Dateien von einem Mac OS X-Dateisystem — immer wieder folgende Fehlermeldung:

./s3cmd.rb:119:in `iconv': "\314\210s Text innen2 "... (Iconv::IllegalSequence)
        from ./s3cmd.rb:119:in `s3cmdMain'
        from ./s3cmd.rb:245

Deshalb empfiehlt es sich, den Programmcode an zwei Stellen anzupassen, in welchen auf iconv zurückgegriffen wird:

... Iconv.iconv($S3SYNC_NATIVE_CHARSET, ...

wird zu

... Iconv.iconv($S3SYNC_NATIVE_CHARSET + "//IGNORE", ...

Quelle: Ignore Iconv::IllegalSequence while using Ruby WWW::Mechanize

Tags: , , ,
Labels: IT

Keine Kommentare | neuen Kommentar verfassen

Donnerstag, 29. März 2012

Windows Netzwerkverbindungen als Administrator öffnen

Wenn man als Standardbenutzer die Windows Netzwerkverbindungen in den Systemsteuerungen mit Administratorrechten öffnen will, verwendet man folgenden Befehl:

runas /user:<Administratorbenutzer> "explorer.exe /n,::{7007ACC7-3202-11D1-AAD2-00805FC1270E}"

Tags: , , ,
Labels: IT

1 Kommentar | neuen Kommentar verfassen

Donnerstag, 29. März 2012

Mit Access eine Textdatei mit Pipe-Trennzeichen einlesen

Will man unter Access 2007 eine Textdatei einlesen, welche Datensätze enthält, dessen Felder mit einem Strich (engl. „Pipe“) getrennt sind, muss man folgenden Trick beachten:

Damit das Pipe-Symbol in das Trennzeichenfeld eingeben kann, muss der Inhalt des leeren Feldes zuerst mit der Maus ausgewählt werden (Ctrl-A). Erst dann kann das Symbol eingegeben werden:

Quelle: Import Text file with Pipe Delimited – 2007

Tags: , , , ,
Labels: IT

Keine Kommentare | neuen Kommentar verfassen

Mittwoch, 14. März 2012

Titelzeile eines Windows-Fensters ausserhalb der Bildschirmansicht

Wer wie ich gezwungen ist, auf der Arbeit mit Microsoft Windows zu arbeiten, hat im wechselnden Zweimonitorbetrieb vielleicht auch schon einmal das Problem gehabt, dass die Titelzeile eines Fensters ausserhalb der Bildschirmansicht zu liegen kam, wenn man ein maximiertes Fenster verkleinerte.

Es gibt aber tatsächlich eine Möglichkeit, um die Titelzeile wieder innerhalb den angezeigten Bildschirmbereich zu bringen:

  1. Alt + Space (Leertaste)
  2. M
  3. Das Fenster mit den Cursor-Taste verschieben
  4. Enter

Quelle: Move a window when its title bar is off the screen

Tags: , ,
Labels: IT

2 Kommentare | neuen Kommentar verfassen

Sonntag, 18. September 2011

Der Consumer ist der Unternehmens-IT meilenweit voraus

Consumerized devices with over-the-air updates on a 12 month cycle are five times more agile than a traditional corporate Windows desktop. Another way to look at this is that for every change in a corporate desktop environment, the average user will change their device experience five times.

Quelle: OS turning circles: Questioning Windows’ maneuverability | asymco

Dies ist ein Problem, mit welchem Corporate-IT immer stärker zu kämpfen hat: Die Mitarbeiter benutzen zu Hause Technologie, die der Unternehmens-IT um Meilen voraus ist. Im Gegenzug werden meiner Meinung nach IT-Abteilungen von Grossunternehmen immer mehr als langsam, konservativ und produktivitätsbehindern aufgefasst.

Tags:
Labels: IT, Wirtschaft

Keine Kommentare | neuen Kommentar verfassen

Mittwoch, 31. August 2011

Word HTML-Säuberer wordoff.py lokal ausführbar machen

Kürzlich stand ich auf der Arbeit vor der schmerzlichen Vorgabe, ein dutzendes Seiten umfassendes Word-Dokumenten nach Excel zu kopieren (das Dokument enthielt unzählige Tabellen im immer gleichen Aufbau). Anstelle jede Zelle mühsam einzeln nach Excel zu kopieren – was meine gesamte bisherige Ausbildung in Frage gestellt hätte – entschied ich mich dafür, das Word-Dokument als HTML abzuspeichern, den HTML-Code anzupassen und danach in Word zu importieren.

Bekanntermassen ist der von Word produzierte HTML-Code ungefähr so das schrecklichste, was ein Web-Entwickler jemals zu Gesicht bekommen wird. Zum Glück gibt es Web-Dienste wie WordOff, welche über ein Web-Form Word-HTML entgegennehmen, säubern und zum Download anbieten.

Da das Word-Dokument in meinem Falle aber die Bemerkung „Strictly Confidential“ enthielt, empfand ich dies dann doch eher als gewagter Stunt, der mir im schlimmsten Falle den Job hätte kosten können.

Ich entschied mich deshalb, den Python-Code für das Projekt von git herunterzuladen, anzupassen und danach lokal über das HTML-File laufen zu lassen.

Folgende Anpassung war in wordoff.py nötig:

...
def superClean(str):
    clean = stripAttributes(str)
    cleaner = stripSpans(clean)
    cleaner = stripDivs(cleaner)
    #cleaner = xenophobia(cleaner)
    cleaner = stripEmptyElements(cleaner)
    cleaner = stripEmptyElements(cleaner)
    cleaner = stripEmptyElements(cleaner)
    cleaner = reduceLineBreaks(cleaner)
    return cleaner

# Changes added by Mario Aeby, eMeidi.com
# Allows to execute the script locally on a command line
def main():
	file = open("word-to-excel.htm");
	str = file.read()
	
	print superClean(str)
	
if __name__ == "__main__":
    main()

Dies erlaubt, das Script folgendermassen auf der Kommandozeile aufzurufen (die Quelldatei muss derzeit leider in den Sourceode hardkodiert werden):

$ ./wordoff.py > word-to-excel-clean.html

Nicht schlecht. Wer weiss, vielleicht lässt der Entwickler diese Anpassung ja auch ins Projekt einfliessen, damit man es künftig sowohl unter dem Django-Framework als auch lokal in einer Shell ausführen kann.

Tags: , , , ,
Labels: IT, Web

1 Kommentar | neuen Kommentar verfassen

Sonntag, 24. Juli 2011

Was Lehrer nicht lehren können

Even the best teachers cannot usually describe what they are doing. Procedural knowledge is largely subconscious.

Quelle: Knowing ‚How‘ – (37signals)

Tags: , ,
Labels: IT

1 Kommentar | neuen Kommentar verfassen

Freitag, 22. Juli 2011

Wo EndNote X4 den Volumenlizenzschlüssel ablegt

Da mein (Noch-)Arbeitgeber etwas gar langsam mit der Bereitstellung aktualisierter Softwarepakete ist, wird auf unseren Mac-Clients derzeit nur EndNote X4 14.0.0 installiert.

Im Netz ist zwar 14.0.2 verfügbar, doch kopiert man den EndNote X4-Ordner aus dem .dmg-Disk-Image in den Applikationsordner, wird der von der Universität in den 14.0.0-Installer integrierte Lizenzschlüssel überschrieben.

Abhilfe schafft man, indem man folgende Datei sichert und nach dem Überschreiben des Ordners zurückspielt:

./EndNote X4/EndNote X4.app/Contents/Resources/.license.txt

Tags: , , ,
Labels: IT

Keine Kommentare | neuen Kommentar verfassen

Samstag, 28. Mai 2011

Objekte zwischen Datenbank und Programmlogik

I’ve seen the blank stare with eyes glazed when I asked a developer why they wrote 3 nested loops to find a specific value of the child of the child of a mapped ORM entity instead of just writing a specific query for it. Or why they retrieved and iterated over all 5 million items to set the same value of of the same field instead of writing an update statement.

Quelle: ORM’s hidden cost « n0tw0rthy

Das erinnerte mich spontan an folgenden Post des Entwicklers hinter NetNewsWire, dem RSS-Feedreaders meiner Wahl unter Mac OS X (unter iOS ist es klar Reeder):

On switching away from Core Data

Aus Performance-Gründen verzichtete er auf das Core Data-Framework und sprach die SQLite-Datenbank für folgende Aufgaben lieber direkt an:

  • Unzählige Nachrichten als gelesen markieren
  • Unzählige Nachrichten löschen
  • Ersetzen bestehender Nachrichten (mittels einer externen ID)
  • Überprüfung bestehender Nachrichten (mittels einer externen ID)

Tags: , , ,
Labels: IT

Keine Kommentare | neuen Kommentar verfassen

Mittwoch, 18. Mai 2011

Ctrl-Alt Tastenkonflikt in vSphere Client, welcher in einer Parallels Virtual Machine läuft

Betätige ich in einer geöffneten vSphere Client-Konsole, welche in einem virtualisierten Windows unter Parallels läuft, die Tastenkombination Ctrl-Alt, verlasse ich nicht etwa das Konsolenfenster, sondern die Parallels-Applikation.

Damit man die vSphere-Konsole mit der gewohnten Tastenkombination schliessen kann, muss die Parallels-Konfiguration angepasst werden:

  1. Parallels Desktop
  2. Einstellungen
  3. Tastatur und Maus
  4. Bei Ctrl-Alt – Eingabegeräte freigeben muss die Tastenkombination mit Klick auf den Bleistift unterhalb der Liste angepasst werden. Ich habe mich für Ctrl-Alt-9 entschieden
  5. OK

Ab sofort kann man die vSphere Client-Konsole verlassen und in Windows zurückkehren, statt dass die Eingaben über Tastatur und Maus gleich auf Mac OS X einwirken.

Tags: , , , , , ,
Labels: IT

Keine Kommentare | neuen Kommentar verfassen