Sonntag, 30. August 2015

Mittels Windows PowerShell Abkürzungen aus einer Textdatei auslesen und sortieren

Auf der Arbeit darf ich derzeit ein Dokument mit viel, viel Text überarbeiten. Am Ende des Berichts gibt es eine Liste aller im Lauftext verwendeten Abkürzungen. Um sicherzugehen, dass der vorherige Autor alle Abkürzungen erwischt und erläutert hat, speicherte ich das Word-Dokument als Plain Text (.txt) ab und liess dann folgendes PowerShell-Skript drüberlaufen:

$source = 'source.txt'
$temp = 'acronyms-raw.txt'
$result = 'acronyms.txt'
$regex = '\b[A-Z]{3,}\b'
select-string -Path $source -Pattern $regex -CaseSensitive -AllMatches |
% { $_.Matches } | % { $_.Value } > $temp
gc $temp | sort | get-unique > $result

Tada! Und schon hatte ich in acronyms.txt eine fein säuberlich, alphabetische Liste aller Abkürzungen, die aus drei oder mehr aufeinanderfolgenden Grossbuchstaben bestehen.

Tags: , , , , , ,
Labels: IT

Keine Kommentare | neuen Kommentar verfassen

Sonntag, 30. August 2015

Der Papiereinzug eines Fujitsu ScanSnap ix500 funktioniert nicht mehr richtig

Vor zwei Tagen wollte ich kurz vor dem Zu-Bett-gehen noch kurz eine aktualisierte Police meiner Hausratsversicherung scannen — natürlich waren aktualisierte AVBs im Umfang von gefühlten 20 Seiten ebenfalls Teil der neuen Police.

Doch Schreck lass nach: Der Papiereinzug meines Fujitsu ScanSnap ix500 schaffte es knapp noch, ein oder zwei Blätter einzuziehen, versagte aber anschliessend kläglich.

Nach etwas Googeln fand ich folgendes Handbuch:

SCANSNAP IX500 CONSUMABLE REPLACEMENT AND CLEANING INSTRUCTIONS

Darin stand, dass man sich mit der Kontroll-Software (ScanSnap Manager) den Status der Verbrauchsmaterialien — dazu gehören auch die Rollen des Papiereinzuges — anzeigen lassen kann:

Fujitsu ScanSnap ix500 Consumables
image-6407

Da bin ich ja noch meilenweit vom Grenzwert entfernt (200’000 Blatt Papier), um die Rollen auszutauschen. Nichtsdestotrotz funktioniert der Einzug nicht!

Ich folgte deshalb der Anleitung und baute die beiden erwähnten Rollen aus. Da ich nichts besseres damit anzufangen wusste, nahm ich diese Rollen in die Küche und hielt die Plasticrollen unter das laufende Wasser, rubbelte etwas daran und trocknete die Rollen fein säuberlich. Anschliessend baute ich diese wieder in den Scanner ein.

Seit dieser Aktion saugt der Scanner wieder jedes Futter ein, und das auf Anhieb im ersten Versuch.

Tags: , , , ,
Labels: IT

Keine Kommentare | neuen Kommentar verfassen

Sonntag, 30. August 2015

In einer Sharepoint 2010-View einer Liste auf die Detailseite eines Datensatzes verlinken

Auf der Arbeit verwenden wir Sharepoint-Listen, um strukturiert vorliegende Informationen als Datensätze abzulegen.

Um in E-Mails auf bestimmte Listenelemente verlinken zu können, war ich auf der Suche nach einer Permalink-Funktion. Diese existiert mit der View DispForm.aspx, welche den mit ID in einer GET-Variable referenzierten in einer eigenständigen Seite anzeigt (sprich: kein Overlay über die Listenansicht, offenbar das Standardverhalten von Sharepoint).

Die Permalink-URL für die Liste „MyServers“ schaut folgendermassen aus:

http://domain.tld/lists/MyServers/DispForm.aspx?ID=1234

Doch wie zeige ich diesen Permalink in der Ansicht der gesamten Liste (AllItems.aspx) als Feld für jeden Datensatz an, ohne Quellcode von Web-Seiten oder den Sharepoint Designer zu bemühen? Ganz einfach:

Man erstelle eine neue „Calculated Column“ in der Listenansicht und definiere dafür folgende Funktion:

="<a href='http://domain.tld/lists/MyServers/DispForm.aspx?ID=" & [ID] & "'>" & [Servername] & "</a>"

Speichert man das Feld, wird einem der HTML-Code im Klartext angezeigt. Damit stattdessen der Link gerendert wird, muss man den Typ der Spalte auf „Number (1, 1.0, 100)“ umschalten. Wie aus Zauberhand interpretiert Sharepoint den HTML-Code, und der Permalink kann kopiert werden.

Via: SharePoint 2010 calculated column and hyperlink (no workflows or scripts needed)

Tags: , , , , , ,
Labels: IT

Keine Kommentare | neuen Kommentar verfassen

Sonntag, 16. August 2015

XPS-Dateien unter Mac OS X zu PDF konvertieren

… scheint mit quelloffener Software auf der Kommandozeile nicht — oder nur unter grösserem Aufwand — möglich zu sein: MacPorts hat dieses Paket nicht im Angebot (Nachtrag: Homebrew hingegen schon).

Ich bin deshalb auf meinen Linux-Server ausgewichen:

# apt-get install apt-get install libgxps-utils

Anschliessend konnte ich die XPS-Datei mit folgendem Befehl umwandeln:

$ xpstopdf datei.xps

Tags: , , , , , , ,
Labels: Linux

Keine Kommentare | neuen Kommentar verfassen

Sonntag, 9. August 2015

Mysteriöser Scam-Anruf aus dem Vereinigten Königreich

Diese Woche erhielt ich während der Arbeitszeit unerwartet einen Anruf aus dem Vereinigten Königreich unter der Nummer +44 7769 29652. Weil der Anruf so ungewöhnlich wie auch mysteriös war, gebe ich hier das Gespräch in gekürzter Fassung wieder:

Die Person am anderen Ende der Leitung gab an, beim „Oracle Research Institute“ zu arbeiten. Obwohl der Mann Englisch mit einem deutlich zu hörenden indischen Akzent sprach, nannte er sich „Clifford Smith“. Er rufe mich im Auftrag von „some economical houses“ an, welche er unter anderem mit „HSBC“ und „UBS“ bezeichnete (er leierte die eindrücklich klingenden Namen so schnell runter, dass ich mich nur an dieses erinnern konnte). Er möchte mit mir eine kurze Umfrage durchführen und es handle sich auf gar keinen Fall um ein Verkaufsgespräch, ich könne mich also beruhigen.

Doch bevor ich ihn zu seinen Fragen kommen liess, hakte ich misstrauisch nach. Von wo er meine Telefonnummer hätte? Ob er noch einmal seinen Namen wiederholen können. Welches genau das Unternehmen sei, für welches er arbeiten würde. Und dann legte ich los: „Oracle Research Institute, in London sagen Sie? Wieso kann ich das auf Google Maps nicht finden? Können Sie mir die Postanschrift sagen?“ Diese Frage brachte den Inder ins Straucheln. Nach wenigen Sekunden antwortete er mir, dass er im Bristol Building im fünften Stock arbeite. Auf meine Nachfrage, was denn die Strasse und Strassennummer sei, wusste er nicht weiter. Er bat mich um einen moment Geduld. Er legte den Hörer beiseite und rief in die Runde des Call Centers, jemand möge ihm doch bittesehr rasch eine Adresse in London organiseren. Nach ungefähr einer Minute war er zurück und nannte mir „Stratford Westfield“ als sein Arbeitsort. Eine kurze Google Maps-Suche zeigte ein Einkaufszentrum in London. Verwundert entgegnete ich, dass ich noch selten Büros in einem Einkaufszentrum gesehen hatte. Darauf ging er nicht weiter ein. Ich hakte weiter nach: Ob er mir die Web-Site seines Unternehmens nennen könnte. Zuerst beschwichtigte er, dass die Web-Site „under construction“ sei, nannte mir dann aber „oracleresearch dot org“ als Web-Site.

WICHTIG: Obwohl ich es hätte besser wissen sollen, surfte ich die Web-Site an. Der Proxy-Server meines Arbeitgebers verweigerte mir aber den Zugriff unter der Begründung „Spam“. Die Leser meines Blogs sind angehalten, die Web-Site nur mit einem voll gepatchten System anzusurfen — wer weiss, was sich dahinter verbirgt. Eventuell eine Malware-Schleuder?

Nach viel hin und her erklärte ich mich bereit, die „Umfrage“ doch jetzt bittesehr durchzuführen. Hier die Fragen, die mir „Clifford“ stellte:

  • Was ist ihr Name? Mario Aeby Müller
  • In welchem Industriesektor arbeiten Sie? Landwirtschaft
  • Sind Sie selbständig oder ein Angestellter? Selbständig
  • Was ist ihr Beruf? Bauer
  • Sind Sie zwischen 16-30, 30-50 oder älter als 50 Jahre alt? zwischen 30 und 50 Jahre alt
  • Was ist Ihr Ursprungsland? Italien
  • Sind Sie in einem oder mehrerer dieser drei Sektoren tätig? Properties / Trust ETFs / Share Stock Market Properties. Und Aktienhandel, im Agrarbereich
  • Wie hoch ist Ihre Investitionssumme? Unter 10’000 EUR oder über 10’000 EUR Über 10’000 EUR
  • Legen Sie ihr Geld selber an, oder haben Sie einen Vermögensverwalter beauftragt? Selber

Das wars. Schlussendlich fragte er mich, ob ich Interesse an weiteren Informationen hätte (zu was auch immer, er spezifizierte dies nicht genau). Ich bejahte, und gab ihm dann meine Gmail-Adresse an, fügte aber das Plus und eine eindeutige Bezeichnung hinzu, damit ich feststellen konnte, falls mir jemand aus dieser Bande weitere Informationen zustellen würde.

Er sagte mir, dass ich bald wieder von Oracle Research kontaktiert werden würde, und ich in diesem Fall doch bitteschön seinen Namen — Clifford Smith — nennen solle, damit seine Arbeit (Provision? Kickback?) berücksichtigt werden könne.

In meinem Gmail-Postfach fand ich bisher keine E-Mail mit der übermittelten Empfängeradresse.

Wieso machst du das?

Bereits vor einigen Monaten wurde ich auf diese Weise kontaktiert, hatte damals aber sofort wieder aufgehängt, als mir der Anrufer nicht sagen konnte, von wo er meine Telefonnummer hatte. Dieses Mal wog die Neugier schwerer. Ich rechtfertige meine Aktion aber auch damit, dass ich die Scammer während 18 Minuten am Draht hatte — mit dem Wissen im Hinterkopf, dass Anrufe auf eine Schweizer Mobilfunknummer aus dem Ausland teuer sind (40 Rappen pro Minute? Dann hätten die Scammer immerhin über 7 CHF ausgegeben — für Schweizer ein Klacks, aber für Indien wohl doch eine leicht grössere Summe).

Vermutung

Meine Vermutung ist, das die Scammer dem Opfer eine präparierte E-Mail zusenden und sich erhoffen, dass auf Grund des Telefonats ein Vertrauensverhältnis aufgebaut wurde und das Opfer das Attachment öffnet. Die Fragen sind entweder völlig unnütz, oder helfen aber, die Ziele einzugrenzen (Leute, die Online-Banking betreiben und grössere Summen auf dem Konto liegen haben).

Tags: , , , , , , ,
Labels: Leben

Keine Kommentare | neuen Kommentar verfassen

Sonntag, 9. August 2015

Apple TV verursacht zusammen mit einer Apple Time Capsule arpwatch flip flops

Seit ich vor einigen Tagen im Netzwerk eines Familienangehörigen zwei gebrauchte Apple Time Capsules (500GB sowie 2TB) installiert habe, füllt sich das Log meiner arpwatch-Instanz mit folgenden Meldungen:

            hostname: 
          ip address: 192.168.44.155
           interface: eth1
    ethernet address: aa:bb:cc:dd:ee:ff
     ethernet vendor: 
old ethernet address: 00:11:22:33:44:55
 old ethernet vendor: Apple, Inc
           timestamp: Sunday, August 9, 2015 15:36:58 +0200
  previous timestamp: Saturday, August 8, 2015 23:03:54 +0200
               delta: 16 hours

Aus Sicht von arpwatch „übernimmt“ die Time Capsule 500GB die IP-Adresse des Apple TVs. Dies ist insofern unzulässig, weil ich die IPs statisch festgelegt habe und mittels einem DHCP-Server an die anfragende MAC-Adresse aushändige.

Nach kosmetischen Anpassungen an der Konfiguration der Time Capsule brachte ich die Fehlermeldung nicht weg. Eine Google-Suche hingegen liefert mir einen Hinweis, was das wirklich Problem sein könnte:

Bug 841067 – Arpwatch repeatedly misdetects „Bonjour Sleep Proxy“ as „flip flop“

Frei übersetzt legt die Time Capsule die Bonjour-Informationen des Apple TVs in ihrem Zwischenspeicher ab. Wenn sich der Apple TV in den Schlafmodus verabschiedet, weil das Gerät nicht (mehr) genutzt wird, sendet die Time Capsule Infos über den Apple TV regelmässig ins Netzwerk, damit andere Apple-Geräte wissen, dass ein Apple TV im Netz hängt. Irgendwie scheint dieser Bonjour-Broadcast für arpwatch auszusehen, als ob die Time Capsule unter der IP-Adresse des Apple TVs funkt.

Ich habe den Log-Alarm deshalb nun so umgestellt, dass er flip flops mit dieser IP ignorieren wird.

Tags: , , , , , , ,
Labels: Apple, Linux

Keine Kommentare | neuen Kommentar verfassen

Sonntag, 9. August 2015

Wer sich wieder Mal wirklich alt fühlen möchte: Kinder spielen mit dem ersten Apple iPod von 2001

Ich habe meinen ersten iPod am 20. Dezember 2001 gekauft, damals für sagenhafte 711 CHF (nicht zu vergessen, dass der US Dollar damals noch viel mehr Wert hatte als heute). Für diesen Betrag kriegt man heute problemlos einen iPod, der tatsächlich auch telefonieren kann — und noch vieles mehr …

Tags: , , , ,
Labels: Apple, Funny

Keine Kommentare | neuen Kommentar verfassen

Sonntag, 9. August 2015

Panem et circenses

Derzeit nimmt der Präsidentschaftswahlkampf in den USA wie alle vier Jahre wieder an Fahrt auf. Die Republikaner schicken ihre besten Rösser in den Wahlkampf, unter anderem den umtriebigen Donald Trump, dessen Ego ungefähr so gross ist wie sein Milliardenvermögen (er ist Nummer 133 in der Rangliste der reichsten Amerikaner):

Im Nachgang zur ersten Fernseh-Debate gingen während eines Telefoninterviews die Pferde mit Trump nun aber vollständig durch:

Dem Beobachter in Europe kommt diesbezüglich vor allem ein Begriff in den Sinn, welcher im alten Rom seinen Ursprung hat: Brot und Spiele.

Juvenal kritisierte in seiner Satire, dass das römische Volk in der Zeit des Prinzipats, entmachtet von den Kaisern Augustus, unter dem die Wahlen der Magistrate zur bloßen Formalität verkamen, und Tiberius, der sie völlig dem Volk entzog und dem Senat übertrug, sich nicht mehr für Politik interessiert und nur noch diese beiden Dinge gewünscht habe: Brot und Spiele.

Quelle: Wikipedia: Panem et circenses

Tags: , , , , , , , , ,
Labels: USA

Keine Kommentare | neuen Kommentar verfassen

Donnerstag, 30. Juli 2015

Interkontinentale Direktflüge ab Zürich und Genf

Vor einigen Tagen beschäftigte ich mich mit Flugpreisen nach Kalifornien und zog in Erwägung, einen Flug mit einem Zwischenhalt irgendwo zwischen New York und San Francisco zu buchen, um einerseits einen günstigeren Flugpreis zu ergattern und andererseits meinen noch verfügbaren Ferientagen Rechnung zu tragen (ich entschied mich schlussendlich dann aber doch für meine „Stammlinie“ LX38/LX39).

Auf der Web-Site des Flughafens Zürich fand ich bei diesen Abklärungen leider keine einfach verständliche Übersicht, welche Destinationen alles von ZRH angeflogen werden (in SQL-Jargon: SELECT DISTINCT(airport) FROM destinations). Und ich war mir zu doof, seitenweise Abfluglisten nach US-Destinationen zu durchkämmen. Deshalb liess ich die Sache vorerst ruhen.

Wenige Tage später dann stiess ich im RSS-Feed von Newly Swissed auf den Artikel Switzerland’s Infrastructure Sets the Country Worlds Apart. In der Originalversion brachte der Artikel eine schicke Grafik mit, welche alle interkontinentalen Destinationen aufzeigte, die von den Flughäfen Genf-Cointrin und Zürich-Kloten direkt angeflogen werden. Leider ist diese Grafik in der Web-Version des Blog-Artikels verschwunden. Genau danach suchte ich!

Direct Intercontinental Flight Connections from ZRH and GVA 2014
image-6386

Quelle: Switzerland Global Enterprise: Handbook for Investors 2014

Heute endlich hatte ich Zeit, um das Internet nach der gesuchten Grafik zu durchsuchen. Und tatsächlich, mit Google Queries wie site:s-ge.com ext:pdf fand ich zuerst die 2012er-Version der Grafik in der Broschüre „Investorenhandbuch“ (Seite 107). Nun gut, dachte ich mir, Newly Swissed hat sicherlich die aktuellste Version der Broschüre herangezogen und die Grafik von dort herauskopiert.

Doch wie kam ich nun an die aktuellste Version der Broschüre? Nach einer kurzen Google-Suche dann die Erleichterung: Auf der Seite Handbook for Investors 2014 kann man das Kapitel 11 „Infrastructure“ kostenlos herunterladen. Auf Seite 126 findet sich besagte Grafik, welche die Grafik von 2012 ästhetisch um Welten voraus ist.

Wenn ich mich in Zukunft interessiere, wohin auf der ganzen Welt ich mit einem Direktflug von ZRH oder GVA komme, konsultiere ich die hier aufgeschaltete Grafik. Wunderschön, und äusserst informativ.

Nachtrag

Und — fast hätte ich es vergessen — folgende nordamerikanische Destinationen erreicht man ab ZRH und GVA mit einem Direktflug:

  1. Montreal
  2. Toronto
  3. Chicago
  4. Philadelphia
  5. New York Newark
  6. New York JFK
  7. Boston
  8. Washington
  9. Atlanta
  10. Miami
  11. San Francisco
  12. Los Angeles

Tags: , , , , , , , , , , , , ,
Labels: Schweiz

1 Kommentar | neuen Kommentar verfassen

Dienstag, 14. Juli 2015

In Excel ein Pivot nach Monat und Jahr gleichzeitig gruppieren

Wer von SQL her kommt und gelegentlich Auswertungen mit Excel fahren muss, wird die Pivot-Funktion zu schätzen wissen: Sie bietet annähernd etwas wie die GROUP BY-Klausel in SQL-Statements.

Kürzlich durfte ich auf der Arbeit die zeitlichen Aufwendungen für eine IT-Prüfung analysieren. Dazu erfasste ich alle Meetings mit ihrer Dauer, ihrem Datum und dem Titel in eine Tabelle. Anschliessend wollte ich mir ausrechnen lassen, wie viele Stunden pro Monat aufgewendet wurden.

Da die Prüfperiode im Juli 2014 begann und im Juli 2015 endete, gab es beim ersten Auswertungsversuch das Problem, dass die Aufwendungen im Juli des Vorjahres mit denjenigen des Julis des aktuellen Jahres addiert wurden. Doch wie macht man statt ein GROUP BY month ein GROUP BY month, year?

Stellt sich heraus, dass man in einer Pivot-Tabelle mittels Rechtsklick auf einen Datumswert im Menupunkt „Grouping“ durchaus auch zwei Elemente in der Liste („By“) auswählen kann, also beispielsweise auch „Months“ und „Years“.

Quelle: Pro tip: Group an Excel PivotTable by dates

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

Keine Kommentare | neuen Kommentar verfassen