= Treffen vom 11. 01. 2012 = * [[http://www.meetup.com/PYUGAT/events/44830582/|Meetup-Seite zu diesem Treffen]] * [[http://www.flickr.com/photos/thp4/sets/72157628923292329/|Fotos zu diesem Treffen]] == Agenda == * Neue Besucher (Vorstellungsrunde) * [[FrontPage|Wiki]], MailingLists, [[https://twitter.com/pyugat|Twitter]], [[https://identi.ca/group/pyugat|Identi.ca]], [[http://www.meetup.com/PYUGAT/|Meetup]] * Metalab * Nächsten Termin festlegen (+ Coding Kitchen) * Wer macht Fotos für die Shownotes? * Buchbesprechungen? * Zeiteinteilung für den Abend festlegen * Wer hat Kurzvorträge mitgebracht? * Groben Zeitplan für Hauptvortrag festlegen * Anwesenheitsliste pflegen * Neue Besucher: Bitte im Wiki anmelden + persönliche Seite anlegen (Kontaktinfos, Voller Name, Interessen, Foto) * Neue Besucher: Bitte mögliche Themen in FutureTalks eintragen (mit Link auf persönliche Wiki-Seite) * Auf dieser Seite die Anwesenheitsliste aktualisieren (mit Links zu den User-Seiten) == Anwesenheitsliste == 19 Personen gesamt {{attachment:pyugat_2012-01b.jpg}} * [[hop]] * [[thp]] * [[brot]] * [[aschlapsi]] * [[gregor]] * [[DavidPoisl|David]] * [[uniqx]] * [[fabiant7t]] * [[MarkusKreuzinger|kritz]] * [[ranger]] * [[milon]] == Programm == * Haupt-Aktivität: PythonDojo * nosetests & pdb: . `$ nosetests --pdb-failure` . Bei Assertion Fehler ist der Python pdb Debugger aktiv . `$ nosetests --pdb` . Bei Exceptions im Test ist der pdb aktiv . `$ nosetests -s` . ist im Python Code irgendwo einen Breakpoint mit pdb.set_trace() gesetzt, muss nosetests mit s aufgerufen werden. (um das Aufzeichnen von stdout zu unterbinden der den pdb prompt aufzeichnen und damit verstecken würde) == Kurzvorträge == {{attachment:pyugat_2012-01c.jpg}} * [[StatisticsOnPython|Eine kurze statistische Untersuchung der Standardbibliothek.]] (hop) * Tool, das ich hätte verwenden sollen, um das Chart zu zeichnen, aber auf die Schnelle nicht durchblickt habe: [[http://matplotlib.sourceforge.net/|matplotlib]], * Wer an guter Visualisierung von Daten interessiert ist, sollte unbedingt [[http://www.edwardtufte.com/tufte/|Edward Tufte]] lesen. * Kurze Vorstellung eines hierarchischen JSON-Config-Moduls: http://gpodder.org/commit/b5c88dd0a - work in progress ([[thp]] und [[brot]]?) * Twitter Integration mit Tweepy (pepi) * realisiert mit [[https://github.com/tweepy/tweepy|Tweepy]] * Das Resultat twittert alle 8h ein offensive fortune: https://twitter.com/offensivebot {{{ #!/usr/bin/env python import sys import tweepy CONSUMER_KEY = 'myOwnConsumerKeyFromTwitterDev' CONSUMER_SECRET = 'mySuperSecretConsumerSecretStringFromTwitterDev' ACCESS_KEY = 'myAccessKeyString' ACCESS_SECRET = 'mySuperSecretAccessSecret' auth = tweepy.OAuthHandler(CONSUMER_KEY, CONSUMER_SECRET) auth.set_access_token(ACCESS_KEY, ACCESS_SECRET) api = tweepy.API(auth) api.update_status(sys.argv[1]) }}} . So erzeugt man sich die OAuth Tokens. Die !ConsumerKey- und !ConsumerSecret-Strings bekommt man von Twitter: https://dev.twitter.com/ {{{ #!/usr/bin/env python import tweepy CONSUMER_KEY = 'myOwnConsumerKeyFromTwitterDev' CONSUMER_SECRET = 'mySuperSecretConsumerSecretStringFromTwitterDev' auth = tweepy.OAuthHandler(CONSUMER_KEY, CONSUMER_SECRET) auth_url = auth.get_authorization_url() print 'Please authorize: ' + auth_url verifier = raw_input('PIN: ').strip() auth.get_access_token(verifier) print "ACCESS_KEY = '%s'" % auth.access_token.key print "ACCESS_SECRET = '%s'" % auth.access_token.secret }}} {{attachment:pyugat_2012-01a.jpg}} * Fabian stellt vor: http://ununi.tv, http://pinaxproject.com/, http://flask.pocoo.org/ == Diskussions- und Plauderrunde == * …bis die letzte U-Bahn fährt. * Diskussion über Gödel, Escher, Bach und die Antithese von Joseph Weizenbaum, "Die Macht der Computer und die Ohnmacht der Vernunft" http://www.suhrkamp.de/buecher/die_macht_der_computer_und_die_ohnmacht_der_vernunft-joseph_weizenbaum_27874.html == Mehr Fotos :) == {{attachment:2012-01_1.jpg|Coding Dojo|width="400"}} {{attachment:2012-01_2.jpg|Coding Dojo|width="400"}} {{attachment:2012-01_3.jpg|Coding Dojo|width="400"}} ---- CategoryShownotes