Doppelte Einträge in Python Listen entfernen

Zur Zeit programmiere ich gerade einen kleinen Launcher für das Spiel Lure of the Temptress (hierzu später mehr in diesem Blog) in Python. Damit auch unerfahrene Windows Benutzer den Launcher benutzen können ohne vorher Python installieren zu müssen, habe ich das ganze mit py2exe umgewandelt und in eine exe gepackt.

Während des Arbeitens mit py2exe ist mir aufgefallen, dass die übergebenen Parameter (in diesem Fall Dateipfade zu DLL Dateien) manchmal doppelt vorkommen.

Will man diese doppelten Einträge eliminieren gibt es zwei sehr simple Möglichkeiten dazu:

Zwei Listen. Eine mit reinen Zahlen, die andere mit Strings von Farbnamen:

x = [1, 3, 5, 7, 5, 5, 9]
y = ["blau", "gelb", "braun", "blau", "gelb", "violett"]

Möglichkeit 1 (< Ptyhon 2.4):

>>> x_sauber = dict(map(lambda i: (i,1),x)).keys()
>>> y_sauber = dict(map(lambda i: (i,1),y)).keys()

Ergibt:

>>> print x_sauber
[1, 3, 9, 5, 7]
>>> print y_sauber
['violett', 'gelb', 'blau', 'braun']

Möglichkeit 2 (ab Ptyhon 2.4):

>>> x_sauber = list(set(x))
>>> y_sauber = list(set(y))

Ergibt:

>>> print x_sauber
[1, 3, 9, 5, 7]
>>> print y_sauber
['violett', 'gelb', 'blau', 'braun']




Da wo die Admins herkommen

Kein Wunder liest man überall von Mangel an IT-Fachkräften.

Schliesslich muss ein kleines Schweizer Dorf im Kanton Luzern die Administratoren der Welt liefern.

6037 Root

2008 – 4`002 Einwohner (davon knapp 1000 Ausländer (wohl um sich zum Admin weiterbilden zu lassen)). Wie soll eine so kleine Gemeinde bloss all die jährlich benötigten Administratoren heranzüchten :mrgreen:




Ausflugsziel: Wildpark Bruderhaus in Winterthur

Wenn das Wetter schon einmal so schön ist wie am letzten Wochenende, dann muss man natürlich auch wieder raus. Aber wohin soll man mit klein Nina denn bloss gehen? Die umliegenden Zoo’s sind abgegrast und das Planeta Magic kennt Nina ja auch schon.

Doch dank der 1001 Ideen des Kids Buches haben wir schnell etwas passendes gefunden. Im Wildpark Bruderhaus in Winterthur gibt es neben den obligaten Tieren auch einen Windel Wander Weg. Kinderwagen gängig soll er sein.

Nun gut, wir haben es ausprobiert und müssen sagen. SUPER !!!

Bepackt mit einigen Würsten die wir unterwegs schnell gekauft haben , sind wir dort angekommen und haben uns sogleich auf die Suche nach einer Feuerstelle gemacht. Während die Grilladen friedlich vor sich hinbruzzelten hat Nina natürlich die Gelegenheit genutzt und sich vom Papa x-mal die Rutschbahn hoch tragen lassen um sogleich wieder runter zu sausen.

Nach dem Essen machten wir uns auf, den restlichen Windel Wander Weg zu bestreiten. Für Nina war das natürlich genau so toll wie bei der Feuerstelle, denn es gab immer wieder was zu sehen. Steine, Gräser, Tannenzapfen etc. Und natürlich wollte Sie all das auch in den Mund nehmen 🙂

Das tolle an dem Weg sind die vielen Möglichkeiten um zu spielen. Da gibt es z.B. ein Mini Labyrinth in dem die kleinsten den Ausgang suchen müssen, Schaukeln die wunderbar im Schatten der Bäume gebaut sind und, und, und..

Wir werden in diesem Jahr sicherlich wieder einmal dort hin gehen!

Uebrigens, einen Geheimtipp habe ich auch noch. Das Restaurant Bruderhaus hat die besten Glacés weit und breit! So fein gemundet hat es uns schon lange nicht mehr!




Hack den Igel

Keine Panik, Eggers Familien-Blog ist nach wie vor Kinderfreundlich. Hier geht es mitnichten darum putzige kleine Erinaceidae zu quälen sondern um das hacken von Thin-Clients der Firma IGEL. Genauer geht es um das Hacken eines IGEL 5110 X-Term.

Das Problem:

Bei einem Kunden sind in gewissen Applikationen keine Elemente anwähl- oder verschiebbar. Um nun herauszufinden ob das Problem bei den X-Terminal Settings oder unserem Server zu suchen ist muss ich zuerst einmal Zugriff auf des Kundens X-Terminal Einstellungen haben. Doch wie kommt man an diese ran ohne sich mit ihm telefonisch durch das grafische Konfigurationsmenu zu quälen?

Die Lösung:

Man logt sich remote auf das Terminal ein und kopiert sich die Settings. 🙂

Das Problem ist nur, wie komme ich auf das Terminal wo doch nur eine Remote Shell und kein Remote Login zur Verfügung steht? Ganz Einfach, man bittet den Kunden um hilfe. (Pech gehabt ihr Skriptkiddies da draussen! Keine rüberhol und kopier Anleitung für euch!)

Der Kunde muss folgende Schritte am Terminal vornehmen:

  1. Wenn das Terminal eingeschaltet ist muss er Alt-SysRq-F2 drücken (SysRq entspricht der Print Screen Taste)
  2. Danach wechselt er mit Alt-F10 auf die Konsole des Terminals.
  3. Nach drücken der ENTER Taste befindet er sich in einer bash Shell auf dem IGEL Terminal.
  4. Als nächstes muss er die Display Variable auf meinen Client setzen. Z.B. export DISPLAY=192.168.1.1:0.0
  5. Startet er nun ein X-Terminal habe ich mit dessen Hilfe Zugriff auf die Terminal Konsole. xterm &
  6. Nun kann der Kunde wieder in den normalen Modus wechseln mit der Tastenkombination Alt-F1.

In der Datei /wfs/setup.ini finde ich die XML Datei mit den Systemeinstellungen vor. Aber Achtung! Jede Änderung an der Datei verändert die Einstellungen des Terminals. Löscht man zuviel kann es passieren, dass das Terminal nach dem reboot nicht mehr richtig funktioniert.

Sicherer ist es, wenn man einfach das Setuptool selber ausführt. Hierzu muss man den Befehl /usr/X11R6/bin/setup ausführen.




Radio Radarwarnungen werden untersagt

Ich weiss, ich bin langsam…

Nicht etwa auf der Strasse.. nein, da bloch… aehm… Quatsch :mrgreen:

Nein, ich bin erst jetzt dazu gekommen das TCS Touring Magazin vom 10. Januar 2008 zu lesen. Und welche Meldung habe ich da erblickt über die es sich zu bloggen lohnt? Die Meldung mit dem Titel Lokalradios bald ohne Radarwarnungen.

Es ist ja so, dass jeder legale Radiosender eine Konzession vom Bundesamt für Kommunikation (bakom) benötigt um überhaupt «on Air» gehen zu dürfen. Und wie das so mit Konzessionen ist, müssen diese auch regelmässig erneuert werden. In der aktuellsten Ausgabe – welche alle Sender unterschreiben müssen um überhaupt weiter existieren zu können – sind nun Radarwarnungen explizit untersagt.

Im Dokument Ausschreibung Radio- und TV-Konzessionen heisst es dann auch in Kapitel 4.3.5:

4.3.5. Sendungsarten, die der Leistungsauftrag ausschliesst
Gestützt auf Artikel 41 Absatz 3 RTVV werden in der Konzession die folgenden Sendungsarten untersagt, da sie der Erfüllung des Leistungsauftrags zuwiderlaufen:

  • Die Ausstrahlung von Publikumsgewinnspielen, die ausschliesslich darauf ausgerichtet sind, Einnahmen zu generieren und die kaum publizistischen Gehalt aufweisen;
  • Die Ausstrahlung von Radarwarnungen;
  • Die Ausstrahlung von pornographischer Werbung, insbesondere Werbung für Mehrwertdienste- Nummern mit erotischem Inhalt und Werbung für erotische Dienstleistungen.

Haben wir in der Schweiz echt keine anderen Probleme mehr als für solche Belanglosigkeiten eine Verordnung zu erstellen? Was zum Geier soll diese Verordnung denn bringen? Glaubt unser lieber Staat wirklich, dass dadurch mehr Geld in die Staatskassen fliesst? Ich habe seit 8 Jahren keine Busse mehr erhalten. Und das liegt bestimmt nicht an den Radarwarnungen sondern daran, dass ich rücksichtsvoll fahre.

Mich würde wirklich einmal interessieren, wieviele matse Blogleser denn wirklich schon eine Busse weniger zahlen mussten, weil Sie dank einer Radarwarnung vom Gas gegangen sind… Gebt mir doch einen Kommentar dazu ab!

Ich persönlich würde das ja ganz anders handhaben. Anstatt die Radarwarnungen als Bedrohung anzusehen würde ich dieses Medium aktiv nutzen. Als erstes würde ich Schweizweit arbeitslose Menschen anstellen und denen ein Handy in die Hand drücken. Ihre Aufgabe würde dann darin bestehen jeden Tag die verschiedensten Hotlines von Radiostationen anzurufen und dort irgendwelche fiktiven Radarwarnungen abzugeben. Am besten sind hierfür Strassen geeignet bei denen das zu schnell fahren zur Tagesordnung gehört.

Im nu hätte man einigen Arbeitslosen wieder eine Verdienstmöglichkeit geboten und auf schweizer Strassen würde nur noch «normal» gefahren, da die Radiostationen im 5Minuten Takt Warnungen herausgeben.




Typisch Marketing auch bei der Migros

Ich habe heute durch Zufall das Migros Magazin Nr. 6 von vor zwei Wochen in die Hände bekommen. Als ich so darin gestöbert habe musste ich plötzlich ob der Marketing Kampagne schmunzeln.

Da wird in einem Doppelseitigen Artikel (S.36-S.37) lang und breit darüber berichtet, dass die Migros jetzt auf das gesamte Rexona und Axe Sortiment einen Preisabschlag von 20 Rappen vorgenommen hat. Jörg Brun, Leiter Food beim Migros Genossenschafts Bund meint dann auch:

[…]Wir haben eine neue Konkurrenz bekommen, und unsere Sortimente noch nicht ganz darauf eingestellt. Anstatt einen Preis nach dem anderen still anzupassen, senken wir gleich die Preise ganzer Produktbereiche und verkünden das auch.

Wenn ich das lese frage ich mich als aller erstes einmal, was denn der Leiter Food mit Kosmetika/Körperpflege Artikeln am Hut hat. War Herr Brun vielleicht gerade der einzige der noch am arbeiten war und musste darum Stellung nehmen?

Wie dem auch sei. Bei der Verkündung einer Preissenkung wird mit ganzseitigen Inseraten (Auf der letzten Seite des Magazins prangt denn auch eine Vollseitige Reklame mit dem Übertitel: «Wer rechnen kann, rechnet mit uns. Dauerhafte Preissenkungen») dafür geworben. Nun ist es aber nicht so, dass wir Konsumenten da Unmengen an Geld sparen. Je nach Produkt sind es lediglich zwischen 2.5% und 5.5%. Einige Beispiele aus dem Magazin

  • Axe-Duschgel Africa vorher Fr. 4.90 neu Fr. 4.70 Ersparnis 4.1%
  • Axe-Deo Click vorher Fr. 6.90 neu Fr. 6.70 Ersparnis 2.9%
  • Rexona-Aerosol-Deo Girl Tropical Power vorher Fr. 5.90 neu Fr. 5.70 Ersparnis 3.4%
  • Rexona-Duschgel Aloe Vera Fr. 3.90 neu Fr. 3.70 Ersparnis 5.2%

Bis hier hin eigentlich nichts aussergewöhnliches. ABER…

Im selben Magazin bringt die Redaktion auf den Seiten 39-41 einen Artikel darüber, wie die Migros Bauern im westafrikanischen Mali beim Anbau von Biobaumwolle unterstützt. Vierzig Seiten später (S. 83) wird dann auch wieder kräftig für die aus der Baumwolle entstehenden Produkte Werbung gemacht. Namentlich sind es die Bio-Max-Havelaar-Watte-Rondelle, -Stäbchen und -Haushaltwatte. Als ich die Preise unter den Artikeln erblicke stutze ich ein wenig. Besonders bei den Orenstäbchen…

Ich kaufe seit jeher die Havelaar Ohrenstäbchen, weil die viel weniger «zerzausen» als die anderen Stäbchen der Migros. Von daher war ich erstaunt, als ich sah, dass die Stäbchen nun Fr. 2.00 kosten. Ich krame also unsere angebrauchte Schachtel hervor und siehe da, diese kostete noch Fr. 1.90.

Die Wattestäbchen sind also um 10 Rappen oder 5.2% verteuert worden. Und genau da zeigt sich doch wiedereinmal das typische Marketing verhalten.

Bei einem Preisabschlag im Bereich von 2% – 5% wird ein riesen Tam Tam gemacht. Wird jedoch bei einem Produkt der Preis um 5% erhöht, dann lässt man das lieber gleich unter den Tisch fallen. Oder noch besser, man rechtfertigt das mit dem Engagement, den die Migros ja leistet (Hat Sie das bisher nicht getan?).

Typisch Marketing halt…




Initiative für menschenfreundlichere Fahrzeuge

Stop Offrader LogoGanz ehrlich. Wenn man irgendwen aus unserem Bekanntenkreis fragt, dann wird jedermann bestätigen, dass die Eggers bisher politisch nicht aktiv waren. Bisher. Denn diesmal geht es um ein anliegen, dass zumindest uns am Herzen liegt.

Es geht um eine Initiative, welche den SUV’s (Sport Utility Vehicles) den Kampf angesagt hat. Die Initiatoren verfolgen mit der Initiative zwei Ziele.

1.) Anpassung der Gesetze zur Umweltverträglichkeit. Fahrzeuge welche übermässig viel Schadstoffe ausstossen sollen verboten werden. Dieses Verbot gilt für Neuwagen. Dadurch wird die Bevölkerung sozusagen gesetzlich gezwungen Autos zu kaufen welche sparsamer im Verbrauch von Resourcen sind und zugleich weniger Schadstoffemmisionen erzeugen.

2.) Anpassung der Gesetze um die Attraktivität solcher Personenwagen deutlich zu reduzieren, z.B. indem der Bund für diese Autos eine tiefere Höchstgeschwindigkeit festlegt (Was nicht bedeutet, man darf mit solch einem Auto nicht mehr herum fahren).

Unsere Gründe für die Unterstützung sind hauptsächlich die Sicherheitsaspekte. So hat zum Beispiel unlängst die
Beratungsstelle für Unfallverhütung (bfu) eine Pilotstudie in Auftrag gegeben, welche eine Analyse der Verkehrssicherheitsaspekte von SUVs (pdf) untersucht hat. Zusammenfassend ist die Studie zu folgenden Ergebnissen (pdf) gelangt:

Wie sicher sind SUVs für Insassen und Kollisionsgegner?
Obwohl keine Unfalldaten für die Schweiz vorliegen, kann aufgrund von in- und ausländischen
Untersuchungen eine Beurteilung der Sicherheit von SUVs abgegeben werden. Für die drei
Bereiche «Insassen von SUVs», «Insassen von Kollisionsgegnern (Personenwagen)» und
«Schwache Kollisionsgegner (Fussgänger, Velofahrer, Motorradfahrer)» gilt:

  • Insassen von SUVs sind gut geschützt, jedoch nicht so gut, wie es aufgrund der äusseren
    Erscheinung dieser Fahrzeuge zu vermuten wäre.
  • SUVs weisen eine rund doppelt so hohe Fahrzeugaggressivität (Anzahl in anderen Fahrzeugen
    getötete Lenker pro 1’000 Kollisionen) auf wie «gewöhnliche» Personenwagen.
  • Im Vergleich zu den Personenwagen führt die ungünstige Frontgestaltung der SUVs – aber auch
    der Vans und Minivans – bei schwachen Kollisionsgegnern (v. a. bei Fussgängern) zu
    schwereren Verletzungen. Wie Beispiele zeigen, kann das Problem indessen zumindest
    entschärft werden.

Aus diesen Gründen unterstützen wir diese Volksinitiative mit unserer Unterschrift und hoffen, dass es die Vorlage bis an die Wahlurne schafft. Wer die Initiative ebenfalls unterstützen möchte kann sich auf der Webseite der Initianten den Unterschriftsbogen herunterladen. Vergesst nicht, dass nur Personen mit vollendetem 18. Lebensjahr unterschreiben und pro Bogen nur Personen aus einer politischen Gemeinde enthalten sein dürfen.

Während also eure Nachbarn alle auf den selben Zettel unterschreiben können (sofern deren Politische Gemeinde die selbe ist wie eure) solltet Ihr für den gerade zu Besuch weilenden Verwandten aus dem Tessin einen neuen Bogen verwenden.

Wichtig ist zu beachten, dass auf einem Unterschriftsbogen nur




Sirenenprobealarm

Stationaere SireneUm 13:30 Uhr stehe ich im mir zugewiesenen Schulhaus bereit, darauf wartend, dass mich sogleich 113 Dezibel niedermähen. Dann ist es soweit. Die KaPo Flughafen Zürich drückt auf den Knopf und im ganzen Kanton Zürich ertönen die Sirenen.

Ein Novum. Denn bis im letzten Jahr musste ich mit dem Schlüssel der Feuerwehr bewaffnet selbständig die Sirene per Knopf aktivieren.

Nach 60sekunden war der Spuk bereits wieder vorbei. Um mich herum, hornte es jedoch noch weiter. Auch nach 10 Minuten hörte man noch immer eine Sirene im Hintergrund heulen. Irgendwann vernahm man dann auch Feuerwehr Sirenen. Was da wohl geschehen war?

Um 13:45 Uhr ertönten die Sirenen dann abermals. Diesmal jedoch zweimal hintereinander, ausgelöst durch unseren Kommandoposten. Auch hier funktionierte alles bestens.

Da blieb nur noch der strategische Rückzug zum KP übrig. Aber vorher mussten noch einige zerstreute Kameraden abgeholt werden. Zurück im KP wurden dann die SE-125 Funkgeräte hervorgeholt. Von nun an hiess es «Funkdisziplin wahren!»

Von Alpha1
An Alpha3
Meldung: «Sirene im zugewiesenen Schulhaus hat drei mal gehornt.»
Antworten

Alpha1 von Alpha3
Meldung verstanden, Sirenen haben im zugewiesenen Schulhaus drei mal gehornt.
Antworten

Von Alpha1
An Alpha3
Verstanden
Schluss




Happy Birthday Nina

Einfach unglaublich. Nun ist es bereits ein Jahr her, dass unser kleiner Sonnenschein zur Welt gekommen ist. Am Anfang war Sie noch so klein und hilflos und nun krabbelt sie bereits herum und will alles erkunden.

Es ist wirklich erstaunlich wieviel ein Kleinkind im ersten Lebensjahr lernt und welche Entwicklung es dabei durchmacht. Dabei sind das absolut banale Dinge wie etwa vom Rücken auf den Bauch drehen oder das zeigen mit dem Finger auf Gegenstände. Aber jeder der selber Kinder hat weiss, wie sehr man sich mit dem Kind freut wenn es von ganz alleine diese Fortschritte macht.

Sie hat in diesem Jahr die vier Schaufelzähne bekommen, kann selbständig hocken, kriecht und krabbelt überall hin, putzt jeden Abend auf Nina Art die Zähne, schüttelt den Kopf wenn Sie etwas nicht möchte (kann/will aber noch nicht Nicken wenn Sie etwas möchte), und und und…

Und irgendwie ist es auch traurig. Denn bereits jetzt will Sie gewisse Dinge nicht mehr machen, welche man so lieb gewonnen hatte. So konnte ich Sie, als Nina noch nicht mobil war, auf meine Brust nehmen, mich in den Sessel setzen und sanfte Musik hören während Sie auf meiner Brust schlief. Aber so etwas ist schliesslich nur für Babys. Grosse einjährige Ninas machen das nicht mehr *sigh*

Wie dem auch sei. Jetzt wird erst einmal richtig gefeiert. Mama macht für Nina einen riiiiiiiiiieeeeesen Schokoladenkuchen und am Abend werden dann die Geschenke ausgepackt.

Und für die Besucher des Blogs gibt es auch eine kleine Überraschung. Eine Bildergalerie mit Impressionen von einem Jahr Nina 😆




Und weg sind die USB Daten

Platinum USB StickUSB Sticks sind heute so weit verbreitet wie einst Walkmans. Zahlte man vor 3-4 Jahren noch um die 100 CHF für einen guten Stick mit 256MB! kriegt man heute für einen drittel des Preises 16x mehr Kapazität (4GB zu 39CHF).

Die Sticks haben heutzutage derart viel Kapazität (z.B. 16GB zu 159CHF) dass man schon ein weilchen braucht, bis der Stick mit Dokumenten, kleinen Filmchen und sonstigem Krimskrams gefüllt ist.

Doch wer sicher gehen möchte, dass seine Daten auch Morgen noch verfügbar sind sollte unbedingt weiterlesen. Denn zur Zeit sind USB Sticks auf dem Markt, welche statt Daten zu speichern die Daten in das Nirvana schicken.

Betroffen sind anscheinend Sticks unterschiedlichster Marken mit einer Kapazität ab einem Gigabyte. Die Sticks sind verbaut mit einem Flash-Controller-IC welcher eine USB Vendor ID 0x13FE besitzt. Diese ID identifiziert den Chip als zur taiwanischen Firma Phison Electronics Corporation gehörend. Doch die Firma gibt laut C’t an, dass Sie niemals Chips mit diesen Bezeichnungen hergestellt hat.

Das perfide an diesen Sticks ist, dass diese eigentlich ganz normal zu funktionieren scheinen. Lesen und schreiben funktioniert unterhalb eines Gigabytes ohne Probleme. Ab einem Gigabyte ist dann aber schluss mit lustig. Ab da werden für alle Schreiboperationen mit logischen Adressen in die selben 128 Sektoren geschrieben.

1GB entsprechen 1024 x 1024 x 1024 Byte = 1073741824 Byte. Im Normalfall ist ein Sektor 512 Byte gross. Das bedeutet, dass die Sektoren 2097024 bis 2097152 (1073741824 Byte / 512 Byte) für jedes weitere Byte verwendet werden. Schreibt man also z.B. in die Sektoren 2097153, 2097281, 2097409 wird alles immer in Sektor 2097024 geschrieben.

Für das Betriebssystem scheint dabei alles in bester Ordnung zu sein, denn der Auftrag in die Sektoren zu schreiben wurde ordnungsgemäss ausgeführt. Das etwas nicht stimmt merkt man erst, wenn die auszulesenden Daten plötzlich immer nur die selben 64KByte Inhalt enthalten. Denn auch hierbei wird das Betriebssystem keinen Fehler melden, kann es doch ohne Probleme von den logisch adressierten Sektoren lesen.

Um nun herauszufinden ob man selber einen solchen betrügerischen USB Stick besitzt kann man auf der Webseite der C’t das Programm H2testw herunterladen. Damit kann man seinen USB Speicher auf Herz und Nieren prüfen lassen.