Archiv ‘IT’

Dienstag, 8. Januar 2013

Swisscom MOBILE-EAPSIM-Einstellungen zurücksetzen

Irgendwann einmal im Laufe des letzten Jahres ging die Konfiguration meines geschäftlich genutzten iPhones kaputt — seither loggte sich das iPhone nicht mehr automatisch in die MOBILE-EAPSIM WLAN-Hotspots der Swisscom ein. Beim Inititiieren einer manuellen Verbindung mit den schweizweit an publikumskräftigen Orten verfügbaren WiFi-Access Points wurde ich aufgefordert, ein Passwort einzugeben — welches ich selbstverständlich nicht kenne.

Auch das Zurücksetzen der Netzwerkeinstellungen (auf Anraten der Spezial-Hotline unter 0900 333 221, via 4S und Swisscom EAPSIM verbinden und Kennworteingabe) brachte keine Abhilfe, worauf mir die Hotline-Mitarbeiterin anbot, eine .MOBILECONFIG-Datei zuzustellen, mit welcher ich diese spezifische Konfiguration meines Mobiltelefons zurücksetzen konnte.

Damit Hilfesuchende nicht denselben Interaktionsparcours mit Swisscom durchlaufen müssen, poste ich die Datei hiermit in die Public Domain. Swisscoms Juristen werden mir sicherlich bald sagen, ob ich das darf oder nicht …

EAPSIM.MOBILECONFIG

Disclaimer: Verwendung auf eigene Gefahr. Ich kann nicht dafür verantwortlich gemacht werden, wenn das iPhone nach dem Einspielen des Updates explodieren oder sich grün verfärben sollte.

Tags: , , , ,
Labels: IT

Keine Kommentare | neuen Kommentar verfassen

Samstag, 24. November 2012

Text in PDFs greppen

Da haben also die SBB einen Wettbewerb online, welcher die Eingabe von Ticketnummern erfordert. Und gleichzeitig habe ich Quittungen von über SBB Mobile georderte Tickets für Geschäftsreisen auf meinem Computer abgelegt.

Was macht man da? Richtig, man filtert die PDFs nach den geforderten Ticket-Nummern, und zwar so:

pdftotext

Ich gehe davon aus, dass jeder Terminal.app-Hacker macports installiert hat

Man benötigt zuerst einmal das in xpdf enthaltene Tool pdftotext:

# port install xpdf-tools

Shell-Magic

Nachdem das Tool installiert ist, navigiert man in den Ordner, welcher die PDFs enthält und gibt folgenden Befehl ein:

$ for i in *.pdf; do pdftotext "$i"; done;

Die in PDFs enthaltenen Textzeichen werden extrahiert und automatisch in eine Textdatei mit Endung .txt gespeichert, welche denselben Basename trägt wie die PDF-Datei.

Nun kann ich problemlos greppen:

$ cat *.txt | grep "OT"

… und schon erhalte ich eine schöne Liste in der Form

OT 0000 0000 0000
OT 0000 0000 0000
OT 0000 0000 0000
OT 0000 0000 0000
OT 0000 0000 0000
OT 0000 0000 0000
OT 0000 0000 0000
OT 0000 0000 0000
OT 0000 0000 0000
OT 0000 0000 0000
OT 0000 0000 0000

Tags: , , , , , , ,
Labels: IT

1 Kommentar | neuen Kommentar verfassen

Sonntag, 18. November 2012

Adobe Source Code Pro: Quelloffene Programmierer-Schrift

Adobe überrascht für einmal und offeriert mit Source Code Pro eine quelloffene OTF-Schrift, welche speziell für Entwickler geeignet ist, welche eine leicht lesbare Monospace-Schriftart benötigen.

Wer das Ding kompilieren möchte, kann sich an Adobes Git-Repository vergnügen:

adobe / source-code-pro

Alle anderen laden sich das OTF-Binary von hier herunter:

Free Font Source Code Pro by Adobe

Nicht mit Apple Terminal

Leider unterstützt Apples Terminal.app unter Mac OS X 10.7 keine OTF-Fonts:

Terminal.app won’t display OpenType fonts (.otf)

Mist! Dann verwende ich die Schrift halt nur in TextMate … Als Ersatz kommt in Terminal.app Microsofts Consolas zum Einsatz.

Tags: , , , , , , , , , ,
Labels: IT

Keine Kommentare | neuen Kommentar verfassen

Samstag, 17. November 2012

Bilddateien unter Mac OS X mit Rechtsklick auf Flickr laden (Python und Automator)

Rückblickend — wie so vieles — eine ganz simple Aufgabe.

WICHTIG: Das neueste, überarbeitete Script findet sich auf Github unter emeidi/flickrUpload

flickrUploaderLean.py

#!/usr/bin/env python

import os
import sys
import re
import flickrapi

api_key = ''
api_secret = ''

flickr = flickrapi.FlickrAPI(api_key, api_secret)

(token, frob) = flickr.get_token_part_one(perms='write')
if not token:
    raw_input("Press ENTER after you authorized this program")
flickr.get_token_part_two((token, frob))

numArgs = len(sys.argv)
if(numArgs < 1):
	sys.exit("Usage:" + sys.argv[0] + " ")

photo_path = sys.argv[1]

if(os.path.isfile(photo_path) == False):
	sys.exit("File not found: " + photo_path)

res = flickr.upload(filename=photo_path, is_public=u'1')

t = res[0]
if t.tag == 'photoid':
	print 'http://www.flickr.com/photos/upload/edit/?ids=' + t.text
else:
	print 'http://www.flickr.com/upload+failed'

sys.exit(0)

Anschliessend erstellt man mittels Apple Automator einen Service, welcher nach dem Abspeichern mittels eines Rechtsklick auf eine Datei im Untermenu „Services“ aufgeführt wird:

Konkret:

  • Service receives selected files or folders in Finder.app
  • Run Shell Script
    • Shell: /bin/bash
    • Pass Input: as arguments
    • (Textfeld): /Users/mario/Scripts/flickrUploadLean.py „$@“
  • Display Webpages

Tags: , , , , , ,
Labels: IT

Keine Kommentare | neuen Kommentar verfassen

Mittwoch, 7. November 2012

Microsoft Domain Policies mit grep unter Windows filtern

Herkules-Aufgabe am Tag, an welchem Barack Obama zum neuen alten Präsident der USA gewählt wurde: Ich musste aus über 150 Domain Policies im HTML-Format diejenigen Dokumente herausfiltern, welche Passworteinstellungen enthielten. Und dies – wohlgemerkt – unter Windows. Wie macht man das?

Im Grund genommen ist das ganze keine grosse Hexerei:

  1. msysgit herunterladen
  2. msysgit installieren
  3. Git bash starten
  4. Ins Verzeichnis mit den Policies wechseln
  5. Folgenden Befehl ausführen:
    $ grep "Enforce password" *.html

Doch oha! grep liefert keine einzige Datei zurück, welche Kennwortrichtlinien enthält? Ein cat auf eine Beispieldatei zeigt, dass zwischen jedem Buchstaben ein Leerzeichen folgt. Indem man eine Beispieldatei mit Notepad++ öffnet, findet man heraus, dass die Exporte vom Domain Controller mit UCS-2 Little Endian enkodiert sind (der Zeichensatz steht in Notepad++ unten rechts in der Statusleiste).

Was nun? Ich habe mir kurzerhand ein bash-Script geschrieben, um die Dateien on-the-fly in ein für grep verständliches Format (UTF-8) zu konvertieren:

#!/bin/sh

if [ $# -lt 2 ]
then
	echo "Usage: $0 [extension of files to search] [string to search for in files]"
	exit 1
fi

for i in *.$1
do
	RES=`iconv -f UCS-2LE -t UTF-8 "$i" | grep "$2"`
	RET=$?

	if [ $RET -eq 0 ]
	then
		echo "$RET - $i"
		echo $RES
		echo ""
	fi
done

exit 0

Das Script tut folgendes: Zuerst liest es alle Dateien im aktuellen Verzeichnis aus, welche auf .html enden. In einer Schleife wird nun jede gefundene Datei mittels iconv von UCS-2LE nach UTF-8 konvertiert und an grep weitergepipet. grep sucht im Zeichensalat nach „Enforce password“. Die bash-Variable $? speichert das Resultat dieses Befehls; sprich 0 falls die Zeichenkette gefunden wurde, 1 (oder eine andere Zahl ungleich 0), wenn grep gestolpert ist oder einfach nichts gefunden hat. Ist $RET gleich 0, wird der Dateiname ausgegeben.

Schlussendlich fanden sich in den 150 Dateien gerade mal 6 Stück, welche Passworteinstellungen enthalten. Doch statt dem fehleranfälligen manuellen Geklicke habe ich quelloffene Tools, gepaart mit ein wenig Scripting-Wissen für mich arbeiten lassen.

Gut zu Wissen

Wer die Namen der Zeichensätze nicht auswendig weiss, dem wird unter folgendem Link geholfen:

libiconv

Tags: , , , , , , , , , , , , , ,
Labels: IT

Keine Kommentare | neuen Kommentar verfassen

Samstag, 13. Oktober 2012

Wenn man sich bei Arcotel unter Mac OS X 10.7 nicht in das WLAN einloggen kann

… liegt das daran, dass das Login-Fenster des Apple WiFi-Services keine JavaScript-Alerts ausführt resp. anzeigt.

Deshalb muss man sich über den Web-Browser (Safari oder bspw. Chrome) anmelden und den JavaScript-Dialog („Bitte verwenden Sie http://logoff.now, um sich abzumelden“) abnicken. Dann klappt es auch mit dem kostenlosen WLAN für Hotelgäste.

Tags: , , , , ,
Labels: IT

Keine Kommentare | neuen Kommentar verfassen

Donnerstag, 4. Oktober 2012

Wie man aus smime.p7s ein .cer-Zertifikat macht

Irgendwie hat es Lotus Notes auf der Arbeit (von mir auch schon liebevoll als „a pile of shit“ bezeichnet) so an sich, dass es so seine Problem mit Private Public-Key-Verschlüsselung hat. Zugegebenermassen habe ich selber auch noch nicht ganz durchblickt, was jetzt was ist — und wann man von Public-Key-Verschlüsselung spricht und wann von Zertifikaten.

Mittlerweile habe ich realisiert, dass die Verschlüsselung dann auf Anhieb klappt, wenn ich das X.509-Zertifikat eines Benutzers in dessen Kontakt importiere (über Actions > Certificates > Import Internet Certificate). Doch manchmal hat man das Zertifikat einfach nicht zur Hand, weil es auf Gottes Erde so viele Arten gibt, den Mailverkehr zwischen zwei Parteien zu verschlüsseln.

So wie heute: Da kam also ein Mail an, welches eine smime.p7s-Signatur im Anhang enthielt (nur sichtbar über den Quelltext des E-Mails). Lotus Notes scheint (zumindest bei uns) nichts damit anfangen zu können.

Ich kopierte die Signatur deshalb manuell in eine Textdatei und speicherte diese als smime.p7s ab. Windows erkennt diese Dateiendung leider nicht. Indem ich .p7s in .p7b änderte, wechselte das Icon der Datei in ein Zertifikat. Ich konnte dieses nun Doppelklicken, Microsoft Certificates wurde gestartet und zeigte mir den Inhalt des Zertifikats an.

Mittels Rechtsklick auf das Zertifikat mit dem Namen der Person wählte ich Actions > Export aus. Ich generierte mir auf diese Weise eine DER-kodierte .cer-Datei. Diese legte ich wiederum als Datei auf dem Desktop ab.

Jetzt erst war es dem „dampfenden Scheisshaufen“ (Lotus Notes) möglich, das Zertifikat dem Kontakt hinzuzufügen. Und somit kann ich seither mit der Gegenpartei verschlüsselt kommunizieren, ohne auf eine webbasierte Secure Mail-Lösung zurückgreifen zu müssen.

Kleingedrucktes: Natürlich benötige auch ich ein entsprechendes Zertifikat. Dieses habe ich über Symantec VeriSign bezogen.

Tags: , , , , , , , , ,
Labels: IT

3 Kommentare | neuen Kommentar verfassen

Donnerstag, 4. Oktober 2012

In Microsoft Word einen neuen Paragraphen nach einer Tabelle einfügen

Jeder Angestellte, welcher von seinem Arbeitgeber gezwungen wird, Microsoft Word einzusetzen kennt das Problem: Da habe ich also eine Tabelle und nach dieser kommt … nichts. Will heissen, die Tabelle reicht bündig bis ans Seitenende. Und nun steht man plötzlich vor dem Problem, dass man nach der Tabelle doch noch einige Paragraphen Text anfügen möchte. Indem man den Cursor in der letzten Tabellenzeile in die Spalte ganz rechts platziert und danach die Return-Taste betätigt, generiert man eine neue Tabellenzeile nach der anderen.

Abhilfe schafft folgender Trick:

Click the Show/Hide button on the toolbar until your paragraph marks appear. Without them, you cannot see what you are doing. To solve your situation, place your cursor in the last cell of the table, then hit Cursor Right twice.

You will see the cursor moves to the empty paragraph mark after the table.That’s the end of the file. Start typing there.

Quelle: cursor will not exit the table

Auf Deutsch: Anstelle dass man die Zeilenschaltungstaste betätigt, drückt man zweimal auf Cursor Rechts. Und schwupps, Word wechselt den Cursor auf die nächste Zeile und eröffnet einen neuen Paragraphen für die Texteingabe.

Tags: , ,
Labels: IT

2 Kommentare | neuen Kommentar verfassen

Montag, 27. August 2012

Multipart ZIP-Archive im Mac OS X Shell entpacken

Zuerst muss man die ZIP-Dateien zu einer grossen Datei zusammenbacken — dabei ist darauf zu achten, dass die .zip-Datei am Schluss angefügt wird, gestartet wird mit .z01:

$ cat teilarchiv.z01 teilarchiv.z02 teilarchiv.zip > archiv.zip

Anschliessend kann man die grosse ZIP-Datei mit Mac OS X Bordmitteln entpacken, wobei man sich über die Fehlermeldungen getrost hinwegsetzen kann:

$ unzip archiv.zip

Tags: , , , , ,
Labels: IT

1 Kommentar | neuen Kommentar verfassen

Samstag, 28. Juli 2012

Europapark-DVD mit ffmpeg konvertieren und zuschneiden

Da haben meine Freundin und ich uns die DVD zu unserer Achterbahnfahrt „Blue Fire“ geleistet — doch wie bringt man das Material nun auf Facebook, YouTube & Co.?

Ganz einfach! Zuerst einmal kopieren wir die Datei VTS_01_1.VOB im VIDEO_TS-Ordner (die grösste Datei auf der DVD) auf die Festplatte. Dann dampfen wir die 353MB (60 Sekunden Fahrt) auf 41MB ein:

ffmpeg -i VTS_01_1.VOB -vcodec mpeg4 -acodec libmp3lame converted.mp4

Die Parameter bedeuten folgendes:

  • -i VTS_01_1.VOB: Das Ursprungsvideo
  • -acodec libmp3lame: Verwende Lame MP3 als Audio-Codec
  • -vcodec mpeg4: Verwende MPEG4 als Video-Codec
  • converted.mp4: Die Ausgabedatei

Anschliessend schneiden wir das insgesamt 7 Minuten lange Video auf unsere eigene Achterbahn zurecht:

ffmpeg -i converted.mp4 -ss 112 -t 60 -acodec copy -vcodec copy "cut.mp4"

Die Parameter bedeuten folgendes:

  • -i converted.mp4: Das Ursprungsvideo
  • -ss 112: Starte bei 112 Sekunden
  • -t 60: Ende nach 60 Sekunden
  • -acodec copy: Verwende den derzeitigen Audio-Codec
  • -vcodec copy: Verwende den derzeitigen Video-Codec
  • cut.mp4: Die Ausgabedatei

Tags: , , , ,
Labels: IT

Keine Kommentare | neuen Kommentar verfassen