Category Archives: Projekte - Page 2

Zivildienst – Mein Erlebnis

Heute ist sie endlich online. Im Stile von “FCE – Mein Erlebnis“, beschreibe ich meine Situation zu dieser Zeit (die 9 Monate) und wie es für mich war. In der Tat habe ich so viele interne und rechtliche Dinge erwähnt, dass ich die Datei (noch?) nicht von Suchmaschinen indizieren lassen möchte. 4 Tage Arbeit und jede Menge Paragraphen. Das 32-Seiten-lange Dokument beinhaltet (Inhaltsverzeichnis zitiert):

  • Der Zivildienst
    • Die Fakten
    • Der Zivildienst
    • Die Gewissensklausel
    • Zivildienst-Gehalt
    • Urlaub, Arbeitszeit und Arbeitsrecht
  • Die Situation
    • Stellung
    • Der Formularkram
    • Der große Tag
    • Meine Bezirkstelle
    • ”GWDs und Zivis” oder ”die Gewissensklausel in der Praxis”
    • ”A&W” oder ”Cap Wörth”
    • Die Hospitantenzeit
    • Das Autochecken
  • Die Erlebnisse
    • Best SaniQuote
    • Zitat zur Situation eines Zivi
    • Der Einstieg ins Sanileben
    • RTW mit Hospitant
    • Der erste Tote
    • Die erste Reanimation
    • Typische Standard-Fälle
    • Die Routine
    • Problem 1: ”Stunden pro Monat” oder ”Zuvieldienst”
    • Problem 2: Das Recht
    • Problem 3: Status qualificum
    • Problem 4: Ortsrettungsstelle Ferlach
    • Problem 5: Zivildienstserviceagentur
    • Problem 6: Theologie
    • Problem 7: Zusatzaufgaben
    • Problem 8: Nachtschichten
    • Problem 9: Verlängerung
    • Kritik in Kurz
    • Zeitleiste
  • Konklusion
    • War das Tätigkeitsfeld für dich in Ordnung?
    • Hast du was gelernt / fürs Leben mitgetragen?
    • Sollte der Präsenzdienst abgeschafft werden?
    • Bist zu zufrieden mit deiner Leistung?
    • Statistiken

Off.

In der Gegend vom 8. April wollte WordPress (trotz gegenteiliger Einstellung) seine Datenbank selbstständig updaten. Ausgelöst wurde dieses Update automatisch als ich mich als Administrator einloggte. Im Zuge dieses Updates crashte mysql und WordPress hinterließ eine halb durcharbeitete Datenbank. In der Realität wirkte sich dieses “halb” mit den Symptomen eines addslashes() auf alle Bloginhalte und Titel aus. Die Metadaten der Pages (ich habe nur eine: “About”) wurden komplett zerstört.

Jetzt am 29.04 konnte ich ein Skript schreiben, welches die Datenbank wieder auf den alten Stand brachte. Danke an meinen Sysadmin. Bei eventuellen Problemen bitte einen Kommentar hinterlassen.

BlogActionDay: Klimawandel

Letztes Jahr ging es um Armut. Dieses Jahr um den Klimawandel.

Manche behaupten es werde wärmer. Manche behaupten es werde kälter. Eines ist klar: das Klima verändert sich und damit ist der Begriff “Klimawandel” auf jeden Fall zielführender als Begriffe wie “Klimaerwärmung”. Einige argumentieren das Klima wäre über all die Jahr schon dynamisch gewesen und ein temporäres Tief ändere an dieser Tatsache nichts. Wissenschaftler halten dagegen, dass die Veränderung in einer kürzeren Zeitspanne stattfindet als je zuvor.

Für mich hat die Argumentationslinie recht wenig Relevanz. Wenn ich an alte Tage zurückdenke, wo ich draußen im Schnee gebaut habe und heute mit dem Rad bei eisiger Kälte ohne Schnee in den Dienst fahre, merke ich die Veränderung, die in das Leben von Menschen einschneidet. Früher hat man sich im Dezember beim Skifahren getroffen; heute beim Bergwandern zur Weihnachtszeit. Die kalten Zeiten (mit Hoffnung auf Schnee) haben sich nach hinten verschoben. Während früher die Winterferien (Dezember) zum Schnellschaufeln genutzt wurden, sind die schnee-intensiven Monate jetzt der Februar und März. Manchmal wird man trotzdem schon im November vom Wetter überrascht ;-) Auch die Strahlung der Sonne kommt mir heutzutage extremer vor als früher.

Die Menschheit hat die Angewohnheit in solchen Fällen nach einem Grund zu forschen und ihre Neugier zu befriedigen. Der Treibhauseffekt bedingt durch stärkeren CO2-Ausstoß gilt als Quasi-Standard zur Erklärung des Phänomens. Wie kann man dem entgegenwirken? Für den Normalbürger gilt die Anweisung den Straßenverkehr zu reduzieren, alternative Energien zu verwenden und Ressourcen zu sparen.

Ich persönlich nehme mir das Radfahren sehr zu Herzen. Wenn jemand wegen einer einmaligen, weiteren Fahrt den Weg mit einem Kraftfahrzeug zurücklegt, so sei es ihm zu verzeihen. Doch in dem Bereich, der regelmäßig stattfindet (zB der Weg zur Arbeit), sollte die Optimierung von Vorgängen stattfinden auch wenn man manche Gewohnheit dadurch ablegen muss und Opfer bringt. So sollte man den Weg zur Arbeit möglichst mit Fahrrad zurücklegen. Öffentliche Verkehrsmittel sehe ich nur als halbfunktionstüchtige Alternative an. Sehr nett finde ich auch Peters Mut zum Kauf eines Elektromopeds. Ich denke mir solche Innovationen werden unsere Zukunft bestimmen und das Bestehen der Natur sichern. Auch wenn die Innovationen langsamer Einzug in unser Leben erhalten als der Winter schwindet…

Auftrag *fail*

TODO die negativen Smilies im Gästebuch entfernen

kein Kommentar.

Das erste Date

Komplexe Zahlen 1. Begegnung

Fazit: Die erste Begegnung mit komplexen Zahlen hatte ich in der 6. Klasse. Ich kann also nicht behaupten, dass ich den Begriff vor meinem Spezialgebiet nicht kannte ;-)

0100 Alice and Bob

Yeah… passend zu meinem Spezialgebiet: “Alice and Bob” von MC Plus+

Alice is sending her message to Bob
Protecting that transmission is crypto’s job
Without the help of our good friend Trent,
It’s hard to get that secret message sent
Work tries to deposit the check of your salary
But with no crypto, it’ll be changed by Mallory
You think no one will see what it is, you believe?
But you should never forget, there’s always an Eve…

[Chorus]
‘Cause I’m encrypting shit like every single day
Sending data across the network in a safe way
Protecting messages to make my pay
If you hack me, you’re guilty under DMCA

DES is wrong if you listen to NIST
Double DES ain’t no better man, that got dissed
Twofish for AES, that was Schneier’s wish
Like a shot from the key, Rijndael made the swish
But Blowfish is still the fastest in the land
And Bruce used his fame to make a few grand
Use ECB, and I’ll crack your ciphertext
Try CFB mode to keep everyone perplexed

[Chorus]
‘Cause I’m encrypting shit like every single day
Sending data across the network in a safe way
Protecting messages to make my pay
If you hack me, you’re guilty under DMCA

Random numbers ain’t easy to produce…
Do it wrong, and your key I’ll deduce
RSA, only public cipher in the game
Creating it helped give Rivest his fame
If we could factor large composites in poly time,
We’d have enough money to not have to rhyme
Digesting messages with a hashing function
Using SHA1 or else it won’t cause disfunction

[Chorus]
‘Cause I’m encrypting shit like every single day
Sending data across the network in a safe way
Protecting messages to make my pay
If you hack me, you’re guilty under DMCA

Password confirmed. Stand by…

text via catonmat.net

Fazit Mathematik Beispiele im Jahresbericht

Fazit: Lehrer sollten verpflichtet sein ihre Maturaaufgaben in LaTeX (oder anderen guten Textsatzsystemen) zu schreiben. Beziehungsweise auch diejenigen, die den Jahresbericht machen.

PDF Mathematik-Maturabeispiele der vergangenen Jahre vervollständigt

Jazzgruppe oder Schulchor

Ab der 1. Klasse könnt ihr in einer Jazz-Gruppe mitspielen oder im Schulchor mitsingen

Nicht immer ganz wahr, was man so auf Webseiten findet ^^

PS: Eine Lehrer empfahl mir trotzdem mein Maturafach mündlich zu nehmen, da es auf der Webseite so notiert ist (ein weiterer Fehler auf der Seite). Seiner Meinung nach könnte ich es verlangen. Ob man damit in der Schule und im Landesschulrat durchkommt? Ist der Inhalt einer Schulhomepage bereits so relevant, dass er vor Gericht gewertet wird?

via brg-viktring.at

Umkehrfunktion Cäsarcode

C = Code
M = Klartext
P = Schlüssel
E = letzter Buchstabe des Alphabets
I = erster Buchstabe

Eine Verschlüsselung mit dem Cäsarcode erfolgt durch ASCII-Code des Klartexts plus (ASCII-Code des) Schlüssel:

C = M + P

Wir dürfen nicht vergessen, dass nach 26 Buchstaben Ende ist. Modulo funktioniert perfekt.

C = (M + P) mod E

Und nicht vergessen, dass zB ASCII nicht bei 1 mit A anfängt

C = I + ((M + P - I) mod (E - I + 1))

Wie lautet die Umkehrfunktion? Also der Entschlüsselungsalgorithmus, der daran denkt, dass -1 zu 25 referenziert?

M = E - ((E - (C - P)) % (E - I + 1))

Ich bin froh, dass ich es mathematisch beschreiben konnte, ohne eine Fallunterscheidung notieren zu müssen :-) Fürs Programmieren muss man halt ord() und chr() anwenden und Modulo ist meist das Prozentzeichen %

Oder in python:

import unittest

class test_caesar_cryptography(unittest.TestCase):

    def __defaultord__(self, x):
        if not isinstance(x, int):
            return ord(x)
        else:
            return x

    def encrypt(self, m, p=3, i=65, e=90):
        m, p, i, e = map(self.__defaultord__, (m, p, i, e))
        return chr(e - ((e - (m - p)) % (e - i + 1)))

    def decrypt(self, c, p=3, i=65, e=90):
        c, p, i, e = map(self.__defaultord__, (c, p, i, e))
        return chr(i + ((c + p - i) % (e - i + 1)))

    def runTest(self):
        self.assertEqual(self.encrypt('D', 3, 65, 90), 'A')
        self.assertEqual(self.decrypt('A', 3, 65, 90), 'D')
        self.assertEqual(self.encrypt('D', 3, 'A', 'Z'), 'A')
        self.assertEqual(self.encrypt('Z', 3, 65, 90), 'W')
        self.assertEqual(self.encrypt('D', 29, 65, 90), 'A')
        self.assertEqual(self.encrypt(1, 3, 1, 26), chr(24))

if __name__ == '__main__':
    unittest.main()

Menno… hat das lange gedauert, das herauszufinden :-/

proj tom_bathhouse

Ein Badehaus hat 1000 Spinde. Der erste Gast geht durch die Garderobe und schließt die Türe von allen Spinden. Der zweite Gast geht durch und ändert (hier: öffnet) den Zustand jeder zweiten Türe. Der dritte Gast geht durch und ändert den Zustand jeder dritten Türe… der tausendste Gast ändert den Zustand der letzten Türe.
Frage: Welche System steckt hinter den geöffneten Türen?

Thanks to the math geek from ToM ;-)

#!/usr/bin/env python
# -*- coding: utf-8 -*-

limit = 1001

# True = the locker is open
lockers = [True] * limit

def bprint(liste):
    ''' Like pprint, but more beautiful '''
    print '{'
    a = -1
    for i in liste:
        a += 1
        if a != 0:
            print ' %s : %s ' % (a, liste[a])
    print '}'

# foreach person
for a in xrange(1, limit):
    # foreach locker
    for b in xrange(1, limit):
        if b % a == 0:
            lockers[b] = not lockers[b]

bprint(lockers)