Kackscheissetrigger_innen

Über einen Artikel in der TAZ[1] bin ich auf den Feministenblog Mädchenmannschaft gestoßen. Wie die TAZ schon schreibt, sind dort die letzten Gründungsmitglieder ausgestiegen, weil die immer extremer geworden sind (so verstehe ich das jetzt mal). Eigentlich ein völlig langweiliges Thema, aber ich bin auf die Seite gegangen und dort schlug mir das Grauen entgegen. Ein paar Beispiele:

  • "Wer_welche nicht da war"
    sowas hab ich ja noch nie gesehen. Weil das Wort "wer" anscheinend Frauen ausschliesst? Unfassbar

  • "[Content warning: Beschreibung von fatshaming]"
    das wurde einem Absatz vorangestellt. Ich weiss nicht, was "fatshaming" sein soll. dict.leo.org sagt dazu: "Für den Begriff  'fatshaming'  findet sich im Wörterbuch keine Entsprechung". Dass manche Leute solche Probleme haben, ihre eigene Sprache zu verwenden.

  • "[Triggerwarnung: Auschreiben und Thematisieren von V*rg*w*ltigung/ r*p*]"
    auch einem Absatz vorangestellt. Weil das Vorhandensein des Wortes "Vergewaltigung" in einem Text über ebenjene anscheinend neuerliche Traumata beim Leser auslösen kann/soll. Oder so. Keine Ahnung.

  • "queeren Autor_innen of Colour."
    gleich drei Kalauer in einem Abschnitt. "queer" bedeutet hier homosexuell. Ok. Über das schwachsinnige Binnen-I muss man nicht mehr reden. Und "of colour" bezieht sich auf "people of colour", was für nicht hellhäutige Menschen gelten soll, mithin Farbige. Aber offenbar ist heutzutage auch schon der Begriff "Farbige" rassistisch, daher muss man statt dessen präzise das gleiche auf englisch sagen. Ja nee, ist klaaar.

  • "Nun veröffentlicht UNRECORDS den ersten Ton­träger."
    Gag am Rande: dass Tonträger männlich sind, scheint aber kein Problem zu sein.

  • "Ein kontroverses Thema wie die Masernschutzimpfung"
    seit wann ist das Thema kontrovers? Einige dumme Impfverweigerer meinen das vielleicht. Kontrovers ist etwas, wenn sich die Fachleute nicht einig sind z.b. darüber wie dies oder jenes zu interpretieren sei. Beim Thema Masernschutzimpfung sind sich die Fachleute völlig einig. Das da verlinkte PDF handelt dann auch von einer Homöopathin, die Impfverweigerer ist. Setzen, 6.

  • "Viel Kackscheiße"
    ich verwende durchaus auch mal Fäkalbegriffe, um meinem Zorn Ausdruck zu verleihen. Aber Scheiße ODER Kacke ist völlig ausreichend. Und wenn man ein Substantiv verstärken möchte, stellt man kein weiteres Substantiv gleicher Bedeutung davor, sondern verwendet ein Adjektiv. So wie in "Gequirlte Scheiße". Oder man verwendet ein Substantiv anderer Bedeutung, wie in "Schweinescheiße". Auch Setzen, 6. Ach was, 10!

  • "critical whiteness"
    ausnahmsweise gibt es das sogar: Weißsein. Es geht da um die kritische Betrachtung des eigenen Ichs als hellhäutige Person. Oder brrrr so. Von mir aus gerne. Nur nach den vielen unzähligen Resentiments, die sich auf dieser Mädchenmannschaft-Seite gegenüber Andersartigen finden, erscheint mir das einfach nur vollkommen lächerlich.

  • "Es gibt keine Rassismus-befreiten Zonen. Punkt."
    ganz recht. Insbesondere nicht in dem Blog dort.

  • "es schmerzt vielleicht manchen (weißen) Leser_innen noch mehr, wenn ihm_ihr dann auch noch direkt mitgeteilt wird, dass auch er_sie ständig an den vielzähligen Mikromechanismen mitwirkt, ob er_sie es will oder nicht. Weil er_sie nicht anders kann. Nicht weil er_sie sich individuell dafür entschieden hätte, rassistisch zu sein, sondern weil jede_r (von uns) personale_r Mittler_in der strukturellen Widersprüchlichkeiten ist" [Hervorhebungen von mir]
    DAS sind echte Schmerzen. Man kann das gar nicht wirklich lesen. Von Verstehen ganz zu schweigen. Ich frage mich, ob solche Leute eigentlich auch so sprechen, wie sie schreiben. Man muss nur mal diese Passage laut vorlesen. Nach dem ersten Satz würde ich einen Lachflash bekommen und am Ende hätte der Sprecher eine Watschn bekommen.

  • "Trans*Menschen"
    eine mir unbekannte Spezies. Vielleicht genetisch manipulierte Menschen. Oder Gehirnamputierte? Man weiß es nicht!

  • "redet ein Teil der feministischen Blogosphäre über Sprache und Vermittlung feministischer Perspektiven."
    anstatt darüber zu "reden" würde ich an deren Stelle lieber einen (oder mehrere Blicke) in den Duden werfen.

Das genügt, glaub ich. Im Nachgang betrachtet komme ich mir wie ein Grammarnazi vor. Aber um Himmels Willen: wenn man ein Anliegen hat und dafür Andere begeistern möchte, sollte man sich einer ordentlichen Sprache bemühen UND einer ordentlichen Grammatik. Und nicht diesen Mist.

Rein inhaltlich gibt es zu solchen extremen Fundamentalisten wenig zu sagen. Nennen sich feministisch, betrachten aber Männer als generische Feindspezies, Weiße als grundsätzlich rassistisch. Auch das immer wieder vorkommende "queer" zeigt, dass es dort eher weniger um die Rechte von Frauen geht, sondern mehr um die Rechte homosexueller Frauen. Äh - homosexueller nicht-weißer Frauen. Oder? Ich blicke bei denen auch nicht wirklich durch. Zu deren Glück gibt es heutzutage fertige Blogengines nebst Templates. Früher wäre das wohl eine dieser mit animated-gifs gespickten quietschbunten "geocitiesken" Seiten gewesen.

Also nichts dagegen, wenn man sich für die Rechte von Minderheiten einsetzt. Aber nicht auf Kosten anderer Gruppen. Auf diese Weise erfüllt man seiner Sache einen Bärendienst: man wird nicht ernst genommen und ausgelacht. Denn so erging es mir nach 5 Minuten Lektüre dieses Blogs. Schallendes Gelächter.

Gleichberechtigung von Mann und Frau, Menschen verschiedener Hautfarben oder Herkünfte, Behinderter oder Noch Nicht Behinderter - ist auch heute noch keine Realität. Und es lohnt sich, sich dafür einzusetzen. Konzentriert man sich aber bei seinem Einsatz zu sehr auf die Gruppierung, der man sich zugehörig fühlt, läuft man recht schnell Gefahr, alle anderen Gruppierungen als fremd, aussen, negativ zu betrachten. Das ist ein uns Menschen angeborener sozialer Mechanismus. Man kann natürlich jede noch so zarte Ausprägung dieses Mechanismus als Rassismus beschimpfen. Dadurch wird man aber selber zum Rassisten und zementiert die Ungerechtigkeiten noch, die vielen Menschen noch immer das Leben zur Qual machen.

Insofern: Setzen, 6.

 

[1]: http://www.taz.de/!104073/








Clouds machen das Web kaputt

Amazons Cloud ist gestern ausgefallen. Das wäre an sich nichts besonderes, wenn nicht deswegen allerlei Websites offline gewesen wären. Von der aufkeimenden Schadenfreude abgesehen, ist das ein schönes Exempel, warum diese sogenannten "Clouds" das Offene Web kaput machen (bzw kaput machen sollen).

Immer mehr Leute hosten nahezu ihren gesamten Content in "der Cloud". Doch was heisst das physikalisch? Allzu viele Cloudanbieter gibt es nicht. Google, Akamai, Amazon und ein paar kleinere Anbieter. Gerade im Web2.0 ist es derzeit geradezu hip, seine Seiten nicht mehr selber zu hosten, sondern bei einem Cloudanbieter. Da es aber nur sehr wenige Anbieter gibt, deren Dienste auch etwas taugen und bezahlbar sind, landen alle bei denen. Die meisten bei Google und Amazon. Und wenn Amazon ausfällt, ist das halbe Web2.0 offline.

Mir persönlich ist das scheissegal. Das Problem ist aber, dass dadurch die Idee, mit der das Web ursprünglich aufgebaut wurde, ad absurdum geführt wird: Dezentralisierung und Redundanz. "Cloud" ist jedoch nichts anderes als Neusprech für "Re-Zentralisierung", denn das ist es, was dabei tatsächlich passiert. Sicherlich mag eine in der Cloud gehostete Site stabiler und ausfallsicherer erscheinen, als eine selbstgehostete beim Provider um die Ecke. Aber die Sicherheit ist nicht mehr als Lug und Trug. Denn letzten Endes handelt es sich um Rechner die da laufen, mit CPUs, Festplatten, Netzwerkkarten und Betriebssystemen. So betrachtet gibt es keine "Cloud". Wenn also jemand seine Website in der Amazon Cloud hostet, dann hostet er sie eigentlich in einem Amazon Rechenzentrum. Fällt das aus, ist er offline, siehe Link am Anfang.

Die potentiellen Schäden steigen expotentiell, je mehr Anbieter von Diensten ihre Dienste nicht mehr selber betreiben. Würde es noch jeder selber machen, dann wäre mal hier 1 Dienst offline und mal dort 1 Anderer. Aber nicht ALLE. Das ist das eine Problem.

Das andere Problem ist, dass durch diese Zentralisierung auch die Daten zentral gespeichert und verarbeitet werden. Und 1 Konzern hat auf Alles Zugriff. Da es ein US Konzern ist (und das sind alle Cloudanbieter), hat auch die US-Regierung auf Alles Zugriff. Und da die US-Regierung Zugriff hat, kann ihn auch jeder sonstige Geheimdienst oder Cop irgendeines westlichen Landes erlangen. Unter Freunden, wissen schon. Für die westlichen Regierungen, die das Konzept der Demokratie und Freiheit schon lange als antik betrachten, ist diese Cloud-Mode sicher der Gipfel ihrer Träume.

Und alle machen mit. Freiwillig. Freudig. Förmlich aufgegeilt davon. Cloud-Madness. Es ist zum Kotzen.








Raubschnecken Nachwuchs

Vor geraumer Zeit hatte ich in meinen beiden Aquarien Raubschnecken eingesetzt um der Sumpfschneckenplage* Herr zu werden. Die Raubschnecken sind immer weniger geworden und die Sumpfschnecken immer mehr. Ein völliger Fehlschlag insofern.

Aber: heute habe ich doch tatsächlich eine Babyraubschnecke gefunden, siehe Bild. Die ist ungefähr 5mm gross. Da hab ich mich aber gefreut. Immerhin, wenn es Nachwuchs gibt, scheinen sie noch da zu sein. Wunderbar.

*) es ist mir bisher noch nicht gelungen, diese Schneckenart zu bestimmen, die mich da nervt. Innerhalb kürzester Zeit bevölkern die das komplette Aquarium. Ich kann von denen täglich 20-30 Stück raussammeln. Und die legen ihre Eier in solchen festen Paketen auf die Blätter der Pflanzen und zwar dicht an dicht. Im Lauf der Zeit gehen die Pflanzen dann ein. Solange ich regelmässig absammle, geht es. Aber ich werde nicht umhin kommen, irgendwann mal die beiden Becken komplett neu aufzusetzen. Und um diese Schnecken sicher loszuwerden, muss ich ALLES neu machen: neue Pflanzen, neuer Filter, neuer Sand, neue Deko. In BEIDEN Becken. Furchtbar. Eingefangen hab ich mir die übrigens beim Tümpeln.

Bild: Raubschneckenbaby
Raubschneckenbaby (Oct. 20, 2012, 8:46 p.m.)
[Tags: schnecken ] [Album: Aquarium ]







Mal eben eine Zucchini geerntet

Allerdings ist diese Zucchini etwas groß geraten :) 47 cm lang und 3.6 kg schwer! Unfassbar, aber Absicht, denn die hab ich bis jetzt dran gelassen, um daraus Samen zu ziehen für nächstes Jahr. Allein um das Teil aufzukriegen hab ich eine viertel Stunde gebraucht, so holzig war die.

Bild: Fat Zucchini
Fat Zucchini (Oct. 20, 2012, 8:39 p.m.)
[Tags: pflanzen ] [Album: Natur ]







Fachbücher als eBook

Neuerdings habe ich ja einen eBook-Reader und bin auch sehr zufrieden damit. Nun hab ich angefangen, mir neben Romanen auch mal ein paar Fachbücher auf das Teil zu laden, zum Beispiel das Arduino Cookbook. Und ich muss sagen, DAS ist eine ganz schlechte Idee gewesen.

Einen Roman liest man ja üblicherweise linear von vorn nach hinten durch und muss dazu im Reader lediglich ab und zu auf "next page" klicken. Bei einem Fachbuch wie dem Arduino Cookbook jedoch sucht man bestimmte Dinge. Ich gehe also ins Inhaltsverzeichnis. Das allein beansprucht auf dem Reader schon knapp 10 Seiten. Dort finde ich dann irgendein Kapitel was ich gerade lesen will, es ist - sagen wir - auf Seite 285. Nun muss ich das Optionsmenü aufmachen, "Zu Seite gehen" auswählen, dort ist so ein Schieberegler, wo man mehr oder weniger genau zu einer bestimmten Seite scrollen kann, und bis 285 scrollen.

Aber das ist dann nicht das gesuchte Kapitel, weil die Seitenangaben im Inhaltsverzeichnis nicht mit denen im Reader übereinstimmen. Ich muss dann also noch ein paar dutzend mal hin und her scrollen, bis ich bin, wo ich hinwollte. Endlich bin ich da und es stellt sich heraus: langweilig, kenn ich schon. Also zurück zum Inhaltsverzeichnis, wieder Optionsmenü, "Zu Seite gehen", rumscrollen, hinspringen, wieder falsch gelandet, wieder hin und her gehen, bis ich in dem Teil des Inhaltsverzeichnisses bin, wo ich vorher war.

Und so weiter.

In einem gedruckten Buch öffne ich das Inhaltsverzeichnis, halte den Daumen rein, gehe zur gewünschten Seite (was allein schon gefühlte hundertmal schneller geht als beim Reader) und guck nach. Falls langweilig, wieder die Stelle im Inhaltsverzeichnis aufschlagen, was in etwa 0.1 ns erledigt ist, da dort mein Daumen noch drinnen gesteckt hatte. Und im Lauf der Zeit sammeln sich dann auch diverse Eselsohren an von den Stellen, die mir wichtig waren. Oder wenn ich konkret am Elektronikbasteln bin, kann ich das Buch neben den Lötkolben legen und Löten und Nachschlagen gleichzeitig. Mit dem Reader wäre das ein Ding der Unmöglichkeit.

Insofern werde ich weiter echte gedruckte Bücher kaufen, und zwar immer dann, wenn es sich um Fachbücher handelt. Das Problem dabei ist allerdings gar nicht mal das grundsätzliche Konzept eBook-Reader, es ist das Format, in dem die Bücher üblicherweise vorliegen. Meist als PDF (meins war ein PDF). Wenn die Einträge im Inhaltsverzeichnis Links wären, denen man auf einem Reader auch folgen kann, wäre das schon die halbe Miete. Und wenn es dann auf jeder Seite noch einen Link zurück gäbe zu der Stelle im Inhaltsverzeichnis, wo das Kapitel verlinkt ist, wäre es perfekt.

Die Technologie dafür - Links (!) - gibts schon ein bischen länger. Warum es das in eBooks nicht gibt, ist mir ein Rätsel. Vielleicht ist das beim epub Format anders, das ist HTML. Aber nicht alles gibt es halt als epub. Man kann ein PDF zwar zu epub konvertieren (hab ich gemacht zwecks Lesbarkeit), aber dann enthält es deswegen immer noch keine Links.








Kachelmann Bellt

Eigentlich interessiert mich der Fall Kachelmann ja nicht so wirklich. Nichts desto trotz lief neulich bei Günter Jauch eine Talkshow, in die ich zufällig beim Werbung-Wegzappen hineingeraten bin, wo der Mann anwesend war. Aus irgendeinem Grund bin ich hängengeblieben. Im Nachhinein betrachtet, war dieser Grund seine Frau. Die hat ihn verteidigt wie eine Löwin ihre Jungen und das hat mich stutzig gemacht.

Ich fasse mal kurz zusammen, was Kachelmann und seine Frau in der Sendung ausgesagt haben: er sei ein Verleumdungsopfer und zwar - das ist entscheidend - eines von Vielen. Die anderen Diskutanten haben zwar sehr kompetent auf Studien verwiesen, nach denen es solche Fälle zwar gibt, diese aber eher selten sind in Deutschland. Davon wollte die Frau Kachelmann nichts wissen. Das war ein geradezu klassisches Beispiel kognitiver Dissonanz, was man da beobachten konnte. Ihre "Gegenargumente" waren ein Psychologe in Hamburg (in Worten: 1), der von "vielen" Fällen berichtet, in denen Männer fälschlicherweise der Vergewaltigung beschuldigt worden seien. Plus der eigenen Erfahrung. Das ist alles.

Nun frage ich mich ja gerne mal nach dem berühmten "qui bono": Warum? Warum arbeitet Kachelmann seine Erfahrungen in einem Buch auf? Warum promotet er dieses Buch so offensiv? Warum reisst sich seine Frau buchstäblich den A*** auf, um ihn dabei zu unterstützen? Und warum ist es den beiden (mehr ihr, als ihm) so offensichtlich wichtig, dass sein Fall einer von vielen ist?

Man kann die meisten Fragen an sich bereits anhand der Reihenfolge der Fragen leicht beantworten und man muss auch kein besonders guter Psychologe sein, um dahinter zu kommen. Dass der Mann sein Buch verkaufen will, ist völlig nachvollziehbar, von irgendwas muss er ja leben. Dass seine Frau ihm dabei hilft, erstmal auch, weil sie will davon auch mit-leben. Aber die Nummer mit dem "ein Fall von vielen" ist komplizierter. Stellen wir mal ein Gedankenexperiment an und sagen uns: er wars doch. Und nehmen wir weiter an, dass seine Frau es ahnt oder sich nicht sicher ist. Beides reicht als Motivation für ihre Handlungen völlig aus. Dann unter dieser Prämisse macht das Verhalten erst einen Sinn.

Denn wenn man nämlich zugibt, dass eine falsch behauptete Vergewaltigung eher selten ist, dann muss man erkennen, dass die Wahrscheinlichkeit, dass es ausgerechnet Herrn Kachelmann getroffen hat, recht niedrig ist (nicht Null, immerhin). Und wenn die Wahrscheinlichkeit einer Falschbeschuldigung sehr niedrig ist, ist die Wahrscheinlichkeit, dass die Anschuldigungen richtig sind, entsprechend höher. Würde Frau Kachelmann also in diesem Punkt einlenken und zugeben, dass eine Falschbeschuldigung selten ist, müsste sie irgendwie mit ihren Zweifeln klarkommen. Das kann sie aber nicht, sie hat sich ihre Meinung bereits gebildet. Kognitive Dissonanz eben. Sie muss dabei bleiben um mit sich selbst im Einklang zu bleiben, denn sonst müsste sie sich womöglich die Frage stellen, dass sie sich mit einem Vergewaltiger in eine Beziehung eingelassen hat. Diesen Punkt hat sie aber längst hinter sich gelassen. Und mit jeder Talkshow, jedem Interview und jeder Lesung gerät sie weiter davon weg.

Herr Kachelmann hätte im Umkehrschluss dann natürlich auch ein starkes Motiv, die Einzelfalltheorie abzulehnen. Denn wie stünde er sonst da? Zumal er ja nun weiss, was tatsächlich passiert ist.

Wenn man das gleiche Gedankenexperiment jedoch mit vertauschen Vorzeichen durchführt, das heisst man geht davon aus, dass er es nicht war und seine Frau nicht die geringsten Zweifel hat, dann führt es in eine Sackgasse. Das beobachtete Verhalten macht keinen Sinn. Wenn ich WEISS, dass ich unschuldig bin, macht es keinen Unterschied, ob ich einer der selten falsch Beschuldigten bin. Es wäre schlichtweg egal, ob ich einer von Tausend oder einer von einer Million wäre. Unschuldig ist Unschuldig.

Warum also auf diesem speziellen Punkt so aufwändig herumreiten? Noch dazu mit einer so an den Haaren herbeigezogenen, unwissenschaftlichen Argumentation? Das ergibt keinen Sinn. Es sei denn, er wars.

Tja. Nun ist der Mann freigesprochen worden und damit hat sich der Fall erledigt. Insofern kann ich hier herumspekulieren wie ich will. Aber eigenartig ist das ganze irgendwie schon.








Felix Baumgartner Sonic Freefall Live - Updated 14.10.2012 20:08

Grad bei RTL haben sie angekündigt, den Schallmauersprung live zu übertragen. Aber statt dessen kam irgendein Scheiss. Zum Glück haben wir das Internet Ihr Deppen: http://www.ustream.tv/cbsnews. Da kann man live zuschauen. Wie cool ist das denn?! Witzigerweise befindet sich Mission Control in Roswell, New Mexico :)

Bild: Baumgartner Inside
Baumgartner Inside (Oct. 14, 2012, 7:26 p.m.)
[Tags: science ] [Album: Screencaps ]
Bild: Capsule Outside View
Capsule Outside View (Oct. 14, 2012, 7:26 p.m.)
[Tags: science ] [Album: Screencaps ]
Bild: Mission Control CBS
Mission Control CBS (Oct. 14, 2012, 7:27 p.m.)
[Tags: science ] [Album: Screencaps ]
Bild: Helium Ballon
Helium Ballon (Oct. 14, 2012, 7:33 p.m.)
[Tags: science ] [Album: Screencaps ]


Update 14.10.2012 19:52:

Absprunghöhe erreicht, die gehen die Checkliste durch. Wow, voll aufregend!


Update 14.10.2012 19:53:

Pfft, die sind gründlich :)


Update 14.10.2012 19:55:

"We're getting serious now, Felix"


Update 14.10.2012 19:57:

Druckausgleich, man hört es zischen und der Luftdruck geht langsam runter.


Update 14.10.2012 20:02:

Ah, bei N-TV kommt es auch live


Update 14.10.2012 20:07:

Er steht jetzt draussen auf der Rampe!


Update 14.10.2012 20:08:

Rekord geschafft! Klasse!

Bild: Spaceview
Spaceview (Oct. 14, 2012, 8:14 p.m.)
[Tags: science ] [Album: Screencaps ]
Bild: Door Opens
Door Opens (Oct. 14, 2012, 8:14 p.m.)
[Tags: science ] [Album: Screencaps ]
Bild: Ausstieg
Ausstieg (Oct. 14, 2012, 8:14 p.m.)
[Tags: science ] [Album: Screencaps ]
Bild: Foots Outside
Foots Outside (Oct. 14, 2012, 8:14 p.m.)
[Tags: science ] [Album: Screencaps ]
Bild: Rampe
Rampe (Oct. 14, 2012, 8:14 p.m.)
[Tags: science ] [Album: Screencaps ]
Bild: Jump
Jump (Oct. 14, 2012, 8:14 p.m.)
[Tags: science ] [Album: Screencaps ]
Bild: Felix Mom
Felix Mom (Oct. 14, 2012, 8:16 p.m.)
[Tags: science ] [Album: Screencaps ]
Bild: Landing
Landing (Oct. 14, 2012, 8:16 p.m.)
[Tags: science ] [Album: Screencaps ]
Bild: To Ground
To Ground (Oct. 14, 2012, 8:16 p.m.)
[Tags: science ] [Album: Screencaps ]







error: 'TWSR' undeclared (first use in this function)

Momentan bin ich ja am überlegen, in meinen Terrarium Controller "Terraduino" eine Failsafe-Platine einzubauen. Dafür bin ich jetzt am experimentieren, wie man am Attiny85 (den hab ich da), I2C spricht. Ich hab mir also die "TWI/I2C library for Wiring & Arduino" zur Brust genommen, mir einen Attiny-Compatibility-Layer besorgt, den Kram zusammengehackt und dann mit dem avr-gcc versucht zu compilieren. Das kam dabei heraus:

env -P/usr/local/bin:/usr/bin - avr-gcc -g -mmcu=attiny85 \
  -Wall -Wstrict-prototypes -Os -mcall-prologues -funsigned-char \
  -funsigned-bitfields -fpack-struct -fshort-enums -Wundef -I. \
  -I../at/tiny/cores/tiny -DARDUINO=101 \
  -DF_CPU=16000000L -Os -c twi.c -o twi.o
twi.c: In function 'twi_init':
twi.c:80: error: 'TWSR' undeclared (first use in this function)
twi.c:80: error: (Each undeclared identifier is reported only once
twi.c:80: error: for each function it appears in.)
twi.c:80: error: 'TWPS0' undeclared (first use in this function)
twi.c:81: error: 'TWPS1' undeclared (first use in this function)
twi.c:82: error: 'TWBR' undeclared (first use in this function)
twi.c:90: error: 'TWCR' undeclared (first use in this function)
twi.c:90: error: 'TWEN' undeclared (first use in this function)
twi.c:90: error: 'TWIE' undeclared (first use in this function)
twi.c:90: error: 'TWEA' undeclared (first use in this function)
[..]

Tja. Und dann habe ich mich praktisch zu Tode gegoogelt. Verursacht wird das Ganze weil die entsprechenden Makros fehlen. Zunächst dachte ich, die fehlen, weil auf irgendeine magische Weise die Datei avr/iotn85.h nicht included wurde. Also hab ich sie included und bekam noch mehr komische Fehlermeldungen:

Attempt to include more than one  file.
Include  instead of this file.

Natürlich hat das nichts gerbacht, zumal die avr/io.h bereits included war. Langer Rede, kurzer Sinn: letzlich habe ich herausgefunden, dass der Attiny85 halt keinen TWI Support hat. Somit sind die entsprechenden Macros nicht definiert und daher kamen die Fehler.

Zum Glück hat der Attiny85 aber USI Support eingebaut und dafür gibt es auch eine I2C Slave Library. Runtergeladen, Eingebunden und den avr-gcc damit gefüttert: Läuft.

Sehr schön :)








Plugin Interface für Config::General

Meistens sind Bugreports eher lästig. Zum einen verursachen sie Arbeit und zum anderen erinnern sie den Entwickler mit zuverlässiger Regelmäßigkeit daran, dass niemand perfekt ist, auch man selbst nicht. Und dass die besten Unittests niemals alle Anwendungsfälle abdecken können.

Aktuell habe ich für das Perl Modul Config::General einen Bugreport, der eigentlich ein Featurerequest ist: rt.cpan.org#79694. Aber die Idee an sich finde ich überaus charmant: Plugins. Immer wieder kommen nämlich Leute daher, die gerne dieses Spezialverhalten brauchen oder jenes Spezialverhalten. Sofern ich das als sinnvoll erachte und es machbar ist, implementiere ich dann einen entsprechenden Parameter, der das Verhalten einschaltet und programmiere es in das Modul ein.

Das ist schön für den OP, aber es bläht mit der Zeit den Code auf. Tatsächlich bestehen sicher über 80% des Moduls nur aus solchen implementieren Feature-Requests. Entsprechend viele Parameter hat das Modul, die sich zu allem Unglück auch gerne mal in die Quere kommen, weshalb es weitere Parameter und Code gibt, um das zu verhindern oder umgehen zu können.

Man ahnt schon, wo das hinführen wird: ins Chaos.

Aber mit Plugins kann ich mir das "Problem" immer abgedrehterer Spezialwünsche elegant vom Hals halten. Der jenige kann sich dann sein Spezialverhalten einfach selber bauen. Womöglich kann ich auch sowas wie eine "Rezeptesammlung" der besten Plugins anlegen oder so.

Hier also mein Kommentar dazu im erwähnten Bugreport.

Well. Now I started to add some kind of plugin interface to the module. This way one could change the modules behavior in any way. This would solve your problem as well, I think.

Here's some first shot at it:

#!/usr/bin/perl
use lib qw(blib/lib);
use Config::General qw(ParseConfig);
use Data::Dumper;

sub ck {
  my($file, $base) = @_;
  print "_open() tries $file ... ";
  if($file =~ /blah/) {
    print "ignored\n";
    return (0);
  }
  else {
    print "allowed\n";
    return (1, @_);
  }
}

my %c = ParseConfig(
              -IncludeGlob => 1,
              -UseApacheInclude => 1,
              -ConfigFile => shift,
              -Plug => { pre_open => *ck }
);

print Dumper(\%c);

Output:

_open() tries cfg ... allowed
_open() tries x/*.conf ... allowed
_open() tries x/1.conf ... allowed
_open() tries x/2.conf ... allowed
_open() tries x/blah.conf ... ignored
$VAR1 = {
          'niemand' => '2',
          'hallo' => '1'
        };

However, I'll need some time to figure out which are the best places for hooks to add. But you'll get the picture.








Ein scheiss Tag

Heute war einer dieser Tage. An sich nicht dramatisch aber in Summe eher wenig erbaulich.

In die Innenstadt gefahren.

Mehr als 10 Minuten zur Bank gelatscht.

War ein Typ vor mir am Schalter, der dort offenbar dabei war eine Bank zu gründen oder so.

Nach 20 Minuten Scheck eingelöst.

"Das hätten Sie auch draussen am Automaten machen können".

Vielen Dank.

Wieder zurück gelatscht.

In den Saturn gegangen wegen MP3 Player Gucken, weil iPod tot.

Es war nur Scheisse im Angebot.

Zum S-Bahnhof zurück getapert.

S-Bahn verpasst.

Endlich kam eine, die hielt aber am Ostbahnhof anstatt durchzufahren.

Also aussteigen und auf die nächste warten.

Falscher Bahnsteig.

Es fing an zu regnen.

Aus der S-Bahn gestiegen und 15 Minuten nach Hause geschwommen.

Türe geöffnet.

Es stank (und stinkt noch immer) nach Katzenklo. Weil die neue Mieterin etwa 20 Katzen beherbergt.

Oben in der Wohnung angekommen.

Es stinkt immer noch nach Katzenklo. IN meiner Wohnung.

Was für ein scheiss Tag!